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.
Files changed (155) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/CONTRIBUTING.md +75 -75
  3. package/README.md +429 -429
  4. package/README.zh-CN.md +415 -415
  5. package/dist/channels/web.js +256 -256
  6. package/dist/core/knowledge.d.ts +0 -5
  7. package/dist/core/knowledge.js +2 -39
  8. package/dist/core/streaming.d.ts +56 -0
  9. package/dist/core/streaming.js +160 -0
  10. package/dist/deploy/hermes.js +22 -22
  11. package/dist/deploy/openclaw.js +31 -31
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.js +7 -1
  14. package/dist/providers/index.d.ts +1 -1
  15. package/dist/providers/index.js +14 -158
  16. package/dist/schema/oad.d.ts +3 -3
  17. package/dist/templates/code-reviewer.js +5 -5
  18. package/dist/templates/customer-service.js +2 -2
  19. package/dist/templates/data-analyst.js +5 -5
  20. package/dist/templates/knowledge-base.js +2 -2
  21. package/dist/templates/sales-assistant.js +4 -4
  22. package/dist/templates/teacher.js +6 -6
  23. package/dist/tools/gateway.d.ts +28 -0
  24. package/dist/tools/gateway.js +177 -0
  25. package/docs/.vitepress/config.ts +103 -103
  26. package/docs/api/cli.md +48 -48
  27. package/docs/api/oad-schema.md +64 -64
  28. package/docs/api/sdk.md +80 -80
  29. package/docs/guide/concepts.md +51 -51
  30. package/docs/guide/configuration.md +79 -79
  31. package/docs/guide/deployment.md +42 -42
  32. package/docs/guide/getting-started.md +44 -44
  33. package/docs/guide/templates.md +28 -28
  34. package/docs/guide/testing.md +84 -84
  35. package/docs/index.md +27 -27
  36. package/docs/zh/api/cli.md +54 -54
  37. package/docs/zh/api/oad-schema.md +87 -87
  38. package/docs/zh/api/sdk.md +102 -102
  39. package/docs/zh/guide/concepts.md +104 -104
  40. package/docs/zh/guide/configuration.md +135 -135
  41. package/docs/zh/guide/deployment.md +81 -81
  42. package/docs/zh/guide/getting-started.md +82 -82
  43. package/docs/zh/guide/templates.md +84 -84
  44. package/docs/zh/guide/testing.md +88 -88
  45. package/docs/zh/index.md +27 -27
  46. package/examples/customer-service-demo/README.md +90 -90
  47. package/examples/customer-service-demo/oad.yaml +107 -107
  48. package/package.json +50 -50
  49. package/src/analytics/index.ts +66 -66
  50. package/src/channels/discord.ts +192 -192
  51. package/src/channels/email.ts +177 -177
  52. package/src/channels/feishu.ts +236 -236
  53. package/src/channels/index.ts +15 -15
  54. package/src/channels/slack.ts +160 -160
  55. package/src/channels/telegram.ts +90 -90
  56. package/src/channels/voice.ts +106 -106
  57. package/src/channels/webhook.ts +199 -199
  58. package/src/channels/websocket.ts +87 -87
  59. package/src/channels/wechat.ts +149 -149
  60. package/src/core/a2a.ts +143 -143
  61. package/src/core/agent.ts +152 -152
  62. package/src/core/analytics-engine.ts +186 -186
  63. package/src/core/auth.ts +57 -57
  64. package/src/core/cache.ts +141 -141
  65. package/src/core/compose.ts +77 -77
  66. package/src/core/config.ts +14 -14
  67. package/src/core/errors.ts +148 -148
  68. package/src/core/hitl.ts +138 -138
  69. package/src/core/logger.ts +57 -57
  70. package/src/core/orchestrator.ts +215 -215
  71. package/src/core/performance.ts +187 -187
  72. package/src/core/rate-limiter.ts +128 -128
  73. package/src/core/room.ts +109 -109
  74. package/src/core/runtime.ts +152 -152
  75. package/src/core/sandbox.ts +101 -101
  76. package/src/core/security.ts +171 -171
  77. package/src/core/streaming.ts +195 -0
  78. package/src/core/types.ts +68 -68
  79. package/src/core/versioning.ts +106 -106
  80. package/src/core/watch.ts +178 -178
  81. package/src/core/workflow.ts +235 -235
  82. package/src/deploy/hermes.ts +156 -156
  83. package/src/deploy/openclaw.ts +200 -200
  84. package/src/dtv/data.ts +29 -29
  85. package/src/dtv/trust.ts +43 -43
  86. package/src/dtv/value.ts +47 -47
  87. package/src/i18n/index.ts +216 -216
  88. package/src/index.ts +6 -0
  89. package/src/marketplace/index.ts +223 -223
  90. package/src/memory/deepbrain.ts +108 -108
  91. package/src/memory/index.ts +34 -34
  92. package/src/plugins/index.ts +208 -208
  93. package/src/schema/oad.ts +155 -155
  94. package/src/skills/base.ts +16 -16
  95. package/src/skills/document.ts +100 -100
  96. package/src/skills/http.ts +35 -35
  97. package/src/skills/index.ts +27 -27
  98. package/src/skills/scheduler.ts +80 -80
  99. package/src/skills/webhook-trigger.ts +59 -59
  100. package/src/templates/code-reviewer.ts +34 -34
  101. package/src/templates/customer-service.ts +80 -80
  102. package/src/templates/data-analyst.ts +70 -70
  103. package/src/templates/executive-assistant.ts +71 -71
  104. package/src/templates/financial-advisor.ts +60 -60
  105. package/src/templates/knowledge-base.ts +31 -31
  106. package/src/templates/legal-assistant.ts +71 -71
  107. package/src/templates/sales-assistant.ts +79 -79
  108. package/src/templates/teacher.ts +79 -79
  109. package/src/testing/index.ts +181 -181
  110. package/src/tools/calculator.ts +73 -73
  111. package/src/tools/datetime.ts +149 -149
  112. package/src/tools/gateway.ts +220 -0
  113. package/src/tools/json-transform.ts +187 -187
  114. package/src/tools/mcp.ts +76 -76
  115. package/src/tools/text-analysis.ts +116 -116
  116. package/templates/Dockerfile +15 -15
  117. package/templates/code-reviewer/README.md +27 -27
  118. package/templates/code-reviewer/oad.yaml +41 -41
  119. package/templates/customer-service/README.md +22 -22
  120. package/templates/customer-service/oad.yaml +36 -36
  121. package/templates/docker-compose.yml +21 -21
  122. package/templates/ecommerce-assistant/README.md +45 -45
  123. package/templates/ecommerce-assistant/oad.yaml +47 -47
  124. package/templates/knowledge-base/README.md +28 -28
  125. package/templates/knowledge-base/oad.yaml +38 -38
  126. package/templates/sales-assistant/README.md +26 -26
  127. package/templates/sales-assistant/oad.yaml +43 -43
  128. package/templates/tech-support/README.md +43 -43
  129. package/templates/tech-support/oad.yaml +45 -45
  130. package/tests/a2a.test.ts +66 -66
  131. package/tests/agent.test.ts +72 -72
  132. package/tests/analytics.test.ts +50 -50
  133. package/tests/channel.test.ts +39 -39
  134. package/tests/e2e.test.ts +134 -134
  135. package/tests/errors.test.ts +83 -83
  136. package/tests/gateway.test.ts +71 -0
  137. package/tests/hitl.test.ts +71 -71
  138. package/tests/i18n.test.ts +41 -41
  139. package/tests/mcp.test.ts +54 -54
  140. package/tests/oad.test.ts +68 -68
  141. package/tests/performance.test.ts +115 -115
  142. package/tests/plugin.test.ts +74 -74
  143. package/tests/room.test.ts +106 -106
  144. package/tests/runtime.test.ts +42 -42
  145. package/tests/sandbox.test.ts +46 -46
  146. package/tests/security.test.ts +60 -60
  147. package/tests/streaming.test.ts +109 -0
  148. package/tests/templates.test.ts +77 -77
  149. package/tests/v070.test.ts +76 -76
  150. package/tests/versioning.test.ts +75 -75
  151. package/tests/voice.test.ts +61 -61
  152. package/tests/webhook.test.ts +29 -29
  153. package/tests/workflow.test.ts +143 -143
  154. package/tsconfig.json +19 -19
  155. 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.