opc-agent 1.2.0 → 1.2.1
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 +6 -0
- package/CONTRIBUTING.md +75 -75
- package/README.md +429 -429
- package/README.zh-CN.md +415 -415
- package/dist/channels/web.js +256 -256
- package/dist/core/knowledge.d.ts +0 -5
- package/dist/core/knowledge.js +2 -39
- package/dist/core/streaming.d.ts +56 -0
- package/dist/core/streaming.js +160 -0
- package/dist/deploy/hermes.js +22 -22
- package/dist/deploy/openclaw.js +31 -31
- package/dist/index.d.ts +4 -0
- package/dist/index.js +7 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +14 -158
- package/dist/schema/oad.d.ts +3 -3
- package/dist/templates/code-reviewer.js +5 -5
- package/dist/templates/customer-service.js +2 -2
- package/dist/templates/data-analyst.js +5 -5
- package/dist/templates/knowledge-base.js +2 -2
- package/dist/templates/sales-assistant.js +4 -4
- package/dist/templates/teacher.js +6 -6
- package/dist/tools/gateway.d.ts +28 -0
- package/dist/tools/gateway.js +177 -0
- package/docs/.vitepress/config.ts +103 -103
- package/docs/api/cli.md +48 -48
- package/docs/api/oad-schema.md +64 -64
- package/docs/api/sdk.md +80 -80
- package/docs/guide/concepts.md +51 -51
- package/docs/guide/configuration.md +79 -79
- package/docs/guide/deployment.md +42 -42
- package/docs/guide/getting-started.md +44 -44
- package/docs/guide/templates.md +28 -28
- package/docs/guide/testing.md +84 -84
- package/docs/index.md +27 -27
- package/docs/zh/api/cli.md +54 -54
- package/docs/zh/api/oad-schema.md +87 -87
- package/docs/zh/api/sdk.md +102 -102
- package/docs/zh/guide/concepts.md +104 -104
- package/docs/zh/guide/configuration.md +135 -135
- package/docs/zh/guide/deployment.md +81 -81
- package/docs/zh/guide/getting-started.md +82 -82
- package/docs/zh/guide/templates.md +84 -84
- package/docs/zh/guide/testing.md +88 -88
- package/docs/zh/index.md +27 -27
- package/examples/customer-service-demo/README.md +90 -90
- package/examples/customer-service-demo/oad.yaml +107 -107
- package/package.json +50 -50
- package/src/analytics/index.ts +66 -66
- package/src/channels/discord.ts +192 -192
- package/src/channels/email.ts +177 -177
- package/src/channels/feishu.ts +236 -236
- package/src/channels/index.ts +15 -15
- package/src/channels/slack.ts +160 -160
- package/src/channels/telegram.ts +90 -90
- package/src/channels/voice.ts +106 -106
- package/src/channels/webhook.ts +199 -199
- package/src/channels/websocket.ts +87 -87
- package/src/channels/wechat.ts +149 -149
- package/src/core/a2a.ts +143 -143
- package/src/core/agent.ts +152 -152
- package/src/core/analytics-engine.ts +186 -186
- package/src/core/auth.ts +57 -57
- package/src/core/cache.ts +141 -141
- package/src/core/compose.ts +77 -77
- package/src/core/config.ts +14 -14
- package/src/core/errors.ts +148 -148
- package/src/core/hitl.ts +138 -138
- package/src/core/logger.ts +57 -57
- package/src/core/orchestrator.ts +215 -215
- package/src/core/performance.ts +187 -187
- package/src/core/rate-limiter.ts +128 -128
- package/src/core/room.ts +109 -109
- package/src/core/runtime.ts +152 -152
- package/src/core/sandbox.ts +101 -101
- package/src/core/security.ts +171 -171
- package/src/core/streaming.ts +195 -0
- package/src/core/types.ts +68 -68
- package/src/core/versioning.ts +106 -106
- package/src/core/watch.ts +178 -178
- package/src/core/workflow.ts +235 -235
- package/src/deploy/hermes.ts +156 -156
- package/src/deploy/openclaw.ts +200 -200
- package/src/dtv/data.ts +29 -29
- package/src/dtv/trust.ts +43 -43
- package/src/dtv/value.ts +47 -47
- package/src/i18n/index.ts +216 -216
- package/src/index.ts +6 -0
- package/src/marketplace/index.ts +223 -223
- package/src/memory/deepbrain.ts +108 -108
- package/src/memory/index.ts +34 -34
- package/src/plugins/index.ts +208 -208
- package/src/schema/oad.ts +155 -155
- package/src/skills/base.ts +16 -16
- package/src/skills/document.ts +100 -100
- package/src/skills/http.ts +35 -35
- package/src/skills/index.ts +27 -27
- package/src/skills/scheduler.ts +80 -80
- package/src/skills/webhook-trigger.ts +59 -59
- package/src/templates/code-reviewer.ts +34 -34
- package/src/templates/customer-service.ts +80 -80
- package/src/templates/data-analyst.ts +70 -70
- package/src/templates/executive-assistant.ts +71 -71
- package/src/templates/financial-advisor.ts +60 -60
- package/src/templates/knowledge-base.ts +31 -31
- package/src/templates/legal-assistant.ts +71 -71
- package/src/templates/sales-assistant.ts +79 -79
- package/src/templates/teacher.ts +79 -79
- package/src/testing/index.ts +181 -181
- package/src/tools/calculator.ts +73 -73
- package/src/tools/datetime.ts +149 -149
- package/src/tools/gateway.ts +220 -0
- package/src/tools/json-transform.ts +187 -187
- package/src/tools/mcp.ts +76 -76
- package/src/tools/text-analysis.ts +116 -116
- package/templates/Dockerfile +15 -15
- package/templates/code-reviewer/README.md +27 -27
- package/templates/code-reviewer/oad.yaml +41 -41
- package/templates/customer-service/README.md +22 -22
- package/templates/customer-service/oad.yaml +36 -36
- package/templates/docker-compose.yml +21 -21
- package/templates/ecommerce-assistant/README.md +45 -45
- package/templates/ecommerce-assistant/oad.yaml +47 -47
- package/templates/knowledge-base/README.md +28 -28
- package/templates/knowledge-base/oad.yaml +38 -38
- package/templates/sales-assistant/README.md +26 -26
- package/templates/sales-assistant/oad.yaml +43 -43
- package/templates/tech-support/README.md +43 -43
- package/templates/tech-support/oad.yaml +45 -45
- package/tests/a2a.test.ts +66 -66
- package/tests/agent.test.ts +72 -72
- package/tests/analytics.test.ts +50 -50
- package/tests/channel.test.ts +39 -39
- package/tests/e2e.test.ts +134 -134
- package/tests/errors.test.ts +83 -83
- package/tests/gateway.test.ts +71 -0
- package/tests/hitl.test.ts +71 -71
- package/tests/i18n.test.ts +41 -41
- package/tests/mcp.test.ts +54 -54
- package/tests/oad.test.ts +68 -68
- package/tests/performance.test.ts +115 -115
- package/tests/plugin.test.ts +74 -74
- package/tests/room.test.ts +106 -106
- package/tests/runtime.test.ts +42 -42
- package/tests/sandbox.test.ts +46 -46
- package/tests/security.test.ts +60 -60
- package/tests/streaming.test.ts +109 -0
- package/tests/templates.test.ts +77 -77
- package/tests/v070.test.ts +76 -76
- package/tests/versioning.test.ts +75 -75
- package/tests/voice.test.ts +61 -61
- package/tests/webhook.test.ts +29 -29
- package/tests/workflow.test.ts +143 -143
- package/tsconfig.json +19 -19
- package/vitest.config.ts +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to OPC Agent will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.2.0] - 2026-04-17
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Tool Gateway**: Managed tool gateway (`ToolGateway`) that wraps multiple tool providers (web-search, image-gen, tts, browser) behind a single authenticated endpoint — no separate API keys needed. Auto-discovers available tools from gateway, falls back to defaults. Gateway tools implement `MCPTool` interface for seamless registry integration. (`src/tools/gateway.ts`)
|
|
9
|
+
- **Streaming Support**: SSE-based streaming for real-time agent responses. `StreamingManager` with `createStream()` / `writeChunk()` / `endStream()`. `StreamableResponse` with backpressure handling, event emission, and SSE pipe utility for Express-style HTTP responses. Channels can opt in via `supportsStreaming: true`. (`src/core/streaming.ts`)
|
|
10
|
+
|
|
5
11
|
## [1.1.0] - 2026-04-16
|
|
6
12
|
|
|
7
13
|
### Added
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# Contributing to OPC Agent
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to OPC Agent! 🎉
|
|
4
|
-
|
|
5
|
-
## Getting Started
|
|
6
|
-
|
|
7
|
-
1. Fork the repository
|
|
8
|
-
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/opc-agent.git`
|
|
9
|
-
3. Install dependencies: `npm install`
|
|
10
|
-
4. Create a branch: `git checkout -b feature/my-feature`
|
|
11
|
-
|
|
12
|
-
## Development
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
# Build
|
|
16
|
-
npm run build
|
|
17
|
-
|
|
18
|
-
# Run tests
|
|
19
|
-
npm test
|
|
20
|
-
|
|
21
|
-
# Type check
|
|
22
|
-
npm run lint
|
|
23
|
-
|
|
24
|
-
# Watch mode
|
|
25
|
-
npm run dev
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Project Structure
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
src/
|
|
32
|
-
├── core/ # Agent, Runtime, Config, Logger, Types
|
|
33
|
-
├── channels/ # Web, WebSocket, Telegram channels
|
|
34
|
-
├── memory/ # InMemoryStore, DeepBrainMemoryStore
|
|
35
|
-
├── providers/ # LLM provider abstraction
|
|
36
|
-
├── schema/ # OAD schema (Zod)
|
|
37
|
-
├── skills/ # BaseSkill, SkillRegistry
|
|
38
|
-
├── templates/ # Agent templates
|
|
39
|
-
├── dtv/ # Data, Trust, Value framework
|
|
40
|
-
├── cli.ts # CLI entry point
|
|
41
|
-
└── index.ts # Public API exports
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Guidelines
|
|
45
|
-
|
|
46
|
-
- **TypeScript**: All code must be TypeScript with strict mode
|
|
47
|
-
- **Tests**: Add tests for new features in `tests/`
|
|
48
|
-
- **Commits**: Use conventional commits (`feat:`, `fix:`, `docs:`, etc.)
|
|
49
|
-
- **OAD Compatibility**: Changes to OAD schema must be backward-compatible
|
|
50
|
-
- **No Breaking Changes** without major version bump
|
|
51
|
-
|
|
52
|
-
## Adding a Template
|
|
53
|
-
|
|
54
|
-
1. Create `src/templates/my-template.ts` with config factory function
|
|
55
|
-
2. Create `templates/my-template/oad.yaml` and `README.md`
|
|
56
|
-
3. Register in `src/cli.ts` TEMPLATES map
|
|
57
|
-
4. Add tests
|
|
58
|
-
|
|
59
|
-
## Adding a Channel
|
|
60
|
-
|
|
61
|
-
1. Create `src/channels/my-channel.ts` extending `BaseChannel`
|
|
62
|
-
2. Add channel type to OAD schema in `src/schema/oad.ts`
|
|
63
|
-
3. Wire up in `src/core/runtime.ts`
|
|
64
|
-
4. Export from `src/index.ts`
|
|
65
|
-
|
|
66
|
-
## Pull Requests
|
|
67
|
-
|
|
68
|
-
1. Ensure all tests pass: `npm test`
|
|
69
|
-
2. Ensure types check: `npm run lint`
|
|
70
|
-
3. Write a clear PR description
|
|
71
|
-
4. Reference any related issues
|
|
72
|
-
|
|
73
|
-
## License
|
|
74
|
-
|
|
75
|
-
By contributing, you agree that your contributions will be licensed under Apache-2.0.
|
|
1
|
+
# Contributing to OPC Agent
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to OPC Agent! 🎉
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
1. Fork the repository
|
|
8
|
+
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/opc-agent.git`
|
|
9
|
+
3. Install dependencies: `npm install`
|
|
10
|
+
4. Create a branch: `git checkout -b feature/my-feature`
|
|
11
|
+
|
|
12
|
+
## Development
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Build
|
|
16
|
+
npm run build
|
|
17
|
+
|
|
18
|
+
# Run tests
|
|
19
|
+
npm test
|
|
20
|
+
|
|
21
|
+
# Type check
|
|
22
|
+
npm run lint
|
|
23
|
+
|
|
24
|
+
# Watch mode
|
|
25
|
+
npm run dev
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Project Structure
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
src/
|
|
32
|
+
├── core/ # Agent, Runtime, Config, Logger, Types
|
|
33
|
+
├── channels/ # Web, WebSocket, Telegram channels
|
|
34
|
+
├── memory/ # InMemoryStore, DeepBrainMemoryStore
|
|
35
|
+
├── providers/ # LLM provider abstraction
|
|
36
|
+
├── schema/ # OAD schema (Zod)
|
|
37
|
+
├── skills/ # BaseSkill, SkillRegistry
|
|
38
|
+
├── templates/ # Agent templates
|
|
39
|
+
├── dtv/ # Data, Trust, Value framework
|
|
40
|
+
├── cli.ts # CLI entry point
|
|
41
|
+
└── index.ts # Public API exports
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Guidelines
|
|
45
|
+
|
|
46
|
+
- **TypeScript**: All code must be TypeScript with strict mode
|
|
47
|
+
- **Tests**: Add tests for new features in `tests/`
|
|
48
|
+
- **Commits**: Use conventional commits (`feat:`, `fix:`, `docs:`, etc.)
|
|
49
|
+
- **OAD Compatibility**: Changes to OAD schema must be backward-compatible
|
|
50
|
+
- **No Breaking Changes** without major version bump
|
|
51
|
+
|
|
52
|
+
## Adding a Template
|
|
53
|
+
|
|
54
|
+
1. Create `src/templates/my-template.ts` with config factory function
|
|
55
|
+
2. Create `templates/my-template/oad.yaml` and `README.md`
|
|
56
|
+
3. Register in `src/cli.ts` TEMPLATES map
|
|
57
|
+
4. Add tests
|
|
58
|
+
|
|
59
|
+
## Adding a Channel
|
|
60
|
+
|
|
61
|
+
1. Create `src/channels/my-channel.ts` extending `BaseChannel`
|
|
62
|
+
2. Add channel type to OAD schema in `src/schema/oad.ts`
|
|
63
|
+
3. Wire up in `src/core/runtime.ts`
|
|
64
|
+
4. Export from `src/index.ts`
|
|
65
|
+
|
|
66
|
+
## Pull Requests
|
|
67
|
+
|
|
68
|
+
1. Ensure all tests pass: `npm test`
|
|
69
|
+
2. Ensure types check: `npm run lint`
|
|
70
|
+
3. Write a clear PR description
|
|
71
|
+
4. Reference any related issues
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
By contributing, you agree that your contributions will be licensed under Apache-2.0.
|