@inference-gateway/adl-cli 0.66.3 → 0.67.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 (2) hide show
  1. package/README.md +42 -40
  2. 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 Nvidia support
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
- // TODO: Implement weather API logic
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-weather-agent
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.7`)
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.7"
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.7"
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.7"
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.7" }
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.7" }
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 skills using dotted notation. This provides type-safe access to focused configuration scopes.
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**: Skills only receive the configuration they need, following principle of least privilege
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 skill requires
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**: Skills don't have access to unrelated configuration
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 skills
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
- ### Skill Integration
1282
+ ### Tool Integration
1282
1283
 
1283
- Skills automatically receive injected services as constructor parameters:
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 Nvidia. Each provider requires appropriate API keys to be configured as environment variables. See the ADL examples above for configuration details.
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 README for A2A*ARTIFACT*\* variables). Supports both filesystem and MinIO/S3 storage backends.
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`** - Structured bug reporting with severity levels, reproduction steps, and environment details
1978
- - **`feature_request.md`** - Feature proposals with use case descriptions and acceptance criteria
1979
- - **`refactor_request.md`** - Code improvement requests with motivation and impact analysis
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
- - **GitHub Integration** - Automatic labels and assignees configured in frontmatter
1986
- - **Severity Levels** - Priority classification for bug reports (critical, high, medium, low)
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 18 example manifests.
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.yml
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.yml`
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.7+
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.7"
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` → `GetN8nDocsSkill`
2302
- - `process_xml_data` → `ProcessXmlDataSkill`
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` → `GetN8NDocsSkill`
2307
- - `process_xml_data` → `ProcessXMLDataSkill`
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",
3
+ "version": "0.67.0",
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"