@bluefly/openstandardagents 0.2.7 → 0.2.8
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/.devfile.yaml +1 -1
- package/.env.example +1 -1
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +11 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +171 -243
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +6 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +49 -27
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/migration.service.d.ts +4 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +11 -10
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/release.service.js +1 -1
- package/dist/services/release-automation/release.service.js.map +1 -1
- package/dist/services/release-automation/schemas/release.schema.js +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +1 -1
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.8/README.md +72 -0
- package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/version.d.ts +68 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +156 -0
- package/dist/utils/version.js.map +1 -0
- package/eslint-report.json +1 -0
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
- package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
- package/examples/common_npm/agent-router.ossa.yaml +1 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/README.md +74 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
- package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/spec-examples/audit-agent.yml +1 -1
- package/examples/spec-examples/chat-agent.yml +1 -1
- package/examples/spec-examples/compliance-agent.yml +1 -1
- package/examples/spec-examples/monitoring-agent.yml +1 -1
- package/examples/spec-examples/workflow-agent.yml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/gl-code-quality-report.json +62 -0
- package/llms-ctx-full.txt +39 -0
- package/llms-ctx.txt +39 -0
- package/llms.txt +47 -0
- package/package.json +3 -2
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +31 -10
- package/scripts/sync-version.js +4 -12
- package/scripts/validate-schema.ts +2 -1
- package/spec/v0.2.8/CHANGELOG.md +401 -0
- package/spec/v0.2.8/README.md +72 -0
- package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/{dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json → spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/test-results/junit.xml +299 -0
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- package/scripts/lib/exec.ts +0 -37
- package/scripts/lib/file-ops.ts +0 -58
- package/scripts/lib/version.ts +0 -83
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- package/website/.lighthouserc.ts +0 -24
- package/website/.prettierrc +0 -10
- package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
- package/website/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -304
- package/website/app/blog/[slug]/page.tsx +0 -208
- package/website/app/blog/page.tsx +0 -249
- package/website/app/design-guide/page.tsx +0 -511
- package/website/app/docs/[[...slug]]/page.tsx +0 -847
- package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
- package/website/app/ecosystem/page.tsx +0 -410
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -370
- package/website/app/layout.tsx +0 -106
- package/website/app/license/page.tsx +0 -183
- package/website/app/not-found.tsx +0 -18
- package/website/app/page.tsx +0 -686
- package/website/app/page.tsx.bak +0 -679
- package/website/app/page.tsx.bak2 +0 -649
- package/website/app/playground/page.tsx +0 -487
- package/website/app/robots.ts +0 -19
- package/website/app/rss.xml/route.ts +0 -74
- package/website/app/schema/page.tsx +0 -1001
- package/website/app/sitemap.ts +0 -56
- package/website/app/specification/page.tsx +0 -287
- package/website/components/InstallCommand.tsx +0 -96
- package/website/components/Logo.tsx +0 -97
- package/website/components/StructuredData.tsx +0 -65
- package/website/components/docs/DocsSearch.tsx +0 -104
- package/website/components/docs/DocsSidebar.tsx +0 -155
- package/website/components/docs/MarkdownContent.tsx +0 -401
- package/website/components/docs/VersionSelector.tsx +0 -105
- package/website/components/examples/ExamplesViewer.tsx +0 -293
- package/website/components/layout/Footer.tsx +0 -116
- package/website/components/layout/Header.tsx +0 -172
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- package/website/components/ui/Badge.tsx +0 -82
- package/website/components/ui/Button.tsx +0 -116
- package/website/components/ui/Card.tsx +0 -167
- package/website/components/ui/Checkbox.tsx +0 -141
- package/website/components/ui/Input.tsx +0 -169
- package/website/components/ui/Radio.tsx +0 -141
- package/website/components/ui/Select.tsx +0 -182
- package/website/components/ui/Tag.tsx +0 -158
- package/website/components/ui/Textarea.tsx +0 -195
- package/website/components/ui/index.ts +0 -11
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
- package/website/content/blog/introducing-ossa-framework.md +0 -328
- package/website/content/blog/ossa-production-results.md +0 -279
- package/website/content/blog/welcome-to-ossa.md +0 -43
- package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
- package/website/content/docs/00-home.md +0 -153
- package/website/content/docs/adapters/openai-adapter.md +0 -693
- package/website/content/docs/agents/catalog.md +0 -28
- package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/api-reference/index.md +0 -38
- package/website/content/docs/api-reference/ossa-core-api.md +0 -634
- package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
- package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
- package/website/content/docs/architecture/execution-flow.md +0 -335
- package/website/content/docs/architecture/multi-agent-systems.md +0 -737
- package/website/content/docs/architecture/overview.md +0 -121
- package/website/content/docs/architecture/stack-integration.md +0 -461
- package/website/content/docs/changelog.md +0 -246
- package/website/content/docs/cli-reference/index.md +0 -111
- package/website/content/docs/cli-reference/ossa-agents.md +0 -70
- package/website/content/docs/cli-reference/ossa-export.md +0 -56
- package/website/content/docs/cli-reference/ossa-generate.md +0 -66
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
- package/website/content/docs/cli-reference/ossa-import.md +0 -56
- package/website/content/docs/cli-reference/ossa-init.md +0 -57
- package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
- package/website/content/docs/cli-reference/ossa-run.md +0 -66
- package/website/content/docs/cli-reference/ossa-schema.md +0 -57
- package/website/content/docs/cli-reference/ossa-setup.md +0 -57
- package/website/content/docs/cli-reference/ossa-validate.md +0 -66
- package/website/content/docs/configuration/index.md +0 -97
- package/website/content/docs/contributing.md +0 -599
- package/website/content/docs/deployment/github-mirroring.md +0 -924
- package/website/content/docs/documentation.md +0 -100
- package/website/content/docs/ecosystem/framework-support.md +0 -1361
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/errors/index.md +0 -10
- package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/examples/catalog.md +0 -300
- package/website/content/docs/for-audiences/students-researchers.md +0 -122
- package/website/content/docs/getting-started/index.md +0 -92
- package/website/content/docs/getting-started/installation.md +0 -155
- package/website/content/docs/getting-started/running-agents.md +0 -309
- package/website/content/docs/getting-started.md +0 -91
- package/website/content/docs/integrations/aiflow.md +0 -104
- package/website/content/docs/integrations/drupal.md +0 -105
- package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
- package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
- package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
- package/website/content/docs/migration-guides/index.md +0 -133
- package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
- package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
- package/website/content/docs/migration-guides/migration-manifest.json +0 -64
- package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
- package/website/content/docs/openapi-extensions/examples.md +0 -550
- package/website/content/docs/openapi-extensions/index.md +0 -551
- package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
- package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
- package/website/content/docs/ossa-compliant-badge.md +0 -251
- package/website/content/docs/pre-release/index.md +0 -175
- package/website/content/docs/quick-reference.md +0 -17
- package/website/content/docs/readme.md +0 -35
- package/website/content/docs/releases/v0.2.6.md +0 -99
- package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
- package/website/content/docs/schema-reference/agent-id.md +0 -52
- package/website/content/docs/schema-reference/agent-name.md +0 -50
- package/website/content/docs/schema-reference/agent-role.md +0 -54
- package/website/content/docs/schema-reference/agent-spec.md +0 -406
- package/website/content/docs/schema-reference/agent-version.md +0 -50
- package/website/content/docs/schema-reference/autonomy.md +0 -568
- package/website/content/docs/schema-reference/constraints.md +0 -543
- package/website/content/docs/schema-reference/index.md +0 -45
- package/website/content/docs/schema-reference/llm-config.md +0 -445
- package/website/content/docs/schema-reference/observability.md +0 -654
- package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
- package/website/content/docs/schema-reference/taxonomy.md +0 -509
- package/website/content/docs/schema-reference/tools.md +0 -628
- package/website/content/docs/templates/blog-post.md +0 -43
- package/website/content/docs/types-reference/index.md +0 -105
- package/website/content/docs/use-cases/00-index.md +0 -395
- package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
- package/website/content/docs/use-cases/customer-support.md +0 -1234
- package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
- package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
- package/website/content/docs/versioning.md +0 -288
- package/website/dev.sh +0 -53
- package/website/docker-compose.dev.yml +0 -36
- package/website/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -103
- package/website/next.config.ts +0 -18
- package/website/nginx.conf +0 -32
- package/website/package-lock.json +0 -9679
- package/website/package.json +0 -59
- package/website/postcss.config.mjs +0 -9
- package/website/scripts/fetch-versions.js +0 -166
- package/website/scripts/generate-examples-index.js +0 -163
- package/website/scripts/merge-docs-to-wiki.ts +0 -207
- package/website/scripts/sync-version.js +0 -72
- package/website/scripts/sync-wiki.ts +0 -322
- package/website/scripts/upload-wiki.ts +0 -199
- package/website/styles/_spacing.scss +0 -453
- package/website/styles/_tokens.scss +0 -245
- package/website/styles/_typography.scss +0 -361
- package/website/styles/_variables.scss +0 -287
- package/website/tailwind.config.ts +0 -170
|
@@ -1,628 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Tools"
|
|
3
|
-
description: "Tool and capability definitions for agent integrations"
|
|
4
|
-
weight: 4
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Tools Object
|
|
8
|
-
|
|
9
|
-
The `tools` array in `spec.tools` defines capabilities and integrations available to the agent. Each tool provides access to external systems, APIs, or functions.
|
|
10
|
-
|
|
11
|
-
## Field Reference
|
|
12
|
-
|
|
13
|
-
| Field Name | Type | Required | Description |
|
|
14
|
-
|------------|------|----------|-------------|
|
|
15
|
-
| `type` | string (enum) | **Yes** | Tool integration type: `mcp`, `kubernetes`, `http`, `grpc`, `function`, or `custom` |
|
|
16
|
-
| `name` | string | No | Tool name/identifier. Required for `function` and `custom` types |
|
|
17
|
-
| `server` | string | No | MCP server name. Required when `type: mcp` |
|
|
18
|
-
| `namespace` | string | No | Kubernetes namespace. Used with `type: kubernetes` or `type: mcp` |
|
|
19
|
-
| `endpoint` | string (URI) | No | HTTP/gRPC endpoint. Required when `type: http` or `type: grpc` |
|
|
20
|
-
| `capabilities` | array[string] | No | Specific capabilities/operations from this tool |
|
|
21
|
-
| `config` | object | No | Tool-specific configuration. Free-form JSON object |
|
|
22
|
-
| `auth` | [Auth](#auth-object) | No | Authentication configuration |
|
|
23
|
-
|
|
24
|
-
## Auth Object
|
|
25
|
-
|
|
26
|
-
| Field Name | Type | Required | Description |
|
|
27
|
-
|------------|------|----------|-------------|
|
|
28
|
-
| `type` | string (enum) | No | Auth type: `bearer`, `oauth2`, `mtls`, `apikey`, or `none` |
|
|
29
|
-
| `credentials` | string | No | Reference to secret/credential (NOT the actual secret value) |
|
|
30
|
-
|
|
31
|
-
## Tool Types
|
|
32
|
-
|
|
33
|
-
### MCP (Model Context Protocol)
|
|
34
|
-
|
|
35
|
-
MCP is the preferred integration method for OSSA agents. MCP servers provide standardized tool interfaces.
|
|
36
|
-
|
|
37
|
-
```yaml
|
|
38
|
-
tools:
|
|
39
|
-
- type: mcp
|
|
40
|
-
server: filesystem
|
|
41
|
-
capabilities:
|
|
42
|
-
- read_file
|
|
43
|
-
- write_file
|
|
44
|
-
- list_directory
|
|
45
|
-
- search_files
|
|
46
|
-
|
|
47
|
-
- type: mcp
|
|
48
|
-
server: git
|
|
49
|
-
capabilities:
|
|
50
|
-
- git_diff
|
|
51
|
-
- git_log
|
|
52
|
-
- git_status
|
|
53
|
-
- git_blame
|
|
54
|
-
|
|
55
|
-
- type: mcp
|
|
56
|
-
server: postgres
|
|
57
|
-
namespace: databases
|
|
58
|
-
capabilities:
|
|
59
|
-
- query
|
|
60
|
-
- get_schema
|
|
61
|
-
config:
|
|
62
|
-
database: analytics
|
|
63
|
-
read_only: true
|
|
64
|
-
auth:
|
|
65
|
-
type: apikey
|
|
66
|
-
credentials: SECRET_REF_POSTGRES_KEY
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**Common MCP servers:**
|
|
70
|
-
- `filesystem` - File operations
|
|
71
|
-
- `git` - Git repository operations
|
|
72
|
-
- `github` - GitHub API integration
|
|
73
|
-
- `gitlab` - GitLab API integration
|
|
74
|
-
- `postgres` - PostgreSQL database
|
|
75
|
-
- `sqlite` - SQLite database
|
|
76
|
-
- `redis` - Redis key-value store
|
|
77
|
-
- `slack` - Slack API
|
|
78
|
-
- `jira` - Jira API
|
|
79
|
-
- `confluence` - Confluence API
|
|
80
|
-
|
|
81
|
-
See [MCP Extension](./extensions/mcp.md) for server configuration.
|
|
82
|
-
|
|
83
|
-
### Kubernetes
|
|
84
|
-
|
|
85
|
-
Direct access to Kubernetes API resources.
|
|
86
|
-
|
|
87
|
-
```yaml
|
|
88
|
-
tools:
|
|
89
|
-
- type: kubernetes
|
|
90
|
-
namespace: production
|
|
91
|
-
capabilities:
|
|
92
|
-
- get_pods
|
|
93
|
-
- get_deployments
|
|
94
|
-
- get_services
|
|
95
|
-
- describe_pod
|
|
96
|
-
config:
|
|
97
|
-
cluster: prod-cluster
|
|
98
|
-
context: prod-context
|
|
99
|
-
auth:
|
|
100
|
-
type: bearer
|
|
101
|
-
credentials: SECRET_REF_K8S_TOKEN
|
|
102
|
-
|
|
103
|
-
- type: kubernetes
|
|
104
|
-
namespace: monitoring
|
|
105
|
-
capabilities:
|
|
106
|
-
- get_pods
|
|
107
|
-
- get_logs
|
|
108
|
-
config:
|
|
109
|
-
read_only: true
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**Common capabilities:**
|
|
113
|
-
- `get_pods`, `get_deployments`, `get_services`
|
|
114
|
-
- `describe_pod`, `describe_deployment`
|
|
115
|
-
- `get_logs`, `exec_pod`
|
|
116
|
-
- `scale_deployment`
|
|
117
|
-
- `apply_manifest`, `delete_resource`
|
|
118
|
-
|
|
119
|
-
**Security note:** Always use `read_only: true` in config unless write access is required.
|
|
120
|
-
|
|
121
|
-
### HTTP API
|
|
122
|
-
|
|
123
|
-
RESTful or GraphQL HTTP endpoints.
|
|
124
|
-
|
|
125
|
-
```yaml
|
|
126
|
-
tools:
|
|
127
|
-
- type: http
|
|
128
|
-
name: github-api
|
|
129
|
-
endpoint: https://api.github.com
|
|
130
|
-
capabilities:
|
|
131
|
-
- create_issue
|
|
132
|
-
- list_pull_requests
|
|
133
|
-
- get_repository
|
|
134
|
-
auth:
|
|
135
|
-
type: bearer
|
|
136
|
-
credentials: SECRET_REF_GITHUB_TOKEN
|
|
137
|
-
config:
|
|
138
|
-
rate_limit: 5000
|
|
139
|
-
timeout: 30
|
|
140
|
-
|
|
141
|
-
- type: http
|
|
142
|
-
name: internal-analytics
|
|
143
|
-
endpoint: https://analytics.internal.example.com/api/v1
|
|
144
|
-
capabilities:
|
|
145
|
-
- query_metrics
|
|
146
|
-
- get_dashboard
|
|
147
|
-
auth:
|
|
148
|
-
type: oauth2
|
|
149
|
-
credentials: SECRET_REF_OAUTH_CLIENT
|
|
150
|
-
config:
|
|
151
|
-
retry_attempts: 3
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### gRPC
|
|
155
|
-
|
|
156
|
-
gRPC service endpoints.
|
|
157
|
-
|
|
158
|
-
```yaml
|
|
159
|
-
tools:
|
|
160
|
-
- type: grpc
|
|
161
|
-
name: recommendation-engine
|
|
162
|
-
endpoint: grpc://recommendations.example.com:9090
|
|
163
|
-
capabilities:
|
|
164
|
-
- get_recommendations
|
|
165
|
-
- update_preferences
|
|
166
|
-
auth:
|
|
167
|
-
type: mtls
|
|
168
|
-
credentials: SECRET_REF_GRPC_CERT
|
|
169
|
-
config:
|
|
170
|
-
timeout: 10
|
|
171
|
-
max_message_size: 4194304
|
|
172
|
-
|
|
173
|
-
- type: grpc
|
|
174
|
-
name: data-pipeline
|
|
175
|
-
endpoint: grpc://pipeline.internal:50051
|
|
176
|
-
capabilities:
|
|
177
|
-
- trigger_job
|
|
178
|
-
- get_job_status
|
|
179
|
-
auth:
|
|
180
|
-
type: none
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Function
|
|
184
|
-
|
|
185
|
-
Platform-specific function calls. Implementation varies by deployment platform.
|
|
186
|
-
|
|
187
|
-
```yaml
|
|
188
|
-
tools:
|
|
189
|
-
- type: function
|
|
190
|
-
name: send_email
|
|
191
|
-
capabilities:
|
|
192
|
-
- compose
|
|
193
|
-
- send
|
|
194
|
-
- validate_address
|
|
195
|
-
config:
|
|
196
|
-
smtp_server: smtp.example.com
|
|
197
|
-
from_address: agent@example.com
|
|
198
|
-
auth:
|
|
199
|
-
type: apikey
|
|
200
|
-
credentials: SECRET_REF_SMTP_KEY
|
|
201
|
-
|
|
202
|
-
- type: function
|
|
203
|
-
name: analyze_sentiment
|
|
204
|
-
capabilities:
|
|
205
|
-
- analyze_text
|
|
206
|
-
- batch_analyze
|
|
207
|
-
config:
|
|
208
|
-
model: sentiment-v2
|
|
209
|
-
threshold: 0.7
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Custom
|
|
213
|
-
|
|
214
|
-
Framework or platform-specific tools.
|
|
215
|
-
|
|
216
|
-
```yaml
|
|
217
|
-
tools:
|
|
218
|
-
- type: custom
|
|
219
|
-
name: drupal_content_api
|
|
220
|
-
capabilities:
|
|
221
|
-
- create_node
|
|
222
|
-
- update_node
|
|
223
|
-
- query_entities
|
|
224
|
-
config:
|
|
225
|
-
content_types:
|
|
226
|
-
- article
|
|
227
|
-
- page
|
|
228
|
-
permissions:
|
|
229
|
-
- view_content
|
|
230
|
-
- create_content
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Complete Examples
|
|
234
|
-
|
|
235
|
-
### Code Review Agent
|
|
236
|
-
|
|
237
|
-
```yaml
|
|
238
|
-
spec:
|
|
239
|
-
role: You are a code review specialist.
|
|
240
|
-
|
|
241
|
-
tools:
|
|
242
|
-
# Read source code
|
|
243
|
-
- type: mcp
|
|
244
|
-
server: filesystem
|
|
245
|
-
capabilities:
|
|
246
|
-
- read_file
|
|
247
|
-
- list_directory
|
|
248
|
-
- search_files
|
|
249
|
-
|
|
250
|
-
# Analyze git history
|
|
251
|
-
- type: mcp
|
|
252
|
-
server: git
|
|
253
|
-
capabilities:
|
|
254
|
-
- git_diff
|
|
255
|
-
- git_log
|
|
256
|
-
- git_blame
|
|
257
|
-
|
|
258
|
-
# GitHub integration
|
|
259
|
-
- type: http
|
|
260
|
-
name: github-api
|
|
261
|
-
endpoint: https://api.github.com
|
|
262
|
-
capabilities:
|
|
263
|
-
- get_pull_request
|
|
264
|
-
- list_files
|
|
265
|
-
- create_review_comment
|
|
266
|
-
auth:
|
|
267
|
-
type: bearer
|
|
268
|
-
credentials: SECRET_REF_GITHUB_TOKEN
|
|
269
|
-
|
|
270
|
-
# Static analysis
|
|
271
|
-
- type: http
|
|
272
|
-
name: sonarqube
|
|
273
|
-
endpoint: https://sonarqube.example.com/api
|
|
274
|
-
capabilities:
|
|
275
|
-
- analyze_code
|
|
276
|
-
- get_issues
|
|
277
|
-
auth:
|
|
278
|
-
type: apikey
|
|
279
|
-
credentials: SECRET_REF_SONARQUBE_KEY
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### DevOps Troubleshooting Agent
|
|
283
|
-
|
|
284
|
-
```yaml
|
|
285
|
-
spec:
|
|
286
|
-
role: You are a Kubernetes troubleshooting expert.
|
|
287
|
-
|
|
288
|
-
tools:
|
|
289
|
-
# Kubernetes access
|
|
290
|
-
- type: kubernetes
|
|
291
|
-
namespace: production
|
|
292
|
-
capabilities:
|
|
293
|
-
- get_pods
|
|
294
|
-
- get_logs
|
|
295
|
-
- describe_pod
|
|
296
|
-
- get_events
|
|
297
|
-
config:
|
|
298
|
-
read_only: true
|
|
299
|
-
auth:
|
|
300
|
-
type: bearer
|
|
301
|
-
credentials: SECRET_REF_K8S_PROD_TOKEN
|
|
302
|
-
|
|
303
|
-
# Metrics
|
|
304
|
-
- type: http
|
|
305
|
-
name: prometheus
|
|
306
|
-
endpoint: https://prometheus.example.com
|
|
307
|
-
capabilities:
|
|
308
|
-
- query
|
|
309
|
-
- query_range
|
|
310
|
-
config:
|
|
311
|
-
timeout: 30
|
|
312
|
-
|
|
313
|
-
# Logs
|
|
314
|
-
- type: http
|
|
315
|
-
name: loki
|
|
316
|
-
endpoint: https://loki.example.com
|
|
317
|
-
capabilities:
|
|
318
|
-
- query_logs
|
|
319
|
-
- label_values
|
|
320
|
-
|
|
321
|
-
# Alert on-call
|
|
322
|
-
- type: http
|
|
323
|
-
name: pagerduty
|
|
324
|
-
endpoint: https://api.pagerduty.com
|
|
325
|
-
capabilities:
|
|
326
|
-
- get_incidents
|
|
327
|
-
- create_incident
|
|
328
|
-
- update_incident
|
|
329
|
-
auth:
|
|
330
|
-
type: bearer
|
|
331
|
-
credentials: SECRET_REF_PAGERDUTY_TOKEN
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
### Data Analysis Agent
|
|
335
|
-
|
|
336
|
-
```yaml
|
|
337
|
-
spec:
|
|
338
|
-
role: You are a data analyst assistant.
|
|
339
|
-
|
|
340
|
-
tools:
|
|
341
|
-
# Primary database
|
|
342
|
-
- type: mcp
|
|
343
|
-
server: postgres
|
|
344
|
-
namespace: analytics
|
|
345
|
-
capabilities:
|
|
346
|
-
- query
|
|
347
|
-
- get_schema
|
|
348
|
-
- explain_query
|
|
349
|
-
config:
|
|
350
|
-
database: warehouse
|
|
351
|
-
read_only: true
|
|
352
|
-
query_timeout: 60
|
|
353
|
-
auth:
|
|
354
|
-
type: apikey
|
|
355
|
-
credentials: SECRET_REF_POSTGRES_KEY
|
|
356
|
-
|
|
357
|
-
# Cache layer
|
|
358
|
-
- type: mcp
|
|
359
|
-
server: redis
|
|
360
|
-
capabilities:
|
|
361
|
-
- get
|
|
362
|
-
- set
|
|
363
|
-
- delete
|
|
364
|
-
config:
|
|
365
|
-
ttl: 3600
|
|
366
|
-
|
|
367
|
-
# Visualization API
|
|
368
|
-
- type: http
|
|
369
|
-
name: metabase
|
|
370
|
-
endpoint: https://metabase.example.com/api
|
|
371
|
-
capabilities:
|
|
372
|
-
- create_question
|
|
373
|
-
- get_dashboard
|
|
374
|
-
- export_csv
|
|
375
|
-
auth:
|
|
376
|
-
type: apikey
|
|
377
|
-
credentials: SECRET_REF_METABASE_KEY
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
### Customer Support Agent
|
|
381
|
-
|
|
382
|
-
```yaml
|
|
383
|
-
spec:
|
|
384
|
-
role: You are a customer support specialist.
|
|
385
|
-
|
|
386
|
-
tools:
|
|
387
|
-
# CRM
|
|
388
|
-
- type: http
|
|
389
|
-
name: salesforce
|
|
390
|
-
endpoint: https://example.salesforce.com/services/data/v58.0
|
|
391
|
-
capabilities:
|
|
392
|
-
- search_accounts
|
|
393
|
-
- get_case
|
|
394
|
-
- create_case
|
|
395
|
-
- update_case
|
|
396
|
-
auth:
|
|
397
|
-
type: oauth2
|
|
398
|
-
credentials: SECRET_REF_SALESFORCE_OAUTH
|
|
399
|
-
|
|
400
|
-
# Knowledge base
|
|
401
|
-
- type: mcp
|
|
402
|
-
server: confluence
|
|
403
|
-
capabilities:
|
|
404
|
-
- search_pages
|
|
405
|
-
- get_page_content
|
|
406
|
-
config:
|
|
407
|
-
space: SUPPORT
|
|
408
|
-
|
|
409
|
-
# Ticketing
|
|
410
|
-
- type: http
|
|
411
|
-
name: zendesk
|
|
412
|
-
endpoint: https://example.zendesk.com/api/v2
|
|
413
|
-
capabilities:
|
|
414
|
-
- search_tickets
|
|
415
|
-
- create_ticket
|
|
416
|
-
- update_ticket
|
|
417
|
-
- add_comment
|
|
418
|
-
auth:
|
|
419
|
-
type: apikey
|
|
420
|
-
credentials: SECRET_REF_ZENDESK_KEY
|
|
421
|
-
|
|
422
|
-
# Communication
|
|
423
|
-
- type: function
|
|
424
|
-
name: send_email
|
|
425
|
-
capabilities:
|
|
426
|
-
- compose
|
|
427
|
-
- send
|
|
428
|
-
- type: function
|
|
429
|
-
name: send_sms
|
|
430
|
-
capabilities:
|
|
431
|
-
- send
|
|
432
|
-
config:
|
|
433
|
-
provider: twilio
|
|
434
|
-
auth:
|
|
435
|
-
type: apikey
|
|
436
|
-
credentials: SECRET_REF_TWILIO_KEY
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
## Capabilities
|
|
440
|
-
|
|
441
|
-
The `capabilities` array lists specific operations available from the tool. This enables:
|
|
442
|
-
|
|
443
|
-
1. **Granular permissions** - Limit agent to specific operations
|
|
444
|
-
2. **Documentation** - Self-documenting tool usage
|
|
445
|
-
3. **Routing** - Map agent needs to tool capabilities
|
|
446
|
-
4. **Validation** - Ensure required capabilities are available
|
|
447
|
-
|
|
448
|
-
```yaml
|
|
449
|
-
tools:
|
|
450
|
-
# Full access
|
|
451
|
-
- type: mcp
|
|
452
|
-
server: filesystem
|
|
453
|
-
capabilities:
|
|
454
|
-
- read_file
|
|
455
|
-
- write_file
|
|
456
|
-
- list_directory
|
|
457
|
-
- search_files
|
|
458
|
-
- delete_file
|
|
459
|
-
|
|
460
|
-
# Read-only access
|
|
461
|
-
- type: mcp
|
|
462
|
-
server: filesystem
|
|
463
|
-
capabilities:
|
|
464
|
-
- read_file
|
|
465
|
-
- list_directory
|
|
466
|
-
- search_files
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
If `capabilities` is omitted, all tool operations are available (subject to `auth` and `autonomy` constraints).
|
|
470
|
-
|
|
471
|
-
## Configuration
|
|
472
|
-
|
|
473
|
-
The `config` object provides tool-specific settings. Structure varies by tool type.
|
|
474
|
-
|
|
475
|
-
```yaml
|
|
476
|
-
tools:
|
|
477
|
-
- type: mcp
|
|
478
|
-
server: postgres
|
|
479
|
-
config:
|
|
480
|
-
database: analytics
|
|
481
|
-
read_only: true
|
|
482
|
-
query_timeout: 60
|
|
483
|
-
max_rows: 10000
|
|
484
|
-
pool_size: 10
|
|
485
|
-
|
|
486
|
-
- type: http
|
|
487
|
-
name: external-api
|
|
488
|
-
endpoint: https://api.example.com
|
|
489
|
-
config:
|
|
490
|
-
timeout: 30
|
|
491
|
-
retry_attempts: 3
|
|
492
|
-
retry_delay: 1000
|
|
493
|
-
rate_limit: 1000
|
|
494
|
-
headers:
|
|
495
|
-
User-Agent: OSSA-Agent/1.0
|
|
496
|
-
Accept: application/json
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
## Authentication
|
|
500
|
-
|
|
501
|
-
The `auth` object configures authentication. **Never include actual credentials** - use secret references.
|
|
502
|
-
|
|
503
|
-
### Bearer Token
|
|
504
|
-
|
|
505
|
-
```yaml
|
|
506
|
-
auth:
|
|
507
|
-
type: bearer
|
|
508
|
-
credentials: SECRET_REF_API_TOKEN
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
### OAuth2
|
|
512
|
-
|
|
513
|
-
```yaml
|
|
514
|
-
auth:
|
|
515
|
-
type: oauth2
|
|
516
|
-
credentials: SECRET_REF_OAUTH_CLIENT
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
Platform-specific OAuth2 config goes in tool `config`:
|
|
520
|
-
|
|
521
|
-
```yaml
|
|
522
|
-
auth:
|
|
523
|
-
type: oauth2
|
|
524
|
-
credentials: SECRET_REF_OAUTH
|
|
525
|
-
config:
|
|
526
|
-
oauth:
|
|
527
|
-
token_url: https://oauth.example.com/token
|
|
528
|
-
scopes:
|
|
529
|
-
- read:data
|
|
530
|
-
- write:data
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
### mTLS (Mutual TLS)
|
|
534
|
-
|
|
535
|
-
```yaml
|
|
536
|
-
auth:
|
|
537
|
-
type: mtls
|
|
538
|
-
credentials: SECRET_REF_TLS_CERT
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
### API Key
|
|
542
|
-
|
|
543
|
-
```yaml
|
|
544
|
-
auth:
|
|
545
|
-
type: apikey
|
|
546
|
-
credentials: SECRET_REF_API_KEY
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
Key placement (header/query) is configured in tool `config`:
|
|
550
|
-
|
|
551
|
-
```yaml
|
|
552
|
-
auth:
|
|
553
|
-
type: apikey
|
|
554
|
-
credentials: SECRET_REF_KEY
|
|
555
|
-
config:
|
|
556
|
-
api_key_header: X-API-Key
|
|
557
|
-
# OR
|
|
558
|
-
api_key_param: apikey
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
### No Authentication
|
|
562
|
-
|
|
563
|
-
```yaml
|
|
564
|
-
auth:
|
|
565
|
-
type: none
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
## Secret References
|
|
569
|
-
|
|
570
|
-
All credential values in `auth.credentials` are **references** to secrets managed by the deployment platform:
|
|
571
|
-
|
|
572
|
-
```yaml
|
|
573
|
-
# ❌ NEVER do this
|
|
574
|
-
auth:
|
|
575
|
-
credentials: "ghp_abc123xyz789"
|
|
576
|
-
|
|
577
|
-
# ✅ Always use references
|
|
578
|
-
auth:
|
|
579
|
-
credentials: SECRET_REF_GITHUB_TOKEN
|
|
580
|
-
```
|
|
581
|
-
|
|
582
|
-
**Secret management varies by platform:**
|
|
583
|
-
|
|
584
|
-
- **Kubernetes:** Kubernetes Secrets or external secret managers
|
|
585
|
-
- **Docker:** Docker Secrets or environment variables
|
|
586
|
-
- **Cloud:** AWS Secrets Manager, GCP Secret Manager, Azure Key Vault
|
|
587
|
-
- **BuildKit:** Token files in `~/.tokens/`
|
|
588
|
-
|
|
589
|
-
See platform documentation for secret reference format.
|
|
590
|
-
|
|
591
|
-
## Best Practices
|
|
592
|
-
|
|
593
|
-
1. **Principle of least privilege** - Grant minimum required capabilities
|
|
594
|
-
2. **Read-only by default** - Use `read_only: true` unless write access is needed
|
|
595
|
-
3. **Explicit capabilities** - List specific capabilities rather than granting all
|
|
596
|
-
4. **Separate concerns** - Use different tools for read vs. write operations
|
|
597
|
-
5. **Timeout configuration** - Set reasonable timeouts in `config`
|
|
598
|
-
6. **Secret references** - Never hardcode credentials
|
|
599
|
-
7. **Namespace isolation** - Use namespaces for multi-tenant deployments
|
|
600
|
-
8. **Error handling** - Configure retry logic in `config`
|
|
601
|
-
9. **Rate limiting** - Respect API rate limits in `config`
|
|
602
|
-
10. **Audit logging** - Enable logging for sensitive tool access
|
|
603
|
-
|
|
604
|
-
## Validation
|
|
605
|
-
|
|
606
|
-
Required fields by tool type:
|
|
607
|
-
|
|
608
|
-
| Tool Type | Required Fields |
|
|
609
|
-
|-----------|----------------|
|
|
610
|
-
| `mcp` | `type`, `server` |
|
|
611
|
-
| `kubernetes` | `type` |
|
|
612
|
-
| `http` | `type`, `endpoint` |
|
|
613
|
-
| `grpc` | `type`, `endpoint` |
|
|
614
|
-
| `function` | `type`, `name` |
|
|
615
|
-
| `custom` | `type`, `name` |
|
|
616
|
-
|
|
617
|
-
## Related Objects
|
|
618
|
-
|
|
619
|
-
- [Agent Spec](./agent-spec.md) - Parent object containing tools
|
|
620
|
-
- [Autonomy](./autonomy.md) - Action permissions for tools
|
|
621
|
-
- [MCP Extension](./extensions/mcp.md) - MCP server configuration
|
|
622
|
-
- [Constraints](./constraints.md) - Performance and cost limits
|
|
623
|
-
|
|
624
|
-
## See Also
|
|
625
|
-
|
|
626
|
-
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
|
|
627
|
-
- [Kubernetes API](https://kubernetes.io/docs/reference/)
|
|
628
|
-
- [Example Agents](/docs/examples/)
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Your Blog Post Title"
|
|
3
|
-
date: "2025-01-15"
|
|
4
|
-
author: "Your Name"
|
|
5
|
-
category: "Tutorial"
|
|
6
|
-
tags: ["OSSA", "AI Agents"]
|
|
7
|
-
excerpt: "A brief 1-2 sentence description that appears on the blog listing page."
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Your Blog Post Title
|
|
11
|
-
|
|
12
|
-
## Introduction
|
|
13
|
-
|
|
14
|
-
Start with a compelling hook that explains why this topic matters. What problem are you solving? What will readers learn?
|
|
15
|
-
|
|
16
|
-
## Main Content
|
|
17
|
-
|
|
18
|
-
### Section 1
|
|
19
|
-
|
|
20
|
-
Your content here. Use clear, concise language.
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
# Code examples help illustrate concepts
|
|
24
|
-
ossa: "1.0.0"
|
|
25
|
-
agent:
|
|
26
|
-
name: "example-agent"
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Section 2
|
|
30
|
-
|
|
31
|
-
Continue with your main points. Break up long sections with subheadings.
|
|
32
|
-
|
|
33
|
-
## Key Takeaways
|
|
34
|
-
|
|
35
|
-
- Summarize the main points
|
|
36
|
-
- Make it actionable
|
|
37
|
-
- Link to related resources
|
|
38
|
-
|
|
39
|
-
## Next Steps
|
|
40
|
-
|
|
41
|
-
- [Link to related documentation](/docs/getting-started/hello-world)
|
|
42
|
-
- [View examples](/examples)
|
|
43
|
-
- [Join the discussion](https://github.com/blueflyio/openstandardagents/issues)
|