@cicctencent/agent-core 1.0.35 → 1.0.38

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 (119) hide show
  1. package/dist/cjs/agent/engine.d.ts +19 -0
  2. package/dist/cjs/agent/engine.d.ts.map +1 -1
  3. package/dist/cjs/agent/engine.js +87 -2
  4. package/dist/cjs/agent/engine.js.map +1 -1
  5. package/dist/cjs/agent/llm-caller.d.ts +22 -5
  6. package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
  7. package/dist/cjs/agent/llm-caller.js +113 -27
  8. package/dist/cjs/agent/llm-caller.js.map +1 -1
  9. package/dist/cjs/agent/tool-executor.d.ts +24 -0
  10. package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
  11. package/dist/cjs/agent/tool-executor.js +98 -8
  12. package/dist/cjs/agent/tool-executor.js.map +1 -1
  13. package/dist/cjs/agent/types.d.ts +5 -1
  14. package/dist/cjs/agent/types.d.ts.map +1 -1
  15. package/dist/cjs/agent/types.js.map +1 -1
  16. package/dist/cjs/index.d.ts +6 -2
  17. package/dist/cjs/index.d.ts.map +1 -1
  18. package/dist/cjs/index.js +17 -11
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/llm/anthropic-provider.d.ts +5 -0
  21. package/dist/cjs/llm/anthropic-provider.d.ts.map +1 -1
  22. package/dist/cjs/llm/anthropic-provider.js +25 -1
  23. package/dist/cjs/llm/anthropic-provider.js.map +1 -1
  24. package/dist/cjs/llm/ollama-provider.d.ts +8 -1
  25. package/dist/cjs/llm/ollama-provider.d.ts.map +1 -1
  26. package/dist/cjs/llm/ollama-provider.js +19 -0
  27. package/dist/cjs/llm/ollama-provider.js.map +1 -1
  28. package/dist/cjs/llm/openai-provider.d.ts.map +1 -1
  29. package/dist/cjs/llm/openai-provider.js +24 -0
  30. package/dist/cjs/llm/openai-provider.js.map +1 -1
  31. package/dist/cjs/llm/types.d.ts +40 -0
  32. package/dist/cjs/llm/types.d.ts.map +1 -1
  33. package/dist/cjs/llm/types.js +83 -0
  34. package/dist/cjs/llm/types.js.map +1 -1
  35. package/dist/cjs/pool/engine-pool.d.ts +4 -4
  36. package/dist/cjs/pool/engine-pool.d.ts.map +1 -1
  37. package/dist/cjs/pool/engine-pool.js +21 -50
  38. package/dist/cjs/pool/engine-pool.js.map +1 -1
  39. package/dist/cjs/runtime/run-registry-interface.d.ts +6 -0
  40. package/dist/cjs/runtime/run-registry-interface.d.ts.map +1 -1
  41. package/dist/cjs/runtime/run-registry.d.ts +8 -0
  42. package/dist/cjs/runtime/run-registry.d.ts.map +1 -1
  43. package/dist/cjs/runtime/run-registry.js +25 -0
  44. package/dist/cjs/runtime/run-registry.js.map +1 -1
  45. package/dist/cjs/security/guard.d.ts +12 -1
  46. package/dist/cjs/security/guard.d.ts.map +1 -1
  47. package/dist/cjs/security/guard.js +42 -10
  48. package/dist/cjs/security/guard.js.map +1 -1
  49. package/dist/cjs/security/types.d.ts +11 -0
  50. package/dist/cjs/security/types.d.ts.map +1 -1
  51. package/dist/cjs/types.d.ts +15 -1
  52. package/dist/cjs/types.d.ts.map +1 -1
  53. package/dist/cjs/utils/event-adapter.d.ts.map +1 -1
  54. package/dist/cjs/utils/event-adapter.js +6 -0
  55. package/dist/cjs/utils/event-adapter.js.map +1 -1
  56. package/dist/cjs/utils/ttl-lru-cache.d.ts +49 -0
  57. package/dist/cjs/utils/ttl-lru-cache.d.ts.map +1 -0
  58. package/dist/cjs/utils/ttl-lru-cache.js +108 -0
  59. package/dist/cjs/utils/ttl-lru-cache.js.map +1 -0
  60. package/dist/esm/agent/engine.d.ts +19 -0
  61. package/dist/esm/agent/engine.d.ts.map +1 -1
  62. package/dist/esm/agent/engine.js +87 -2
  63. package/dist/esm/agent/engine.js.map +1 -1
  64. package/dist/esm/agent/llm-caller.d.ts +22 -5
  65. package/dist/esm/agent/llm-caller.d.ts.map +1 -1
  66. package/dist/esm/agent/llm-caller.js +113 -27
  67. package/dist/esm/agent/llm-caller.js.map +1 -1
  68. package/dist/esm/agent/tool-executor.d.ts +24 -0
  69. package/dist/esm/agent/tool-executor.d.ts.map +1 -1
  70. package/dist/esm/agent/tool-executor.js +98 -8
  71. package/dist/esm/agent/tool-executor.js.map +1 -1
  72. package/dist/esm/agent/types.d.ts +5 -1
  73. package/dist/esm/agent/types.d.ts.map +1 -1
  74. package/dist/esm/agent/types.js.map +1 -1
  75. package/dist/esm/index.d.ts +6 -2
  76. package/dist/esm/index.d.ts.map +1 -1
  77. package/dist/esm/index.js +3 -0
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/llm/anthropic-provider.d.ts +5 -0
  80. package/dist/esm/llm/anthropic-provider.d.ts.map +1 -1
  81. package/dist/esm/llm/anthropic-provider.js +25 -1
  82. package/dist/esm/llm/anthropic-provider.js.map +1 -1
  83. package/dist/esm/llm/ollama-provider.d.ts +8 -1
  84. package/dist/esm/llm/ollama-provider.d.ts.map +1 -1
  85. package/dist/esm/llm/ollama-provider.js +19 -0
  86. package/dist/esm/llm/ollama-provider.js.map +1 -1
  87. package/dist/esm/llm/openai-provider.d.ts.map +1 -1
  88. package/dist/esm/llm/openai-provider.js +24 -0
  89. package/dist/esm/llm/openai-provider.js.map +1 -1
  90. package/dist/esm/llm/types.d.ts +40 -0
  91. package/dist/esm/llm/types.d.ts.map +1 -1
  92. package/dist/esm/llm/types.js +80 -0
  93. package/dist/esm/llm/types.js.map +1 -1
  94. package/dist/esm/pool/engine-pool.d.ts +4 -4
  95. package/dist/esm/pool/engine-pool.d.ts.map +1 -1
  96. package/dist/esm/pool/engine-pool.js +21 -50
  97. package/dist/esm/pool/engine-pool.js.map +1 -1
  98. package/dist/esm/runtime/run-registry-interface.d.ts +6 -0
  99. package/dist/esm/runtime/run-registry-interface.d.ts.map +1 -1
  100. package/dist/esm/runtime/run-registry.d.ts +8 -0
  101. package/dist/esm/runtime/run-registry.d.ts.map +1 -1
  102. package/dist/esm/runtime/run-registry.js +25 -0
  103. package/dist/esm/runtime/run-registry.js.map +1 -1
  104. package/dist/esm/security/guard.d.ts +12 -1
  105. package/dist/esm/security/guard.d.ts.map +1 -1
  106. package/dist/esm/security/guard.js +42 -10
  107. package/dist/esm/security/guard.js.map +1 -1
  108. package/dist/esm/security/types.d.ts +11 -0
  109. package/dist/esm/security/types.d.ts.map +1 -1
  110. package/dist/esm/types.d.ts +15 -1
  111. package/dist/esm/types.d.ts.map +1 -1
  112. package/dist/esm/utils/event-adapter.d.ts.map +1 -1
  113. package/dist/esm/utils/event-adapter.js +6 -0
  114. package/dist/esm/utils/event-adapter.js.map +1 -1
  115. package/dist/esm/utils/ttl-lru-cache.d.ts +49 -0
  116. package/dist/esm/utils/ttl-lru-cache.d.ts.map +1 -0
  117. package/dist/esm/utils/ttl-lru-cache.js +104 -0
  118. package/dist/esm/utils/ttl-lru-cache.js.map +1 -0
  119. package/package.json +1 -1
@@ -0,0 +1,104 @@
1
+ // ============================================================
2
+ // TtlLruCache — 通用 TTL + LRU 容量淘汰缓存
3
+ // ============================================================
4
+ /**
5
+ * 通用缓存:支持 TTL 过期清理与容量超限时的 LRU 强制淘汰。
6
+ * 被 EnginePool 与 agent-server 的客户端池复用,避免重复实现。
7
+ */
8
+ export class TtlLruCache {
9
+ map = new Map();
10
+ ttlMs;
11
+ maxSize;
12
+ onEvict;
13
+ constructor(options) {
14
+ this.ttlMs = options.ttlMs;
15
+ this.maxSize = options.maxSize ?? Infinity;
16
+ this.onEvict = options.onEvict;
17
+ }
18
+ get(key) {
19
+ const entry = this.map.get(key);
20
+ if (!entry)
21
+ return null;
22
+ if (this.isExpired(entry)) {
23
+ this.remove(key);
24
+ return null;
25
+ }
26
+ entry.lastUsed = Date.now();
27
+ return entry.value;
28
+ }
29
+ getWithVersion(key) {
30
+ const entry = this.map.get(key);
31
+ if (!entry)
32
+ return null;
33
+ if (this.isExpired(entry)) {
34
+ this.remove(key);
35
+ return null;
36
+ }
37
+ entry.lastUsed = Date.now();
38
+ return { value: entry.value, version: entry.version };
39
+ }
40
+ set(key, value, version) {
41
+ const existing = this.map.get(key);
42
+ if (existing)
43
+ this.onEvict?.(existing.value);
44
+ this.map.set(key, {
45
+ value,
46
+ createdAt: Date.now(),
47
+ lastUsed: Date.now(),
48
+ version,
49
+ });
50
+ }
51
+ has(key) {
52
+ return this.map.has(key);
53
+ }
54
+ delete(key) {
55
+ this.remove(key);
56
+ }
57
+ clear() {
58
+ for (const [key] of this.map)
59
+ this.remove(key);
60
+ }
61
+ get size() {
62
+ return this.map.size;
63
+ }
64
+ /** 枚举所有缓存值(不含过期判定) */
65
+ values() {
66
+ return [...this.map.values()].map((entry) => entry.value);
67
+ }
68
+ /** 判断是否过期(不触发淘汰,仅作判定) */
69
+ isExpired(entry) {
70
+ return Date.now() - entry.createdAt > this.ttlMs;
71
+ }
72
+ remove(key) {
73
+ const entry = this.map.get(key);
74
+ if (!entry)
75
+ return;
76
+ this.map.delete(key);
77
+ this.onEvict?.(entry.value);
78
+ }
79
+ /**
80
+ * 清理过期项;若清理后 size 仍超过 maxSize,按 idle 降序(最久未用优先)
81
+ * 强制淘汰未过期项,直至 size <= maxSize。
82
+ */
83
+ reapStale() {
84
+ const now = Date.now();
85
+ // 阶段 1:清理过期项
86
+ for (const [key, entry] of this.map) {
87
+ if (now - entry.createdAt > this.ttlMs) {
88
+ this.remove(key);
89
+ }
90
+ }
91
+ // 阶段 2:容量超限时强制 LRU 淘汰未过期项
92
+ if (this.map.size > this.maxSize) {
93
+ const candidates = [...this.map.entries()]
94
+ .map(([key, entry]) => ({ key, idle: now - entry.lastUsed }))
95
+ .sort((a, b) => b.idle - a.idle); // idle 大(最久未用)优先淘汰
96
+ for (const { key } of candidates) {
97
+ if (this.map.size <= this.maxSize)
98
+ break;
99
+ this.remove(key);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=ttl-lru-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttl-lru-cache.js","sourceRoot":"","sources":["../../../src/utils/ttl-lru-cache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cicctencent/agent-core",
3
- "version": "1.0.35",
3
+ "version": "1.0.38",
4
4
  "description": "Core engine for AI agent — LLM orchestration, tool execution, MCP, skill routing, security, and memory pipeline.",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",