page-action-cache 1.0.2 → 1.0.4

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.
@@ -3,16 +3,27 @@
3
3
  * 页面操作缓存扩展 - 入口点
4
4
  */
5
5
  /**
6
- * 扩展入口点 - OpenClaw 启动时调用
6
+ * Plugin definition - OpenClaw plugin API format
7
7
  */
8
- export declare function initializePageActionCache(api: any, config?: any): void;
9
- /**
10
- * 扩展元数据
11
- */
12
- export declare const pageActionCacheMeta: {
8
+ declare const pageActionCachePlugin: {
13
9
  id: string;
14
10
  name: string;
15
11
  version: string;
16
12
  description: string;
13
+ author: string;
14
+ license: string;
15
+ /**
16
+ * Register the plugin with OpenClaw
17
+ */
18
+ register(api: any): void;
17
19
  };
20
+ /**
21
+ * Default export - OpenClaw plugin format (function)
22
+ */
23
+ export default function (api: any): void;
24
+ /**
25
+ * Named export - direct initialization for manual use
26
+ */
27
+ export { pageActionCachePlugin };
28
+ export declare function initializePageActionCache(api: any, config?: any): void;
18
29
  //# sourceMappingURL=hooks-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-entry.d.ts","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAOtE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC"}
1
+ {"version":3,"file":"hooks-entry.d.ts","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwDH;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;IASzB;;OAEG;kBACW,GAAG;CAmBlB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,GAAG,QAEhC;AAED;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAOtE"}
@@ -4,8 +4,73 @@
4
4
  */
5
5
  import { registerPageActionCacheHooks } from "./hooks.js";
6
6
  /**
7
- * 扩展入口点 - 在 OpenClaw 启动时调用
7
+ * Default plugin configuration
8
8
  */
9
+ const DEFAULT_CONFIG = {
10
+ enabled: true,
11
+ autoUseCache: true,
12
+ scenarioRecognitionEnabled: true,
13
+ llmClassificationThreshold: 70,
14
+ cacheLevelStrategy: "auto",
15
+ defaultCacheLevel: "L3",
16
+ pageChangeDetectionEnabled: true,
17
+ changeInvalidationThreshold: 80,
18
+ invalidationStrategy: "soft",
19
+ variableExtractionEnabled: true,
20
+ allowUserConfirmVariables: false,
21
+ encryptSensitiveCache: false,
22
+ accessControlEnabled: false,
23
+ logSanitizationEnabled: true,
24
+ showCacheStatusToUser: true,
25
+ enableUserCacheConfirmation: false,
26
+ enableUserForcedRefresh: true,
27
+ enableUserCacheErrorReport: true,
28
+ trackExecutionStats: true,
29
+ statsUpdateInterval: 60,
30
+ };
31
+ /**
32
+ * Plugin definition - OpenClaw plugin API format
33
+ */
34
+ const pageActionCachePlugin = {
35
+ id: "page-action-cache",
36
+ name: "Page Action Cache",
37
+ version: "1.0.4",
38
+ description: "Browser operation cache extension - caches common page action sequences to reduce token consumption and operation latency",
39
+ author: "OpenClaw",
40
+ license: "MIT",
41
+ /**
42
+ * Register the plugin with OpenClaw
43
+ */
44
+ register(api) {
45
+ try {
46
+ // Get plugin config from OpenClaw config
47
+ const pluginConfig = api.config?.plugins?.entries?.["page-action-cache"]?.config || {};
48
+ // Merge with defaults
49
+ const config = { ...DEFAULT_CONFIG, ...pluginConfig };
50
+ // Register hooks and initialize extension
51
+ if (config.enabled) {
52
+ registerPageActionCacheHooks(api, config);
53
+ console.log("[PageActionCache] Extension initialized successfully");
54
+ }
55
+ else {
56
+ console.log("[PageActionCache] Extension disabled");
57
+ }
58
+ }
59
+ catch (error) {
60
+ console.error("[PageActionCache] Failed to initialize extension:", error);
61
+ }
62
+ },
63
+ };
64
+ /**
65
+ * Default export - OpenClaw plugin format (function)
66
+ */
67
+ export default function (api) {
68
+ pageActionCachePlugin.register(api);
69
+ }
70
+ /**
71
+ * Named export - direct initialization for manual use
72
+ */
73
+ export { pageActionCachePlugin };
9
74
  export function initializePageActionCache(api, config) {
10
75
  try {
11
76
  registerPageActionCacheHooks(api, config);
@@ -15,13 +80,4 @@ export function initializePageActionCache(api, config) {
15
80
  console.error("[PageActionCache] Failed to initialize extension:", error);
16
81
  }
17
82
  }
18
- /**
19
- * 扩展元数据
20
- */
21
- export const pageActionCacheMeta = {
22
- id: "page-action-cache",
23
- name: "Page Action Cache",
24
- version: "1.0.0",
25
- description: "浏览器操作缓存扩展 - 缓存常用页面操作序列以降低 token 消耗和操作延迟",
26
- };
27
83
  //# sourceMappingURL=hooks-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-entry.js","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAQ,EAAE,MAAY;IAC9D,IAAI,CAAC;QACH,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;CACvD,CAAC"}
1
+ {"version":3,"file":"hooks-entry.js","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AA4B1D;;GAEG;AACH,MAAM,cAAc,GAAoC;IACtD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,IAAI;IAClB,0BAA0B,EAAE,IAAI;IAChC,0BAA0B,EAAE,EAAE;IAC9B,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,IAAI;IACvB,0BAA0B,EAAE,IAAI;IAChC,2BAA2B,EAAE,EAAE;IAC/B,oBAAoB,EAAE,MAAM;IAC5B,yBAAyB,EAAE,IAAI;IAC/B,yBAAyB,EAAE,KAAK;IAChC,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,2BAA2B,EAAE,KAAK;IAClC,uBAAuB,EAAE,IAAI;IAC7B,0BAA0B,EAAE,IAAI;IAChC,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,EAAE;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG;IAC5B,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,2HAA2H;IAC7H,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,KAAK;IAEd;;OAEG;IACH,QAAQ,CAAC,GAAQ;QACf,IAAI,CAAC;YACH,yCAAyC;YACzC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;YAEvF,sBAAsB;YACtB,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,YAAY,EAAE,CAAC;YAEtD,0CAA0C;YAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,GAAQ;IAC/B,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,MAAM,UAAU,yBAAyB,CAAC,GAAQ,EAAE,MAAY;IAC9D,IAAI,CAAC;QACH,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { getCacheInvalidator } from "./cache-invalidator.js";
11
11
  export { getUXEnhancer } from "./ux-enhancer.js";
12
12
  export type { AtomicAction, Action, AtomicActionType, NavigateAction, ClickAction, TypeAction, PressAction, HoverAction, ScreenshotAction, EvaluateAction, CompositeAction, PageViewport, VariableMap, CacheLevel, PageType, CacheSource, DOMHashFeatures, PageChangeDetection, PageActionCacheEntry, ScenarioRule, ScenarioMatch, CacheStats, CacheConfig, ExecutionResult, PwAi, } from "./types.js";
13
13
  export { registerPageActionCacheHooks } from "./hooks.js";
14
- export { initializePageActionCache, pageActionCacheMeta } from "./hooks-entry.js";
14
+ export { initializePageActionCache, pageActionCachePlugin as pageActionCacheMeta } from "./hooks-entry.js";
15
15
  export { createExecuteCachedTool, executeCached, } from "./tools.js";
16
16
  export { createCacheListTool, cacheList, } from "./tools.js";
17
17
  export { createCacheStatsTool, cacheStats, } from "./tools.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,YAAY,EACV,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,eAAe,EACf,IAAI,GACL,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMlF,OAAO,EACL,uBAAuB,EACvB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,YAAY,EACV,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,eAAe,EACf,IAAI,GACL,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAM3G,OAAO,EACL,uBAAuB,EACvB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ export { getUXEnhancer } from "./ux-enhancer.js";
16
16
  // Hooks 导出
17
17
  // ============================================================================
18
18
  export { registerPageActionCacheHooks } from "./hooks.js";
19
- export { initializePageActionCache, pageActionCacheMeta } from "./hooks-entry.js";
19
+ export { initializePageActionCache, pageActionCachePlugin as pageActionCacheMeta } from "./hooks-entry.js";
20
20
  // ============================================================================
21
21
  // Tools 导出
22
22
  // ============================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAkCjD,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAElF,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EACL,uBAAuB,EACvB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAkCjD,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3G,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EACL,uBAAuB,EACvB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "id": "page-action-cache",
3
3
  "name": "Page Action Cache",
4
- "version": "1.0.0",
4
+ "version": "1.0.4",
5
5
  "description": "Caches LLM browser operations to avoid re-analyzing the same DOM. Reduces token consumption and operation latency through scenario recognition (login, search, payment, etc.) and multi-level caching (L3/L2/L1).",
6
6
  "author": "OpenClaw",
7
7
  "license": "MIT",
8
8
  "kind": "extension",
9
- "main": "./src/hooks-entry.js",
9
+ "main": "./dist/hooks-entry.js",
10
10
  "exports": {
11
- ".": "./src/index.js",
12
- "./hooks-entry": "./src/hooks-entry.js"
11
+ ".": "./dist/index.js",
12
+ "./hooks-entry": "./dist/hooks-entry.js"
13
13
  },
14
14
  "configSchema": {
15
15
  "type": "object",
@@ -203,6 +203,6 @@
203
203
  },
204
204
  "openclaw": {
205
205
  "minVersion": "2026.2.0",
206
- "extensions": ["./src/hooks-entry.js"]
206
+ "extensions": ["./dist/hooks-entry.js"]
207
207
  }
208
208
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "page-action-cache",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Page action caching extension for OpenClaw - caches LLM browser operations to avoid re-analyzing the same DOM",
5
5
  "keywords": [
6
6
  "automation",
@@ -17,24 +17,22 @@
17
17
  "directory": "extensions/page-action-cache"
18
18
  },
19
19
  "files": [
20
- "index.ts",
21
20
  "dist/",
22
- "src/",
23
21
  "skills/",
24
22
  "docs/",
25
23
  "package.json",
26
24
  "openclaw.plugin.json"
27
25
  ],
28
26
  "type": "module",
29
- "main": "src/hooks-entry.js",
27
+ "main": "dist/hooks-entry.js",
30
28
  "exports": {
31
29
  ".": {
32
- "types": "./src/index.d.ts",
33
- "default": "./src/index.js"
30
+ "types": "./dist/index.d.ts",
31
+ "default": "./dist/index.js"
34
32
  },
35
33
  "./hooks-entry": {
36
- "types": "./src/hooks-entry.d.ts",
37
- "default": "./src/hooks-entry.js"
34
+ "types": "./dist/hooks-entry.d.ts",
35
+ "default": "./dist/hooks-entry.js"
38
36
  }
39
37
  },
40
38
  "scripts": {
@@ -70,7 +68,7 @@
70
68
  },
71
69
  "openclaw": {
72
70
  "extensions": [
73
- "./src/hooks-entry.js"
71
+ "./dist/hooks-entry.js"
74
72
  ]
75
73
  }
76
74
  }
package/index.ts DELETED
@@ -1,118 +0,0 @@
1
- /**
2
- * Page Action Cache Extension
3
- * 页面操作缓存扩展入口
4
- *
5
- * 功能:
6
- * - 缓存 LLM 生成的浏览器操作序列
7
- * - 避免重复分析相同页面
8
- * - 大幅降低 token 消耗和操作延迟
9
- *
10
- * 使用方法:
11
- * 1. 安装扩展:npm install @openclaw/page-action-cache
12
- * 2. 在配置中启用扩展
13
- * 3. LLM 会自动使用缓存的操作序列
14
- */
15
-
16
- import type { CacheConfig } from "./src/types.js";
17
- import { registerPageActionCacheHooks } from "./src/hooks.js";
18
- import { getToolDefinitions } from "./src/tools.js";
19
-
20
- // ============================================================================
21
- // 扩展元数据
22
- // ============================================================================
23
-
24
- export const metadata = {
25
- name: "Page Action Cache",
26
- version: "1.0.0",
27
- description:
28
- "缓存 LLM 浏览器操作序列,避免重复分析相同页面,大幅降低 token 消耗",
29
- author: "OpenClaw",
30
- license: "MIT",
31
- };
32
-
33
- // ============================================================================
34
- // 默认配置
35
- // ============================================================================
36
-
37
- const DEFAULT_CONFIG: CacheConfig = {
38
- enabled: true,
39
- autoUseCache: true,
40
- scenarioRecognitionEnabled: true,
41
- llmClassificationThreshold: 70,
42
- cacheLevelStrategy: "auto",
43
- defaultCacheLevel: "L3",
44
- pageChangeDetectionEnabled: true,
45
- changeInvalidationThreshold: 80,
46
- invalidationStrategy: "soft",
47
- maxVersionsPerEntry: 3,
48
- variableExtractionEnabled: true,
49
- allowUserConfirmVariables: false,
50
- encryptSensitiveCache: false,
51
- accessControlEnabled: false,
52
- allowedUserIds: [],
53
- logSanitizationEnabled: true,
54
- showCacheStatusToUser: true,
55
- enableUserCacheConfirmation: false,
56
- enableUserForcedRefresh: true,
57
- enableUserCacheErrorReport: true,
58
- trackExecutionStats: true,
59
- statsUpdateInterval: 60,
60
- };
61
-
62
- // ============================================================================
63
- // 扩展初始化
64
- // ============================================================================
65
-
66
- /**
67
- * 扩展初始化函数
68
- */
69
- export function activate(api: any, config?: Partial<CacheConfig>): void {
70
- console.log(`[PageActionCache] Initializing v${metadata.version}...`);
71
-
72
- const finalConfig = { ...DEFAULT_CONFIG, ...config };
73
-
74
- // 注册 Hooks
75
- registerPageActionCacheHooks(api, finalConfig);
76
-
77
- // 注册自定义工具
78
- const toolDefinitions = getToolDefinitions();
79
- for (const toolDef of toolDefinitions) {
80
- api.registerTool?.(toolDef);
81
- console.log(`[PageActionCache] Registered tool: ${toolDef.name}`);
82
- }
83
-
84
- console.log("[PageActionCache] Extension activated successfully");
85
- }
86
-
87
- /**
88
- * 扩展停用函数
89
- */
90
- export function deactivate(): void {
91
- console.log("[PageActionCache] Deactivating...");
92
- // 清理资源
93
- console.log("[PageActionCache] Extension deactivated");
94
- }
95
-
96
- // ============================================================================
97
- // 导出(用于测试和调试)
98
- // ============================================================================
99
-
100
- export * from "./src/types.js";
101
- export { getCacheStore } from "./src/cache-store.js";
102
- export { getScenarioRecognizer } from "./src/scenario-recognizer.js";
103
- export { getVariableResolver } from "./src/variable-resolver.js";
104
- export { getCacheInvalidator } from "./src/cache-invalidator.js";
105
- export { getSecurityPolicy } from "./src/security-policy.js";
106
- export { getUXEnhancer } from "./src/ux-enhancer.js";
107
- export { getActionsExecutor } from "./src/actions-executor.js";
108
- export { getCacheStrategyFactory } from "./src/cache-strategy.js";
109
-
110
- // ============================================================================
111
- // 默认导出(OpenClaw 扩展系统使用)
112
- // ============================================================================
113
-
114
- export default {
115
- metadata,
116
- activate,
117
- deactivate,
118
- };