page-action-cache 2026.3.4 → 2026.3.6

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Page Action Cache - OpenClaw Extension
3
- * 页面操作缓存扩展
3
+ * 页面操作缓存扩展 (测试版本 - 单个工具)
4
4
  */
5
5
  interface OpenClawPluginApi {
6
6
  registerTool(tool: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,UAAU,iBAAiB;IACzB,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAChD,GAAG,IAAI,CAAC;CACV;AA2DD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA+E7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,UAAU,iBAAiB;IACzB,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAChD,GAAG,IAAI,CAAC;CACV;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAoB7D"}
package/dist/index.js CHANGED
@@ -1,112 +1,24 @@
1
1
  /**
2
2
  * Page Action Cache - OpenClaw Extension
3
- * 页面操作缓存扩展
3
+ * 页面操作缓存扩展 (测试版本 - 单个工具)
4
4
  */
5
- // 内存缓存(页面会话级别)
6
- const memoryCache = new Map();
7
- const MAX_CACHE_SIZE = 50;
8
- const CACHE_TTL_MS = 5 * 60 * 1000; // 5 分钟
9
- /**
10
- * 生成缓存键 (为未来 hooks 实现预留)
11
- */
12
- /*
13
- function getCacheKey(profile: string | undefined, targetId: string | undefined, url: string | undefined): string {
14
- const parts = [];
15
- if (profile) parts.push(profile);
16
- if (targetId) parts.push(targetId);
17
- if (url) parts.push(url);
18
- return parts.join(':');
19
- }
20
- */
21
- /**
22
- * 清理过期缓存
23
- */
24
- function cleanupExpiredCache() {
25
- const now = Date.now();
26
- let cleaned = 0;
27
- for (const [key, entry] of memoryCache.entries()) {
28
- if (now - entry.timestamp > CACHE_TTL_MS) {
29
- memoryCache.delete(key);
30
- cleaned++;
31
- }
32
- }
33
- // LRU 清理
34
- while (memoryCache.size > MAX_CACHE_SIZE) {
35
- const oldestKey = memoryCache.keys().next().value;
36
- if (oldestKey) {
37
- memoryCache.delete(oldestKey);
38
- cleaned++;
39
- }
40
- }
41
- return cleaned;
42
- }
43
5
  /**
44
6
  * 主扩展入口
45
7
  */
46
8
  export default function register(api) {
47
9
  console.log('[PageActionCache] Starting...');
48
- // 注册缓存统计工具
49
- api.registerTool({
50
- name: 'page_cache_stats',
51
- description: 'View page snapshot cache statistics',
52
- inputSchema: {
53
- type: 'object',
54
- properties: {},
55
- required: []
56
- },
57
- async execute() {
58
- cleanupExpiredCache();
59
- const entries = Array.from(memoryCache.values());
60
- const profiles = new Set(entries.filter(e => e.profile).map(e => e.profile));
61
- const urls = new Set(entries.map(e => e.url));
62
- const stats = {
63
- totalEntries: memoryCache.size,
64
- uniqueProfiles: profiles.size,
65
- uniqueUrls: urls.size,
66
- hits: entries.reduce((sum, e) => sum + e.hitCount, 0),
67
- avgHitCount: memoryCache.size > 0
68
- ? entries.reduce((sum, e) => sum + e.hitCount, 0) / memoryCache.size
69
- : 0,
70
- oldestEntry: memoryCache.size > 0
71
- ? Math.min(...entries.map(e => e.timestamp))
72
- : null,
73
- newestEntry: memoryCache.size > 0
74
- ? Math.max(...entries.map(e => e.timestamp))
75
- : null
76
- };
77
- console.log('[PageActionCache] Stats:', JSON.stringify(stats));
78
- let report = `## Page Snapshot Cache Statistics\n\n`;
79
- report += `- Total Entries: ${stats.totalEntries}\n`;
80
- report += `- Unique Profiles: ${stats.uniqueProfiles}\n`;
81
- report += `- Unique URLs: ${stats.uniqueUrls}\n`;
82
- report += `- Total Hits: ${stats.hits}\n`;
83
- report += `- Avg Hits per Entry: ${stats.avgHitCount.toFixed(2)}\n`;
84
- report += `- Hit Rate: ${(stats.totalEntries > 0 ? (stats.hits / stats.totalEntries * 100).toFixed(2) : '0.00')}%\n`;
85
- if (profiles.size > 0) {
86
- report += `\n**Profiles:** ${Array.from(profiles).join(', ')}\n`;
87
- }
88
- return {
89
- text: report,
90
- stats
91
- };
92
- }
93
- });
94
- // 注册缓存清空工具
10
+ // 测试:注册一个简单工具
95
11
  api.registerTool({
96
- name: 'page_cache_clear',
97
- description: 'Clear page snapshot cache',
12
+ name: 'test_tool',
13
+ description: 'A simple test tool',
98
14
  inputSchema: {
99
15
  type: 'object',
100
16
  properties: {},
101
17
  required: []
102
18
  },
103
19
  async execute() {
104
- const count = memoryCache.size;
105
- memoryCache.clear();
106
- console.log('[PageActionCache] Cleared', count);
107
20
  return {
108
- text: `Cleared ${count} cache entries`,
109
- cleared: count
21
+ text: 'Test tool executed successfully'
110
22
  };
111
23
  }
112
24
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAsB;IACrD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,cAAc;IACd,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,CAAC,OAAO;YACX,OAAO;gBACL,IAAI,EAAE,iCAAiC;aAC7B,CAAC;QACf,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "page-action-cache",
3
- "version": "2026.3.4",
3
+ "version": "2026.3.6",
4
4
  "description": "Page Action Cache - OpenClaw extension",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",