opc-agent 0.1.0

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 (67) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +179 -0
  3. package/README.zh-CN.md +126 -0
  4. package/dist/channels/index.d.ts +10 -0
  5. package/dist/channels/index.js +11 -0
  6. package/dist/channels/web.d.ts +12 -0
  7. package/dist/channels/web.js +81 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.js +146 -0
  10. package/dist/core/agent.d.ts +28 -0
  11. package/dist/core/agent.js +100 -0
  12. package/dist/core/config.d.ts +4 -0
  13. package/dist/core/config.js +50 -0
  14. package/dist/core/runtime.d.ts +14 -0
  15. package/dist/core/runtime.js +54 -0
  16. package/dist/core/types.d.ts +58 -0
  17. package/dist/core/types.js +3 -0
  18. package/dist/dtv/data.d.ts +18 -0
  19. package/dist/dtv/data.js +25 -0
  20. package/dist/dtv/trust.d.ts +19 -0
  21. package/dist/dtv/trust.js +40 -0
  22. package/dist/dtv/value.d.ts +23 -0
  23. package/dist/dtv/value.js +38 -0
  24. package/dist/index.d.ts +16 -0
  25. package/dist/index.js +33 -0
  26. package/dist/memory/index.d.ts +11 -0
  27. package/dist/memory/index.js +33 -0
  28. package/dist/providers/index.d.ts +12 -0
  29. package/dist/providers/index.js +68 -0
  30. package/dist/schema/oad.d.ts +553 -0
  31. package/dist/schema/oad.js +61 -0
  32. package/dist/skills/base.d.ts +9 -0
  33. package/dist/skills/base.js +13 -0
  34. package/dist/skills/index.d.ts +10 -0
  35. package/dist/skills/index.js +25 -0
  36. package/dist/templates/customer-service.d.ts +56 -0
  37. package/dist/templates/customer-service.js +75 -0
  38. package/docs/api/oad-schema.md +64 -0
  39. package/docs/guide/concepts.md +51 -0
  40. package/docs/guide/getting-started.md +44 -0
  41. package/docs/guide/templates.md +28 -0
  42. package/package.json +37 -0
  43. package/src/channels/index.ts +15 -0
  44. package/src/channels/web.ts +85 -0
  45. package/src/cli.ts +131 -0
  46. package/src/core/agent.ts +116 -0
  47. package/src/core/config.ts +14 -0
  48. package/src/core/runtime.ts +57 -0
  49. package/src/core/types.ts +68 -0
  50. package/src/dtv/data.ts +29 -0
  51. package/src/dtv/trust.ts +43 -0
  52. package/src/dtv/value.ts +47 -0
  53. package/src/index.ts +16 -0
  54. package/src/memory/index.ts +34 -0
  55. package/src/providers/index.ts +44 -0
  56. package/src/schema/oad.ts +76 -0
  57. package/src/skills/base.ts +16 -0
  58. package/src/skills/index.ts +27 -0
  59. package/src/templates/customer-service.ts +80 -0
  60. package/templates/customer-service/README.md +22 -0
  61. package/templates/customer-service/oad.yaml +36 -0
  62. package/tests/agent.test.ts +72 -0
  63. package/tests/channel.test.ts +39 -0
  64. package/tests/oad.test.ts +68 -0
  65. package/tests/runtime.test.ts +42 -0
  66. package/tsconfig.json +19 -0
  67. package/vitest.config.ts +9 -0
@@ -0,0 +1,553 @@
1
+ import { z } from 'zod';
2
+ export declare const SkillRefSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ description: z.ZodOptional<z.ZodString>;
5
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ description?: string | undefined;
9
+ config?: Record<string, unknown> | undefined;
10
+ }, {
11
+ name: string;
12
+ description?: string | undefined;
13
+ config?: Record<string, unknown> | undefined;
14
+ }>;
15
+ export declare const ChannelSchema: z.ZodObject<{
16
+ type: z.ZodEnum<["web", "websocket", "cli"]>;
17
+ port: z.ZodOptional<z.ZodNumber>;
18
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ type: "web" | "websocket" | "cli";
21
+ config?: Record<string, unknown> | undefined;
22
+ port?: number | undefined;
23
+ }, {
24
+ type: "web" | "websocket" | "cli";
25
+ config?: Record<string, unknown> | undefined;
26
+ port?: number | undefined;
27
+ }>;
28
+ export declare const MemorySchema: z.ZodObject<{
29
+ shortTerm: z.ZodDefault<z.ZodBoolean>;
30
+ longTerm: z.ZodDefault<z.ZodBoolean>;
31
+ provider: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ shortTerm: boolean;
34
+ longTerm: boolean;
35
+ provider?: string | undefined;
36
+ }, {
37
+ shortTerm?: boolean | undefined;
38
+ longTerm?: boolean | undefined;
39
+ provider?: string | undefined;
40
+ }>;
41
+ export declare const TrustLevel: z.ZodEnum<["sandbox", "verified", "certified", "listed"]>;
42
+ export declare const DTVSchema: z.ZodObject<{
43
+ trust: z.ZodOptional<z.ZodObject<{
44
+ level: z.ZodDefault<z.ZodEnum<["sandbox", "verified", "certified", "listed"]>>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ level: "sandbox" | "verified" | "certified" | "listed";
47
+ }, {
48
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
49
+ }>>;
50
+ value: z.ZodOptional<z.ZodObject<{
51
+ metrics: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ metrics: string[];
54
+ }, {
55
+ metrics?: string[] | undefined;
56
+ }>>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ value?: {
59
+ metrics: string[];
60
+ } | undefined;
61
+ trust?: {
62
+ level: "sandbox" | "verified" | "certified" | "listed";
63
+ } | undefined;
64
+ }, {
65
+ value?: {
66
+ metrics?: string[] | undefined;
67
+ } | undefined;
68
+ trust?: {
69
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
70
+ } | undefined;
71
+ }>;
72
+ export declare const ProviderSchema: z.ZodObject<{
73
+ default: z.ZodDefault<z.ZodString>;
74
+ allowed: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ default: string;
77
+ allowed: string[];
78
+ }, {
79
+ default?: string | undefined;
80
+ allowed?: string[] | undefined;
81
+ }>;
82
+ export declare const MarketplaceSchema: z.ZodObject<{
83
+ certified: z.ZodDefault<z.ZodBoolean>;
84
+ category: z.ZodOptional<z.ZodString>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ certified: boolean;
87
+ category?: string | undefined;
88
+ }, {
89
+ certified?: boolean | undefined;
90
+ category?: string | undefined;
91
+ }>;
92
+ export declare const MetadataSchema: z.ZodObject<{
93
+ name: z.ZodString;
94
+ version: z.ZodDefault<z.ZodString>;
95
+ description: z.ZodOptional<z.ZodString>;
96
+ author: z.ZodOptional<z.ZodString>;
97
+ license: z.ZodDefault<z.ZodString>;
98
+ marketplace: z.ZodOptional<z.ZodObject<{
99
+ certified: z.ZodDefault<z.ZodBoolean>;
100
+ category: z.ZodOptional<z.ZodString>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ certified: boolean;
103
+ category?: string | undefined;
104
+ }, {
105
+ certified?: boolean | undefined;
106
+ category?: string | undefined;
107
+ }>>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ name: string;
110
+ version: string;
111
+ license: string;
112
+ description?: string | undefined;
113
+ author?: string | undefined;
114
+ marketplace?: {
115
+ certified: boolean;
116
+ category?: string | undefined;
117
+ } | undefined;
118
+ }, {
119
+ name: string;
120
+ description?: string | undefined;
121
+ version?: string | undefined;
122
+ author?: string | undefined;
123
+ license?: string | undefined;
124
+ marketplace?: {
125
+ certified?: boolean | undefined;
126
+ category?: string | undefined;
127
+ } | undefined;
128
+ }>;
129
+ export declare const SpecSchema: z.ZodObject<{
130
+ provider: z.ZodOptional<z.ZodObject<{
131
+ default: z.ZodDefault<z.ZodString>;
132
+ allowed: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ default: string;
135
+ allowed: string[];
136
+ }, {
137
+ default?: string | undefined;
138
+ allowed?: string[] | undefined;
139
+ }>>;
140
+ model: z.ZodDefault<z.ZodString>;
141
+ systemPrompt: z.ZodOptional<z.ZodString>;
142
+ skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
143
+ name: z.ZodString;
144
+ description: z.ZodOptional<z.ZodString>;
145
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ name: string;
148
+ description?: string | undefined;
149
+ config?: Record<string, unknown> | undefined;
150
+ }, {
151
+ name: string;
152
+ description?: string | undefined;
153
+ config?: Record<string, unknown> | undefined;
154
+ }>, "many">>;
155
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
156
+ type: z.ZodEnum<["web", "websocket", "cli"]>;
157
+ port: z.ZodOptional<z.ZodNumber>;
158
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ type: "web" | "websocket" | "cli";
161
+ config?: Record<string, unknown> | undefined;
162
+ port?: number | undefined;
163
+ }, {
164
+ type: "web" | "websocket" | "cli";
165
+ config?: Record<string, unknown> | undefined;
166
+ port?: number | undefined;
167
+ }>, "many">>;
168
+ memory: z.ZodOptional<z.ZodObject<{
169
+ shortTerm: z.ZodDefault<z.ZodBoolean>;
170
+ longTerm: z.ZodDefault<z.ZodBoolean>;
171
+ provider: z.ZodOptional<z.ZodString>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ shortTerm: boolean;
174
+ longTerm: boolean;
175
+ provider?: string | undefined;
176
+ }, {
177
+ shortTerm?: boolean | undefined;
178
+ longTerm?: boolean | undefined;
179
+ provider?: string | undefined;
180
+ }>>;
181
+ dtv: z.ZodOptional<z.ZodObject<{
182
+ trust: z.ZodOptional<z.ZodObject<{
183
+ level: z.ZodDefault<z.ZodEnum<["sandbox", "verified", "certified", "listed"]>>;
184
+ }, "strip", z.ZodTypeAny, {
185
+ level: "sandbox" | "verified" | "certified" | "listed";
186
+ }, {
187
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
188
+ }>>;
189
+ value: z.ZodOptional<z.ZodObject<{
190
+ metrics: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ metrics: string[];
193
+ }, {
194
+ metrics?: string[] | undefined;
195
+ }>>;
196
+ }, "strip", z.ZodTypeAny, {
197
+ value?: {
198
+ metrics: string[];
199
+ } | undefined;
200
+ trust?: {
201
+ level: "sandbox" | "verified" | "certified" | "listed";
202
+ } | undefined;
203
+ }, {
204
+ value?: {
205
+ metrics?: string[] | undefined;
206
+ } | undefined;
207
+ trust?: {
208
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
209
+ } | undefined;
210
+ }>>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ model: string;
213
+ skills: {
214
+ name: string;
215
+ description?: string | undefined;
216
+ config?: Record<string, unknown> | undefined;
217
+ }[];
218
+ channels: {
219
+ type: "web" | "websocket" | "cli";
220
+ config?: Record<string, unknown> | undefined;
221
+ port?: number | undefined;
222
+ }[];
223
+ provider?: {
224
+ default: string;
225
+ allowed: string[];
226
+ } | undefined;
227
+ systemPrompt?: string | undefined;
228
+ memory?: {
229
+ shortTerm: boolean;
230
+ longTerm: boolean;
231
+ provider?: string | undefined;
232
+ } | undefined;
233
+ dtv?: {
234
+ value?: {
235
+ metrics: string[];
236
+ } | undefined;
237
+ trust?: {
238
+ level: "sandbox" | "verified" | "certified" | "listed";
239
+ } | undefined;
240
+ } | undefined;
241
+ }, {
242
+ provider?: {
243
+ default?: string | undefined;
244
+ allowed?: string[] | undefined;
245
+ } | undefined;
246
+ model?: string | undefined;
247
+ systemPrompt?: string | undefined;
248
+ skills?: {
249
+ name: string;
250
+ description?: string | undefined;
251
+ config?: Record<string, unknown> | undefined;
252
+ }[] | undefined;
253
+ channels?: {
254
+ type: "web" | "websocket" | "cli";
255
+ config?: Record<string, unknown> | undefined;
256
+ port?: number | undefined;
257
+ }[] | undefined;
258
+ memory?: {
259
+ shortTerm?: boolean | undefined;
260
+ longTerm?: boolean | undefined;
261
+ provider?: string | undefined;
262
+ } | undefined;
263
+ dtv?: {
264
+ value?: {
265
+ metrics?: string[] | undefined;
266
+ } | undefined;
267
+ trust?: {
268
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
269
+ } | undefined;
270
+ } | undefined;
271
+ }>;
272
+ export declare const OADSchema: z.ZodObject<{
273
+ apiVersion: z.ZodLiteral<"opc/v1">;
274
+ kind: z.ZodLiteral<"Agent">;
275
+ metadata: z.ZodObject<{
276
+ name: z.ZodString;
277
+ version: z.ZodDefault<z.ZodString>;
278
+ description: z.ZodOptional<z.ZodString>;
279
+ author: z.ZodOptional<z.ZodString>;
280
+ license: z.ZodDefault<z.ZodString>;
281
+ marketplace: z.ZodOptional<z.ZodObject<{
282
+ certified: z.ZodDefault<z.ZodBoolean>;
283
+ category: z.ZodOptional<z.ZodString>;
284
+ }, "strip", z.ZodTypeAny, {
285
+ certified: boolean;
286
+ category?: string | undefined;
287
+ }, {
288
+ certified?: boolean | undefined;
289
+ category?: string | undefined;
290
+ }>>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ name: string;
293
+ version: string;
294
+ license: string;
295
+ description?: string | undefined;
296
+ author?: string | undefined;
297
+ marketplace?: {
298
+ certified: boolean;
299
+ category?: string | undefined;
300
+ } | undefined;
301
+ }, {
302
+ name: string;
303
+ description?: string | undefined;
304
+ version?: string | undefined;
305
+ author?: string | undefined;
306
+ license?: string | undefined;
307
+ marketplace?: {
308
+ certified?: boolean | undefined;
309
+ category?: string | undefined;
310
+ } | undefined;
311
+ }>;
312
+ spec: z.ZodObject<{
313
+ provider: z.ZodOptional<z.ZodObject<{
314
+ default: z.ZodDefault<z.ZodString>;
315
+ allowed: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
316
+ }, "strip", z.ZodTypeAny, {
317
+ default: string;
318
+ allowed: string[];
319
+ }, {
320
+ default?: string | undefined;
321
+ allowed?: string[] | undefined;
322
+ }>>;
323
+ model: z.ZodDefault<z.ZodString>;
324
+ systemPrompt: z.ZodOptional<z.ZodString>;
325
+ skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
326
+ name: z.ZodString;
327
+ description: z.ZodOptional<z.ZodString>;
328
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
329
+ }, "strip", z.ZodTypeAny, {
330
+ name: string;
331
+ description?: string | undefined;
332
+ config?: Record<string, unknown> | undefined;
333
+ }, {
334
+ name: string;
335
+ description?: string | undefined;
336
+ config?: Record<string, unknown> | undefined;
337
+ }>, "many">>;
338
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
339
+ type: z.ZodEnum<["web", "websocket", "cli"]>;
340
+ port: z.ZodOptional<z.ZodNumber>;
341
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ type: "web" | "websocket" | "cli";
344
+ config?: Record<string, unknown> | undefined;
345
+ port?: number | undefined;
346
+ }, {
347
+ type: "web" | "websocket" | "cli";
348
+ config?: Record<string, unknown> | undefined;
349
+ port?: number | undefined;
350
+ }>, "many">>;
351
+ memory: z.ZodOptional<z.ZodObject<{
352
+ shortTerm: z.ZodDefault<z.ZodBoolean>;
353
+ longTerm: z.ZodDefault<z.ZodBoolean>;
354
+ provider: z.ZodOptional<z.ZodString>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ shortTerm: boolean;
357
+ longTerm: boolean;
358
+ provider?: string | undefined;
359
+ }, {
360
+ shortTerm?: boolean | undefined;
361
+ longTerm?: boolean | undefined;
362
+ provider?: string | undefined;
363
+ }>>;
364
+ dtv: z.ZodOptional<z.ZodObject<{
365
+ trust: z.ZodOptional<z.ZodObject<{
366
+ level: z.ZodDefault<z.ZodEnum<["sandbox", "verified", "certified", "listed"]>>;
367
+ }, "strip", z.ZodTypeAny, {
368
+ level: "sandbox" | "verified" | "certified" | "listed";
369
+ }, {
370
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
371
+ }>>;
372
+ value: z.ZodOptional<z.ZodObject<{
373
+ metrics: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
374
+ }, "strip", z.ZodTypeAny, {
375
+ metrics: string[];
376
+ }, {
377
+ metrics?: string[] | undefined;
378
+ }>>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ value?: {
381
+ metrics: string[];
382
+ } | undefined;
383
+ trust?: {
384
+ level: "sandbox" | "verified" | "certified" | "listed";
385
+ } | undefined;
386
+ }, {
387
+ value?: {
388
+ metrics?: string[] | undefined;
389
+ } | undefined;
390
+ trust?: {
391
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
392
+ } | undefined;
393
+ }>>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ model: string;
396
+ skills: {
397
+ name: string;
398
+ description?: string | undefined;
399
+ config?: Record<string, unknown> | undefined;
400
+ }[];
401
+ channels: {
402
+ type: "web" | "websocket" | "cli";
403
+ config?: Record<string, unknown> | undefined;
404
+ port?: number | undefined;
405
+ }[];
406
+ provider?: {
407
+ default: string;
408
+ allowed: string[];
409
+ } | undefined;
410
+ systemPrompt?: string | undefined;
411
+ memory?: {
412
+ shortTerm: boolean;
413
+ longTerm: boolean;
414
+ provider?: string | undefined;
415
+ } | undefined;
416
+ dtv?: {
417
+ value?: {
418
+ metrics: string[];
419
+ } | undefined;
420
+ trust?: {
421
+ level: "sandbox" | "verified" | "certified" | "listed";
422
+ } | undefined;
423
+ } | undefined;
424
+ }, {
425
+ provider?: {
426
+ default?: string | undefined;
427
+ allowed?: string[] | undefined;
428
+ } | undefined;
429
+ model?: string | undefined;
430
+ systemPrompt?: string | undefined;
431
+ skills?: {
432
+ name: string;
433
+ description?: string | undefined;
434
+ config?: Record<string, unknown> | undefined;
435
+ }[] | undefined;
436
+ channels?: {
437
+ type: "web" | "websocket" | "cli";
438
+ config?: Record<string, unknown> | undefined;
439
+ port?: number | undefined;
440
+ }[] | undefined;
441
+ memory?: {
442
+ shortTerm?: boolean | undefined;
443
+ longTerm?: boolean | undefined;
444
+ provider?: string | undefined;
445
+ } | undefined;
446
+ dtv?: {
447
+ value?: {
448
+ metrics?: string[] | undefined;
449
+ } | undefined;
450
+ trust?: {
451
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
452
+ } | undefined;
453
+ } | undefined;
454
+ }>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ apiVersion: "opc/v1";
457
+ kind: "Agent";
458
+ metadata: {
459
+ name: string;
460
+ version: string;
461
+ license: string;
462
+ description?: string | undefined;
463
+ author?: string | undefined;
464
+ marketplace?: {
465
+ certified: boolean;
466
+ category?: string | undefined;
467
+ } | undefined;
468
+ };
469
+ spec: {
470
+ model: string;
471
+ skills: {
472
+ name: string;
473
+ description?: string | undefined;
474
+ config?: Record<string, unknown> | undefined;
475
+ }[];
476
+ channels: {
477
+ type: "web" | "websocket" | "cli";
478
+ config?: Record<string, unknown> | undefined;
479
+ port?: number | undefined;
480
+ }[];
481
+ provider?: {
482
+ default: string;
483
+ allowed: string[];
484
+ } | undefined;
485
+ systemPrompt?: string | undefined;
486
+ memory?: {
487
+ shortTerm: boolean;
488
+ longTerm: boolean;
489
+ provider?: string | undefined;
490
+ } | undefined;
491
+ dtv?: {
492
+ value?: {
493
+ metrics: string[];
494
+ } | undefined;
495
+ trust?: {
496
+ level: "sandbox" | "verified" | "certified" | "listed";
497
+ } | undefined;
498
+ } | undefined;
499
+ };
500
+ }, {
501
+ apiVersion: "opc/v1";
502
+ kind: "Agent";
503
+ metadata: {
504
+ name: string;
505
+ description?: string | undefined;
506
+ version?: string | undefined;
507
+ author?: string | undefined;
508
+ license?: string | undefined;
509
+ marketplace?: {
510
+ certified?: boolean | undefined;
511
+ category?: string | undefined;
512
+ } | undefined;
513
+ };
514
+ spec: {
515
+ provider?: {
516
+ default?: string | undefined;
517
+ allowed?: string[] | undefined;
518
+ } | undefined;
519
+ model?: string | undefined;
520
+ systemPrompt?: string | undefined;
521
+ skills?: {
522
+ name: string;
523
+ description?: string | undefined;
524
+ config?: Record<string, unknown> | undefined;
525
+ }[] | undefined;
526
+ channels?: {
527
+ type: "web" | "websocket" | "cli";
528
+ config?: Record<string, unknown> | undefined;
529
+ port?: number | undefined;
530
+ }[] | undefined;
531
+ memory?: {
532
+ shortTerm?: boolean | undefined;
533
+ longTerm?: boolean | undefined;
534
+ provider?: string | undefined;
535
+ } | undefined;
536
+ dtv?: {
537
+ value?: {
538
+ metrics?: string[] | undefined;
539
+ } | undefined;
540
+ trust?: {
541
+ level?: "sandbox" | "verified" | "certified" | "listed" | undefined;
542
+ } | undefined;
543
+ } | undefined;
544
+ };
545
+ }>;
546
+ export type OADDocument = z.infer<typeof OADSchema>;
547
+ export type SkillRef = z.infer<typeof SkillRefSchema>;
548
+ export type Channel = z.infer<typeof ChannelSchema>;
549
+ export type Metadata = z.infer<typeof MetadataSchema>;
550
+ export type Spec = z.infer<typeof SpecSchema>;
551
+ export type DTVConfig = z.infer<typeof DTVSchema>;
552
+ export type TrustLevelType = z.infer<typeof TrustLevel>;
553
+ //# sourceMappingURL=oad.d.ts.map
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OADSchema = exports.SpecSchema = exports.MetadataSchema = exports.MarketplaceSchema = exports.ProviderSchema = exports.DTVSchema = exports.TrustLevel = exports.MemorySchema = exports.ChannelSchema = exports.SkillRefSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ // ─── OAD Schema v1 ───────────────────────────────────────────
6
+ exports.SkillRefSchema = zod_1.z.object({
7
+ name: zod_1.z.string(),
8
+ description: zod_1.z.string().optional(),
9
+ config: zod_1.z.record(zod_1.z.unknown()).optional(),
10
+ });
11
+ exports.ChannelSchema = zod_1.z.object({
12
+ type: zod_1.z.enum(['web', 'websocket', 'cli']),
13
+ port: zod_1.z.number().optional(),
14
+ config: zod_1.z.record(zod_1.z.unknown()).optional(),
15
+ });
16
+ exports.MemorySchema = zod_1.z.object({
17
+ shortTerm: zod_1.z.boolean().default(true),
18
+ longTerm: zod_1.z.boolean().default(false),
19
+ provider: zod_1.z.string().optional(),
20
+ });
21
+ exports.TrustLevel = zod_1.z.enum(['sandbox', 'verified', 'certified', 'listed']);
22
+ exports.DTVSchema = zod_1.z.object({
23
+ trust: zod_1.z.object({
24
+ level: exports.TrustLevel.default('sandbox'),
25
+ }).optional(),
26
+ value: zod_1.z.object({
27
+ metrics: zod_1.z.array(zod_1.z.string()).default([]),
28
+ }).optional(),
29
+ });
30
+ exports.ProviderSchema = zod_1.z.object({
31
+ default: zod_1.z.string().default('deepseek'),
32
+ allowed: zod_1.z.array(zod_1.z.string()).default(['openai', 'deepseek', 'qwen']),
33
+ });
34
+ exports.MarketplaceSchema = zod_1.z.object({
35
+ certified: zod_1.z.boolean().default(false),
36
+ category: zod_1.z.string().optional(),
37
+ });
38
+ exports.MetadataSchema = zod_1.z.object({
39
+ name: zod_1.z.string(),
40
+ version: zod_1.z.string().default('1.0.0'),
41
+ description: zod_1.z.string().optional(),
42
+ author: zod_1.z.string().optional(),
43
+ license: zod_1.z.string().default('Apache-2.0'),
44
+ marketplace: exports.MarketplaceSchema.optional(),
45
+ });
46
+ exports.SpecSchema = zod_1.z.object({
47
+ provider: exports.ProviderSchema.optional(),
48
+ model: zod_1.z.string().default('deepseek-chat'),
49
+ systemPrompt: zod_1.z.string().optional(),
50
+ skills: zod_1.z.array(exports.SkillRefSchema).default([]),
51
+ channels: zod_1.z.array(exports.ChannelSchema).default([]),
52
+ memory: exports.MemorySchema.optional(),
53
+ dtv: exports.DTVSchema.optional(),
54
+ });
55
+ exports.OADSchema = zod_1.z.object({
56
+ apiVersion: zod_1.z.literal('opc/v1'),
57
+ kind: zod_1.z.literal('Agent'),
58
+ metadata: exports.MetadataSchema,
59
+ spec: exports.SpecSchema,
60
+ });
61
+ //# sourceMappingURL=oad.js.map
@@ -0,0 +1,9 @@
1
+ import type { ISkill, AgentContext, Message, SkillResult } from '../core/types';
2
+ export declare abstract class BaseSkill implements ISkill {
3
+ abstract name: string;
4
+ abstract description: string;
5
+ abstract execute(context: AgentContext, message: Message): Promise<SkillResult>;
6
+ protected noMatch(): SkillResult;
7
+ protected match(response: string, confidence?: number): SkillResult;
8
+ }
9
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseSkill = void 0;
4
+ class BaseSkill {
5
+ noMatch() {
6
+ return { handled: false, confidence: 0 };
7
+ }
8
+ match(response, confidence = 1.0) {
9
+ return { handled: true, response, confidence };
10
+ }
11
+ }
12
+ exports.BaseSkill = BaseSkill;
13
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1,10 @@
1
+ import type { ISkill, AgentContext, Message, SkillResult } from '../core/types';
2
+ export type { ISkill } from '../core/types';
3
+ export declare class SkillRegistry {
4
+ private skills;
5
+ register(skill: ISkill): void;
6
+ get(name: string): ISkill | undefined;
7
+ list(): ISkill[];
8
+ executeAll(context: AgentContext, message: Message): Promise<SkillResult | null>;
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkillRegistry = void 0;
4
+ class SkillRegistry {
5
+ skills = new Map();
6
+ register(skill) {
7
+ this.skills.set(skill.name, skill);
8
+ }
9
+ get(name) {
10
+ return this.skills.get(name);
11
+ }
12
+ list() {
13
+ return Array.from(this.skills.values());
14
+ }
15
+ async executeAll(context, message) {
16
+ for (const skill of this.skills.values()) {
17
+ const result = await skill.execute(context, message);
18
+ if (result.handled)
19
+ return result;
20
+ }
21
+ return null;
22
+ }
23
+ }
24
+ exports.SkillRegistry = SkillRegistry;
25
+ //# sourceMappingURL=index.js.map