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.
- package/CHANGELOG.md +489 -0
- package/LICENSE +21 -0
- package/README.md +269 -0
- package/dist/a2a/index.cjs +7 -0
- package/dist/a2a/index.cjs.map +1 -0
- package/dist/a2a/index.d.cts +30 -0
- package/dist/a2a/index.d.ts +30 -0
- package/dist/a2a/index.js +7 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/agent-UIQDSYCE.js +16 -0
- package/dist/agent-UIQDSYCE.js.map +1 -0
- package/dist/agent-builder-8W3mBR-N.d.ts +1075 -0
- package/dist/agent-builder-GEMYdb1p.d.cts +1075 -0
- package/dist/agent-graph-AMQYAWNF.js +1422 -0
- package/dist/agent-graph-AMQYAWNF.js.map +1 -0
- package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js +124 -0
- package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js.map +1 -0
- package/dist/browser/index.js +10 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/bun-runtime.adapter-MQDAJLQM.js +8 -0
- package/dist/bun-runtime.adapter-MQDAJLQM.js.map +1 -0
- package/dist/bun-runtime.adapter-XKOUXVAK.cjs +8 -0
- package/dist/bun-runtime.adapter-XKOUXVAK.cjs.map +1 -0
- package/dist/chat-A3XMRPJL.js +129 -0
- package/dist/chat-A3XMRPJL.js.map +1 -0
- package/dist/chunk-2ZRU47NC.js +91 -0
- package/dist/chunk-2ZRU47NC.js.map +1 -0
- package/dist/chunk-3LD3JTH4.cjs +18 -0
- package/dist/chunk-3LD3JTH4.cjs.map +1 -0
- package/dist/chunk-5FE5TG2W.cjs +16 -0
- package/dist/chunk-5FE5TG2W.cjs.map +1 -0
- package/dist/chunk-6XF673YC.cjs +436 -0
- package/dist/chunk-6XF673YC.cjs.map +1 -0
- package/dist/chunk-7CKWZJNS.js +230 -0
- package/dist/chunk-7CKWZJNS.js.map +1 -0
- package/dist/chunk-BI2G665F.js +4588 -0
- package/dist/chunk-BI2G665F.js.map +1 -0
- package/dist/chunk-C5NLWJS2.js +139 -0
- package/dist/chunk-C5NLWJS2.js.map +1 -0
- package/dist/chunk-CJZ66SU3.cjs +4321 -0
- package/dist/chunk-CJZ66SU3.cjs.map +1 -0
- package/dist/chunk-DAMT2CXW.cjs +91 -0
- package/dist/chunk-DAMT2CXW.cjs.map +1 -0
- package/dist/chunk-E7WG3MO5.js +18 -0
- package/dist/chunk-E7WG3MO5.js.map +1 -0
- package/dist/chunk-EFDM6R4J.js +99 -0
- package/dist/chunk-EFDM6R4J.js.map +1 -0
- package/dist/chunk-F7WIPPEO.js +256 -0
- package/dist/chunk-F7WIPPEO.js.map +1 -0
- package/dist/chunk-FAYDE67N.js +6927 -0
- package/dist/chunk-FAYDE67N.js.map +1 -0
- package/dist/chunk-GAE2KKCM.js +21 -0
- package/dist/chunk-GAE2KKCM.js.map +1 -0
- package/dist/chunk-INLNGRXM.cjs +130 -0
- package/dist/chunk-INLNGRXM.cjs.map +1 -0
- package/dist/chunk-JKXKXB5O.js +130 -0
- package/dist/chunk-JKXKXB5O.js.map +1 -0
- package/dist/chunk-K6SAETGP.js +375 -0
- package/dist/chunk-K6SAETGP.js.map +1 -0
- package/dist/chunk-KEASLAYR.js +157 -0
- package/dist/chunk-KEASLAYR.js.map +1 -0
- package/dist/chunk-KKJVNM6O.js +436 -0
- package/dist/chunk-KKJVNM6O.js.map +1 -0
- package/dist/chunk-KYIMVRIM.js +16 -0
- package/dist/chunk-KYIMVRIM.js.map +1 -0
- package/dist/chunk-MB7NXIZD.js +4321 -0
- package/dist/chunk-MB7NXIZD.js.map +1 -0
- package/dist/chunk-MHHDXPGE.js +209 -0
- package/dist/chunk-MHHDXPGE.js.map +1 -0
- package/dist/chunk-NE6JJA5W.js +401 -0
- package/dist/chunk-NE6JJA5W.js.map +1 -0
- package/dist/chunk-PF46XZBF.cjs +6927 -0
- package/dist/chunk-PF46XZBF.cjs.map +1 -0
- package/dist/chunk-PSJIAGDE.cjs +375 -0
- package/dist/chunk-PSJIAGDE.cjs.map +1 -0
- package/dist/chunk-PWOQDXNQ.js +16 -0
- package/dist/chunk-PWOQDXNQ.js.map +1 -0
- package/dist/chunk-QYOMQBBZ.cjs +230 -0
- package/dist/chunk-QYOMQBBZ.cjs.map +1 -0
- package/dist/chunk-UDFXLC4J.cjs +16 -0
- package/dist/chunk-UDFXLC4J.cjs.map +1 -0
- package/dist/chunk-UO4NGXRT.cjs +259 -0
- package/dist/chunk-UO4NGXRT.cjs.map +1 -0
- package/dist/chunk-UPFDFLEW.js +40 -0
- package/dist/chunk-UPFDFLEW.js.map +1 -0
- package/dist/chunk-V55JSQS7.cjs +16 -0
- package/dist/chunk-V55JSQS7.cjs.map +1 -0
- package/dist/chunk-VJADHXZL.cjs +16 -0
- package/dist/chunk-VJADHXZL.cjs.map +1 -0
- package/dist/chunk-VRWD7LCI.js +59 -0
- package/dist/chunk-VRWD7LCI.js.map +1 -0
- package/dist/chunk-WKKQ443C.js +487 -0
- package/dist/chunk-WKKQ443C.js.map +1 -0
- package/dist/chunk-X2GHUHAF.js +436 -0
- package/dist/chunk-X2GHUHAF.js.map +1 -0
- package/dist/chunk-XLGW3XNI.cjs +256 -0
- package/dist/chunk-XLGW3XNI.cjs.map +1 -0
- package/dist/chunk-ZFJKX4DP.js +16 -0
- package/dist/chunk-ZFJKX4DP.js.map +1 -0
- package/dist/chunk-ZM2OEWM2.js +259 -0
- package/dist/chunk-ZM2OEWM2.js.map +1 -0
- package/dist/chunk-ZNAIP2XV.js +16 -0
- package/dist/chunk-ZNAIP2XV.js.map +1 -0
- package/dist/chunk-ZYFAZYSL.js +42 -0
- package/dist/chunk-ZYFAZYSL.js.map +1 -0
- package/dist/cli/index.js +421 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config-4MHT6TQW.js +153 -0
- package/dist/config-4MHT6TQW.js.map +1 -0
- package/dist/config-REERQFK4.cjs +153 -0
- package/dist/config-REERQFK4.cjs.map +1 -0
- package/dist/cost-tracker-JLOU7IZJ.js +7 -0
- package/dist/cost-tracker-JLOU7IZJ.js.map +1 -0
- package/dist/demo-C52GMSYH.js +188 -0
- package/dist/demo-C52GMSYH.js.map +1 -0
- package/dist/deno/index.js +306 -0
- package/dist/deno/index.js.map +1 -0
- package/dist/deno-runtime.adapter-F744HY7K.js +8 -0
- package/dist/deno-runtime.adapter-F744HY7K.js.map +1 -0
- package/dist/deno-runtime.adapter-RFEVNSCV.cjs +8 -0
- package/dist/deno-runtime.adapter-RFEVNSCV.cjs.map +1 -0
- package/dist/dev-D7DDVDA4.js +218 -0
- package/dist/dev-D7DDVDA4.js.map +1 -0
- package/dist/edge/index.js +10 -0
- package/dist/edge/index.js.map +1 -0
- package/dist/edge-runtime.adapter-UQCW2F7X.js +8 -0
- package/dist/edge-runtime.adapter-UQCW2F7X.js.map +1 -0
- package/dist/edge-runtime.adapter-YED6F3AY.cjs +8 -0
- package/dist/edge-runtime.adapter-YED6F3AY.cjs.map +1 -0
- package/dist/graph-MGFAQZ5W.js +50 -0
- package/dist/graph-MGFAQZ5W.js.map +1 -0
- package/dist/graph-visualization-HBSVQXJK.js +9 -0
- package/dist/graph-visualization-HBSVQXJK.js.map +1 -0
- package/dist/index-BRgqNnh3.d.cts +982 -0
- package/dist/index-CZxpYUxZ.d.ts +982 -0
- package/dist/index.cjs +14789 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +10275 -0
- package/dist/index.d.ts +10275 -0
- package/dist/index.js +14789 -0
- package/dist/index.js.map +1 -0
- package/dist/init-CFWXTQ35.js +133 -0
- package/dist/init-CFWXTQ35.js.map +1 -0
- package/dist/llm-VWO4MC7J.cjs +17 -0
- package/dist/llm-VWO4MC7J.cjs.map +1 -0
- package/dist/llm-XLXVSPBI.js +17 -0
- package/dist/llm-XLXVSPBI.js.map +1 -0
- package/dist/logging-WRAK5ZXT.js +33 -0
- package/dist/logging-WRAK5ZXT.js.map +1 -0
- package/dist/metrics-FAHZVVD4.js +47 -0
- package/dist/metrics-FAHZVVD4.js.map +1 -0
- package/dist/node/index.cjs +280 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +51 -0
- package/dist/node/index.d.ts +51 -0
- package/dist/node/index.js +280 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node-runtime.adapter-5L7PJ6W2.js +8 -0
- package/dist/node-runtime.adapter-5L7PJ6W2.js.map +1 -0
- package/dist/node-runtime.adapter-CCRZVGHB.cjs +8 -0
- package/dist/node-runtime.adapter-CCRZVGHB.cjs.map +1 -0
- package/dist/persist-usage-WTBTCWEF.js +7 -0
- package/dist/persist-usage-WTBTCWEF.js.map +1 -0
- package/dist/plugin-RCPBWUUA.js +207 -0
- package/dist/plugin-RCPBWUUA.js.map +1 -0
- package/dist/plugins/index.cjs +75 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.cts +8 -0
- package/dist/plugins/index.d.ts +8 -0
- package/dist/plugins/index.js +75 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins-L4ING3CX.js +4625 -0
- package/dist/plugins-L4ING3CX.js.map +1 -0
- package/dist/providers/index.cjs +189 -0
- package/dist/providers/index.cjs.map +1 -0
- package/dist/providers/index.d.cts +168 -0
- package/dist/providers/index.d.ts +168 -0
- package/dist/providers/index.js +189 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers-3RNQ5CKZ.js +59 -0
- package/dist/providers-3RNQ5CKZ.js.map +1 -0
- package/dist/providers-66GPXUGQ.cjs +59 -0
- package/dist/providers-66GPXUGQ.cjs.map +1 -0
- package/dist/repl-K6QN4I2S.js +678 -0
- package/dist/repl-K6QN4I2S.js.map +1 -0
- package/dist/rest/index.cjs +17 -0
- package/dist/rest/index.cjs.map +1 -0
- package/dist/rest/index.d.cts +102 -0
- package/dist/rest/index.d.ts +102 -0
- package/dist/rest/index.js +17 -0
- package/dist/rest/index.js.map +1 -0
- package/dist/runtime-deno.js +15 -0
- package/dist/runtime-deno.js.map +1 -0
- package/dist/runtime-edge.js +15 -0
- package/dist/runtime-edge.js.map +1 -0
- package/dist/runtime-node.js +15 -0
- package/dist/runtime-node.js.map +1 -0
- package/dist/scraping/index.cjs +11 -0
- package/dist/scraping/index.cjs.map +1 -0
- package/dist/scraping/index.d.cts +17 -0
- package/dist/scraping/index.d.ts +17 -0
- package/dist/scraping/index.js +11 -0
- package/dist/scraping/index.js.map +1 -0
- package/dist/semantic-scraping.port-CZWUea88.d.cts +54 -0
- package/dist/semantic-scraping.port-CZWUea88.d.ts +54 -0
- package/dist/server/index.js +166 -0
- package/dist/server/index.js.map +1 -0
- package/dist/testing/index.cjs +25 -0
- package/dist/testing/index.cjs.map +1 -0
- package/dist/testing/index.d.cts +63 -0
- package/dist/testing/index.d.ts +63 -0
- package/dist/testing/index.js +25 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/token-counter.port-CRgxZZGe.d.ts +334 -0
- package/dist/token-counter.port-D7BHMCRR.d.cts +334 -0
- package/dist/tools-BZM33OBZ.js +10 -0
- package/dist/tools-BZM33OBZ.js.map +1 -0
- package/dist/tracing-XA3TEWP4.js +48 -0
- package/dist/tracing-XA3TEWP4.js.map +1 -0
- package/dist/types-CVsP7gFI.d.cts +235 -0
- package/dist/types-CVsP7gFI.d.ts +235 -0
- package/dist/virtual-fs.adapter-BBLS-3AY.d.ts +26 -0
- package/dist/virtual-fs.adapter-nb0CTYOj.d.cts +26 -0
- package/dist/workflow/index.cjs +9 -0
- package/dist/workflow/index.cjs.map +1 -0
- package/dist/workflow/index.d.cts +62 -0
- package/dist/workflow/index.d.ts +62 -0
- package/dist/workflow/index.js +9 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow.port-BaCttxrw.d.cts +153 -0
- package/dist/workflow.port-BaCttxrw.d.ts +153 -0
- package/package.json +230 -0
package/README.md
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# Gauss
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/gauss)
|
|
4
|
+
[](https://github.com/giulio-leone/gauss/actions/workflows/ci.yml)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://github.com/giulio-leone/gauss)
|
|
7
|
+
[](https://giulio-leone.github.io/gauss/)
|
|
8
|
+
|
|
9
|
+
> **The most complete AI agent framework for TypeScript.**
|
|
10
|
+
> 100+ features · 2,347 tests · Hexagonal architecture · Zero vendor lock-in.
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install gauss
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Zero Config — One Line
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import gauss from 'gauss'
|
|
22
|
+
|
|
23
|
+
const answer = await gauss('Explain quantum computing in 3 sentences')
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Full Control — Agent Builder
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { agent, tool } from 'gauss'
|
|
30
|
+
import { openai } from 'gauss/providers'
|
|
31
|
+
|
|
32
|
+
const myAgent = agent({
|
|
33
|
+
model: openai('gpt-5.2'),
|
|
34
|
+
instructions: 'You are a helpful assistant.',
|
|
35
|
+
tools: [
|
|
36
|
+
tool({
|
|
37
|
+
name: 'get_weather',
|
|
38
|
+
description: 'Get weather for a location',
|
|
39
|
+
parameters: z.object({ location: z.string() }),
|
|
40
|
+
execute: async ({ location }) => `Sunny in ${location}`,
|
|
41
|
+
}),
|
|
42
|
+
],
|
|
43
|
+
}).build()
|
|
44
|
+
|
|
45
|
+
const result = await myAgent.run('What is the weather in Tokyo?')
|
|
46
|
+
console.log(result.text)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Multi-Agent Teams
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { team } from 'gauss'
|
|
53
|
+
|
|
54
|
+
const devTeam = team()
|
|
55
|
+
.id('dev-team')
|
|
56
|
+
.coordinator(architect, 'lead')
|
|
57
|
+
.specialist(frontend, { id: 'ui', specialties: ['react'] })
|
|
58
|
+
.specialist(backend, { id: 'api', specialties: ['node'] })
|
|
59
|
+
.strategy('delegate')
|
|
60
|
+
.build()
|
|
61
|
+
|
|
62
|
+
const result = await devTeam.run('Build a REST API for user management')
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Workflow DSL
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
import { workflow } from 'gauss'
|
|
69
|
+
|
|
70
|
+
const pipeline = workflow('etl')
|
|
71
|
+
.then({ id: 'fetch', execute: async (ctx) => ({ ...ctx, data: await fetch(ctx.url) }) })
|
|
72
|
+
.branch(
|
|
73
|
+
(ctx) => ctx.data.length > 100,
|
|
74
|
+
{ id: 'summarize', execute: summarizeStep },
|
|
75
|
+
{ id: 'passthrough', execute: async (ctx) => ctx }
|
|
76
|
+
)
|
|
77
|
+
.parallel(
|
|
78
|
+
{ id: 'store', execute: storeStep },
|
|
79
|
+
{ id: 'notify', execute: notifyStep }
|
|
80
|
+
)
|
|
81
|
+
.build()
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Voice (STT/TTS)
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
import { OpenAIVoiceAdapter, VoicePipeline } from 'gauss'
|
|
88
|
+
|
|
89
|
+
const voice = new OpenAIVoiceAdapter({ apiKey: process.env.OPENAI_API_KEY! })
|
|
90
|
+
const pipeline = new VoicePipeline({ voice, agent: myAgent })
|
|
91
|
+
const { audio } = await pipeline.process(userAudioBuffer)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Multimodal (Images & Video)
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
import { multimodal, videoProcessor } from 'gauss'
|
|
98
|
+
import { openai } from 'gauss/providers'
|
|
99
|
+
|
|
100
|
+
const vision = multimodal({ model: openai('gpt-5.2') })
|
|
101
|
+
const desc = await vision.describeImage({ source: { type: 'url', url: '...' } })
|
|
102
|
+
const text = await vision.extractText({ source: { type: 'url', url: '...' } }) // OCR
|
|
103
|
+
|
|
104
|
+
const video = videoProcessor({ model: openai('gpt-5.2') })
|
|
105
|
+
const analysis = await video.describeVideo({ source: { type: 'url', url: '...' }, duration: 30 })
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 40+ AI Providers
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
import { universalProvider } from 'gauss/providers'
|
|
112
|
+
|
|
113
|
+
const provider = universalProvider()
|
|
114
|
+
const gpt = await provider.get('openai:gpt-5.2')
|
|
115
|
+
const claude = await provider.get('anthropic:claude-sonnet-4-20250514')
|
|
116
|
+
const gemini = await provider.get('google:gemini-2.5-flash-preview-05-20')
|
|
117
|
+
|
|
118
|
+
// Auto-discover installed providers
|
|
119
|
+
const installed = await provider.discoverInstalled()
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Why Gauss?
|
|
123
|
+
|
|
124
|
+
| Feature | Gauss | Mastra | DeepAgentsJS | LangChain |
|
|
125
|
+
|---------|:-----:|:------:|:------------:|:---------:|
|
|
126
|
+
| Total features | **100+** | 34 | 18 | 12 |
|
|
127
|
+
| Tests | **2,347** | — | ~50 | — |
|
|
128
|
+
| Vector stores | **30** | 30+ | 0 | — |
|
|
129
|
+
| Telemetry drivers | **12** | 12+ | 1 | — |
|
|
130
|
+
| Voice drivers | **12** | 12+ | 0 | — |
|
|
131
|
+
| Auth drivers | **5** | 5 | 0 | — |
|
|
132
|
+
| Server adapters | **4** | 4 | 0 | — |
|
|
133
|
+
| Orchestration patterns | **5** | 1 | 0 | 1 |
|
|
134
|
+
| Hexagonal architecture | ✅ | ❌ | ❌ | ❌ |
|
|
135
|
+
| Time-travel debugger | ✅ | ❌ | ❌ | ❌ |
|
|
136
|
+
| Agent testing framework | ✅ | ❌ | ❌ | ❌ |
|
|
137
|
+
| Execution replay | ✅ | ❌ | ❌ | ❌ |
|
|
138
|
+
| IO Guardrails | ✅ | partial | ❌ | ❌ |
|
|
139
|
+
| Structured output repair | ✅ | ❌ | ❌ | ❌ |
|
|
140
|
+
|
|
141
|
+
## Features
|
|
142
|
+
|
|
143
|
+
### Core Agent
|
|
144
|
+
- **Agent Builder** — Fluent API with tools, structured output, streaming
|
|
145
|
+
- **Graph Engine** — DAG execution with parallel nodes, conditions, cycles
|
|
146
|
+
- **RAG Pipeline** — Ingest → chunk → embed → store → retrieve (+ Graph RAG)
|
|
147
|
+
- **Planning** — Multi-step task decomposition (Plan → Phase → Step)
|
|
148
|
+
- **Teams** — Coordinator + specialists (round-robin, delegate, broadcast, pipeline)
|
|
149
|
+
- **Workflows** — `.then()` / `.branch()` / `.parallel()` DSL
|
|
150
|
+
|
|
151
|
+
### Agent Orchestration (5 patterns)
|
|
152
|
+
- **Supervisor** — Delegate to sub-agents, aggregate results
|
|
153
|
+
- **Swarm** — Peer-to-peer with shared blackboard
|
|
154
|
+
- **Pipeline** — Sequential chaining with error strategies
|
|
155
|
+
- **MapReduce** — Parallel split/reduce with concurrency control
|
|
156
|
+
- **Debate** — Multi-round argumentation with judge/majority/unanimous voting
|
|
157
|
+
|
|
158
|
+
### Safety & Guardrails
|
|
159
|
+
- **PII Detector** — Email, phone, SSN, credit card detection + redaction
|
|
160
|
+
- **Injection Detector** — 8 prompt injection patterns
|
|
161
|
+
- **Content Moderator** — Keyword-based moderation
|
|
162
|
+
- **Token Budget** — Input/output token limit enforcement
|
|
163
|
+
- **Schema Validator** — JSON schema compliance for outputs
|
|
164
|
+
- **Trip Wire** — Token budget, time limit, cost cap
|
|
165
|
+
|
|
166
|
+
### Observability
|
|
167
|
+
- **Traces & Spans** — OpenTelemetry-compatible format
|
|
168
|
+
- **Metrics** — Latency, tokens, cost, error rate
|
|
169
|
+
- **Rate Limiter** — Token bucket, sliding window, fixed window, leaky bucket
|
|
170
|
+
- **Cost Tracker** — Multi-key budget enforcement by model
|
|
171
|
+
|
|
172
|
+
### Multimodal
|
|
173
|
+
- **Voice** — 12 providers (OpenAI, ElevenLabs, Deepgram, Google, Azure, etc.)
|
|
174
|
+
- **Images** — Describe, OCR, compare with any vision model
|
|
175
|
+
- **Video** — Frame extraction, scene description
|
|
176
|
+
|
|
177
|
+
### Infrastructure
|
|
178
|
+
- **40+ LLM Providers** — UniversalProvider wraps any @ai-sdk/* package
|
|
179
|
+
- **30 Vector Stores** — Pinecone, Qdrant, Chroma, Weaviate, Redis, and 25 more
|
|
180
|
+
- **12 Telemetry** — Langfuse, LangSmith, Datadog, Sentry, and 8 more
|
|
181
|
+
- **5 Auth** — Auth0, Clerk, Firebase, Supabase, custom
|
|
182
|
+
- **4 Server Adapters** — Express, Fastify, Hono, Koa
|
|
183
|
+
- **Protocols** — MCP client/server, A2A agent-to-agent, ACP
|
|
184
|
+
|
|
185
|
+
### Developer Experience
|
|
186
|
+
- **Zero Config** — `gauss('prompt')` with env auto-detection
|
|
187
|
+
- **CLI** — `gauss init` with 6 templates
|
|
188
|
+
- **Playground** — Interactive web UI + WebSocket API
|
|
189
|
+
- **Agent Debugger** — Time-travel debugging with branching & breakpoints
|
|
190
|
+
- **Agent Testing** — Scenario runner, fuzzer, coverage, regression suite
|
|
191
|
+
- **Execution Replay** — Record + replay full agent runs deterministically
|
|
192
|
+
- **Structured Output** — Multi-format parsing + JSON repair + streaming
|
|
193
|
+
- **Advanced Memory** — Short/long-term, episodic, semantic, working memory
|
|
194
|
+
- **DI Container** — Auto-resolution dependency injection
|
|
195
|
+
- **Type Builder** — Zod schema → TypeScript generation
|
|
196
|
+
- **Codemod** — AST transforms for version migration
|
|
197
|
+
|
|
198
|
+
## Architecture
|
|
199
|
+
|
|
200
|
+
Gauss uses **Hexagonal Architecture** (Ports & Adapters):
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
┌──────────────────────────────────────────┐
|
|
204
|
+
│ Application │
|
|
205
|
+
│ │
|
|
206
|
+
│ ┌──────────────────────────────────┐ │
|
|
207
|
+
│ │ Domain Layer │ │
|
|
208
|
+
│ │ Agents · Graphs · Workflows │ │
|
|
209
|
+
│ │ Planning · Teams · RAG │ │
|
|
210
|
+
│ └──────┬───────────────┬───────────┘ │
|
|
211
|
+
│ │ Ports │ │
|
|
212
|
+
│ ┌──────▼────┐ ┌──────▼────┐ │
|
|
213
|
+
│ │ LLMPort │ │ MemoryPort│ │
|
|
214
|
+
│ │ VoicePort │ │ QueuePort │ │
|
|
215
|
+
│ │ VectorPort│ │ CachePort │ │
|
|
216
|
+
│ └──────┬────┘ └──────┬────┘ │
|
|
217
|
+
│ │ Adapters │ │
|
|
218
|
+
│ ┌──────▼────┐ ┌──────▼────┐ │
|
|
219
|
+
│ │ OpenAI │ │ PostgreSQL│ │
|
|
220
|
+
│ │ Anthropic │ │ Redis │ │
|
|
221
|
+
│ │ Google │ │ S3 │ │
|
|
222
|
+
│ │ 40+ more │ │ BullMQ │ │
|
|
223
|
+
│ └───────────┘ └───────────┘ │
|
|
224
|
+
└──────────────────────────────────────────┘
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Documentation
|
|
228
|
+
|
|
229
|
+
📚 **[giulio-leone.github.io/gauss](https://giulio-leone.github.io/gauss/)**
|
|
230
|
+
|
|
231
|
+
- [Getting Started](https://giulio-leone.github.io/gauss/docs/)
|
|
232
|
+
- [Concepts](https://giulio-leone.github.io/gauss/docs/concepts)
|
|
233
|
+
- [Cookbook (21 recipes)](https://giulio-leone.github.io/gauss/docs/cookbook)
|
|
234
|
+
- [API Reference](https://giulio-leone.github.io/gauss/docs/api-reference/ports)
|
|
235
|
+
- [Comparison](https://giulio-leone.github.io/gauss/docs/comparison)
|
|
236
|
+
|
|
237
|
+
## Examples
|
|
238
|
+
|
|
239
|
+
17 production-ready examples in [`examples/`](examples/):
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
npx tsx examples/17-zero-config.ts # Simplest possible
|
|
243
|
+
npx tsx examples/01-basic-agent.ts # Agent with tools
|
|
244
|
+
npx tsx examples/10-team-coordination.ts # Multi-agent team
|
|
245
|
+
npx tsx examples/12-workflow-dsl.ts # Workflow pipeline
|
|
246
|
+
npx tsx examples/13-multimodal-vision.ts # Image analysis
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## CLI
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Scaffold a new project
|
|
253
|
+
npx gauss init
|
|
254
|
+
|
|
255
|
+
# Templates: minimal, full, rag, mcp, team, workflow
|
|
256
|
+
npx gauss init --template team my-project
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
## Gauss Ecosystem
|
|
260
|
+
|
|
261
|
+
| Package | Description |
|
|
262
|
+
|---------|-------------|
|
|
263
|
+
| [`gauss`](https://github.com/giulio-leone/gauss) | TypeScript framework (this repo) |
|
|
264
|
+
| [`gauss-core`](https://github.com/giulio-leone/gauss-core) | Rust engine — NAPI + WASM + PyO3 + CLI |
|
|
265
|
+
| [`gauss-sdk`](https://github.com/giulio-leone/gauss-sdk) | Enhanced AI SDK fork |
|
|
266
|
+
|
|
267
|
+
## License
|
|
268
|
+
|
|
269
|
+
MIT © [Giulio Leone](https://github.com/giulio-leone)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/a2a/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,sEAAC","file":"/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/a2a/index.cjs"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface AgentCapability {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
skills: string[];
|
|
5
|
+
endpoint: string;
|
|
6
|
+
}
|
|
7
|
+
interface DelegationResult {
|
|
8
|
+
selectedAgent: AgentCapability;
|
|
9
|
+
taskId: string;
|
|
10
|
+
result: unknown;
|
|
11
|
+
}
|
|
12
|
+
declare class A2ADelegationManager {
|
|
13
|
+
private readonly agents;
|
|
14
|
+
private readonly fetchImpl;
|
|
15
|
+
constructor(fetchImpl?: typeof fetch);
|
|
16
|
+
register(agent: AgentCapability): void;
|
|
17
|
+
unregister(name: string): void;
|
|
18
|
+
listAgents(): AgentCapability[];
|
|
19
|
+
/**
|
|
20
|
+
* Find the best agent for a task based on required skills.
|
|
21
|
+
* Uses a simple skill overlap scoring system.
|
|
22
|
+
*/
|
|
23
|
+
findAgent(requiredSkills: string[]): AgentCapability | null;
|
|
24
|
+
/**
|
|
25
|
+
* Delegate a task to the best matching agent.
|
|
26
|
+
*/
|
|
27
|
+
delegate(prompt: string, requiredSkills: string[], fetchImpl?: typeof fetch): Promise<DelegationResult>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { A2ADelegationManager, type AgentCapability, type DelegationResult };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface AgentCapability {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
skills: string[];
|
|
5
|
+
endpoint: string;
|
|
6
|
+
}
|
|
7
|
+
interface DelegationResult {
|
|
8
|
+
selectedAgent: AgentCapability;
|
|
9
|
+
taskId: string;
|
|
10
|
+
result: unknown;
|
|
11
|
+
}
|
|
12
|
+
declare class A2ADelegationManager {
|
|
13
|
+
private readonly agents;
|
|
14
|
+
private readonly fetchImpl;
|
|
15
|
+
constructor(fetchImpl?: typeof fetch);
|
|
16
|
+
register(agent: AgentCapability): void;
|
|
17
|
+
unregister(name: string): void;
|
|
18
|
+
listAgents(): AgentCapability[];
|
|
19
|
+
/**
|
|
20
|
+
* Find the best agent for a task based on required skills.
|
|
21
|
+
* Uses a simple skill overlap scoring system.
|
|
22
|
+
*/
|
|
23
|
+
findAgent(requiredSkills: string[]): AgentCapability | null;
|
|
24
|
+
/**
|
|
25
|
+
* Delegate a task to the best matching agent.
|
|
26
|
+
*/
|
|
27
|
+
delegate(prompt: string, requiredSkills: string[], fetchImpl?: typeof fetch): Promise<DelegationResult>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { A2ADelegationManager, type AgentCapability, type DelegationResult };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Agent,
|
|
3
|
+
AgentBuilder
|
|
4
|
+
} from "./chunk-BI2G665F.js";
|
|
5
|
+
import "./chunk-ZFJKX4DP.js";
|
|
6
|
+
import "./chunk-PWOQDXNQ.js";
|
|
7
|
+
import "./chunk-X2GHUHAF.js";
|
|
8
|
+
import "./chunk-K6SAETGP.js";
|
|
9
|
+
import "./chunk-KYIMVRIM.js";
|
|
10
|
+
import "./chunk-ZNAIP2XV.js";
|
|
11
|
+
import "./chunk-E7WG3MO5.js";
|
|
12
|
+
export {
|
|
13
|
+
Agent,
|
|
14
|
+
AgentBuilder
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=agent-UIQDSYCE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|