opc-agent 1.2.1 → 1.3.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 (158) hide show
  1. package/.github/workflows/ci.yml +24 -0
  2. package/CONTRIBUTING.md +75 -75
  3. package/README.md +235 -358
  4. package/README.zh-CN.md +415 -415
  5. package/dist/channels/web.js +256 -256
  6. package/dist/cli.js +118 -34
  7. package/dist/core/knowledge.d.ts +5 -0
  8. package/dist/core/knowledge.js +39 -2
  9. package/dist/deploy/hermes.js +22 -22
  10. package/dist/deploy/openclaw.js +31 -40
  11. package/dist/index.d.ts +3 -6
  12. package/dist/index.js +7 -11
  13. package/dist/providers/index.d.ts +1 -1
  14. package/dist/providers/index.js +158 -14
  15. package/dist/schema/oad.d.ts +4 -5
  16. package/dist/templates/code-reviewer.d.ts +0 -8
  17. package/dist/templates/code-reviewer.js +5 -9
  18. package/dist/templates/customer-service.d.ts +0 -8
  19. package/dist/templates/customer-service.js +2 -6
  20. package/dist/templates/data-analyst.d.ts +0 -8
  21. package/dist/templates/data-analyst.js +5 -9
  22. package/dist/templates/knowledge-base.d.ts +0 -8
  23. package/dist/templates/knowledge-base.js +2 -6
  24. package/dist/templates/sales-assistant.d.ts +0 -8
  25. package/dist/templates/sales-assistant.js +4 -8
  26. package/dist/templates/teacher.d.ts +0 -8
  27. package/dist/templates/teacher.js +6 -10
  28. package/dist/traces/index.d.ts +49 -0
  29. package/dist/traces/index.js +102 -0
  30. package/docs/.vitepress/config.ts +103 -103
  31. package/docs/api/cli.md +48 -48
  32. package/docs/api/oad-schema.md +64 -64
  33. package/docs/api/sdk.md +80 -80
  34. package/docs/guide/concepts.md +51 -51
  35. package/docs/guide/configuration.md +79 -79
  36. package/docs/guide/deployment.md +42 -42
  37. package/docs/guide/getting-started.md +44 -44
  38. package/docs/guide/templates.md +28 -28
  39. package/docs/guide/testing.md +84 -84
  40. package/docs/index.md +27 -27
  41. package/docs/zh/api/cli.md +54 -54
  42. package/docs/zh/api/oad-schema.md +87 -87
  43. package/docs/zh/api/sdk.md +102 -102
  44. package/docs/zh/guide/concepts.md +104 -104
  45. package/docs/zh/guide/configuration.md +135 -135
  46. package/docs/zh/guide/deployment.md +81 -81
  47. package/docs/zh/guide/getting-started.md +82 -82
  48. package/docs/zh/guide/templates.md +84 -84
  49. package/docs/zh/guide/testing.md +88 -88
  50. package/docs/zh/index.md +27 -27
  51. package/examples/customer-service-demo/README.md +90 -90
  52. package/examples/customer-service-demo/oad.yaml +107 -107
  53. package/package.json +1 -1
  54. package/src/analytics/index.ts +66 -66
  55. package/src/channels/discord.ts +192 -192
  56. package/src/channels/email.ts +177 -177
  57. package/src/channels/feishu.ts +236 -236
  58. package/src/channels/index.ts +15 -15
  59. package/src/channels/slack.ts +160 -160
  60. package/src/channels/telegram.ts +90 -90
  61. package/src/channels/voice.ts +106 -106
  62. package/src/channels/webhook.ts +199 -199
  63. package/src/channels/websocket.ts +87 -87
  64. package/src/channels/wechat.ts +149 -149
  65. package/src/cli.ts +124 -32
  66. package/src/core/a2a.ts +143 -143
  67. package/src/core/agent.ts +152 -152
  68. package/src/core/analytics-engine.ts +186 -186
  69. package/src/core/auth.ts +57 -57
  70. package/src/core/cache.ts +141 -141
  71. package/src/core/compose.ts +77 -77
  72. package/src/core/config.ts +14 -14
  73. package/src/core/errors.ts +148 -148
  74. package/src/core/hitl.ts +138 -138
  75. package/src/core/logger.ts +57 -57
  76. package/src/core/orchestrator.ts +215 -215
  77. package/src/core/performance.ts +187 -187
  78. package/src/core/rate-limiter.ts +128 -128
  79. package/src/core/room.ts +109 -109
  80. package/src/core/runtime.ts +152 -152
  81. package/src/core/sandbox.ts +101 -101
  82. package/src/core/security.ts +171 -171
  83. package/src/core/types.ts +68 -68
  84. package/src/core/versioning.ts +106 -106
  85. package/src/core/watch.ts +178 -178
  86. package/src/core/workflow.ts +235 -235
  87. package/src/deploy/hermes.ts +156 -156
  88. package/src/deploy/openclaw.ts +190 -200
  89. package/src/i18n/index.ts +216 -216
  90. package/src/index.ts +5 -6
  91. package/src/memory/deepbrain.ts +108 -108
  92. package/src/memory/index.ts +34 -34
  93. package/src/plugins/index.ts +208 -208
  94. package/src/schema/oad.ts +154 -155
  95. package/src/skills/base.ts +16 -16
  96. package/src/skills/document.ts +100 -100
  97. package/src/skills/http.ts +35 -35
  98. package/src/skills/index.ts +27 -27
  99. package/src/skills/scheduler.ts +80 -80
  100. package/src/skills/webhook-trigger.ts +59 -59
  101. package/src/templates/code-reviewer.ts +30 -34
  102. package/src/templates/customer-service.ts +76 -80
  103. package/src/templates/data-analyst.ts +66 -70
  104. package/src/templates/executive-assistant.ts +71 -71
  105. package/src/templates/financial-advisor.ts +60 -60
  106. package/src/templates/knowledge-base.ts +27 -31
  107. package/src/templates/legal-assistant.ts +71 -71
  108. package/src/templates/sales-assistant.ts +75 -79
  109. package/src/templates/teacher.ts +75 -79
  110. package/src/testing/index.ts +181 -181
  111. package/src/tools/calculator.ts +73 -73
  112. package/src/tools/datetime.ts +149 -149
  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/src/traces/index.ts +132 -0
  117. package/templates/Dockerfile +15 -15
  118. package/templates/code-reviewer/README.md +27 -27
  119. package/templates/code-reviewer/oad.yaml +41 -41
  120. package/templates/customer-service/README.md +22 -22
  121. package/templates/customer-service/oad.yaml +36 -36
  122. package/templates/docker-compose.yml +21 -21
  123. package/templates/ecommerce-assistant/README.md +45 -45
  124. package/templates/ecommerce-assistant/oad.yaml +47 -47
  125. package/templates/knowledge-base/README.md +28 -28
  126. package/templates/knowledge-base/oad.yaml +38 -38
  127. package/templates/sales-assistant/README.md +26 -26
  128. package/templates/sales-assistant/oad.yaml +43 -43
  129. package/templates/tech-support/README.md +43 -43
  130. package/templates/tech-support/oad.yaml +45 -45
  131. package/tests/a2a.test.ts +66 -66
  132. package/tests/agent.test.ts +72 -72
  133. package/tests/analytics.test.ts +50 -50
  134. package/tests/channel.test.ts +39 -39
  135. package/tests/e2e.test.ts +134 -134
  136. package/tests/errors.test.ts +83 -83
  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/templates.test.ts +77 -77
  148. package/tests/v070.test.ts +76 -76
  149. package/tests/versioning.test.ts +75 -75
  150. package/tests/voice.test.ts +61 -61
  151. package/tests/webhook.test.ts +29 -29
  152. package/tests/workflow.test.ts +143 -143
  153. package/tsconfig.json +19 -19
  154. package/vitest.config.ts +9 -9
  155. package/src/dtv/data.ts +0 -29
  156. package/src/dtv/trust.ts +0 -43
  157. package/src/dtv/value.ts +0 -47
  158. package/src/marketplace/index.ts +0 -223
@@ -1,103 +1,103 @@
1
- import { defineConfig } from 'vitepress';
2
-
3
- export default defineConfig({
4
- title: 'OPC Agent',
5
- description: 'Open Agent Framework - Build, test, and run AI Agents for business workstations',
6
-
7
- locales: {
8
- root: {
9
- label: 'English',
10
- lang: 'en',
11
- themeConfig: {
12
- nav: [
13
- { text: 'Guide', link: '/guide/getting-started' },
14
- { text: 'API', link: '/api/oad-schema' },
15
- { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
16
- ],
17
- sidebar: {
18
- '/guide/': [
19
- {
20
- text: 'Introduction',
21
- items: [
22
- { text: 'Getting Started', link: '/guide/getting-started' },
23
- { text: 'Core Concepts', link: '/guide/concepts' },
24
- ],
25
- },
26
- {
27
- text: 'Usage',
28
- items: [
29
- { text: 'Templates', link: '/guide/templates' },
30
- { text: 'Configuration', link: '/guide/configuration' },
31
- { text: 'Testing', link: '/guide/testing' },
32
- { text: 'Deployment', link: '/guide/deployment' },
33
- ],
34
- },
35
- ],
36
- '/api/': [
37
- {
38
- text: 'Reference',
39
- items: [
40
- { text: 'OAD Schema', link: '/api/oad-schema' },
41
- { text: 'CLI Commands', link: '/api/cli' },
42
- { text: 'SDK', link: '/api/sdk' },
43
- ],
44
- },
45
- ],
46
- },
47
- },
48
- },
49
- zh: {
50
- label: '中文',
51
- lang: 'zh-CN',
52
- description: '开放智能体框架 — 构建、测试、运行企业级 AI 智能体',
53
- themeConfig: {
54
- nav: [
55
- { text: '指南', link: '/zh/guide/getting-started' },
56
- { text: 'API', link: '/zh/api/oad-schema' },
57
- { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
58
- ],
59
- sidebar: {
60
- '/zh/guide/': [
61
- {
62
- text: '入门',
63
- items: [
64
- { text: '快速开始', link: '/zh/guide/getting-started' },
65
- { text: '核心概念', link: '/zh/guide/concepts' },
66
- ],
67
- },
68
- {
69
- text: '使用',
70
- items: [
71
- { text: '模板', link: '/zh/guide/templates' },
72
- { text: '配置', link: '/zh/guide/configuration' },
73
- { text: '测试', link: '/zh/guide/testing' },
74
- { text: '部署', link: '/zh/guide/deployment' },
75
- ],
76
- },
77
- ],
78
- '/zh/api/': [
79
- {
80
- text: '参考',
81
- items: [
82
- { text: 'OAD Schema', link: '/zh/api/oad-schema' },
83
- { text: 'CLI 命令', link: '/zh/api/cli' },
84
- { text: 'SDK', link: '/zh/api/sdk' },
85
- ],
86
- },
87
- ],
88
- },
89
- },
90
- },
91
- },
92
-
93
- themeConfig: {
94
- logo: '/logo.svg',
95
- socialLinks: [
96
- { icon: 'github', link: 'https://github.com/Deepleaper/opc-agent' },
97
- ],
98
- footer: {
99
- message: 'Released under the Apache-2.0 License.',
100
- copyright: 'Copyright © 2025 Deepleaper 跃盟科技',
101
- },
102
- },
103
- });
1
+ import { defineConfig } from 'vitepress';
2
+
3
+ export default defineConfig({
4
+ title: 'OPC Agent',
5
+ description: 'Open Agent Framework - Build, test, and run AI Agents for business workstations',
6
+
7
+ locales: {
8
+ root: {
9
+ label: 'English',
10
+ lang: 'en',
11
+ themeConfig: {
12
+ nav: [
13
+ { text: 'Guide', link: '/guide/getting-started' },
14
+ { text: 'API', link: '/api/oad-schema' },
15
+ { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
16
+ ],
17
+ sidebar: {
18
+ '/guide/': [
19
+ {
20
+ text: 'Introduction',
21
+ items: [
22
+ { text: 'Getting Started', link: '/guide/getting-started' },
23
+ { text: 'Core Concepts', link: '/guide/concepts' },
24
+ ],
25
+ },
26
+ {
27
+ text: 'Usage',
28
+ items: [
29
+ { text: 'Templates', link: '/guide/templates' },
30
+ { text: 'Configuration', link: '/guide/configuration' },
31
+ { text: 'Testing', link: '/guide/testing' },
32
+ { text: 'Deployment', link: '/guide/deployment' },
33
+ ],
34
+ },
35
+ ],
36
+ '/api/': [
37
+ {
38
+ text: 'Reference',
39
+ items: [
40
+ { text: 'OAD Schema', link: '/api/oad-schema' },
41
+ { text: 'CLI Commands', link: '/api/cli' },
42
+ { text: 'SDK', link: '/api/sdk' },
43
+ ],
44
+ },
45
+ ],
46
+ },
47
+ },
48
+ },
49
+ zh: {
50
+ label: '中文',
51
+ lang: 'zh-CN',
52
+ description: '开放智能体框架 — 构建、测试、运行企业级 AI 智能体',
53
+ themeConfig: {
54
+ nav: [
55
+ { text: '指南', link: '/zh/guide/getting-started' },
56
+ { text: 'API', link: '/zh/api/oad-schema' },
57
+ { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
58
+ ],
59
+ sidebar: {
60
+ '/zh/guide/': [
61
+ {
62
+ text: '入门',
63
+ items: [
64
+ { text: '快速开始', link: '/zh/guide/getting-started' },
65
+ { text: '核心概念', link: '/zh/guide/concepts' },
66
+ ],
67
+ },
68
+ {
69
+ text: '使用',
70
+ items: [
71
+ { text: '模板', link: '/zh/guide/templates' },
72
+ { text: '配置', link: '/zh/guide/configuration' },
73
+ { text: '测试', link: '/zh/guide/testing' },
74
+ { text: '部署', link: '/zh/guide/deployment' },
75
+ ],
76
+ },
77
+ ],
78
+ '/zh/api/': [
79
+ {
80
+ text: '参考',
81
+ items: [
82
+ { text: 'OAD Schema', link: '/zh/api/oad-schema' },
83
+ { text: 'CLI 命令', link: '/zh/api/cli' },
84
+ { text: 'SDK', link: '/zh/api/sdk' },
85
+ ],
86
+ },
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ },
92
+
93
+ themeConfig: {
94
+ logo: '/logo.svg',
95
+ socialLinks: [
96
+ { icon: 'github', link: 'https://github.com/Deepleaper/opc-agent' },
97
+ ],
98
+ footer: {
99
+ message: 'Released under the Apache-2.0 License.',
100
+ copyright: 'Copyright © 2025 Deepleaper 跃盟科技',
101
+ },
102
+ },
103
+ });
package/docs/api/cli.md CHANGED
@@ -1,48 +1,48 @@
1
- # CLI Commands
2
-
3
- ## Reference
4
-
5
- | Command | Description |
6
- |---------|-------------|
7
- | `opc init [name]` | Initialize a new agent project |
8
- | `opc run` | Start agent with web server |
9
- | `opc chat` | Interactive CLI chat |
10
- | `opc test` | Run agent tests |
11
- | `opc analytics` | Show usage analytics |
12
- | `opc info` | Show agent info from OAD |
13
- | `opc build` | Validate OAD |
14
- | `opc dev` | Hot-reload development mode |
15
- | `opc create <name>` | Create agent from template |
16
- | `opc deploy` | Deploy to OpenClaw or Hermes |
17
- | `opc publish` | Package for distribution |
18
- | `opc install <source>` | Install agent from package |
19
- | `opc search <query>` | Search OPC Registry |
20
- | `opc stats` | Show runtime stats |
21
- | `opc kb add <file>` | Add file to knowledge base |
22
- | `opc kb search <query>` | Search knowledge base |
23
- | `opc tool list` | List MCP tools |
24
- | `opc workflow run <name>` | Run a workflow |
25
- | `opc version-mgmt list` | List saved versions |
26
-
27
- ## Common Options
28
-
29
- - `-f, --file <file>` — OAD file path (default: `oad.yaml`)
30
- - `-t, --template <name>` — Template name
31
- - `-p, --port <port>` — Port override
32
- - `--json` — JSON output (for test/analytics)
33
-
34
- ## Examples
35
-
36
- ```bash
37
- # Create a new project
38
- opc init my-bot -t teacher
39
-
40
- # Run tests
41
- opc test --json
42
-
43
- # View analytics
44
- opc analytics
45
-
46
- # Deploy
47
- opc deploy --target openclaw --install
48
- ```
1
+ # CLI Commands
2
+
3
+ ## Reference
4
+
5
+ | Command | Description |
6
+ |---------|-------------|
7
+ | `opc init [name]` | Initialize a new agent project |
8
+ | `opc run` | Start agent with web server |
9
+ | `opc chat` | Interactive CLI chat |
10
+ | `opc test` | Run agent tests |
11
+ | `opc analytics` | Show usage analytics |
12
+ | `opc info` | Show agent info from OAD |
13
+ | `opc build` | Validate OAD |
14
+ | `opc dev` | Hot-reload development mode |
15
+ | `opc create <name>` | Create agent from template |
16
+ | `opc deploy` | Deploy to OpenClaw or Hermes |
17
+ | `opc publish` | Package for distribution |
18
+ | `opc install <source>` | Install agent from package |
19
+ | `opc search <query>` | Search OPC Registry |
20
+ | `opc stats` | Show runtime stats |
21
+ | `opc kb add <file>` | Add file to knowledge base |
22
+ | `opc kb search <query>` | Search knowledge base |
23
+ | `opc tool list` | List MCP tools |
24
+ | `opc workflow run <name>` | Run a workflow |
25
+ | `opc version-mgmt list` | List saved versions |
26
+
27
+ ## Common Options
28
+
29
+ - `-f, --file <file>` — OAD file path (default: `oad.yaml`)
30
+ - `-t, --template <name>` — Template name
31
+ - `-p, --port <port>` — Port override
32
+ - `--json` — JSON output (for test/analytics)
33
+
34
+ ## Examples
35
+
36
+ ```bash
37
+ # Create a new project
38
+ opc init my-bot -t teacher
39
+
40
+ # Run tests
41
+ opc test --json
42
+
43
+ # View analytics
44
+ opc analytics
45
+
46
+ # Deploy
47
+ opc deploy --target openclaw --install
48
+ ```
@@ -1,64 +1,64 @@
1
- # OAD Schema v1 Specification
2
-
3
- **OAD** (Open Agent Definition) is a declarative YAML/JSON format for defining AI agents.
4
-
5
- ## Full Schema
6
-
7
- ```yaml
8
- apiVersion: opc/v1 # Required. Must be "opc/v1"
9
- kind: Agent # Required. Must be "Agent"
10
-
11
- metadata:
12
- name: string # Required. Agent identifier
13
- version: string # Semver. Default: "1.0.0"
14
- description: string # Optional. Human-readable description
15
- author: string # Optional. Author name
16
- license: string # Default: "Apache-2.0"
17
- marketplace: # Optional. Marketplace settings
18
- certified: boolean # Default: false
19
- category: string # e.g., "customer-service"
20
-
21
- spec:
22
- provider: # LLM provider configuration
23
- default: string # Default provider. Default: "deepseek"
24
- allowed: string[] # Allowed providers. Default: ["openai", "deepseek", "qwen"]
25
- model: string # Model name. Default: "deepseek-chat"
26
- systemPrompt: string # System prompt for the agent
27
-
28
- skills: # List of skills
29
- - name: string # Skill identifier
30
- description: string # What the skill does
31
- config: object # Optional skill-specific config
32
-
33
- channels: # Communication channels
34
- - type: web|websocket|cli
35
- port: number # Port for web channels
36
- config: object # Optional channel config
37
-
38
- memory:
39
- shortTerm: boolean # Enable conversation memory. Default: true
40
- longTerm: boolean # Enable persistent memory. Default: false
41
- provider: string # Memory backend (optional)
42
-
43
- dtv:
44
- trust:
45
- level: sandbox|verified|certified|listed # Default: "sandbox"
46
- value:
47
- metrics: string[] # Metrics to track. Default: []
48
- ```
49
-
50
- ## Validation
51
-
52
- OAD files are validated using Zod schemas. Use the CLI to validate:
53
-
54
- ```bash
55
- opc build -f oad.yaml
56
- ```
57
-
58
- Or programmatically:
59
-
60
- ```typescript
61
- import { validateOAD } from 'opc-agent';
62
-
63
- const config = validateOAD(yamlData);
64
- ```
1
+ # OAD Schema v1 Specification
2
+
3
+ **OAD** (Open Agent Definition) is a declarative YAML/JSON format for defining AI agents.
4
+
5
+ ## Full Schema
6
+
7
+ ```yaml
8
+ apiVersion: opc/v1 # Required. Must be "opc/v1"
9
+ kind: Agent # Required. Must be "Agent"
10
+
11
+ metadata:
12
+ name: string # Required. Agent identifier
13
+ version: string # Semver. Default: "1.0.0"
14
+ description: string # Optional. Human-readable description
15
+ author: string # Optional. Author name
16
+ license: string # Default: "Apache-2.0"
17
+ marketplace: # Optional. Marketplace settings
18
+ certified: boolean # Default: false
19
+ category: string # e.g., "customer-service"
20
+
21
+ spec:
22
+ provider: # LLM provider configuration
23
+ default: string # Default provider. Default: "deepseek"
24
+ allowed: string[] # Allowed providers. Default: ["openai", "deepseek", "qwen"]
25
+ model: string # Model name. Default: "deepseek-chat"
26
+ systemPrompt: string # System prompt for the agent
27
+
28
+ skills: # List of skills
29
+ - name: string # Skill identifier
30
+ description: string # What the skill does
31
+ config: object # Optional skill-specific config
32
+
33
+ channels: # Communication channels
34
+ - type: web|websocket|cli
35
+ port: number # Port for web channels
36
+ config: object # Optional channel config
37
+
38
+ memory:
39
+ shortTerm: boolean # Enable conversation memory. Default: true
40
+ longTerm: boolean # Enable persistent memory. Default: false
41
+ provider: string # Memory backend (optional)
42
+
43
+ dtv:
44
+ trust:
45
+ level: sandbox|verified|certified|listed # Default: "sandbox"
46
+ value:
47
+ metrics: string[] # Metrics to track. Default: []
48
+ ```
49
+
50
+ ## Validation
51
+
52
+ OAD files are validated using Zod schemas. Use the CLI to validate:
53
+
54
+ ```bash
55
+ opc build -f oad.yaml
56
+ ```
57
+
58
+ Or programmatically:
59
+
60
+ ```typescript
61
+ import { validateOAD } from 'opc-agent';
62
+
63
+ const config = validateOAD(yamlData);
64
+ ```
package/docs/api/sdk.md CHANGED
@@ -1,80 +1,80 @@
1
- # SDK Reference
2
-
3
- ## Core Classes
4
-
5
- ### AgentRuntime
6
-
7
- ```typescript
8
- import { AgentRuntime } from 'opc-agent';
9
-
10
- const runtime = new AgentRuntime();
11
- await runtime.loadConfig('oad.yaml');
12
- const agent = await runtime.initialize();
13
- await runtime.start();
14
- ```
15
-
16
- ### AnalyticsEngine
17
-
18
- ```typescript
19
- import { AnalyticsEngine } from 'opc-agent';
20
-
21
- const engine = new AnalyticsEngine('.');
22
- engine.trackMessage('user-1', 250, 100, 50);
23
- engine.trackToolUse('search', true, 120);
24
- const stats = engine.getStats();
25
- ```
26
-
27
- ### RateLimiter
28
-
29
- ```typescript
30
- import { RateLimiter } from 'opc-agent';
31
-
32
- const limiter = new RateLimiter({
33
- userLimit: { maxRequests: 60, windowMs: 60000 },
34
- providerLimit: { maxRequests: 100, windowMs: 60000 },
35
- });
36
-
37
- await limiter.acquire('user-1', 'openai');
38
- ```
39
-
40
- ### LLMCache
41
-
42
- ```typescript
43
- import { LLMCache } from 'opc-agent';
44
-
45
- const cache = new LLMCache({ ttlMs: 3600000 });
46
- const key = LLMCache.makeKey(messages, systemPrompt);
47
- const cached = cache.get(key);
48
- if (!cached) {
49
- const response = await callLLM(messages);
50
- cache.set(key, response);
51
- }
52
- ```
53
-
54
- ### Testing
55
-
56
- ```typescript
57
- import { runTests, formatReport } from 'opc-agent';
58
-
59
- const report = await runTests('oad.yaml');
60
- console.log(formatReport(report));
61
- ```
62
-
63
- ## Templates
64
-
65
- 13 built-in templates:
66
-
67
- | Template | Description |
68
- |----------|-------------|
69
- | `customer-service` | FAQ + human handoff |
70
- | `sales-assistant` | Product Q&A + lead capture |
71
- | `knowledge-base` | RAG with DeepBrain |
72
- | `code-reviewer` | Bug detection + style checks |
73
- | `hr-recruiter` | Resume screening + interviews |
74
- | `project-manager` | Task tracking + meeting notes |
75
- | `content-writer` | Blog + social media + SEO |
76
- | `legal-assistant` | Contract review + compliance |
77
- | `financial-advisor` | Budget + expense tracking |
78
- | `executive-assistant` | Calendar + email + meetings |
79
- | `data-analyst` | Data querying + visualization |
80
- | `teacher` | Lesson plans + quizzes |
1
+ # SDK Reference
2
+
3
+ ## Core Classes
4
+
5
+ ### AgentRuntime
6
+
7
+ ```typescript
8
+ import { AgentRuntime } from 'opc-agent';
9
+
10
+ const runtime = new AgentRuntime();
11
+ await runtime.loadConfig('oad.yaml');
12
+ const agent = await runtime.initialize();
13
+ await runtime.start();
14
+ ```
15
+
16
+ ### AnalyticsEngine
17
+
18
+ ```typescript
19
+ import { AnalyticsEngine } from 'opc-agent';
20
+
21
+ const engine = new AnalyticsEngine('.');
22
+ engine.trackMessage('user-1', 250, 100, 50);
23
+ engine.trackToolUse('search', true, 120);
24
+ const stats = engine.getStats();
25
+ ```
26
+
27
+ ### RateLimiter
28
+
29
+ ```typescript
30
+ import { RateLimiter } from 'opc-agent';
31
+
32
+ const limiter = new RateLimiter({
33
+ userLimit: { maxRequests: 60, windowMs: 60000 },
34
+ providerLimit: { maxRequests: 100, windowMs: 60000 },
35
+ });
36
+
37
+ await limiter.acquire('user-1', 'openai');
38
+ ```
39
+
40
+ ### LLMCache
41
+
42
+ ```typescript
43
+ import { LLMCache } from 'opc-agent';
44
+
45
+ const cache = new LLMCache({ ttlMs: 3600000 });
46
+ const key = LLMCache.makeKey(messages, systemPrompt);
47
+ const cached = cache.get(key);
48
+ if (!cached) {
49
+ const response = await callLLM(messages);
50
+ cache.set(key, response);
51
+ }
52
+ ```
53
+
54
+ ### Testing
55
+
56
+ ```typescript
57
+ import { runTests, formatReport } from 'opc-agent';
58
+
59
+ const report = await runTests('oad.yaml');
60
+ console.log(formatReport(report));
61
+ ```
62
+
63
+ ## Templates
64
+
65
+ 13 built-in templates:
66
+
67
+ | Template | Description |
68
+ |----------|-------------|
69
+ | `customer-service` | FAQ + human handoff |
70
+ | `sales-assistant` | Product Q&A + lead capture |
71
+ | `knowledge-base` | RAG with DeepBrain |
72
+ | `code-reviewer` | Bug detection + style checks |
73
+ | `hr-recruiter` | Resume screening + interviews |
74
+ | `project-manager` | Task tracking + meeting notes |
75
+ | `content-writer` | Blog + social media + SEO |
76
+ | `legal-assistant` | Contract review + compliance |
77
+ | `financial-advisor` | Budget + expense tracking |
78
+ | `executive-assistant` | Calendar + email + meetings |
79
+ | `data-analyst` | Data querying + visualization |
80
+ | `teacher` | Lesson plans + quizzes |