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,12 @@
1
+ import { Message, AgentConfig, ChatMessage, ContextLevel } from './types';
2
+ export declare function classifyMessage(content: string): ContextLevel;
3
+ export declare function assembleContext(userMessage: string, config: AgentConfig, history: Message[]): Promise<ChatMessage[]>;
4
+ export declare class ContextAssembler {
5
+ private opts;
6
+ constructor(opts: {
7
+ maxMessages?: number;
8
+ systemPromptOverride?: string;
9
+ });
10
+ assemble(history: ChatMessage[], systemPrompt: string): ChatMessage[];
11
+ }
12
+ //# sourceMappingURL=context-assembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-assembler.d.ts","sourceRoot":"","sources":["../../src/core/context-assembler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,YAAY,EAAiB,MAAM,SAAS,CAAC;AAIpG,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAS7D;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAwCxB;AAcD,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE;IAEjF,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE;CAStE"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextAssembler = void 0;
4
+ exports.classifyMessage = classifyMessage;
5
+ exports.assembleContext = assembleContext;
6
+ const provider_1 = require("../deepbrain/provider");
7
+ const workspace_files_1 = require("../deepbrain/workspace-files");
8
+ function classifyMessage(content) {
9
+ if (content.length < 20 &&
10
+ /^(你好|hi|hello|谢谢|ok|好的|嗯)$/i.test(content.trim())) {
11
+ return 'simple';
12
+ }
13
+ if (/上次|之前|记得|历史|还记得|以前/.test(content))
14
+ return 'recall';
15
+ return 'complex';
16
+ }
17
+ async function assembleContext(userMessage, config, history) {
18
+ const messages = [];
19
+ // 1. System prompt from EGO.md in working directory
20
+ const ego = await (0, workspace_files_1.readEgo)('.');
21
+ const sysContent = ego ? formatEgoAsSystem(ego) : 'You are a helpful assistant.';
22
+ messages.push({ role: 'system', content: sysContent });
23
+ const level = classifyMessage(userMessage);
24
+ // 2. Recall relevant memories (skip for simple greetings)
25
+ if (level !== 'simple' && config.deepbrain) {
26
+ try {
27
+ const brain = new provider_1.DeepBrain(config.deepbrain);
28
+ await brain.init();
29
+ const result = await brain.recall({ query: userMessage, topK: 5 });
30
+ if (result.entries.length > 0) {
31
+ const memBlock = result.entries.map(r => `- ${r.content}`).join('\n');
32
+ messages.push({ role: 'system', content: `## 相关记忆\n${memBlock}` });
33
+ }
34
+ }
35
+ catch {
36
+ // non-fatal: continue without recall
37
+ }
38
+ }
39
+ // 3. Surface skill hints for complex queries
40
+ if (level === 'complex' && config.skills?.length) {
41
+ const skillList = config.skills.map(s => `- ${s.name}: ${s.description}`).join('\n');
42
+ messages.push({ role: 'system', content: `## 可用技能\n${skillList}` });
43
+ }
44
+ // 4. Recent conversation history (last 20 turns)
45
+ for (const msg of history.slice(-20)) {
46
+ messages.push({ role: msg.role, content: msg.content });
47
+ }
48
+ // 5. Current user message
49
+ messages.push({ role: 'user', content: userMessage });
50
+ return messages;
51
+ }
52
+ function formatEgoAsSystem(ego) {
53
+ const parts = [
54
+ `You are ${ego.identity.emoji} ${ego.identity.name}, a ${ego.identity.creature}.`,
55
+ ];
56
+ if (ego.role)
57
+ parts.push(`Role: ${ego.role}`);
58
+ if (ego.principles.length) {
59
+ parts.push('Principles:\n' + ego.principles.map(p => `- ${p}`).join('\n'));
60
+ }
61
+ if (ego.egoContext)
62
+ parts.push(ego.egoContext);
63
+ return parts.join('\n\n');
64
+ }
65
+ class ContextAssembler {
66
+ opts;
67
+ constructor(opts) {
68
+ this.opts = opts;
69
+ }
70
+ assemble(history, systemPrompt) {
71
+ const sys = {
72
+ role: 'system',
73
+ content: this.opts.systemPromptOverride ?? systemPrompt,
74
+ };
75
+ const max = this.opts.maxMessages ?? 50;
76
+ const trimmed = history.length > max ? history.slice(history.length - max) : history;
77
+ return [sys, ...trimmed];
78
+ }
79
+ }
80
+ exports.ContextAssembler = ContextAssembler;
81
+ //# sourceMappingURL=context-assembler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-assembler.js","sourceRoot":"","sources":["../../src/core/context-assembler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { GuardrailConfig } from './types';
2
+ export declare function checkInput(input: string, config?: GuardrailConfig): {
3
+ safe: boolean;
4
+ reason?: string;
5
+ };
6
+ export declare function filterOutput(output: string, config?: GuardrailConfig): string;
7
+ export declare class Guardrails {
8
+ private config;
9
+ constructor(config: GuardrailConfig);
10
+ checkInput(input: string): {
11
+ safe: boolean;
12
+ reason?: string;
13
+ };
14
+ filterOutput(output: string): string;
15
+ }
16
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/core/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAY1C,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBpC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAW7E;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAO7D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Guardrails = void 0;
4
+ exports.checkInput = checkInput;
5
+ exports.filterOutput = filterOutput;
6
+ const DANGEROUS_PATTERNS = [
7
+ /rm\s+-rf\s+\//i,
8
+ /format\s+[c-z]:/i,
9
+ /DROP\s+TABLE/i,
10
+ /DELETE\s+FROM\s+\w+\s*;?\s*$/i,
11
+ /:\(\)\{ :\|:& \};:/,
12
+ /mkfs\./i,
13
+ /dd\s+if=.*of=\/dev\//i,
14
+ ];
15
+ function checkInput(input, config) {
16
+ for (const pattern of DANGEROUS_PATTERNS) {
17
+ if (pattern.test(input)) {
18
+ return { safe: false, reason: `Blocked dangerous pattern: ${pattern.source}` };
19
+ }
20
+ }
21
+ if (config?.blockedPatterns) {
22
+ for (const rule of config.blockedPatterns) {
23
+ const re = rule.pattern instanceof RegExp
24
+ ? rule.pattern
25
+ : new RegExp(rule.pattern, 'i');
26
+ if (re.test(input)) {
27
+ return { safe: false, reason: rule.message ?? `Blocked by rule: ${rule.name}` };
28
+ }
29
+ }
30
+ }
31
+ return { safe: true };
32
+ }
33
+ function filterOutput(output, config) {
34
+ let filtered = output;
35
+ filtered = filtered.replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g, '[EMAIL]');
36
+ filtered = filtered.replace(/\b1[3-9]\d{9}\b/g, '[PHONE]');
37
+ if (config?.outputFilters) {
38
+ for (const f of config.outputFilters) {
39
+ const result = f.fn(filtered);
40
+ if (result !== null)
41
+ filtered = result;
42
+ }
43
+ }
44
+ return filtered;
45
+ }
46
+ class Guardrails {
47
+ config;
48
+ constructor(config) {
49
+ this.config = config;
50
+ }
51
+ checkInput(input) {
52
+ if (this.config.maxInputLength && input.length > this.config.maxInputLength) {
53
+ return { safe: false, reason: 'input_too_long' };
54
+ }
55
+ return checkInput(input, this.config);
56
+ }
57
+ filterOutput(output) {
58
+ return filterOutput(output, this.config);
59
+ }
60
+ }
61
+ exports.Guardrails = Guardrails;
62
+ //# sourceMappingURL=guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/core/guardrails.ts"],"names":[],"mappings":";;;AAYA,gCAoBC;AAED,oCAWC;AA3CD,MAAM,kBAAkB,GAAG;IACzB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,+BAA+B;IAC/B,oBAAoB;IACpB,SAAS;IACT,uBAAuB;CACxB,CAAC;AAEF,SAAgB,UAAU,CACxB,KAAa,EACb,MAAwB;IAExB,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IACD,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,YAAY,MAAM;gBACvC,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,oBAAoB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,MAAwB;IACnE,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qDAAqD,EAAE,SAAS,CAAC,CAAC;IAC9F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,IAAI;gBAAE,QAAQ,GAAG,MAAM,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAa,UAAU;IACD;IAApB,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE/C,UAAU,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAbD,gCAaC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // placeholder
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,cAAc"}
@@ -0,0 +1,12 @@
1
+ import { BudgetState } from './types';
2
+ export declare class IterationBudget {
3
+ private max;
4
+ private current;
5
+ constructor(max: number);
6
+ tick(): void;
7
+ isExhausted(): boolean;
8
+ getState(): BudgetState;
9
+ getCurrent(): number;
10
+ getMax(): number;
11
+ }
12
+ //# sourceMappingURL=iteration-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iteration-budget.d.ts","sourceRoot":"","sources":["../../src/core/iteration-budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,eAAe;IAGd,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,OAAO,CAAK;gBAEA,GAAG,EAAE,MAAM;IAE/B,IAAI,IAAI,IAAI;IAEZ,WAAW,IAAI,OAAO;IAEtB,QAAQ,IAAI,WAAW;IAQvB,UAAU,IAAI,MAAM;IACpB,MAAM,IAAI,MAAM;CACjB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IterationBudget = void 0;
4
+ class IterationBudget {
5
+ max;
6
+ current = 0;
7
+ constructor(max) {
8
+ this.max = max;
9
+ }
10
+ tick() { this.current++; }
11
+ isExhausted() { return this.current >= this.max; }
12
+ getState() {
13
+ const ratio = this.current / this.max;
14
+ if (ratio >= 1)
15
+ return 'stop';
16
+ if (ratio >= 0.9)
17
+ return 'critical';
18
+ if (ratio >= 0.7)
19
+ return 'warn';
20
+ return 'ok';
21
+ }
22
+ getCurrent() { return this.current; }
23
+ getMax() { return this.max; }
24
+ }
25
+ exports.IterationBudget = IterationBudget;
26
+ //# sourceMappingURL=iteration-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iteration-budget.js","sourceRoot":"","sources":["../../src/core/iteration-budget.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAGN;IAFZ,OAAO,GAAG,CAAC,CAAC;IAEpB,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEnC,IAAI,KAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEhC,WAAW,KAAc,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3D,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACtC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QAC9B,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC;QACpC,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAa,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC;AAnBD,0CAmBC"}
@@ -1,5 +1,13 @@
1
1
  import { EventEmitter } from 'events';
2
2
  export type AgentState = 'init' | 'ready' | 'running' | 'stopped' | 'error';
3
+ export type SkillLevel = 'builtin' | 'auto' | 'user';
4
+ export type PermissionLevel = 'allow' | 'ask' | 'deny';
5
+ export type DeepBrainLayer = 'l1' | 'l2' | 'l3' | 'l4';
6
+ export type WorkstationLayer = 'workstation' | 'job' | 'industry';
7
+ export type KnowledgeSource = 'l1' | 'l2' | 'l3' | 'l4' | 'user' | 'seed';
8
+ export type EmbeddingProvider = 'ollama' | 'openai' | 'local' | 'none';
9
+ export type BudgetState = 'ok' | 'warn' | 'critical' | 'stop';
10
+ export type ContextLevel = 'simple' | 'recall' | 'complex';
3
11
  export interface Message {
4
12
  id: string;
5
13
  role: 'user' | 'assistant' | 'system';
@@ -55,4 +63,408 @@ export interface IAgent extends EventEmitter {
55
63
  registerSkill(skill: ISkill): void;
56
64
  bindChannel(channel: IChannel): void;
57
65
  }
66
+ export interface UserMessage {
67
+ role: 'user';
68
+ content: string;
69
+ name?: string;
70
+ sessionId?: string;
71
+ timestamp?: number;
72
+ }
73
+ export interface AssistantMessage {
74
+ role: 'assistant';
75
+ content: string;
76
+ toolCalls?: ToolCall[];
77
+ timestamp?: number;
78
+ }
79
+ export interface ToolMessage {
80
+ role: 'tool';
81
+ toolCallId: string;
82
+ content: string;
83
+ isError?: boolean;
84
+ }
85
+ export interface SystemMessage {
86
+ role: 'system';
87
+ content: string;
88
+ }
89
+ export interface ToolCall {
90
+ id: string;
91
+ name: string;
92
+ arguments: string;
93
+ }
94
+ export interface ToolResult {
95
+ callId: string;
96
+ content: string;
97
+ isError?: boolean;
98
+ }
99
+ export type ChatMessage = UserMessage | AssistantMessage | ToolMessage | SystemMessage;
100
+ export interface EgoConfig {
101
+ identity: {
102
+ name: string;
103
+ creature: string;
104
+ emoji: string;
105
+ };
106
+ role: string;
107
+ principles: string[];
108
+ evolutionGoals: string[];
109
+ egoContext: string;
110
+ }
111
+ export interface DeepBrainConfig {
112
+ dbPath: string;
113
+ layers: WorkstationLayer[];
114
+ embeddingProvider: 'ollama' | 'none';
115
+ embeddingModel: string;
116
+ maxEntries?: number;
117
+ autoMigrate?: boolean;
118
+ }
119
+ export interface ModelConfig {
120
+ provider: 'agentkits' | 'openai' | 'anthropic' | 'ollama' | string;
121
+ strategy: 'experience' | 'cost' | 'free';
122
+ apiKey?: string;
123
+ override?: {
124
+ provider: string;
125
+ apiKey: string;
126
+ model: string;
127
+ };
128
+ local: {
129
+ provider: 'ollama';
130
+ model: 'auto' | string;
131
+ embeddingModel: 'auto' | string;
132
+ };
133
+ fallback: 'ollama' | 'none';
134
+ }
135
+ export interface EvolutionConfig {
136
+ strategy: 'experience' | 'cost' | 'free';
137
+ l1: {
138
+ enabled: boolean;
139
+ };
140
+ l2: {
141
+ enabled: boolean;
142
+ trigger: 'idle_2h' | 'messages_50' | 'manual';
143
+ };
144
+ l3: {
145
+ enabled: boolean;
146
+ autoDiscover: boolean;
147
+ verifier: boolean;
148
+ };
149
+ l4: {
150
+ enabled: boolean;
151
+ upwardFlow: boolean;
152
+ desensitize: boolean;
153
+ };
154
+ }
155
+ export interface SkillConfig {
156
+ name: string;
157
+ description: string;
158
+ path: string;
159
+ level: SkillLevel;
160
+ enabled?: boolean;
161
+ parameters?: Record<string, unknown>;
162
+ }
163
+ export interface McpServerConfig {
164
+ name: string;
165
+ command: string;
166
+ args: string[];
167
+ env: Record<string, string>;
168
+ transport?: 'stdio' | 'sse';
169
+ url?: string;
170
+ }
171
+ export interface ToolConfig {
172
+ builtin: string[];
173
+ mcp: McpServerConfig[];
174
+ permissions: Record<string, PermissionLevel>;
175
+ timeout?: number;
176
+ maxConcurrent?: number;
177
+ }
178
+ export interface WebConfig {
179
+ enabled: boolean;
180
+ port?: number;
181
+ host?: string;
182
+ cors?: boolean | string[];
183
+ auth?: boolean;
184
+ wsPath?: string;
185
+ }
186
+ /** @deprecated Use WebConfig */
187
+ export type WebChannelConfig = WebConfig;
188
+ export interface TelegramConfig {
189
+ enabled: boolean;
190
+ token: string;
191
+ webhookUrl?: string;
192
+ allowedUsers?: string[];
193
+ }
194
+ /** @deprecated Use TelegramConfig */
195
+ export type TelegramChannelConfig = TelegramConfig;
196
+ export interface ApiConfig {
197
+ enabled: boolean;
198
+ port?: number;
199
+ basePath?: string;
200
+ auth?: 'bearer' | 'apikey' | 'none';
201
+ apiKeys?: string[];
202
+ }
203
+ /** @deprecated Use ApiConfig */
204
+ export type ApiChannelConfig = ApiConfig;
205
+ export interface VoiceConfig {
206
+ enabled: boolean;
207
+ provider?: 'whisper' | 'azure' | 'google';
208
+ language?: string;
209
+ wakeWord?: string;
210
+ }
211
+ /** @deprecated Use VoiceConfig */
212
+ export type VoiceChannelConfig = VoiceConfig;
213
+ export interface ChannelConfig {
214
+ web?: WebConfig;
215
+ telegram?: TelegramConfig;
216
+ api?: ApiConfig;
217
+ voice?: VoiceConfig;
218
+ }
219
+ export interface GuardrailRule {
220
+ id: string;
221
+ name: string;
222
+ pattern: string | RegExp;
223
+ action: 'block' | 'warn' | 'redact';
224
+ message?: string;
225
+ }
226
+ export interface InputFilter {
227
+ id: string;
228
+ fn: (input: string) => string | null;
229
+ description?: string;
230
+ }
231
+ export interface OutputFilter {
232
+ id: string;
233
+ fn: (output: string) => string | null;
234
+ description?: string;
235
+ }
236
+ export interface GuardrailConfig {
237
+ inputFilters: InputFilter[];
238
+ outputFilters: OutputFilter[];
239
+ blockedPatterns: GuardrailRule[];
240
+ maxInputLength?: number;
241
+ maxOutputLength?: number;
242
+ }
243
+ export interface AgentConfig {
244
+ ego: EgoConfig;
245
+ deepbrain: DeepBrainConfig;
246
+ model: ModelConfig;
247
+ evolution: EvolutionConfig;
248
+ skills: SkillConfig[];
249
+ tools: ToolConfig;
250
+ channels: ChannelConfig;
251
+ guardrails: GuardrailConfig;
252
+ }
253
+ export interface KnowledgeEntry {
254
+ id: string;
255
+ content: string;
256
+ source: KnowledgeSource;
257
+ layer: WorkstationLayer;
258
+ tags: string[];
259
+ embedding: number[] | null;
260
+ maturityScore: number;
261
+ useCount: number;
262
+ lastUsed: string;
263
+ createdAt: string;
264
+ updatedAt: string;
265
+ }
266
+ export interface Experience {
267
+ id: string;
268
+ sessionId: string;
269
+ summary: string;
270
+ lessons: string[];
271
+ errorPatterns: string[];
272
+ createdAt: string;
273
+ }
274
+ export interface SkillRecord {
275
+ id: string;
276
+ name: string;
277
+ description: string;
278
+ filePath: string;
279
+ status: 'candidate' | 'active' | 'retired';
280
+ useCount: number;
281
+ createdAt: string;
282
+ }
283
+ export interface EvolutionLog {
284
+ id: string;
285
+ layer: 'l1' | 'l2' | 'l3' | 'l4';
286
+ action: string;
287
+ details: Record<string, any>;
288
+ modelUsed: string;
289
+ createdAt: string;
290
+ }
291
+ export interface ChatRequest {
292
+ model?: string;
293
+ messages: Message[];
294
+ systemPrompt?: string;
295
+ temperature?: number;
296
+ maxTokens?: number;
297
+ tools?: ToolDefinition[];
298
+ stream?: boolean;
299
+ }
300
+ export interface ChatResponse {
301
+ id: string;
302
+ model: string;
303
+ message: AssistantMessage;
304
+ usage: TokenUsage;
305
+ finishReason: 'stop' | 'tool_calls' | 'length' | 'error';
306
+ }
307
+ export interface TokenUsage {
308
+ promptTokens: number;
309
+ completionTokens: number;
310
+ totalTokens: number;
311
+ }
312
+ export interface StreamChunk {
313
+ id: string;
314
+ delta: string;
315
+ toolCallDelta?: Partial<ToolCall>;
316
+ finishReason?: 'stop' | 'tool_calls' | 'length' | 'error';
317
+ done: boolean;
318
+ }
319
+ export interface EmbedRequest {
320
+ model?: string;
321
+ input: string | string[];
322
+ }
323
+ export interface EmbedResponse {
324
+ model: string;
325
+ embeddings: number[][];
326
+ usage?: TokenUsage;
327
+ }
328
+ export interface ModelInfo {
329
+ id: string;
330
+ provider: string;
331
+ contextLength: number;
332
+ supportedFeatures: ('tools' | 'vision' | 'streaming' | 'embedding')[];
333
+ costPerMToken?: {
334
+ input: number;
335
+ output: number;
336
+ };
337
+ isLocal: boolean;
338
+ }
339
+ export interface ModelProvider {
340
+ chat(req: ChatRequest): Promise<ChatResponse>;
341
+ chatStream(req: ChatRequest): AsyncIterable<StreamChunk>;
342
+ embed(req: EmbedRequest): Promise<EmbedResponse>;
343
+ info(): Promise<ModelInfo[]>;
344
+ }
345
+ export interface RecallQuery {
346
+ query: string;
347
+ layer?: DeepBrainLayer | DeepBrainLayer[] | WorkstationLayer | WorkstationLayer[];
348
+ topK?: number;
349
+ minScore?: number;
350
+ tags?: string[];
351
+ includeEmbedding?: boolean;
352
+ }
353
+ export interface RecallResult {
354
+ entries: KnowledgeEntry[];
355
+ query: string;
356
+ elapsedMs: number;
357
+ }
358
+ export interface StoreResult {
359
+ id: string;
360
+ layer: DeepBrainLayer | WorkstationLayer;
361
+ success: boolean;
362
+ deduplicated?: boolean;
363
+ }
364
+ export interface DeepBrainStats {
365
+ totalEntries: number;
366
+ entriesByLayer: Record<string, number>;
367
+ avgMaturityScore: number;
368
+ lastEvolution?: number;
369
+ }
370
+ export interface DeepBrainProvider {
371
+ store(entry: Omit<KnowledgeEntry, 'id' | 'createdAt' | 'updatedAt'>): Promise<StoreResult>;
372
+ recall(query: RecallQuery): Promise<RecallResult>;
373
+ evolve(layer: DeepBrainLayer, config?: Partial<EvolutionConfig>): Promise<EvolutionLog>;
374
+ getStats(): Promise<DeepBrainStats>;
375
+ }
376
+ export interface TemplateProvider {
377
+ listIndustries(): Promise<string[]>;
378
+ listRoles(industry: string): Promise<string[]>;
379
+ getTemplate(role: string): Promise<OADSpec | null>;
380
+ }
381
+ export interface ToolDefinition {
382
+ name: string;
383
+ description: string;
384
+ parameters: Record<string, any>;
385
+ handler?: Function;
386
+ }
387
+ export interface ToolHook {
388
+ beforeTool?: (name: string, args: Record<string, unknown>) => Promise<void | Record<string, unknown>>;
389
+ afterTool?: (name: string, result: ToolResult) => Promise<void | ToolResult>;
390
+ }
391
+ export interface SkillDefinition {
392
+ name: string;
393
+ description: string;
394
+ triggers: string[];
395
+ content: string;
396
+ references: string[];
397
+ }
398
+ export interface SkillMatch {
399
+ skill: SkillDefinition;
400
+ score: number;
401
+ level: 'L0' | 'L1' | 'L2';
402
+ }
403
+ export interface Chunk {
404
+ type: 'text' | 'tool_call' | 'tool_result' | 'error';
405
+ content: string;
406
+ }
407
+ export interface IterationBudget {
408
+ maxIterations: number;
409
+ maxTokens: number;
410
+ timeoutMs?: number;
411
+ allowOverrun?: boolean;
412
+ }
413
+ export interface BudgetSnapshot {
414
+ iterationsUsed: number;
415
+ iterationsMax: number;
416
+ tokensUsed: number;
417
+ tokensMax: number;
418
+ elapsed: number;
419
+ deadline?: number;
420
+ }
421
+ export interface AgentLoopOptions {
422
+ maxIterations: number;
423
+ config: AgentConfig;
424
+ budgetStatus?: BudgetState;
425
+ stream?: boolean;
426
+ sessionId?: string;
427
+ }
428
+ export interface ContextAssemblerOptions {
429
+ level: ContextLevel;
430
+ maxMessages?: number;
431
+ includeSummary?: boolean;
432
+ includeMemory?: boolean;
433
+ systemPromptOverride?: string;
434
+ }
435
+ export interface AutoDreamAction {
436
+ type: 'merge' | 'trim' | 'reorganize';
437
+ ids: string[];
438
+ newContent?: string;
439
+ }
440
+ export interface MaturityScore {
441
+ frequency: number;
442
+ accuracy: number;
443
+ recency: number;
444
+ coverage: number;
445
+ total: number;
446
+ }
447
+ export interface DesensitizeResult {
448
+ original: string;
449
+ desensitized: string;
450
+ removedEntities: string[];
451
+ }
452
+ export interface OADMetadata {
453
+ name: string;
454
+ version: string;
455
+ description?: string;
456
+ author?: string;
457
+ created: number;
458
+ updated: number;
459
+ tags?: string[];
460
+ }
461
+ export interface OADSpec {
462
+ metadata: OADMetadata;
463
+ ego: EgoConfig;
464
+ model: ModelConfig;
465
+ skills: SkillConfig[];
466
+ tools: ToolConfig;
467
+ channels: ChannelConfig;
468
+ evolution?: EvolutionConfig;
469
+ }
58
470
  //# sourceMappingURL=types.d.ts.map