opc-agent 4.2.13 → 5.0.0-alpha.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 (188) hide show
  1. package/.opc/memory.db +0 -0
  2. package/TASK.md +49 -0
  3. package/data/brain.db/deepbrain.sqlite +0 -0
  4. package/dist/channels/api.d.ts +14 -0
  5. package/dist/channels/api.d.ts.map +1 -0
  6. package/dist/channels/api.js +58 -0
  7. package/dist/channels/api.js.map +1 -0
  8. package/dist/cli.js +144 -52
  9. package/dist/cli.js.map +1 -1
  10. package/dist/core/agent-loop.d.ts +3 -0
  11. package/dist/core/agent-loop.d.ts.map +1 -0
  12. package/dist/core/agent-loop.js +51 -0
  13. package/dist/core/agent-loop.js.map +1 -0
  14. package/dist/core/context-assembler.d.ts +12 -0
  15. package/dist/core/context-assembler.d.ts.map +1 -0
  16. package/dist/core/context-assembler.js +81 -0
  17. package/dist/core/context-assembler.js.map +1 -0
  18. package/dist/core/guardrails.d.ts +16 -0
  19. package/dist/core/guardrails.d.ts.map +1 -0
  20. package/dist/core/guardrails.js +62 -0
  21. package/dist/core/guardrails.js.map +1 -0
  22. package/dist/core/index.d.ts +1 -0
  23. package/dist/core/index.d.ts.map +1 -0
  24. package/dist/core/index.js +3 -0
  25. package/dist/core/index.js.map +1 -0
  26. package/dist/core/iteration-budget.d.ts +12 -0
  27. package/dist/core/iteration-budget.d.ts.map +1 -0
  28. package/dist/core/iteration-budget.js +26 -0
  29. package/dist/core/iteration-budget.js.map +1 -0
  30. package/dist/core/types.d.ts +412 -0
  31. package/dist/core/types.d.ts.map +1 -1
  32. package/dist/deepbrain/embedding.d.ts +7 -0
  33. package/dist/deepbrain/embedding.d.ts.map +1 -0
  34. package/dist/deepbrain/embedding.js +108 -0
  35. package/dist/deepbrain/embedding.js.map +1 -0
  36. package/dist/deepbrain/index.d.ts +8 -0
  37. package/dist/deepbrain/index.d.ts.map +1 -0
  38. package/dist/deepbrain/index.js +19 -0
  39. package/dist/deepbrain/index.js.map +1 -0
  40. package/dist/deepbrain/migrate.d.ts +2 -0
  41. package/dist/deepbrain/migrate.d.ts.map +1 -0
  42. package/dist/deepbrain/migrate.js +139 -0
  43. package/dist/deepbrain/migrate.js.map +1 -0
  44. package/dist/deepbrain/provider.d.ts +13 -0
  45. package/dist/deepbrain/provider.d.ts.map +1 -0
  46. package/dist/deepbrain/provider.js +85 -0
  47. package/dist/deepbrain/provider.js.map +1 -0
  48. package/dist/deepbrain/recall.d.ts +9 -0
  49. package/dist/deepbrain/recall.d.ts.map +1 -0
  50. package/dist/deepbrain/recall.js +48 -0
  51. package/dist/deepbrain/recall.js.map +1 -0
  52. package/dist/deepbrain/store.d.ts +36 -0
  53. package/dist/deepbrain/store.d.ts.map +1 -0
  54. package/dist/deepbrain/store.js +342 -0
  55. package/dist/deepbrain/store.js.map +1 -0
  56. package/dist/deepbrain/workspace-files.d.ts +5 -0
  57. package/dist/deepbrain/workspace-files.d.ts.map +1 -0
  58. package/dist/deepbrain/workspace-files.js +159 -0
  59. package/dist/deepbrain/workspace-files.js.map +1 -0
  60. package/dist/evolution/index.d.ts +1 -0
  61. package/dist/evolution/index.d.ts.map +1 -0
  62. package/dist/evolution/index.js +3 -0
  63. package/dist/evolution/index.js.map +1 -0
  64. package/dist/evolution/l1-experience.d.ts +5 -0
  65. package/dist/evolution/l1-experience.d.ts.map +1 -0
  66. package/dist/evolution/l1-experience.js +117 -0
  67. package/dist/evolution/l1-experience.js.map +1 -0
  68. package/dist/evolution/l2-consolidation.d.ts +4 -0
  69. package/dist/evolution/l2-consolidation.d.ts.map +1 -0
  70. package/dist/evolution/l2-consolidation.js +106 -0
  71. package/dist/evolution/l2-consolidation.js.map +1 -0
  72. package/dist/evolution/l2-memskill.d.ts +12 -0
  73. package/dist/evolution/l2-memskill.d.ts.map +1 -0
  74. package/dist/evolution/l2-memskill.js +57 -0
  75. package/dist/evolution/l2-memskill.js.map +1 -0
  76. package/dist/evolution/l3-skill-discover.d.ts +4 -0
  77. package/dist/evolution/l3-skill-discover.d.ts.map +1 -0
  78. package/dist/evolution/l3-skill-discover.js +139 -0
  79. package/dist/evolution/l3-skill-discover.js.map +1 -0
  80. package/dist/evolution/l3-skill-verify.d.ts +12 -0
  81. package/dist/evolution/l3-skill-verify.d.ts.map +1 -0
  82. package/dist/evolution/l3-skill-verify.js +122 -0
  83. package/dist/evolution/l3-skill-verify.js.map +1 -0
  84. package/dist/evolution/l4-desensitize.d.ts +7 -0
  85. package/dist/evolution/l4-desensitize.d.ts.map +1 -0
  86. package/dist/evolution/l4-desensitize.js +30 -0
  87. package/dist/evolution/l4-desensitize.js.map +1 -0
  88. package/dist/evolution/l4-group-evolve.d.ts +8 -0
  89. package/dist/evolution/l4-group-evolve.d.ts.map +1 -0
  90. package/dist/evolution/l4-group-evolve.js +15 -0
  91. package/dist/evolution/l4-group-evolve.js.map +1 -0
  92. package/dist/evolution/maturity-scorer.d.ts +11 -0
  93. package/dist/evolution/maturity-scorer.d.ts.map +1 -0
  94. package/dist/evolution/maturity-scorer.js +21 -0
  95. package/dist/evolution/maturity-scorer.js.map +1 -0
  96. package/dist/index.d.ts +7 -1
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +33 -5
  99. package/dist/index.js.map +1 -1
  100. package/dist/providers/agentkits.d.ts +20 -0
  101. package/dist/providers/agentkits.d.ts.map +1 -0
  102. package/dist/providers/agentkits.js +173 -0
  103. package/dist/providers/agentkits.js.map +1 -0
  104. package/dist/providers/model-provider.d.ts +16 -0
  105. package/dist/providers/model-provider.d.ts.map +1 -0
  106. package/dist/providers/model-provider.js +13 -0
  107. package/dist/providers/model-provider.js.map +1 -0
  108. package/dist/providers/model-recommender.d.ts +15 -0
  109. package/dist/providers/model-recommender.d.ts.map +1 -0
  110. package/dist/providers/model-recommender.js +71 -0
  111. package/dist/providers/model-recommender.js.map +1 -0
  112. package/dist/providers/ollama.d.ts +22 -0
  113. package/dist/providers/ollama.d.ts.map +1 -0
  114. package/dist/providers/ollama.js +176 -0
  115. package/dist/providers/ollama.js.map +1 -0
  116. package/dist/providers/openai-compat.d.ts +23 -0
  117. package/dist/providers/openai-compat.d.ts.map +1 -0
  118. package/dist/providers/openai-compat.js +184 -0
  119. package/dist/providers/openai-compat.js.map +1 -0
  120. package/dist/providers/router.d.ts +11 -0
  121. package/dist/providers/router.d.ts.map +1 -0
  122. package/dist/providers/router.js +48 -0
  123. package/dist/providers/router.js.map +1 -0
  124. package/dist/scheduler/cron.d.ts +19 -0
  125. package/dist/scheduler/cron.d.ts.map +1 -0
  126. package/dist/scheduler/cron.js +64 -0
  127. package/dist/scheduler/cron.js.map +1 -0
  128. package/dist/schema/oad.d.ts +72 -72
  129. package/dist/skills/loader.d.ts +16 -0
  130. package/dist/skills/loader.d.ts.map +1 -0
  131. package/dist/skills/loader.js +114 -0
  132. package/dist/skills/loader.js.map +1 -0
  133. package/dist/skills/matcher.d.ts +18 -0
  134. package/dist/skills/matcher.d.ts.map +1 -0
  135. package/dist/skills/matcher.js +70 -0
  136. package/dist/skills/matcher.js.map +1 -0
  137. package/dist/studio/agent-pool.d.ts +17 -0
  138. package/dist/studio/agent-pool.d.ts.map +1 -0
  139. package/dist/studio/agent-pool.js +35 -0
  140. package/dist/studio/agent-pool.js.map +1 -0
  141. package/dist/studio/assistant-tools.d.ts +4 -0
  142. package/dist/studio/assistant-tools.d.ts.map +1 -0
  143. package/dist/studio/assistant-tools.js +36 -0
  144. package/dist/studio/assistant-tools.js.map +1 -0
  145. package/dist/studio/index.d.ts +1 -0
  146. package/dist/studio/index.d.ts.map +1 -0
  147. package/dist/studio/index.js +3 -0
  148. package/dist/studio/index.js.map +1 -0
  149. package/dist/studio/server.d.ts.map +1 -1
  150. package/dist/studio/server.js +13 -18
  151. package/dist/studio/server.js.map +1 -1
  152. package/dist/templates/index.d.ts +1 -0
  153. package/dist/templates/index.d.ts.map +1 -0
  154. package/dist/templates/index.js +3 -0
  155. package/dist/templates/index.js.map +1 -0
  156. package/dist/templates/roles/index.d.ts +4 -0
  157. package/dist/templates/roles/index.d.ts.map +1 -0
  158. package/dist/templates/roles/index.js +46 -0
  159. package/dist/templates/roles/index.js.map +1 -0
  160. package/dist/templates/template-provider.d.ts +16 -0
  161. package/dist/templates/template-provider.d.ts.map +1 -0
  162. package/dist/templates/template-provider.js +60 -0
  163. package/dist/templates/template-provider.js.map +1 -0
  164. package/dist/tools/builtin/definitions.d.ts +7 -0
  165. package/dist/tools/builtin/definitions.d.ts.map +1 -0
  166. package/dist/tools/builtin/definitions.js +60 -0
  167. package/dist/tools/builtin/definitions.js.map +1 -0
  168. package/dist/tools/execute-code.d.ts +20 -0
  169. package/dist/tools/execute-code.d.ts.map +1 -0
  170. package/dist/tools/execute-code.js +92 -0
  171. package/dist/tools/execute-code.js.map +1 -0
  172. package/dist/tools/hooks.d.ts +47 -0
  173. package/dist/tools/hooks.d.ts.map +1 -0
  174. package/dist/tools/hooks.js +69 -0
  175. package/dist/tools/hooks.js.map +1 -0
  176. package/dist/tools/index.d.ts +9 -0
  177. package/dist/tools/index.d.ts.map +1 -0
  178. package/dist/tools/index.js +16 -0
  179. package/dist/tools/index.js.map +1 -0
  180. package/dist/tools/permission.d.ts +20 -0
  181. package/dist/tools/permission.d.ts.map +1 -0
  182. package/dist/tools/permission.js +35 -0
  183. package/dist/tools/permission.js.map +1 -0
  184. package/dist/tools/registry.d.ts +25 -0
  185. package/dist/tools/registry.d.ts.map +1 -0
  186. package/dist/tools/registry.js +42 -0
  187. package/dist/tools/registry.js.map +1 -0
  188. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ // v2 cron — lightweight cron-expression scheduler for agent proactive tasks
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CronScheduler = void 0;
5
+ class CronScheduler {
6
+ jobs = new Map();
7
+ timers = new Map();
8
+ add(job) {
9
+ this.jobs.set(job.id, job);
10
+ if (job.enabled)
11
+ this.schedule(job);
12
+ }
13
+ remove(id) {
14
+ const timer = this.timers.get(id);
15
+ if (timer)
16
+ clearTimeout(timer);
17
+ this.timers.delete(id);
18
+ this.jobs.delete(id);
19
+ }
20
+ enable(id) {
21
+ const job = this.jobs.get(id);
22
+ if (job) {
23
+ job.enabled = true;
24
+ this.schedule(job);
25
+ }
26
+ }
27
+ disable(id) {
28
+ const timer = this.timers.get(id);
29
+ if (timer)
30
+ clearTimeout(timer);
31
+ const job = this.jobs.get(id);
32
+ if (job)
33
+ job.enabled = false;
34
+ }
35
+ list() {
36
+ return Array.from(this.jobs.values());
37
+ }
38
+ schedule(job) {
39
+ const ms = nextIntervalMs(job.expression);
40
+ if (ms === null)
41
+ return;
42
+ const timer = setTimeout(async () => {
43
+ job.lastRunAt = Date.now();
44
+ try {
45
+ await job.handler();
46
+ }
47
+ catch { /* swallow — caller responsibility */ }
48
+ if (job.enabled)
49
+ this.schedule(job);
50
+ }, ms);
51
+ this.timers.set(job.id, timer);
52
+ job.nextRunAt = Date.now() + ms;
53
+ }
54
+ }
55
+ exports.CronScheduler = CronScheduler;
56
+ function nextIntervalMs(expression) {
57
+ const match = /^@every\s+(\d+)(s|m|h)$/.exec(expression);
58
+ if (!match)
59
+ return null;
60
+ const n = parseInt(match[1], 10);
61
+ const unit = match[2];
62
+ return n * (unit === 's' ? 1000 : unit === 'm' ? 60_000 : 3_600_000);
63
+ }
64
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/scheduler/cron.ts"],"names":[],"mappings":"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"}
@@ -70,12 +70,12 @@ export declare const HITLSchema: z.ZodObject<{
70
70
  enabled: boolean;
71
71
  requireApproval: string[];
72
72
  defaultTimeoutMs: number;
73
- defaultAction: "approve" | "deny";
73
+ defaultAction: "deny" | "approve";
74
74
  }, {
75
75
  enabled?: boolean | undefined;
76
76
  requireApproval?: string[] | undefined;
77
77
  defaultTimeoutMs?: number | undefined;
78
- defaultAction?: "approve" | "deny" | undefined;
78
+ defaultAction?: "deny" | "approve" | undefined;
79
79
  }>;
80
80
  export declare const PluginRefSchema: z.ZodObject<{
81
81
  name: z.ZodString;
@@ -279,14 +279,14 @@ export declare const MarketplaceSchema: z.ZodObject<{
279
279
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
280
280
  }, "strip", z.ZodTypeAny, {
281
281
  certified: boolean;
282
+ tags?: string[] | undefined;
282
283
  category?: string | undefined;
283
284
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
284
- tags?: string[] | undefined;
285
285
  }, {
286
+ tags?: string[] | undefined;
286
287
  certified?: boolean | undefined;
287
288
  category?: string | undefined;
288
289
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
289
- tags?: string[] | undefined;
290
290
  }>;
291
291
  export declare const MetadataSchema: z.ZodObject<{
292
292
  name: z.ZodString;
@@ -301,14 +301,14 @@ export declare const MetadataSchema: z.ZodObject<{
301
301
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
302
302
  }, "strip", z.ZodTypeAny, {
303
303
  certified: boolean;
304
+ tags?: string[] | undefined;
304
305
  category?: string | undefined;
305
306
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
306
- tags?: string[] | undefined;
307
307
  }, {
308
+ tags?: string[] | undefined;
308
309
  certified?: boolean | undefined;
309
310
  category?: string | undefined;
310
311
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
311
- tags?: string[] | undefined;
312
312
  }>>;
313
313
  }, "strip", z.ZodTypeAny, {
314
314
  name: string;
@@ -318,9 +318,9 @@ export declare const MetadataSchema: z.ZodObject<{
318
318
  author?: string | undefined;
319
319
  marketplace?: {
320
320
  certified: boolean;
321
+ tags?: string[] | undefined;
321
322
  category?: string | undefined;
322
323
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
323
- tags?: string[] | undefined;
324
324
  } | undefined;
325
325
  }, {
326
326
  name: string;
@@ -329,10 +329,10 @@ export declare const MetadataSchema: z.ZodObject<{
329
329
  author?: string | undefined;
330
330
  license?: string | undefined;
331
331
  marketplace?: {
332
+ tags?: string[] | undefined;
332
333
  certified?: boolean | undefined;
333
334
  category?: string | undefined;
334
335
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
335
- tags?: string[] | undefined;
336
336
  } | undefined;
337
337
  }>;
338
338
  export declare const RoomSchema: z.ZodObject<{
@@ -858,12 +858,12 @@ export declare const SpecSchema: z.ZodObject<{
858
858
  enabled: boolean;
859
859
  requireApproval: string[];
860
860
  defaultTimeoutMs: number;
861
- defaultAction: "approve" | "deny";
861
+ defaultAction: "deny" | "approve";
862
862
  }, {
863
863
  enabled?: boolean | undefined;
864
864
  requireApproval?: string[] | undefined;
865
865
  defaultTimeoutMs?: number | undefined;
866
- defaultAction?: "approve" | "deny" | undefined;
866
+ defaultAction?: "deny" | "approve" | undefined;
867
867
  }>>;
868
868
  auth: z.ZodOptional<z.ZodObject<{
869
869
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1036,6 +1036,10 @@ export declare const SpecSchema: z.ZodObject<{
1036
1036
  }[] | undefined;
1037
1037
  }>>;
1038
1038
  }, "strip", z.ZodTypeAny, {
1039
+ streaming: boolean | {
1040
+ enabled: boolean;
1041
+ chunkSize?: number | undefined;
1042
+ };
1039
1043
  model: string;
1040
1044
  skills: {
1041
1045
  name: string;
@@ -1047,14 +1051,6 @@ export declare const SpecSchema: z.ZodObject<{
1047
1051
  port?: number | undefined;
1048
1052
  config?: Record<string, unknown> | undefined;
1049
1053
  }[];
1050
- streaming: boolean | {
1051
- enabled: boolean;
1052
- chunkSize?: number | undefined;
1053
- };
1054
- plugins?: {
1055
- name: string;
1056
- config?: Record<string, unknown> | undefined;
1057
- }[] | undefined;
1058
1054
  tools?: {
1059
1055
  builtin?: string[] | undefined;
1060
1056
  mcp?: {
@@ -1064,6 +1060,10 @@ export declare const SpecSchema: z.ZodObject<{
1064
1060
  env?: Record<string, string> | undefined;
1065
1061
  }[] | undefined;
1066
1062
  } | undefined;
1063
+ plugins?: {
1064
+ name: string;
1065
+ config?: Record<string, unknown> | undefined;
1066
+ }[] | undefined;
1067
1067
  provider?: {
1068
1068
  default: string;
1069
1069
  allowed: string[];
@@ -1125,7 +1125,7 @@ export declare const SpecSchema: z.ZodObject<{
1125
1125
  enabled: boolean;
1126
1126
  requireApproval: string[];
1127
1127
  defaultTimeoutMs: number;
1128
- defaultAction: "approve" | "deny";
1128
+ defaultAction: "deny" | "approve";
1129
1129
  } | undefined;
1130
1130
  telemetry?: {
1131
1131
  enabled: boolean;
@@ -1165,10 +1165,6 @@ export declare const SpecSchema: z.ZodObject<{
1165
1165
  }[] | undefined;
1166
1166
  } | undefined;
1167
1167
  }, {
1168
- plugins?: {
1169
- name: string;
1170
- config?: Record<string, unknown> | undefined;
1171
- }[] | undefined;
1172
1168
  tools?: {
1173
1169
  builtin?: string[] | undefined;
1174
1170
  mcp?: {
@@ -1178,6 +1174,14 @@ export declare const SpecSchema: z.ZodObject<{
1178
1174
  env?: Record<string, string> | undefined;
1179
1175
  }[] | undefined;
1180
1176
  } | undefined;
1177
+ streaming?: boolean | {
1178
+ enabled?: boolean | undefined;
1179
+ chunkSize?: number | undefined;
1180
+ } | undefined;
1181
+ plugins?: {
1182
+ name: string;
1183
+ config?: Record<string, unknown> | undefined;
1184
+ }[] | undefined;
1181
1185
  model?: string | undefined;
1182
1186
  provider?: {
1183
1187
  default?: string | undefined;
@@ -1238,10 +1242,6 @@ export declare const SpecSchema: z.ZodObject<{
1238
1242
  agents?: string[] | undefined;
1239
1243
  topics?: string[] | undefined;
1240
1244
  } | undefined;
1241
- streaming?: boolean | {
1242
- enabled?: boolean | undefined;
1243
- chunkSize?: number | undefined;
1244
- } | undefined;
1245
1245
  locale?: "en" | "zh-CN" | undefined;
1246
1246
  workflows?: {
1247
1247
  name: string;
@@ -1254,7 +1254,7 @@ export declare const SpecSchema: z.ZodObject<{
1254
1254
  enabled?: boolean | undefined;
1255
1255
  requireApproval?: string[] | undefined;
1256
1256
  defaultTimeoutMs?: number | undefined;
1257
- defaultAction?: "approve" | "deny" | undefined;
1257
+ defaultAction?: "deny" | "approve" | undefined;
1258
1258
  } | undefined;
1259
1259
  telemetry?: {
1260
1260
  enabled?: boolean | undefined;
@@ -1310,14 +1310,14 @@ export declare const OADSchema: z.ZodObject<{
1310
1310
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1311
1311
  }, "strip", z.ZodTypeAny, {
1312
1312
  certified: boolean;
1313
+ tags?: string[] | undefined;
1313
1314
  category?: string | undefined;
1314
1315
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
1315
- tags?: string[] | undefined;
1316
1316
  }, {
1317
+ tags?: string[] | undefined;
1317
1318
  certified?: boolean | undefined;
1318
1319
  category?: string | undefined;
1319
1320
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
1320
- tags?: string[] | undefined;
1321
1321
  }>>;
1322
1322
  }, "strip", z.ZodTypeAny, {
1323
1323
  name: string;
@@ -1327,9 +1327,9 @@ export declare const OADSchema: z.ZodObject<{
1327
1327
  author?: string | undefined;
1328
1328
  marketplace?: {
1329
1329
  certified: boolean;
1330
+ tags?: string[] | undefined;
1330
1331
  category?: string | undefined;
1331
1332
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
1332
- tags?: string[] | undefined;
1333
1333
  } | undefined;
1334
1334
  }, {
1335
1335
  name: string;
@@ -1338,10 +1338,10 @@ export declare const OADSchema: z.ZodObject<{
1338
1338
  author?: string | undefined;
1339
1339
  license?: string | undefined;
1340
1340
  marketplace?: {
1341
+ tags?: string[] | undefined;
1341
1342
  certified?: boolean | undefined;
1342
1343
  category?: string | undefined;
1343
1344
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
1344
- tags?: string[] | undefined;
1345
1345
  } | undefined;
1346
1346
  }>;
1347
1347
  spec: z.ZodObject<{
@@ -1604,12 +1604,12 @@ export declare const OADSchema: z.ZodObject<{
1604
1604
  enabled: boolean;
1605
1605
  requireApproval: string[];
1606
1606
  defaultTimeoutMs: number;
1607
- defaultAction: "approve" | "deny";
1607
+ defaultAction: "deny" | "approve";
1608
1608
  }, {
1609
1609
  enabled?: boolean | undefined;
1610
1610
  requireApproval?: string[] | undefined;
1611
1611
  defaultTimeoutMs?: number | undefined;
1612
- defaultAction?: "approve" | "deny" | undefined;
1612
+ defaultAction?: "deny" | "approve" | undefined;
1613
1613
  }>>;
1614
1614
  auth: z.ZodOptional<z.ZodObject<{
1615
1615
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1782,6 +1782,10 @@ export declare const OADSchema: z.ZodObject<{
1782
1782
  }[] | undefined;
1783
1783
  }>>;
1784
1784
  }, "strip", z.ZodTypeAny, {
1785
+ streaming: boolean | {
1786
+ enabled: boolean;
1787
+ chunkSize?: number | undefined;
1788
+ };
1785
1789
  model: string;
1786
1790
  skills: {
1787
1791
  name: string;
@@ -1793,14 +1797,6 @@ export declare const OADSchema: z.ZodObject<{
1793
1797
  port?: number | undefined;
1794
1798
  config?: Record<string, unknown> | undefined;
1795
1799
  }[];
1796
- streaming: boolean | {
1797
- enabled: boolean;
1798
- chunkSize?: number | undefined;
1799
- };
1800
- plugins?: {
1801
- name: string;
1802
- config?: Record<string, unknown> | undefined;
1803
- }[] | undefined;
1804
1800
  tools?: {
1805
1801
  builtin?: string[] | undefined;
1806
1802
  mcp?: {
@@ -1810,6 +1806,10 @@ export declare const OADSchema: z.ZodObject<{
1810
1806
  env?: Record<string, string> | undefined;
1811
1807
  }[] | undefined;
1812
1808
  } | undefined;
1809
+ plugins?: {
1810
+ name: string;
1811
+ config?: Record<string, unknown> | undefined;
1812
+ }[] | undefined;
1813
1813
  provider?: {
1814
1814
  default: string;
1815
1815
  allowed: string[];
@@ -1871,7 +1871,7 @@ export declare const OADSchema: z.ZodObject<{
1871
1871
  enabled: boolean;
1872
1872
  requireApproval: string[];
1873
1873
  defaultTimeoutMs: number;
1874
- defaultAction: "approve" | "deny";
1874
+ defaultAction: "deny" | "approve";
1875
1875
  } | undefined;
1876
1876
  telemetry?: {
1877
1877
  enabled: boolean;
@@ -1911,10 +1911,6 @@ export declare const OADSchema: z.ZodObject<{
1911
1911
  }[] | undefined;
1912
1912
  } | undefined;
1913
1913
  }, {
1914
- plugins?: {
1915
- name: string;
1916
- config?: Record<string, unknown> | undefined;
1917
- }[] | undefined;
1918
1914
  tools?: {
1919
1915
  builtin?: string[] | undefined;
1920
1916
  mcp?: {
@@ -1924,6 +1920,14 @@ export declare const OADSchema: z.ZodObject<{
1924
1920
  env?: Record<string, string> | undefined;
1925
1921
  }[] | undefined;
1926
1922
  } | undefined;
1923
+ streaming?: boolean | {
1924
+ enabled?: boolean | undefined;
1925
+ chunkSize?: number | undefined;
1926
+ } | undefined;
1927
+ plugins?: {
1928
+ name: string;
1929
+ config?: Record<string, unknown> | undefined;
1930
+ }[] | undefined;
1927
1931
  model?: string | undefined;
1928
1932
  provider?: {
1929
1933
  default?: string | undefined;
@@ -1984,10 +1988,6 @@ export declare const OADSchema: z.ZodObject<{
1984
1988
  agents?: string[] | undefined;
1985
1989
  topics?: string[] | undefined;
1986
1990
  } | undefined;
1987
- streaming?: boolean | {
1988
- enabled?: boolean | undefined;
1989
- chunkSize?: number | undefined;
1990
- } | undefined;
1991
1991
  locale?: "en" | "zh-CN" | undefined;
1992
1992
  workflows?: {
1993
1993
  name: string;
@@ -2000,7 +2000,7 @@ export declare const OADSchema: z.ZodObject<{
2000
2000
  enabled?: boolean | undefined;
2001
2001
  requireApproval?: string[] | undefined;
2002
2002
  defaultTimeoutMs?: number | undefined;
2003
- defaultAction?: "approve" | "deny" | undefined;
2003
+ defaultAction?: "deny" | "approve" | undefined;
2004
2004
  } | undefined;
2005
2005
  telemetry?: {
2006
2006
  enabled?: boolean | undefined;
@@ -2049,14 +2049,18 @@ export declare const OADSchema: z.ZodObject<{
2049
2049
  author?: string | undefined;
2050
2050
  marketplace?: {
2051
2051
  certified: boolean;
2052
+ tags?: string[] | undefined;
2052
2053
  category?: string | undefined;
2053
2054
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
2054
- tags?: string[] | undefined;
2055
2055
  } | undefined;
2056
2056
  };
2057
2057
  kind: "Agent";
2058
2058
  apiVersion: "opc/v1";
2059
2059
  spec: {
2060
+ streaming: boolean | {
2061
+ enabled: boolean;
2062
+ chunkSize?: number | undefined;
2063
+ };
2060
2064
  model: string;
2061
2065
  skills: {
2062
2066
  name: string;
@@ -2068,14 +2072,6 @@ export declare const OADSchema: z.ZodObject<{
2068
2072
  port?: number | undefined;
2069
2073
  config?: Record<string, unknown> | undefined;
2070
2074
  }[];
2071
- streaming: boolean | {
2072
- enabled: boolean;
2073
- chunkSize?: number | undefined;
2074
- };
2075
- plugins?: {
2076
- name: string;
2077
- config?: Record<string, unknown> | undefined;
2078
- }[] | undefined;
2079
2075
  tools?: {
2080
2076
  builtin?: string[] | undefined;
2081
2077
  mcp?: {
@@ -2085,6 +2081,10 @@ export declare const OADSchema: z.ZodObject<{
2085
2081
  env?: Record<string, string> | undefined;
2086
2082
  }[] | undefined;
2087
2083
  } | undefined;
2084
+ plugins?: {
2085
+ name: string;
2086
+ config?: Record<string, unknown> | undefined;
2087
+ }[] | undefined;
2088
2088
  provider?: {
2089
2089
  default: string;
2090
2090
  allowed: string[];
@@ -2146,7 +2146,7 @@ export declare const OADSchema: z.ZodObject<{
2146
2146
  enabled: boolean;
2147
2147
  requireApproval: string[];
2148
2148
  defaultTimeoutMs: number;
2149
- defaultAction: "approve" | "deny";
2149
+ defaultAction: "deny" | "approve";
2150
2150
  } | undefined;
2151
2151
  telemetry?: {
2152
2152
  enabled: boolean;
@@ -2194,19 +2194,15 @@ export declare const OADSchema: z.ZodObject<{
2194
2194
  author?: string | undefined;
2195
2195
  license?: string | undefined;
2196
2196
  marketplace?: {
2197
+ tags?: string[] | undefined;
2197
2198
  certified?: boolean | undefined;
2198
2199
  category?: string | undefined;
2199
2200
  pricing?: "free" | "freemium" | "paid" | "enterprise" | undefined;
2200
- tags?: string[] | undefined;
2201
2201
  } | undefined;
2202
2202
  };
2203
2203
  kind: "Agent";
2204
2204
  apiVersion: "opc/v1";
2205
2205
  spec: {
2206
- plugins?: {
2207
- name: string;
2208
- config?: Record<string, unknown> | undefined;
2209
- }[] | undefined;
2210
2206
  tools?: {
2211
2207
  builtin?: string[] | undefined;
2212
2208
  mcp?: {
@@ -2216,6 +2212,14 @@ export declare const OADSchema: z.ZodObject<{
2216
2212
  env?: Record<string, string> | undefined;
2217
2213
  }[] | undefined;
2218
2214
  } | undefined;
2215
+ streaming?: boolean | {
2216
+ enabled?: boolean | undefined;
2217
+ chunkSize?: number | undefined;
2218
+ } | undefined;
2219
+ plugins?: {
2220
+ name: string;
2221
+ config?: Record<string, unknown> | undefined;
2222
+ }[] | undefined;
2219
2223
  model?: string | undefined;
2220
2224
  provider?: {
2221
2225
  default?: string | undefined;
@@ -2276,10 +2280,6 @@ export declare const OADSchema: z.ZodObject<{
2276
2280
  agents?: string[] | undefined;
2277
2281
  topics?: string[] | undefined;
2278
2282
  } | undefined;
2279
- streaming?: boolean | {
2280
- enabled?: boolean | undefined;
2281
- chunkSize?: number | undefined;
2282
- } | undefined;
2283
2283
  locale?: "en" | "zh-CN" | undefined;
2284
2284
  workflows?: {
2285
2285
  name: string;
@@ -2292,7 +2292,7 @@ export declare const OADSchema: z.ZodObject<{
2292
2292
  enabled?: boolean | undefined;
2293
2293
  requireApproval?: string[] | undefined;
2294
2294
  defaultTimeoutMs?: number | undefined;
2295
- defaultAction?: "approve" | "deny" | undefined;
2295
+ defaultAction?: "deny" | "approve" | undefined;
2296
2296
  } | undefined;
2297
2297
  telemetry?: {
2298
2298
  enabled?: boolean | undefined;
@@ -0,0 +1,16 @@
1
+ import type { SkillConfig, SkillDefinition } from '../core/types';
2
+ export interface LoadedSkill {
3
+ config: SkillConfig;
4
+ module: unknown;
5
+ loadedAt: number;
6
+ }
7
+ export declare function loadSkill(config: SkillConfig): Promise<LoadedSkill>;
8
+ export declare function loadAllSkills(configs: SkillConfig[]): Promise<LoadedSkill[]>;
9
+ export declare function loadSkillIndex(dirs: string[]): Promise<{
10
+ name: string;
11
+ description: string;
12
+ path: string;
13
+ }[]>;
14
+ export declare function loadSkillFull(skillPath: string): Promise<SkillDefinition>;
15
+ export declare function loadSkillReference(skillDir: string, refPath: string): Promise<string>;
16
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIlE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAQzE;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAOlF;AAKD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAchE;AAGD,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAG/E;AAGD,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3F"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadSkill = loadSkill;
37
+ exports.loadAllSkills = loadAllSkills;
38
+ exports.loadSkillIndex = loadSkillIndex;
39
+ exports.loadSkillFull = loadSkillFull;
40
+ exports.loadSkillReference = loadSkillReference;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ async function loadSkill(config) {
44
+ const resolvedPath = path.isAbsolute(config.path)
45
+ ? config.path
46
+ : path.resolve(process.cwd(), config.path);
47
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
48
+ const mod = await Promise.resolve(`${resolvedPath}`).then(s => __importStar(require(s)));
49
+ return { config, module: mod, loadedAt: Date.now() };
50
+ }
51
+ async function loadAllSkills(configs) {
52
+ const results = [];
53
+ for (const config of configs) {
54
+ if (config.enabled === false)
55
+ continue;
56
+ results.push(await loadSkill(config));
57
+ }
58
+ return results;
59
+ }
60
+ // --- L0/L1/L2 progressive markdown skill loader ---
61
+ // L0: load name + description index only (~3k tokens)
62
+ async function loadSkillIndex(dirs) {
63
+ const index = [];
64
+ for (const dir of dirs) {
65
+ if (!fs.existsSync(dir))
66
+ continue;
67
+ const files = await fs.promises.readdir(dir, { recursive: true });
68
+ for (const file of files) {
69
+ if (!String(file).endsWith('.md'))
70
+ continue;
71
+ const fullPath = path.join(dir, String(file));
72
+ const content = await fs.promises.readFile(fullPath, 'utf-8');
73
+ const { name, description } = parseSkillFrontmatter(content);
74
+ if (name)
75
+ index.push({ name, description: description || '', path: fullPath });
76
+ }
77
+ }
78
+ return index;
79
+ }
80
+ // L1: load full skill definition from a markdown file
81
+ async function loadSkillFull(skillPath) {
82
+ const content = await fs.promises.readFile(skillPath, 'utf-8');
83
+ return parseSkillContent(content);
84
+ }
85
+ // L2: load an external file referenced by a skill
86
+ async function loadSkillReference(skillDir, refPath) {
87
+ return fs.promises.readFile(path.join(skillDir, refPath), 'utf-8');
88
+ }
89
+ function parseSkillFrontmatter(content) {
90
+ const match = content.match(/^---\n([\s\S]*?)\n---/);
91
+ if (!match)
92
+ return { name: '', description: '' };
93
+ const yaml = match[1];
94
+ const name = yaml.match(/name:\s*(.+)/)?.[1]?.trim() ?? '';
95
+ const description = yaml.match(/description:\s*['"]?(.+?)['"]?\s*$/m)?.[1]?.trim() ?? '';
96
+ return { name, description };
97
+ }
98
+ function parseSkillContent(content) {
99
+ const match = content.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
100
+ const yaml = match?.[1] ?? '';
101
+ const body = match?.[2] ?? content;
102
+ const name = yaml.match(/name:\s*(.+)/)?.[1]?.trim() ?? '';
103
+ const description = yaml.match(/description:\s*['"]?(.+?)['"]?\s*$/m)?.[1]?.trim() ?? '';
104
+ const triggersMatch = yaml.match(/triggers:\s*\[([^\]]*)\]/);
105
+ const triggers = triggersMatch
106
+ ? triggersMatch[1].split(',').map((t) => t.trim().replace(/^['"]|['"]$/g, '')).filter(Boolean)
107
+ : [];
108
+ const referencesMatch = yaml.match(/references:\s*\[([^\]]*)\]/);
109
+ const references = referencesMatch
110
+ ? referencesMatch[1].split(',').map((r) => r.trim().replace(/^['"]|['"]$/g, '')).filter(Boolean)
111
+ : [];
112
+ return { name, description, triggers, content: body.trim(), references };
113
+ }
114
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,8BAQC;AAED,sCAOC;AAKD,wCAgBC;AAGD,sCAGC;AAGD,gDAEC;AA7DD,uCAAyB;AACzB,2CAA6B;AAWtB,KAAK,UAAU,SAAS,CAAC,MAAmB;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7C,iEAAiE;IACjE,MAAM,GAAG,GAAG,yBAAa,YAAY,uCAAC,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACvD,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QACvC,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qDAAqD;AAErD,sDAAsD;AAC/C,KAAK,UAAU,cAAc,CAClC,IAAc;IAEd,MAAM,KAAK,GAA0D,EAAE,CAAC;IACxE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AAC/C,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,kDAAkD;AAC3C,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IACxE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEzF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9F,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,eAAe;QAChC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAChG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { SkillConfig } from '../core/types';
2
+ export interface MatchResult {
3
+ skill: SkillConfig;
4
+ score: number;
5
+ reason: string;
6
+ }
7
+ export declare function matchSkills(message: string, skills: SkillConfig[]): Promise<MatchResult[]>;
8
+ export declare function matchSkillIndex(query: string, index: {
9
+ name: string;
10
+ description: string;
11
+ path: string;
12
+ }[], topK?: number): {
13
+ name: string;
14
+ path: string;
15
+ score: number;
16
+ }[];
17
+ export declare function topMatch(results: MatchResult[], threshold?: number): MatchResult | null;
18
+ //# sourceMappingURL=matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/skills/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CAUxB;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5D,IAAI,SAAI,GACP;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA0BjD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,SAAM,GAAG,WAAW,GAAG,IAAI,CAGpF"}