@tencent-ai/agent-sdk 0.0.9 → 0.0.11

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 (109) hide show
  1. package/README.md +1 -239
  2. package/dist/agent-sdk.js +7 -1
  3. package/lib/common/services/agent.d.ts +9 -5
  4. package/lib/common/services/agent.d.ts.map +1 -1
  5. package/lib/common/services/agent.js +16 -1
  6. package/lib/common/services/agent.js.map +1 -1
  7. package/lib/common/services/codebase.d.ts +44 -0
  8. package/lib/common/services/codebase.d.ts.map +1 -0
  9. package/lib/common/services/codebase.js +87 -0
  10. package/lib/common/services/codebase.js.map +1 -0
  11. package/lib/common/services/filepath.d.ts +7 -0
  12. package/lib/common/services/filepath.d.ts.map +1 -0
  13. package/lib/common/services/filepath.js +16 -0
  14. package/lib/common/services/filepath.js.map +1 -0
  15. package/lib/common/services/index.d.ts +2 -0
  16. package/lib/common/services/index.d.ts.map +1 -1
  17. package/lib/common/services/index.js +2 -0
  18. package/lib/common/services/index.js.map +1 -1
  19. package/lib/common/types/agents/agent.d.ts +49 -0
  20. package/lib/common/types/agents/agent.d.ts.map +1 -0
  21. package/lib/common/types/agents/agent.js +9 -0
  22. package/lib/common/types/agents/agent.js.map +1 -0
  23. package/lib/common/types/agents/ai.d.ts +96 -0
  24. package/lib/common/types/agents/ai.d.ts.map +1 -0
  25. package/lib/common/types/{logger/protocol.js → agents/ai.js} +1 -1
  26. package/lib/common/types/agents/ai.js.map +1 -0
  27. package/lib/common/types/agents/completion.d.ts +192 -0
  28. package/lib/common/types/agents/completion.d.ts.map +1 -0
  29. package/lib/common/types/agents/completion.js +4 -0
  30. package/lib/common/types/agents/completion.js.map +1 -0
  31. package/lib/common/types/agents/conversation-manager.d.ts +255 -0
  32. package/lib/common/types/agents/conversation-manager.d.ts.map +1 -0
  33. package/lib/common/types/agents/conversation-manager.js +3 -0
  34. package/lib/common/types/agents/conversation-manager.js.map +1 -0
  35. package/lib/common/types/agents/craft-history.d.ts +111 -0
  36. package/lib/common/types/agents/craft-history.d.ts.map +1 -0
  37. package/lib/common/types/{http/rest-operations.js → agents/craft-history.js} +1 -1
  38. package/lib/common/types/agents/craft-history.js.map +1 -0
  39. package/lib/common/types/agents/craft.d.ts +17 -0
  40. package/lib/common/types/agents/craft.d.ts.map +1 -0
  41. package/lib/common/types/{tracing/protocol.js → agents/craft.js} +1 -1
  42. package/lib/common/types/agents/craft.js.map +1 -0
  43. package/lib/common/types/agents/file-tree.d.ts +169 -0
  44. package/lib/common/types/agents/file-tree.d.ts.map +1 -0
  45. package/lib/common/types/agents/file-tree.js +17 -0
  46. package/lib/common/types/agents/file-tree.js.map +1 -0
  47. package/lib/common/types/agents/index.d.ts +10 -0
  48. package/lib/common/types/agents/index.d.ts.map +1 -0
  49. package/lib/common/types/{logger → agents}/index.js +9 -1
  50. package/lib/common/types/agents/index.js.map +1 -0
  51. package/lib/common/types/agents/run.d.ts +133 -0
  52. package/lib/common/types/agents/run.d.ts.map +1 -0
  53. package/lib/common/types/agents/run.js +27 -0
  54. package/lib/common/types/agents/run.js.map +1 -0
  55. package/lib/common/types/agents/tools.d.ts +336 -0
  56. package/lib/common/types/agents/tools.d.ts.map +1 -0
  57. package/lib/common/types/agents/tools.js +59 -0
  58. package/lib/common/types/agents/tools.js.map +1 -0
  59. package/lib/common/types/agents/user-reference.d.ts +78 -0
  60. package/lib/common/types/agents/user-reference.d.ts.map +1 -0
  61. package/lib/common/types/agents/user-reference.js +3 -0
  62. package/lib/common/types/agents/user-reference.js.map +1 -0
  63. package/lib/common/types/codebase.d.ts +69 -0
  64. package/lib/common/types/codebase.d.ts.map +1 -0
  65. package/lib/common/types/codebase.js +3 -0
  66. package/lib/common/types/codebase.js.map +1 -0
  67. package/lib/common/types/filepath.d.ts +35 -0
  68. package/lib/common/types/filepath.d.ts.map +1 -0
  69. package/lib/common/types/filepath.js +3 -0
  70. package/lib/common/types/filepath.js.map +1 -0
  71. package/lib/common/types/{http/rest-operations.d.ts → http.d.ts} +1 -1
  72. package/lib/common/types/http.d.ts.map +1 -0
  73. package/lib/common/types/http.js +3 -0
  74. package/lib/common/types/http.js.map +1 -0
  75. package/lib/common/types/index.d.ts +3 -0
  76. package/lib/common/types/index.d.ts.map +1 -1
  77. package/lib/common/types/index.js +3 -0
  78. package/lib/common/types/index.js.map +1 -1
  79. package/lib/common/types/{logger/protocol.d.ts → logger.d.ts} +1 -1
  80. package/lib/common/types/logger.d.ts.map +1 -0
  81. package/lib/common/types/logger.js +3 -0
  82. package/lib/common/types/logger.js.map +1 -0
  83. package/lib/common/types/product/agent.d.ts +2 -0
  84. package/lib/common/types/product/agent.d.ts.map +1 -1
  85. package/lib/common/types/product/agent.js.map +1 -1
  86. package/lib/common/types/product/codebase.d.ts +0 -7
  87. package/lib/common/types/product/codebase.d.ts.map +1 -1
  88. package/lib/common/types/{tracing/protocol.d.ts → tracing.d.ts} +1 -1
  89. package/lib/common/types/tracing.d.ts.map +1 -0
  90. package/lib/common/types/tracing.js +3 -0
  91. package/lib/common/types/tracing.js.map +1 -0
  92. package/package.json +3 -2
  93. package/lib/common/types/http/index.d.ts +0 -2
  94. package/lib/common/types/http/index.d.ts.map +0 -1
  95. package/lib/common/types/http/index.js +0 -18
  96. package/lib/common/types/http/index.js.map +0 -1
  97. package/lib/common/types/http/rest-operations.d.ts.map +0 -1
  98. package/lib/common/types/http/rest-operations.js.map +0 -1
  99. package/lib/common/types/logger/index.d.ts +0 -2
  100. package/lib/common/types/logger/index.d.ts.map +0 -1
  101. package/lib/common/types/logger/index.js.map +0 -1
  102. package/lib/common/types/logger/protocol.d.ts.map +0 -1
  103. package/lib/common/types/logger/protocol.js.map +0 -1
  104. package/lib/common/types/tracing/index.d.ts +0 -2
  105. package/lib/common/types/tracing/index.d.ts.map +0 -1
  106. package/lib/common/types/tracing/index.js +0 -18
  107. package/lib/common/types/tracing/index.js.map +0 -1
  108. package/lib/common/types/tracing/protocol.d.ts.map +0 -1
  109. package/lib/common/types/tracing/protocol.js.map +0 -1
package/README.md CHANGED
@@ -9,242 +9,4 @@
9
9
  - **所有的组件注册都必须在获取组件(容器中的任何一个组件)之前完成,否则注册无效。**
10
10
  - **此模块的所有功能都依赖于配置模块 `Product`, 因此在使用时,必须先通过 `registerProductProvider` 去提供配置,才可以正常使用。**
11
11
 
12
- ### Product
13
-
14
- #### 注册 `ProductProvider`
15
-
16
- ```ts
17
- import * as genie from '@tencent-ai/agent-sdk';
18
-
19
- class Component {
20
- // ...
21
-
22
- async init() {
23
- await genie.Product.registerProductProvider(CustomProductProvider);
24
- logger.info('hello world');
25
- }
26
- // ...
27
- }
28
-
29
- class CustomProductProvider implements genie.ProductProvider {
30
- async provide(){
31
- return {
32
- endpoint: 'your endpoint'
33
- // ...
34
- }
35
- }
36
- }
37
- ```
38
-
39
- #### 获取配置管理组件
40
-
41
- ```ts
42
- import { Product } from '@tencent-ai/agent-sdk';
43
-
44
- class Component {
45
- // ...
46
-
47
- async init() {
48
- const productConfiguration = await Product.waitConfiguration();
49
- const logger = await Services.getLogger();
50
- logger.info(productConfiguration)
51
- }
52
- // ...
53
- }
54
- ```
55
-
56
- ### Http Request
57
-
58
- 在整个模块中会共用同一个 `axios` 实例用于 http 请求。
59
-
60
- ```ts
61
- import { Http } from '@tencent-ai/agent-sdk';
62
-
63
- class Component {
64
- // ...
65
-
66
- async init() {
67
- const restOperations = await Http.getInstance();
68
- restOperations.get('path', {});
69
- }
70
- // ...
71
- }
72
- ```
73
-
74
- 如果需要注册拦截器,方法与 `axios` 一致。
75
-
76
- ```ts
77
- import { Http } from '@tencent-ai/agent-sdk';
78
-
79
- class Component {
80
- // ...
81
-
82
- async init() {
83
- const restOperations = await Http.getInstance();
84
- restOperations.interceptors.request.use(async config => {
85
- if (!config.headers) {
86
- config.headers = {};
87
- }
88
- config.headers['X-User-ID'] = 'user-id'
89
- return config;
90
- });
91
- }
92
- // ...
93
- }
94
- ```
95
-
96
- ### Agent
97
-
98
- ```ts
99
- import { Agent } from '@tencent-ai/agent-sdk';
100
-
101
- class Component {
102
- // ...
103
-
104
- async init() {
105
- await Agent.dispatch('craft', {
106
- // ... context
107
- })
108
- }
109
- // ...
110
- }
111
- ```
112
-
113
- #### dispatch agent
114
-
115
- ### Logger
116
-
117
- ```ts
118
- import { Logger } from '@tencent-ai/agent-sdk';
119
-
120
- class Component {
121
- // ...
122
-
123
- async init() {
124
- const logger = await Logger.getLogger();
125
- logger.info('hello world');
126
- }
127
- // ...
128
- }
129
- ```
130
-
131
- 这里默认输出到 `console` 控制台,如果需要自定义输出,可以通过 `registerLogger` 注册自定义的 logger。
132
-
133
- ```ts
134
- import { Logger, ILogger } from '@tencent-ai/agent-sdk';
135
-
136
- class Component {
137
- // ...
138
- async init() {
139
- await Logger.registerLogger(CustomLogger);
140
- const logger = await Logger.getLogger();
141
- logger.info('hello world');
142
- }
143
-
144
- // ...
145
- }
146
-
147
- class CustomLogger implements ILogger{
148
- // ...
149
- info(){
150
- // do something
151
- }
152
- // ...
153
- }
154
- ```
155
-
156
- ### Tracing
157
-
158
- #### 初始化和使用
159
-
160
- ```ts
161
- import { Tracing } from '@tencent-ai/agent-sdk';
162
-
163
- class Component {
164
- // ...
165
-
166
- async init() {
167
- await Tracing.init({serviceName: 'Your-Service-Name'});
168
- const trace = traceService.startTrace('login');
169
- trace.markAsSuccessful();
170
- }
171
- // ...
172
- }
173
- ```
174
-
175
- #### 注册公共信息到 sources
176
-
177
- sourcesProvider 提供的信息会作为公共数据绑定到每一个 trace 链路中
178
-
179
- ```ts
180
- import { Tracing, TracingResourcesProvider } from '@tencent-ai/agent-sdk';
181
-
182
- class Component {
183
- // ...
184
-
185
- async init() {
186
- await Tracing.registerResourcesProvider(CustomResourcesProvider);
187
- await Tracing.init({serviceName: 'Your-Service-Name'});
188
- const trace = traceService.startTrace('login');
189
- trace.markAsSuccessful();
190
- }
191
- // ...
192
- }
193
-
194
- class CustomResourcesProvider implements TracingResourcesProvider {
195
- async provide() {
196
- return {
197
- username: '123',
198
- userId: '456'
199
- }
200
- }
201
- }
202
- ```
203
-
204
- ### 事件上报
205
-
206
- #### 使用
207
-
208
- ```ts
209
- import { Event } from '@tencent-ai/agent-sdk';
210
-
211
- class Component {
212
- // ...
213
-
214
- async init() {
215
- Event.report('your-event-name', { payload: 1 })
216
- }
217
- // ...
218
- }
219
- ```
220
-
221
- #### 处理事件公共字段
222
-
223
- 模块内部会自动收集操作系统相关的信息,作为公共字段。
224
- 如果还需要携带如用户信息,编辑器信息等,需要通过注册处理器实现。
225
-
226
- ```ts
227
- import { Event, EventProcessor } from '@tencent-ai/agent-sdk';
228
-
229
- class Component {
230
- // ...
231
-
232
- async init() {
233
- await Event.registerEventProcessor(UserInfoEventProcessor);
234
- Event.report('your-event-name', { payload: 1 })
235
- }
236
- // ...
237
- }
238
-
239
- class UserInfoEventProcessor implements EventProcessor {
240
- async process({
241
- code: string;
242
- event: EventPayload;
243
- }) {
244
- // 这样子所有的事件上报的时候都会带上以下用户信息字段
245
- event.username = '张三';
246
- event.userId = '123';
247
- event.userNickname = '李四'
248
- }
249
- }
250
- ```
12
+ [示例](https://cnb.cool/carmeloren/agent-sdk-sample)