page-action-cache 1.0.4 → 2.0.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 (89) hide show
  1. package/README.md +399 -0
  2. package/dist/browser-action-executor.d.ts +87 -0
  3. package/dist/browser-action-executor.d.ts.map +1 -0
  4. package/dist/browser-action-executor.js +283 -0
  5. package/dist/browser-action-executor.js.map +1 -0
  6. package/dist/cache-invalidation.d.ts +128 -0
  7. package/dist/cache-invalidation.d.ts.map +1 -0
  8. package/dist/cache-invalidation.js +262 -0
  9. package/dist/cache-invalidation.js.map +1 -0
  10. package/dist/cache-manager.d.ts +83 -0
  11. package/dist/cache-manager.d.ts.map +1 -0
  12. package/dist/cache-manager.js +184 -0
  13. package/dist/cache-manager.js.map +1 -0
  14. package/dist/index.d.ts +7 -21
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +249 -31
  17. package/dist/index.js.map +1 -1
  18. package/dist/multi-level-cache.d.ts +127 -0
  19. package/dist/multi-level-cache.d.ts.map +1 -0
  20. package/dist/multi-level-cache.js +362 -0
  21. package/dist/multi-level-cache.js.map +1 -0
  22. package/dist/scenario-recognizer.d.ts +17 -27
  23. package/dist/scenario-recognizer.d.ts.map +1 -1
  24. package/dist/scenario-recognizer.js +63 -183
  25. package/dist/scenario-recognizer.js.map +1 -1
  26. package/dist/types.d.ts +38 -312
  27. package/dist/types.d.ts.map +1 -1
  28. package/dist/types.js +2 -4
  29. package/dist/types.js.map +1 -1
  30. package/dist/variable-extractor.d.ts +56 -0
  31. package/dist/variable-extractor.d.ts.map +1 -0
  32. package/dist/variable-extractor.js +159 -0
  33. package/dist/variable-extractor.js.map +1 -0
  34. package/openclaw.plugin.json +12 -190
  35. package/package.json +29 -45
  36. package/src/browser-action-executor.ts +337 -0
  37. package/src/cache-invalidation.ts +338 -0
  38. package/src/cache-manager.ts +211 -0
  39. package/src/index.ts +306 -0
  40. package/src/multi-level-cache.ts +478 -0
  41. package/src/scenario-recognizer.ts +121 -0
  42. package/src/types-mock.d.ts +18 -0
  43. package/src/types.ts +66 -0
  44. package/src/variable-extractor.ts +204 -0
  45. package/dist/actions-executor.d.ts +0 -62
  46. package/dist/actions-executor.d.ts.map +0 -1
  47. package/dist/actions-executor.js +0 -339
  48. package/dist/actions-executor.js.map +0 -1
  49. package/dist/cache-invalidator.d.ts +0 -70
  50. package/dist/cache-invalidator.d.ts.map +0 -1
  51. package/dist/cache-invalidator.js +0 -212
  52. package/dist/cache-invalidator.js.map +0 -1
  53. package/dist/cache-store.d.ts +0 -80
  54. package/dist/cache-store.d.ts.map +0 -1
  55. package/dist/cache-store.js +0 -361
  56. package/dist/cache-store.js.map +0 -1
  57. package/dist/cache-strategy.d.ts +0 -65
  58. package/dist/cache-strategy.d.ts.map +0 -1
  59. package/dist/cache-strategy.js +0 -237
  60. package/dist/cache-strategy.js.map +0 -1
  61. package/dist/hooks-entry.d.ts +0 -29
  62. package/dist/hooks-entry.d.ts.map +0 -1
  63. package/dist/hooks-entry.js +0 -83
  64. package/dist/hooks-entry.js.map +0 -1
  65. package/dist/hooks.d.ts +0 -10
  66. package/dist/hooks.d.ts.map +0 -1
  67. package/dist/hooks.js +0 -277
  68. package/dist/hooks.js.map +0 -1
  69. package/dist/security-policy.d.ts +0 -62
  70. package/dist/security-policy.d.ts.map +0 -1
  71. package/dist/security-policy.js +0 -219
  72. package/dist/security-policy.js.map +0 -1
  73. package/dist/tools.d.ts +0 -209
  74. package/dist/tools.d.ts.map +0 -1
  75. package/dist/tools.js +0 -383
  76. package/dist/tools.js.map +0 -1
  77. package/dist/ux-enhancer.d.ts +0 -60
  78. package/dist/ux-enhancer.d.ts.map +0 -1
  79. package/dist/ux-enhancer.js +0 -218
  80. package/dist/ux-enhancer.js.map +0 -1
  81. package/dist/variable-resolver.d.ts +0 -28
  82. package/dist/variable-resolver.d.ts.map +0 -1
  83. package/dist/variable-resolver.js +0 -201
  84. package/dist/variable-resolver.js.map +0 -1
  85. package/docs/API.md +0 -555
  86. package/docs/IMPLEMENTATION.md +0 -1792
  87. package/docs/INTEGRATION.md +0 -387
  88. package/docs/README.md +0 -183
  89. package/skills/page-action-cache/SKILL.md +0 -216
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAMjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,SAAS,GACT,eAAe,GACf,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,WAAW,GACX,UAAU,GACV,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,CAAC;AAMlC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,CAAC;IAGvB,UAAU,EAAE,UAAU,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,mBAAmB,CAAC;IAGzC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IAEzB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAGf,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,KAAK,EAAE,UAAU,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IAGtB,0BAA0B,EAAE,OAAO,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IAGnC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAG1B,0BAA0B,EAAE,OAAO,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAG5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IAGnC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAGhC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,0BAA0B,EAAE,OAAO,CAAC;IAGpC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB,CAAC,IAAI,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,CAAC;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,kBAAkB,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QACrC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,iBAAiB,CAAC,IAAI,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,qBAAqB,CAAC,IAAI,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,kBAAkB,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,uBAAuB,CAAC,IAAI,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpB,qBAAqB,CAAC,IAAI,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KACd,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,eAAe,CAAC;QACtB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAChE,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
package/dist/types.js CHANGED
@@ -1,8 +1,6 @@
1
1
  /**
2
- * Page Action Cache Extension - Type Definitions
3
- * Version: 1.0.0
4
- *
5
- * 完全对齐 Playwright API 的类型定义
2
+ * Page Action Cache Types
3
+ * 页面操作缓存类型定义
6
4
  */
7
5
  export {};
8
6
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Variable Extractor - Page Action Cache
3
+ * 变量提取器 - 从用户输入中提取动态变量
4
+ */
5
+ /**
6
+ * 提取的变量
7
+ */
8
+ export interface ExtractedVariable {
9
+ name: string;
10
+ value: string;
11
+ description: string;
12
+ confidence: number;
13
+ }
14
+ /**
15
+ * 变量提取结果
16
+ */
17
+ export interface ExtractionResult {
18
+ variables: ExtractedVariable[];
19
+ rawText: string;
20
+ confidence: number;
21
+ }
22
+ /**
23
+ * 变量提取器
24
+ */
25
+ export declare class VariableExtractor {
26
+ private customRules;
27
+ /**
28
+ * 从文本中提取变量
29
+ */
30
+ extract(text: string): ExtractionResult;
31
+ /**
32
+ * 计算单个变量的置信度
33
+ */
34
+ private calculateConfidence;
35
+ /**
36
+ * 计算整体置信度
37
+ */
38
+ private calculateOverallConfidence;
39
+ /**
40
+ * 添加自定义变量规则
41
+ */
42
+ addCustomRule(name: string, pattern: RegExp, description: string): void;
43
+ /**
44
+ * 获取变量替换模板
45
+ */
46
+ getTemplate(variables: ExtractedVariable[]): string;
47
+ /**
48
+ * 验证变量值
49
+ */
50
+ validate(variableName: string, value: string): boolean;
51
+ }
52
+ /**
53
+ * 单例导出
54
+ */
55
+ export declare const variableExtractor: VariableExtractor;
56
+ //# sourceMappingURL=variable-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-extractor.d.ts","sourceRoot":"","sources":["../src/variable-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAsB;IAEzC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAkCvC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAIvE;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM;IAUnD;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAMvD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Variable Extractor - Page Action Cache
3
+ * 变量提取器 - 从用户输入中提取动态变量
4
+ */
5
+ /**
6
+ * 常见变量规则
7
+ */
8
+ const VARIABLE_RULES = [
9
+ {
10
+ name: 'email',
11
+ pattern: /([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/g,
12
+ description: '电子邮件地址'
13
+ },
14
+ {
15
+ name: 'phone',
16
+ pattern: /(\d{11}|\d{3}[-.\s]?\d{4}[-.\s]?\d{4}|\+?[\d\s-]{10,})/g,
17
+ description: '电话号码'
18
+ },
19
+ {
20
+ name: 'date',
21
+ pattern: /(\d{4}[-/年]\d{1,2}[-/月]\d{1,2}日?|\d{1,2}[-/]\d{1,2}[-/]\d{4})/g,
22
+ description: '日期'
23
+ },
24
+ {
25
+ name: 'time',
26
+ pattern: /(\d{1,2}:\d{2}(:\d{2})?)/g,
27
+ description: '时间'
28
+ },
29
+ {
30
+ name: 'number',
31
+ pattern: /(\d+(?:,\d{3})*(?:\.\d+)?)/g,
32
+ description: '数字'
33
+ },
34
+ {
35
+ name: 'url',
36
+ pattern: /(https?:\/\/[^\s<>"]+|www\.[^\s<>"]+)/g,
37
+ description: '网址'
38
+ },
39
+ {
40
+ name: 'amount',
41
+ pattern: /(?:¥|\$|¥|€|£)?\s*(\d+(?:,\d{3})*(?:\.\d{2})?)\s*(?:元|dollars?|euros?|pounds?)?/gi,
42
+ description: '金额'
43
+ },
44
+ {
45
+ name: 'username',
46
+ pattern: /(?:用户名|username|user|account)\s*[::]?\s*([^\s,,]+)/gi,
47
+ description: '用户名'
48
+ },
49
+ {
50
+ name: 'password',
51
+ pattern: /(?:密码|password|pwd)\s*[::]?\s*([^\s,,]+)/gi,
52
+ description: '密码'
53
+ },
54
+ {
55
+ name: 'product_name',
56
+ pattern: /(?:商品|产品|product|item)\s*[::]?\s*([^\n,,]+)/gi,
57
+ description: '商品名称'
58
+ }
59
+ ];
60
+ /**
61
+ * 变量提取器
62
+ */
63
+ export class VariableExtractor {
64
+ customRules = [];
65
+ /**
66
+ * 从文本中提取变量
67
+ */
68
+ extract(text) {
69
+ const variables = [];
70
+ const seenValues = new Set();
71
+ // 应用内置规则
72
+ for (const rule of [...VARIABLE_RULES, ...this.customRules]) {
73
+ const matches = text.matchAll(rule.pattern);
74
+ for (const match of matches) {
75
+ const value = match[1] || match[0];
76
+ // 避免重复提取相同值
77
+ const key = `${rule.name}:${value}`;
78
+ if (seenValues.has(key)) {
79
+ continue;
80
+ }
81
+ seenValues.add(key);
82
+ variables.push({
83
+ name: rule.name,
84
+ value: value.trim(),
85
+ description: rule.description,
86
+ confidence: this.calculateConfidence(text, rule.pattern)
87
+ });
88
+ }
89
+ }
90
+ return {
91
+ variables,
92
+ rawText: text,
93
+ confidence: this.calculateOverallConfidence(variables)
94
+ };
95
+ }
96
+ /**
97
+ * 计算单个变量的置信度
98
+ */
99
+ calculateConfidence(text, pattern) {
100
+ const matches = text.match(pattern);
101
+ if (!matches)
102
+ return 0;
103
+ // 匹配次数越多,置信度越高
104
+ const matchCount = matches.length;
105
+ let confidence = Math.min(matchCount * 0.3, 1.0);
106
+ // 如果匹配的值周围有特定关键词,提高置信度
107
+ const contextKeywords = ['填写', '输入', '请输入', 'enter', 'fill in', 'please'];
108
+ for (const keyword of contextKeywords) {
109
+ if (text.toLowerCase().includes(keyword.toLowerCase())) {
110
+ confidence = Math.min(confidence + 0.2, 1.0);
111
+ break;
112
+ }
113
+ }
114
+ return confidence;
115
+ }
116
+ /**
117
+ * 计算整体置信度
118
+ */
119
+ calculateOverallConfidence(variables) {
120
+ if (variables.length === 0)
121
+ return 0;
122
+ const avgConfidence = variables.reduce((sum, v) => sum + v.confidence, 0) / variables.length;
123
+ // 变量数量适中时置信度更高(避免过多或过少)
124
+ const countFactor = variables.length >= 2 && variables.length <= 5 ? 1.0 : 0.8;
125
+ return Math.min(avgConfidence * countFactor, 1.0);
126
+ }
127
+ /**
128
+ * 添加自定义变量规则
129
+ */
130
+ addCustomRule(name, pattern, description) {
131
+ this.customRules.push({ name, pattern, description });
132
+ }
133
+ /**
134
+ * 获取变量替换模板
135
+ */
136
+ getTemplate(variables) {
137
+ if (variables.length === 0)
138
+ return '';
139
+ let template = '';
140
+ for (const v of variables) {
141
+ template += `${v.description}: {{${v.name}}}\n`;
142
+ }
143
+ return template.trim();
144
+ }
145
+ /**
146
+ * 验证变量值
147
+ */
148
+ validate(variableName, value) {
149
+ const rule = [...VARIABLE_RULES, ...this.customRules].find(r => r.name === variableName);
150
+ if (!rule)
151
+ return false;
152
+ return rule.pattern.test(value);
153
+ }
154
+ }
155
+ /**
156
+ * 单例导出
157
+ */
158
+ export const variableExtractor = new VariableExtractor();
159
+ //# sourceMappingURL=variable-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-extractor.js","sourceRoot":"","sources":["../src/variable-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;GAEG;AACH,MAAM,cAAc,GAAmB;IACrC;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,yDAAyD;QAClE,WAAW,EAAE,MAAM;KACpB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,gEAAgE;QACzE,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,mFAAmF;QAC5F,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,sDAAsD;QAC/D,WAAW,EAAE,KAAK;KACnB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,IAAI;KAClB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,+CAA+C;QACxD,WAAW,EAAE,MAAM;KACpB;CACF,CAAC;AAqBF;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACpB,WAAW,GAAmB,EAAE,CAAC;IAEzC;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,SAAS;QACT,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEnC,YAAY;gBACZ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBACpC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEpB,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;oBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,SAAS;YACT,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAY,EAAE,OAAe;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QAEvB,eAAe;QACf,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAEjD,uBAAuB;QACvB,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1E,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,SAA8B;QAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAE7F,wBAAwB;QACxB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,WAAmB;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAA8B;QACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,QAAQ,IAAI,GAAG,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC;QAClD,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,YAAoB,EAAE,KAAa;QAC1C,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,208 +1,30 @@
1
1
  {
2
2
  "id": "page-action-cache",
3
3
  "name": "Page Action Cache",
4
- "version": "1.0.4",
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).",
4
+ "version": "1.0.0",
5
+ "description": "Page Action Cache - Browser Client API extension for OpenClaw",
6
6
  "author": "OpenClaw",
7
7
  "license": "MIT",
8
8
  "kind": "extension",
9
- "main": "./dist/hooks-entry.js",
9
+ "main": "dist/index.js",
10
10
  "exports": {
11
- ".": "./dist/index.js",
12
- "./hooks-entry": "./dist/hooks-entry.js"
11
+ ".": {
12
+ "types": "./src/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./tools": {
16
+ "types": "./src/tools.d.ts",
17
+ "default": "./dist/tools.js"
18
+ }
13
19
  },
14
20
  "configSchema": {
15
21
  "type": "object",
16
- "additionalProperties": false,
17
22
  "properties": {
18
23
  "enabled": {
19
24
  "type": "boolean",
20
25
  "default": true,
21
- "description": "Enable or disable the page action cache extension"
22
- },
23
- "autoUseCache": {
24
- "type": "boolean",
25
- "default": true,
26
- "description": "Automatically use cached actions when available"
27
- },
28
- "scenarioRecognitionEnabled": {
29
- "type": "boolean",
30
- "default": true,
31
- "description": "Enable automatic scenario recognition (login, search, checkout, etc.)"
32
- },
33
- "llmClassificationThreshold": {
34
- "type": "number",
35
- "default": 70,
36
- "minimum": 0,
37
- "maximum": 100,
38
- "description": "Confidence threshold for LLM-based scenario classification (0-100)"
39
- },
40
- "cacheLevelStrategy": {
41
- "type": "string",
42
- "enum": ["auto", "l3-only", "l2-only", "l1-only"],
43
- "default": "auto",
44
- "description": "Cache level strategy: auto (default), l3-only (scenario-level only), l2-only (flow-level only), l1-only (atomic-level only)"
45
- },
46
- "defaultCacheLevel": {
47
- "type": "string",
48
- "enum": ["L3", "L2", "L1"],
49
- "default": "L3",
50
- "description": "Default cache level when no scenario is recognized"
51
- },
52
- "pageChangeDetectionEnabled": {
53
- "type": "boolean",
54
- "default": true,
55
- "description": "Enable automatic page change detection to invalidate stale caches"
56
- },
57
- "changeInvalidationThreshold": {
58
- "type": "number",
59
- "default": 80,
60
- "minimum": 0,
61
- "maximum": 100,
62
- "description": "Page change confidence threshold for cache invalidation (0-100)"
63
- },
64
- "invalidationStrategy": {
65
- "type": "string",
66
- "enum": ["soft", "hard"],
67
- "default": "soft",
68
- "description": "Cache invalidation strategy: soft (mark stale, allow override) or hard (immediately delete)"
69
- },
70
- "variableExtractionEnabled": {
71
- "type": "boolean",
72
- "default": true,
73
- "description": "Enable automatic variable extraction from user input (username, password, etc.)"
74
- },
75
- "allowUserConfirmVariables": {
76
- "type": "boolean",
77
- "default": false,
78
- "description": "Allow user confirmation for extracted variables before execution"
79
- },
80
- "encryptSensitiveCache": {
81
- "type": "boolean",
82
- "default": false,
83
- "description": "Encrypt sensitive cache entries (passwords, tokens) using AES-256-GCM"
84
- },
85
- "accessControlEnabled": {
86
- "type": "boolean",
87
- "default": false,
88
- "description": "Enable access control for sensitive cache operations"
89
- },
90
- "logSanitizationEnabled": {
91
- "type": "boolean",
92
- "default": true,
93
- "description": "Automatically redact sensitive data from logs"
94
- },
95
- "showCacheStatusToUser": {
96
- "type": "boolean",
97
- "default": true,
98
- "description": "Display cache hit/miss status to users"
99
- },
100
- "enableUserCacheConfirmation": {
101
- "type": "boolean",
102
- "default": false,
103
- "description": "Require user confirmation before using cached actions"
104
- },
105
- "enableUserForcedRefresh": {
106
- "type": "boolean",
107
- "default": true,
108
- "description": "Allow users to force refresh specific cache entries"
109
- },
110
- "enableUserCacheErrorReport": {
111
- "type": "boolean",
112
- "default": true,
113
- "description": "Enable user reporting of cache execution errors"
114
- },
115
- "trackExecutionStats": {
116
- "type": "boolean",
117
- "default": true,
118
- "description": "Track execution statistics (hit rate, saved tokens, saved time)"
119
- },
120
- "statsUpdateInterval": {
121
- "type": "number",
122
- "default": 60,
123
- "minimum": 10,
124
- "description": "Statistics update interval in seconds (minimum 10)"
26
+ "description": "启用页面操作缓存功能"
125
27
  }
126
28
  }
127
- },
128
- "uiHints": {
129
- "enabled": {
130
- "label": "Enable Cache Extension",
131
- "description": "Enable or disable the page action cache extension"
132
- },
133
- "autoUseCache": {
134
- "label": "Auto Use Cache",
135
- "description": "Automatically use cached actions when available"
136
- },
137
- "scenarioRecognitionEnabled": {
138
- "label": "Scenario Recognition",
139
- "description": "Enable automatic scenario recognition (login, search, checkout, etc.)"
140
- },
141
- "cacheLevelStrategy": {
142
- "label": "Cache Strategy",
143
- "description": "Cache level strategy (auto, l3-only, l2-only, l1-only)"
144
- },
145
- "encryptSensitiveCache": {
146
- "label": "Encrypt Sensitive Data",
147
- "description": "Encrypt sensitive cache entries (passwords, tokens)",
148
- "sensitive": false
149
- },
150
- "showCacheStatusToUser": {
151
- "label": "Show Cache Status",
152
- "description": "Display cache hit/miss status to users"
153
- }
154
- },
155
- "tools": [
156
- {
157
- "name": "execute_cached",
158
- "label": "Execute Cached Actions",
159
- "description": "Execute cached page action sequences, skipping LLM analysis. Significantly reduces token consumption and operation latency."
160
- },
161
- {
162
- "name": "cache_stats",
163
- "label": "Cache Statistics",
164
- "description": "View cache statistics including hit rate, saved tokens, and saved time."
165
- },
166
- {
167
- "name": "cache_list",
168
- "label": "List Cache Entries",
169
- "description": "List all cached page action entries with their metadata."
170
- },
171
- {
172
- "name": "cache_clear",
173
- "label": "Clear Cache",
174
- "description": "Clear all cached page action entries."
175
- },
176
- {
177
- "name": "scenario_list",
178
- "label": "List Scenarios",
179
- "description": "List all recognized scenarios with their match patterns."
180
- },
181
- {
182
- "name": "force_refresh",
183
- "label": "Force Refresh Cache",
184
- "description": "Force refresh a specific cache entry by URL and viewport."
185
- }
186
- ],
187
- "hooks": [
188
- {
189
- "name": "before_tool_call",
190
- "description": "Scenario recognition and cache interception"
191
- },
192
- {
193
- "name": "after_tool_call",
194
- "description": "Save LLM analysis results to cache"
195
- },
196
- {
197
- "name": "before_prompt_build",
198
- "description": "Inject cache usage guide into prompts"
199
- }
200
- ],
201
- "runtime": {
202
- "node": ">=18.0.0"
203
- },
204
- "openclaw": {
205
- "minVersion": "2026.2.0",
206
- "extensions": ["./dist/hooks-entry.js"]
207
29
  }
208
30
  }
package/package.json CHANGED
@@ -1,45 +1,22 @@
1
1
  {
2
2
  "name": "page-action-cache",
3
- "version": "1.0.4",
4
- "description": "Page action caching extension for OpenClaw - caches LLM browser operations to avoid re-analyzing the same DOM",
5
- "keywords": [
6
- "automation",
7
- "browser",
8
- "cache",
9
- "extension",
10
- "openclaw"
11
- ],
12
- "license": "MIT",
13
- "author": "OpenClaw",
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/openclaw/openclaw.git",
17
- "directory": "extensions/page-action-cache"
18
- },
19
- "files": [
20
- "dist/",
21
- "skills/",
22
- "docs/",
23
- "package.json",
24
- "openclaw.plugin.json"
25
- ],
3
+ "version": "2.0.1",
4
+ "description": "Page Action Cache - OpenClaw extension using Browser Client API",
26
5
  "type": "module",
27
- "main": "dist/hooks-entry.js",
6
+ "main": "dist/index.js",
28
7
  "exports": {
29
8
  ".": {
30
- "types": "./dist/index.d.ts",
9
+ "types": "./src/index.d.ts",
31
10
  "default": "./dist/index.js"
32
11
  },
33
- "./hooks-entry": {
34
- "types": "./dist/hooks-entry.d.ts",
35
- "default": "./dist/hooks-entry.js"
12
+ "./tools": {
13
+ "types": "./src/tools.d.ts",
14
+ "default": "./dist/tools.js"
36
15
  }
37
16
  },
38
17
  "scripts": {
39
18
  "build": "tsc",
40
- "publish:npm": "./scripts/npm_publish.sh",
41
- "test": "vitest",
42
- "typecheck": "tsc --noEmit"
19
+ "test": "vitest"
43
20
  },
44
21
  "devDependencies": {
45
22
  "@types/node": "^20.0.0",
@@ -54,21 +31,28 @@
54
31
  "optional": true
55
32
  }
56
33
  },
57
- "config": {
58
- "test": {
59
- "include": [
60
- "tests/**/*.test.ts"
61
- ],
62
- "exclude": [
63
- "node_modules",
64
- "dist",
65
- "**/node_modules/**"
66
- ]
67
- }
68
- },
34
+ "files": [
35
+ "dist/",
36
+ "src/",
37
+ "tools/",
38
+ "package.json",
39
+ "openclaw.plugin.json"
40
+ ],
69
41
  "openclaw": {
70
42
  "extensions": [
71
- "./dist/hooks-entry.js"
72
- ]
43
+ "./dist/index.js"
44
+ ],
45
+ "minVersion": "2026.2.0",
46
+ "kind": "extension",
47
+ "configSchema": {
48
+ "type": "object",
49
+ "properties": {
50
+ "enabled": {
51
+ "type": "boolean",
52
+ "default": true,
53
+ "description": "启用页面操作缓存功能"
54
+ }
55
+ }
56
+ }
73
57
  }
74
58
  }