@inference-gateway/adl-cli 0.66.2 → 0.66.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.
- package/README.md +42 -40
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ The ADL CLI helps you build enterprise-ready A2A agents quickly by generating co
|
|
|
63
63
|
- 🔧 **CI/CD Generation** - Automatic GitHub Actions workflows with semantic-release CD pipelines
|
|
64
64
|
- 🏗️ **Sandbox Environments** - Flox and DevContainer support for isolated development
|
|
65
65
|
- 🎣 **Post-Generation Hooks** - Customize build, format, and test commands after generation
|
|
66
|
-
- 🤖 **Multi-Provider AI** - OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama, Ollama Cloud, and
|
|
66
|
+
- 🤖 **Multi-Provider AI** - OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama, Ollama Cloud, Nvidia, and MiniMax support
|
|
67
67
|
- 📁 **Artifacts Support** - Integrated filesystem and MinIO object storage for artifact management
|
|
68
68
|
- 📡 **OpenTelemetry Instrumentation** - Opt-in tracing and metrics via `spec.telemetry.enabled` (Go and TypeScript)
|
|
69
69
|
- 🔌 **MCP Client** - Connect to MCP servers via `spec.agent.mcp` for `mcp_list_tools` / `mcp_call_tool` (Go)
|
|
@@ -187,15 +187,17 @@ adl init my-weather-agent
|
|
|
187
187
|
adl generate --file agent.yaml --output ./test-my-agent
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
+
The wizard defaults to `typescript` and adds no tools unless you answer yes to "Add tools to your agent". The Go example below assumes you picked `go` (for example with `--language go`) and added a `get_weather` tool.
|
|
191
|
+
|
|
190
192
|
### 2. Implement Your Business Logic
|
|
191
193
|
|
|
192
|
-
The generated project includes TODO placeholders for your implementations
|
|
194
|
+
The generated project includes TODO placeholders for your implementations - here `tools/get_weather.go`:
|
|
193
195
|
|
|
194
196
|
```go
|
|
195
|
-
//
|
|
196
|
-
func GetWeatherTool(ctx context.Context, args map[string]any) (string, error) {
|
|
197
|
+
// GetWeatherHandler handles the get_weather tool execution
|
|
198
|
+
func (t *GetWeatherTool) GetWeatherHandler(ctx context.Context, args map[string]any) (string, error) {
|
|
199
|
+
// TODO: Implement get_weather logic
|
|
197
200
|
city := args["city"].(string)
|
|
198
|
-
// TODO: Replace with actual weather API call
|
|
199
201
|
return fmt.Sprintf(`{"city": "%s", "temp": "22°C"}`, city), nil
|
|
200
202
|
}
|
|
201
203
|
```
|
|
@@ -203,7 +205,7 @@ func GetWeatherTool(ctx context.Context, args map[string]any) (string, error) {
|
|
|
203
205
|
### 3. Build and Run
|
|
204
206
|
|
|
205
207
|
```bash
|
|
206
|
-
cd test-
|
|
208
|
+
cd test-my-agent
|
|
207
209
|
task build
|
|
208
210
|
task run
|
|
209
211
|
```
|
|
@@ -264,7 +266,6 @@ The init command supports extensive configuration options:
|
|
|
264
266
|
|
|
265
267
|
- `--streaming` - Enable streaming responses
|
|
266
268
|
- `--notifications` - Enable push notifications
|
|
267
|
-
- `--history` - Enable state transition history
|
|
268
269
|
|
|
269
270
|
**Server Configuration:**
|
|
270
271
|
|
|
@@ -278,7 +279,7 @@ The init command supports extensive configuration options:
|
|
|
278
279
|
**Go Options:**
|
|
279
280
|
|
|
280
281
|
- `--go-module` - Go module path (e.g., `github.com/user/project`)
|
|
281
|
-
- `--go-version` - Go version (e.g., `1.26.
|
|
282
|
+
- `--go-version` - Go version (e.g., `1.26.8`)
|
|
282
283
|
|
|
283
284
|
**Rust Options:**
|
|
284
285
|
|
|
@@ -500,7 +501,7 @@ spec:
|
|
|
500
501
|
language:
|
|
501
502
|
go:
|
|
502
503
|
module: "github.com/example/weather-agent"
|
|
503
|
-
version: "1.26.
|
|
504
|
+
version: "1.26.8"
|
|
504
505
|
acronyms: # Optional: Custom acronyms for better code generation
|
|
505
506
|
- api
|
|
506
507
|
- json
|
|
@@ -515,7 +516,7 @@ The complete ADL schema includes:
|
|
|
515
516
|
- **capabilities**: Streaming, notifications, state history
|
|
516
517
|
- **config**: Structured configuration sections with environment variable mapping
|
|
517
518
|
- **services**: Service services with interfaces, factories, and type definitions
|
|
518
|
-
- **agent**: AI provider configuration (OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama, Ollama Cloud, Nvidia)
|
|
519
|
+
- **agent**: AI provider configuration (OpenAI, Anthropic, Google, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama, Ollama Cloud, Nvidia, MiniMax)
|
|
519
520
|
- **tools**: Function-call definitions with JSON schemas, validation, and service injection support
|
|
520
521
|
- **skills**: Markdown playbooks (id + optional `bare`, version, source) pulled from the skills registry, fetched as a full directory from a GitHub repo (shorthand or URL), or scaffolded locally into `.agents/skills/<id>/`; advertised on the agent card, and summarised at runtime in an `AVAILABLE SKILLS:` block appended to the system prompt (frontmatter only - the model reads each `SKILL.md` body on demand)
|
|
521
522
|
- **server**: HTTP server configuration with authentication support
|
|
@@ -635,7 +636,7 @@ spec:
|
|
|
635
636
|
language:
|
|
636
637
|
go:
|
|
637
638
|
module: "github.com/company/advanced-agent"
|
|
638
|
-
version: "1.26.
|
|
639
|
+
version: "1.26.8"
|
|
639
640
|
scm:
|
|
640
641
|
provider: github
|
|
641
642
|
url: "https://github.com/company/advanced-agent"
|
|
@@ -707,7 +708,7 @@ spec:
|
|
|
707
708
|
language:
|
|
708
709
|
go:
|
|
709
710
|
module: github.com/example/agent
|
|
710
|
-
version: "1.26.
|
|
711
|
+
version: "1.26.8"
|
|
711
712
|
vendor:
|
|
712
713
|
deps:
|
|
713
714
|
- github.com/google/uuid@v1.6.0
|
|
@@ -803,7 +804,7 @@ Worked example per backend:
|
|
|
803
804
|
# Flox: pin deno + kubectl + terraform alongside the Go toolchain
|
|
804
805
|
spec:
|
|
805
806
|
language:
|
|
806
|
-
go: { module: github.com/example/agent, version: "1.26.
|
|
807
|
+
go: { module: github.com/example/agent, version: "1.26.8" }
|
|
807
808
|
development:
|
|
808
809
|
sandbox:
|
|
809
810
|
flox:
|
|
@@ -818,7 +819,7 @@ spec:
|
|
|
818
819
|
# Devcontainer: same deps, rendered as an apt-packages feature
|
|
819
820
|
spec:
|
|
820
821
|
language:
|
|
821
|
-
go: { module: github.com/example/agent, version: "1.26.
|
|
822
|
+
go: { module: github.com/example/agent, version: "1.26.8" }
|
|
822
823
|
development:
|
|
823
824
|
sandbox:
|
|
824
825
|
devcontainer:
|
|
@@ -1109,7 +1110,7 @@ type CacheConfig struct {
|
|
|
1109
1110
|
|
|
1110
1111
|
### Config Subsection Injection
|
|
1111
1112
|
|
|
1112
|
-
In addition to injecting entire configuration objects, you can inject specific config subsections directly into
|
|
1113
|
+
In addition to injecting entire configuration objects, you can inject specific config subsections directly into tools (`spec.tools[].inject`) using dotted notation. This provides type-safe access to focused configuration scopes.
|
|
1113
1114
|
|
|
1114
1115
|
**Example ADL Configuration:**
|
|
1115
1116
|
|
|
@@ -1199,11 +1200,11 @@ toolBox.AddTool(exportReportTool)
|
|
|
1199
1200
|
|
|
1200
1201
|
**Benefits of Config Subsection Injection:**
|
|
1201
1202
|
|
|
1202
|
-
- **Scoped Access**:
|
|
1203
|
+
- **Scoped Access**: Tools only receive the configuration they need, following principle of least privilege
|
|
1203
1204
|
- **Type Safety**: Compile-time validation ensures config fields exist
|
|
1204
|
-
- **Clear Dependencies**: Explicit declaration of which config sections each
|
|
1205
|
+
- **Clear Dependencies**: Explicit declaration of which config sections each tool requires
|
|
1205
1206
|
- **Easier Testing**: Mock specific config subsections without full config object
|
|
1206
|
-
- **Better Separation**:
|
|
1207
|
+
- **Better Separation**: Tools don't have access to unrelated configuration
|
|
1207
1208
|
- **Auto-Validation**: ADL CLI validates that injected config sections exist in `spec.config`
|
|
1208
1209
|
|
|
1209
1210
|
**Injection Patterns:**
|
|
@@ -1225,7 +1226,7 @@ The service injection system generates:
|
|
|
1225
1226
|
2. **Type-Safe Configuration**: Structured config with environment variable mapping
|
|
1226
1227
|
3. **Service Interfaces**: Custom service packages with interface definitions
|
|
1227
1228
|
4. **Factory Functions**: Constructor functions that receive logger and configuration
|
|
1228
|
-
5. **Automatic Registration**: Services are automatically wired into
|
|
1229
|
+
5. **Automatic Registration**: Services are automatically wired into tools
|
|
1229
1230
|
6. **File Protection**: Generated service files are automatically added to `.adl-ignore`
|
|
1230
1231
|
|
|
1231
1232
|
### Generated Structure
|
|
@@ -1278,9 +1279,9 @@ func NewCalendarService(logger *zap.Logger, cfg *config.Config) (CalendarService
|
|
|
1278
1279
|
}
|
|
1279
1280
|
```
|
|
1280
1281
|
|
|
1281
|
-
###
|
|
1282
|
+
### Tool Integration
|
|
1282
1283
|
|
|
1283
|
-
|
|
1284
|
+
Tools automatically receive injected services as constructor parameters:
|
|
1284
1285
|
|
|
1285
1286
|
**Example `tools/create_event.go`:**
|
|
1286
1287
|
|
|
@@ -1878,7 +1879,7 @@ When `github_app: true` is set, the generated CD pipeline will use GitHub App au
|
|
|
1878
1879
|
|
|
1879
1880
|
### AI Provider Support
|
|
1880
1881
|
|
|
1881
|
-
The ADL CLI supports multiple AI providers including OpenAI, Anthropic, Google AI, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama (for local LLMs), Ollama Cloud, and
|
|
1882
|
+
The ADL CLI supports multiple AI providers including OpenAI, Anthropic, Google AI, Groq, Mistral, DeepSeek, Cohere, Cloudflare, Moonshot, Ollama (for local LLMs), Ollama Cloud, Nvidia, and MiniMax. Each provider requires appropriate API keys to be configured as environment variables. See the ADL examples above for configuration details.
|
|
1882
1883
|
|
|
1883
1884
|
## Artifacts Support
|
|
1884
1885
|
|
|
@@ -1890,7 +1891,7 @@ spec:
|
|
|
1890
1891
|
enabled: true
|
|
1891
1892
|
```
|
|
1892
1893
|
|
|
1893
|
-
Configure storage via environment variables (see generated
|
|
1894
|
+
Configure storage via environment variables (see the generated `CONFIGURATIONS.md` for the `A2A_ARTIFACTS_*` variables, such as `A2A_ARTIFACTS_ENABLED` and `A2A_ARTIFACTS_STORAGE_PROVIDER`). Supports both filesystem and MinIO/S3 storage backends.
|
|
1894
1895
|
|
|
1895
1896
|
**Examples:**
|
|
1896
1897
|
|
|
@@ -1974,17 +1975,15 @@ spec:
|
|
|
1974
1975
|
|
|
1975
1976
|
When `issue_templates: true` is set, the following templates are generated in `.github/ISSUE_TEMPLATE/`:
|
|
1976
1977
|
|
|
1977
|
-
- **`bug_report.md`** -
|
|
1978
|
-
- **`feature_request.md`** -
|
|
1979
|
-
- **`refactor_request.md`** -
|
|
1978
|
+
- **`bug_report.md`** - Summary, Steps to Reproduce, Expected Behavior and Actual Behavior
|
|
1979
|
+
- **`feature_request.md`** - Summary plus an Acceptance Criteria checklist
|
|
1980
|
+
- **`refactor_request.md`** - Summary plus an Acceptance Criteria checklist
|
|
1980
1981
|
|
|
1981
1982
|
**Issue Template Features:**
|
|
1982
1983
|
|
|
1983
|
-
- **Agent Context** - Templates include agent name and version from your ADL metadata
|
|
1984
1984
|
- **Structured Sections** - Consistent formatting for better issue triage and tracking
|
|
1985
|
-
- **
|
|
1986
|
-
- **
|
|
1987
|
-
- **Environment Info** - Sections for capturing logs, system details, and configurations
|
|
1985
|
+
- **Title Prefixes** - Frontmatter prefills titles with `[BUG]`, `[FEATURE]` and `[TASK] Refactor` (each followed by a trailing space)
|
|
1986
|
+
- **GitHub Integration** - Frontmatter sets labels (`bug`, `enhancement`, `refactor`) and issue types (`bug`, `feature`, `task`); `assignees` is left empty for you to fill in
|
|
1988
1987
|
|
|
1989
1988
|
## Dependabot Configuration
|
|
1990
1989
|
|
|
@@ -2046,7 +2045,7 @@ adl generate --file examples/cloudrun-agent.yaml --output ./cloudrun-enterprise
|
|
|
2046
2045
|
- `cloudrun-agent.yaml` - Cloud Run deployment with Google Container Registry
|
|
2047
2046
|
- `cloudrun-ghcr-agent.yaml` - Cloud Run deployment with GitHub Container Registry
|
|
2048
2047
|
|
|
2049
|
-
See [`examples/README.md`](examples/README.md) for the full catalog of all
|
|
2048
|
+
See [`examples/README.md`](examples/README.md) for the full catalog of all 22 example manifests.
|
|
2050
2049
|
|
|
2051
2050
|
## Template System & Architecture
|
|
2052
2051
|
|
|
@@ -2193,7 +2192,7 @@ You can control which additional files are generated or updated by editing the `
|
|
|
2193
2192
|
# .adl-ignore
|
|
2194
2193
|
# Skip Docker-related files if you have custom containerization
|
|
2195
2194
|
Dockerfile
|
|
2196
|
-
docker-compose.
|
|
2195
|
+
docker-compose.yaml
|
|
2197
2196
|
|
|
2198
2197
|
# Skip Kubernetes manifests if you use different deployment tools
|
|
2199
2198
|
k8s/
|
|
@@ -2216,7 +2215,7 @@ Taskfile.yml
|
|
|
2216
2215
|
|
|
2217
2216
|
### Common Use Cases
|
|
2218
2217
|
|
|
2219
|
-
- **Custom Deployment**: Skip `Dockerfile`, `k8s/`, `docker-compose.
|
|
2218
|
+
- **Custom Deployment**: Skip `Dockerfile`, `k8s/`, `docker-compose.yaml`
|
|
2220
2219
|
- **Custom Build**: Skip `Taskfile.yml`, `Makefile`
|
|
2221
2220
|
- **Custom Auth**: Skip `auth.go`, `middleware.go`
|
|
2222
2221
|
- **Custom Documentation**: Skip `README.md`
|
|
@@ -2225,7 +2224,7 @@ Taskfile.yml
|
|
|
2225
2224
|
|
|
2226
2225
|
### Prerequisites
|
|
2227
2226
|
|
|
2228
|
-
- Go 1.26.
|
|
2227
|
+
- Go 1.26.8+
|
|
2229
2228
|
- [Task](https://taskfile.dev/) (optional, for using Taskfile commands)
|
|
2230
2229
|
|
|
2231
2230
|
### Building from Source
|
|
@@ -2290,21 +2289,23 @@ spec:
|
|
|
2290
2289
|
language:
|
|
2291
2290
|
go:
|
|
2292
2291
|
module: "github.com/company/my-agent"
|
|
2293
|
-
version: "1.26.
|
|
2292
|
+
version: "1.26.8"
|
|
2294
2293
|
acronyms: ["n8n", "xml", "mqtt", "iot", "uuid"]
|
|
2295
2294
|
```
|
|
2296
2295
|
|
|
2297
2296
|
### Generated Code Examples
|
|
2298
2297
|
|
|
2298
|
+
Tool identifiers are generated as `<Name>Tool` (see `internal/templates/languages/go/tool.go.tmpl`). `xml` is already a default acronym, so only words outside the defaults change between the two cases below.
|
|
2299
|
+
|
|
2299
2300
|
**Without custom acronyms:**
|
|
2300
2301
|
|
|
2301
|
-
- `get_n8n_docs` → `
|
|
2302
|
-
- `
|
|
2302
|
+
- `get_n8n_docs` → `GetN8nDocsTool`
|
|
2303
|
+
- `publish_mqtt_event` → `PublishMqttEventTool`
|
|
2303
2304
|
|
|
2304
|
-
**With custom acronyms:**
|
|
2305
|
+
**With custom acronyms (`["n8n", "mqtt"]`):**
|
|
2305
2306
|
|
|
2306
|
-
- `get_n8n_docs` → `
|
|
2307
|
-
- `
|
|
2307
|
+
- `get_n8n_docs` → `GetN8NDocsTool`
|
|
2308
|
+
- `publish_mqtt_event` → `PublishMQTTEventTool`
|
|
2308
2309
|
|
|
2309
2310
|
### Default Acronyms
|
|
2310
2311
|
|
|
@@ -2313,6 +2314,7 @@ The following acronyms are recognized by default:
|
|
|
2313
2314
|
- **Common**: id, api, url, uri, json, xml, sql, html, css, js, ui, uuid
|
|
2314
2315
|
- **Network**: http, https, tcp, udp, ip, dns, tls, ssl
|
|
2315
2316
|
- **Tech**: cpu, gpu, ram, io, os, db
|
|
2317
|
+
- **Units**: mb, gb, kb
|
|
2316
2318
|
|
|
2317
2319
|
Your custom acronyms extend these defaults and take precedence over them.
|
|
2318
2320
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inference-gateway/adl-cli",
|
|
3
|
-
"version": "0.66.
|
|
3
|
+
"version": "0.66.4",
|
|
4
4
|
"description": "Scaffold complete A2A (Agent-to-Agent) projects from YAML Agent Definition Language (ADL) manifests. Thin npm wrapper around the native adl binary.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"adl": "bin/run.js"
|