opc-agent 1.1.1 → 1.1.3

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 (142) hide show
  1. package/CHANGELOG.md +51 -51
  2. package/CONTRIBUTING.md +75 -75
  3. package/README.md +222 -126
  4. package/README.zh-CN.md +129 -80
  5. package/dist/channels/web.js +256 -256
  6. package/dist/deploy/hermes.js +22 -22
  7. package/dist/deploy/openclaw.js +31 -31
  8. package/dist/providers/index.d.ts +1 -1
  9. package/dist/providers/index.js +148 -13
  10. package/dist/schema/oad.d.ts +3 -3
  11. package/dist/templates/code-reviewer.js +5 -5
  12. package/dist/templates/customer-service.js +2 -2
  13. package/dist/templates/data-analyst.js +5 -5
  14. package/dist/templates/knowledge-base.js +2 -2
  15. package/dist/templates/sales-assistant.js +4 -4
  16. package/dist/templates/teacher.js +6 -6
  17. package/docs/.vitepress/config.ts +103 -103
  18. package/docs/api/cli.md +48 -48
  19. package/docs/api/oad-schema.md +64 -64
  20. package/docs/api/sdk.md +80 -80
  21. package/docs/guide/concepts.md +51 -51
  22. package/docs/guide/configuration.md +79 -79
  23. package/docs/guide/deployment.md +42 -42
  24. package/docs/guide/getting-started.md +44 -44
  25. package/docs/guide/templates.md +28 -28
  26. package/docs/guide/testing.md +84 -84
  27. package/docs/index.md +27 -27
  28. package/docs/zh/api/cli.md +54 -54
  29. package/docs/zh/api/oad-schema.md +87 -87
  30. package/docs/zh/api/sdk.md +102 -102
  31. package/docs/zh/guide/concepts.md +104 -104
  32. package/docs/zh/guide/configuration.md +135 -135
  33. package/docs/zh/guide/deployment.md +81 -81
  34. package/docs/zh/guide/getting-started.md +82 -82
  35. package/docs/zh/guide/templates.md +84 -84
  36. package/docs/zh/guide/testing.md +88 -88
  37. package/docs/zh/index.md +27 -27
  38. package/examples/customer-service-demo/README.md +90 -90
  39. package/examples/customer-service-demo/oad.yaml +107 -107
  40. package/package.json +1 -1
  41. package/src/analytics/index.ts +66 -66
  42. package/src/channels/discord.ts +192 -192
  43. package/src/channels/email.ts +177 -177
  44. package/src/channels/feishu.ts +236 -236
  45. package/src/channels/index.ts +15 -15
  46. package/src/channels/slack.ts +160 -160
  47. package/src/channels/telegram.ts +90 -90
  48. package/src/channels/voice.ts +106 -106
  49. package/src/channels/web.ts +596 -596
  50. package/src/channels/webhook.ts +199 -199
  51. package/src/channels/websocket.ts +87 -87
  52. package/src/channels/wechat.ts +149 -149
  53. package/src/core/a2a.ts +143 -143
  54. package/src/core/agent.ts +152 -152
  55. package/src/core/analytics-engine.ts +186 -186
  56. package/src/core/auth.ts +57 -57
  57. package/src/core/cache.ts +141 -141
  58. package/src/core/compose.ts +77 -77
  59. package/src/core/config.ts +14 -14
  60. package/src/core/errors.ts +148 -148
  61. package/src/core/hitl.ts +138 -138
  62. package/src/core/knowledge.ts +210 -210
  63. package/src/core/logger.ts +57 -57
  64. package/src/core/orchestrator.ts +215 -215
  65. package/src/core/performance.ts +187 -187
  66. package/src/core/rate-limiter.ts +128 -128
  67. package/src/core/room.ts +109 -109
  68. package/src/core/runtime.ts +152 -152
  69. package/src/core/sandbox.ts +101 -101
  70. package/src/core/security.ts +171 -171
  71. package/src/core/types.ts +68 -68
  72. package/src/core/versioning.ts +106 -106
  73. package/src/core/watch.ts +178 -178
  74. package/src/core/workflow.ts +235 -235
  75. package/src/deploy/hermes.ts +156 -156
  76. package/src/deploy/openclaw.ts +200 -200
  77. package/src/dtv/data.ts +29 -29
  78. package/src/dtv/trust.ts +43 -43
  79. package/src/dtv/value.ts +47 -47
  80. package/src/i18n/index.ts +216 -216
  81. package/src/index.ts +110 -110
  82. package/src/marketplace/index.ts +223 -223
  83. package/src/memory/deepbrain.ts +108 -108
  84. package/src/memory/index.ts +34 -34
  85. package/src/plugins/index.ts +208 -208
  86. package/src/providers/index.ts +322 -183
  87. package/src/schema/oad.ts +155 -155
  88. package/src/skills/base.ts +16 -16
  89. package/src/skills/document.ts +100 -100
  90. package/src/skills/http.ts +35 -35
  91. package/src/skills/index.ts +27 -27
  92. package/src/skills/scheduler.ts +80 -80
  93. package/src/skills/webhook-trigger.ts +59 -59
  94. package/src/templates/code-reviewer.ts +34 -34
  95. package/src/templates/customer-service.ts +80 -80
  96. package/src/templates/data-analyst.ts +70 -70
  97. package/src/templates/executive-assistant.ts +71 -71
  98. package/src/templates/financial-advisor.ts +60 -60
  99. package/src/templates/knowledge-base.ts +31 -31
  100. package/src/templates/legal-assistant.ts +71 -71
  101. package/src/templates/sales-assistant.ts +79 -79
  102. package/src/templates/teacher.ts +79 -79
  103. package/src/testing/index.ts +181 -181
  104. package/src/tools/calculator.ts +73 -73
  105. package/src/tools/datetime.ts +149 -149
  106. package/src/tools/json-transform.ts +187 -187
  107. package/src/tools/mcp.ts +76 -76
  108. package/src/tools/text-analysis.ts +116 -116
  109. package/templates/Dockerfile +15 -15
  110. package/templates/code-reviewer/README.md +27 -27
  111. package/templates/code-reviewer/oad.yaml +41 -41
  112. package/templates/customer-service/README.md +22 -22
  113. package/templates/customer-service/oad.yaml +36 -36
  114. package/templates/docker-compose.yml +21 -21
  115. package/templates/knowledge-base/README.md +28 -28
  116. package/templates/knowledge-base/oad.yaml +38 -38
  117. package/templates/sales-assistant/README.md +26 -26
  118. package/templates/sales-assistant/oad.yaml +43 -43
  119. package/tests/a2a.test.ts +66 -66
  120. package/tests/agent.test.ts +72 -72
  121. package/tests/analytics.test.ts +50 -50
  122. package/tests/channel.test.ts +39 -39
  123. package/tests/e2e.test.ts +134 -134
  124. package/tests/errors.test.ts +83 -83
  125. package/tests/hitl.test.ts +71 -71
  126. package/tests/i18n.test.ts +41 -41
  127. package/tests/mcp.test.ts +54 -54
  128. package/tests/oad.test.ts +68 -68
  129. package/tests/performance.test.ts +115 -115
  130. package/tests/plugin.test.ts +74 -74
  131. package/tests/room.test.ts +106 -106
  132. package/tests/runtime.test.ts +42 -42
  133. package/tests/sandbox.test.ts +46 -46
  134. package/tests/security.test.ts +60 -60
  135. package/tests/templates.test.ts +77 -77
  136. package/tests/v070.test.ts +76 -76
  137. package/tests/versioning.test.ts +75 -75
  138. package/tests/voice.test.ts +61 -61
  139. package/tests/webhook.test.ts +29 -29
  140. package/tests/workflow.test.ts +143 -143
  141. package/tsconfig.json +19 -19
  142. package/vitest.config.ts +9 -9
package/CHANGELOG.md CHANGED
@@ -1,51 +1,51 @@
1
- # Changelog
2
-
3
- All notable changes to OPC Agent will be documented in this file.
4
-
5
- ## [1.1.0] - 2026-04-16
6
-
7
- ### Added
8
- - **Feishu/Lark Channel**: Full Feishu bot integration with event subscription webhook, tenant access token caching, text & interactive card messaging, group + P2P support. Also works with Lark international via `apiBase` config. (`src/channels/feishu.ts`)
9
- - **Discord Channel**: Discord bot via Gateway WebSocket with auto-reconnect, heartbeat, message content intent, and 2000-char message splitting. (`src/channels/discord.ts`)
10
- - **ProcessWatcher**: Background process output monitoring with regex pattern matching — watch stdout/stderr for specific patterns (errors, "server ready", build completion) and get instant callbacks without polling. Supports `once` patterns, match history, and dynamic pattern add/remove. Inspired by Hermes Agent's `watch_patterns`. (`src/core/watch.ts`)
11
-
12
- ## [0.2.0] - 2026-04-15
13
-
14
- ### Added
15
- - **DeepBrain Integration**: Optional long-term memory backend with semantic search. Config via `memory.longTerm.provider: deepbrain`. Falls back to in-memory if not installed.
16
- - **Telegram Channel**: Basic webhook handler for Telegram Bot API (`src/channels/telegram.ts`).
17
- - **WebSocket Channel**: Real-time bidirectional communication with broadcast (`src/channels/websocket.ts`).
18
- - **Sales Assistant Template**: Product Q&A, lead capture, appointment booking.
19
- - **Knowledge Base Template**: RAG with DeepBrain for answering from company docs.
20
- - **Code Reviewer Template**: Bug detection, style checking, severity ratings.
21
- - **Skill Marketplace Stub**: `opc publish` validates OAD and generates manifest. `opc search` placeholder.
22
- - **OAD Marketplace Fields**: `pricing` (free/freemium/paid/enterprise) and `tags` in marketplace config.
23
- - **Context Size Guard**: Auto-truncate tool outputs exceeding 5000 characters.
24
- - **Conversation History Limit**: Configurable limit (default 50 messages).
25
- - **Graceful Shutdown**: Handles SIGINT/SIGTERM with cleanup.
26
- - **Structured Logging**: Logger with debug/info/warn/error levels.
27
- - **Interactive CLI Init**: `opc init` with prompts and template selection.
28
- - **Dev Mode**: `opc dev` watches files and hot-reloads agent on changes.
29
- - **Agent Info Command**: `opc info` displays agent details from OAD.
30
- - **Colorful CLI Output**: Status indicators and colored text throughout CLI.
31
- - **CONTRIBUTING.md**: Contribution guidelines.
32
- - **CHANGELOG.md**: This file.
33
-
34
- ### Changed
35
- - OAD `memory.longTerm` now accepts boolean or object with provider config.
36
- - OAD `channels.type` now includes `telegram`.
37
- - CLI version bumped to 0.2.0.
38
-
39
- ## [0.1.0] - 2026-04-14
40
-
41
- ### Added
42
- - Initial release
43
- - BaseAgent with lifecycle management
44
- - AgentRuntime for config-driven setup
45
- - OAD Schema v1 with Zod validation
46
- - Web channel (Express)
47
- - InMemoryStore
48
- - Skill system (BaseSkill, SkillRegistry)
49
- - DTV framework (Trust, Value, Data)
50
- - Customer Service template
51
- - CLI: init, create, build, test, run, publish
1
+ # Changelog
2
+
3
+ All notable changes to OPC Agent will be documented in this file.
4
+
5
+ ## [1.1.0] - 2026-04-16
6
+
7
+ ### Added
8
+ - **Feishu/Lark Channel**: Full Feishu bot integration with event subscription webhook, tenant access token caching, text & interactive card messaging, group + P2P support. Also works with Lark international via `apiBase` config. (`src/channels/feishu.ts`)
9
+ - **Discord Channel**: Discord bot via Gateway WebSocket with auto-reconnect, heartbeat, message content intent, and 2000-char message splitting. (`src/channels/discord.ts`)
10
+ - **ProcessWatcher**: Background process output monitoring with regex pattern matching — watch stdout/stderr for specific patterns (errors, "server ready", build completion) and get instant callbacks without polling. Supports `once` patterns, match history, and dynamic pattern add/remove. Inspired by Hermes Agent's `watch_patterns`. (`src/core/watch.ts`)
11
+
12
+ ## [0.2.0] - 2026-04-15
13
+
14
+ ### Added
15
+ - **DeepBrain Integration**: Optional long-term memory backend with semantic search. Config via `memory.longTerm.provider: deepbrain`. Falls back to in-memory if not installed.
16
+ - **Telegram Channel**: Basic webhook handler for Telegram Bot API (`src/channels/telegram.ts`).
17
+ - **WebSocket Channel**: Real-time bidirectional communication with broadcast (`src/channels/websocket.ts`).
18
+ - **Sales Assistant Template**: Product Q&A, lead capture, appointment booking.
19
+ - **Knowledge Base Template**: RAG with DeepBrain for answering from company docs.
20
+ - **Code Reviewer Template**: Bug detection, style checking, severity ratings.
21
+ - **Skill Marketplace Stub**: `opc publish` validates OAD and generates manifest. `opc search` placeholder.
22
+ - **OAD Marketplace Fields**: `pricing` (free/freemium/paid/enterprise) and `tags` in marketplace config.
23
+ - **Context Size Guard**: Auto-truncate tool outputs exceeding 5000 characters.
24
+ - **Conversation History Limit**: Configurable limit (default 50 messages).
25
+ - **Graceful Shutdown**: Handles SIGINT/SIGTERM with cleanup.
26
+ - **Structured Logging**: Logger with debug/info/warn/error levels.
27
+ - **Interactive CLI Init**: `opc init` with prompts and template selection.
28
+ - **Dev Mode**: `opc dev` watches files and hot-reloads agent on changes.
29
+ - **Agent Info Command**: `opc info` displays agent details from OAD.
30
+ - **Colorful CLI Output**: Status indicators and colored text throughout CLI.
31
+ - **CONTRIBUTING.md**: Contribution guidelines.
32
+ - **CHANGELOG.md**: This file.
33
+
34
+ ### Changed
35
+ - OAD `memory.longTerm` now accepts boolean or object with provider config.
36
+ - OAD `channels.type` now includes `telegram`.
37
+ - CLI version bumped to 0.2.0.
38
+
39
+ ## [0.1.0] - 2026-04-14
40
+
41
+ ### Added
42
+ - Initial release
43
+ - BaseAgent with lifecycle management
44
+ - AgentRuntime for config-driven setup
45
+ - OAD Schema v1 with Zod validation
46
+ - Web channel (Express)
47
+ - InMemoryStore
48
+ - Skill system (BaseSkill, SkillRegistry)
49
+ - DTV framework (Trust, Value, Data)
50
+ - Customer Service template
51
+ - CLI: init, create, build, test, run, publish
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.