handhold-sdk 1.0.0

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 (50) hide show
  1. package/README.md +427 -0
  2. package/dist/d44f1fe8001e32f8e74d.svg +3056 -0
  3. package/dist/fonts/Phosphor.ttf +0 -0
  4. package/dist/fonts/Phosphor.woff +0 -0
  5. package/dist/fonts/Phosphor.woff2 +0 -0
  6. package/dist/handhold.min.js +1 -0
  7. package/package.json +114 -0
  8. package/src/HandHold.js +1599 -0
  9. package/src/agent/VENDOR.md +203 -0
  10. package/src/agent/agent/AgentLoop.js +366 -0
  11. package/src/agent/agent/prompts.js +163 -0
  12. package/src/agent/agent/tools.js +148 -0
  13. package/src/agent/controller.js +235 -0
  14. package/src/agent/dom/actions.js +456 -0
  15. package/src/agent/dom/domTree.js +1761 -0
  16. package/src/agent/dom/redact.js +98 -0
  17. package/src/agent/dom/serializer.js +332 -0
  18. package/src/agent/dom/utils.js +99 -0
  19. package/src/agent/index.js +169 -0
  20. package/src/agent/llm/connector.js +143 -0
  21. package/src/agent/package.json +3 -0
  22. package/src/agent/policy/PolicyGuard.js +172 -0
  23. package/src/agent/site/manifest.js +145 -0
  24. package/src/agent/ui/ChatWidget.js +219 -0
  25. package/src/agent-mode/AgentMode.js +429 -0
  26. package/src/api/APIClient.js +258 -0
  27. package/src/core/Config.js +207 -0
  28. package/src/core/UiState.js +83 -0
  29. package/src/core/defaults.js +20 -0
  30. package/src/events.js +59 -0
  31. package/src/index.js +77 -0
  32. package/src/intent/ActionVerbMap.js +324 -0
  33. package/src/intent/IntentExtractor.js +317 -0
  34. package/src/observers/ElementScanner.js +284 -0
  35. package/src/observers/NavigationObserver.js +182 -0
  36. package/src/observers/PageObserver.js +293 -0
  37. package/src/session/SessionManager.js +402 -0
  38. package/src/session/SessionStorage.js +148 -0
  39. package/src/ui/HelpWidget.js +1189 -0
  40. package/src/ui/UICoach.js +1725 -0
  41. package/src/ui/components/Button.css +137 -0
  42. package/src/ui/components/Button.js +102 -0
  43. package/src/ui/widget.css +599 -0
  44. package/src/utils/Logger.js +132 -0
  45. package/src/utils/MarkdownRenderer.js +39 -0
  46. package/src/utils/domUtils.js +350 -0
  47. package/src/utils/eventBus.js +102 -0
  48. package/src/utils/index.js +8 -0
  49. package/src/utils/stringUtils.js +202 -0
  50. package/types/index.d.ts +538 -0
package/package.json ADDED
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "handhold-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Context-aware in-app help system with visual UI guidance",
5
+ "main": "dist/handhold.min.js",
6
+ "module": "src/index.js",
7
+ "browser": "dist/handhold.min.js",
8
+ "unpkg": "dist/handhold.min.js",
9
+ "jsdelivr": "dist/handhold.min.js",
10
+ "types": "types/index.d.ts",
11
+ "files": [
12
+ "dist",
13
+ "src",
14
+ "types"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "scripts": {
20
+ "build": "webpack --mode production",
21
+ "build:dev": "webpack --mode development",
22
+ "watch": "webpack --mode development --watch",
23
+ "test": "jest",
24
+ "test:agent": "node --test test/agent/*.test.js",
25
+ "lint": "eslint src/**/*.js",
26
+ "clean": "rm -rf dist",
27
+ "prepublishOnly": "npm run build"
28
+ },
29
+ "keywords": [
30
+ "help",
31
+ "in-app",
32
+ "guidance",
33
+ "ui",
34
+ "tooltip",
35
+ "onboarding",
36
+ "tutorial",
37
+ "walkthrough"
38
+ ],
39
+ "author": "Hand Hold Team",
40
+ "license": "MIT",
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "git+https://github.com/BlazinArtemis/Handhold.git",
44
+ "directory": "sdk"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/BlazinArtemis/Handhold/issues"
48
+ },
49
+ "homepage": "https://github.com/BlazinArtemis/Handhold#readme",
50
+ "jest": {
51
+ "testEnvironment": "jsdom",
52
+ "testPathIgnorePatterns": [
53
+ "/node_modules/",
54
+ "<rootDir>/test/agent/"
55
+ ],
56
+ "passWithNoTests": true,
57
+ "transform": {
58
+ "^.+\\.js$": [
59
+ "babel-jest",
60
+ {
61
+ "presets": [
62
+ [
63
+ "@babel/preset-env",
64
+ {
65
+ "targets": {
66
+ "node": "current"
67
+ }
68
+ }
69
+ ]
70
+ ]
71
+ }
72
+ ]
73
+ },
74
+ "moduleNameMapper": {
75
+ "\\.css$": "<rootDir>/test/__mocks__/styleMock.js",
76
+ "^@phosphor-icons/web": "<rootDir>/test/__mocks__/styleMock.js",
77
+ "^marked$": "<rootDir>/test/__mocks__/markedMock.js"
78
+ }
79
+ },
80
+ "dependencies": {
81
+ "@phosphor-icons/web": "^2.1.2",
82
+ "html2canvas": "^1.4.1",
83
+ "marked": "^17.0.2"
84
+ },
85
+ "devDependencies": {
86
+ "@babel/core": "^7.23.0",
87
+ "@babel/preset-env": "^7.23.0",
88
+ "@tailwindcss/postcss": "^4.1.18",
89
+ "autoprefixer": "^10.4.24",
90
+ "babel-loader": "^9.1.3",
91
+ "clean-webpack-plugin": "^4.0.0",
92
+ "css-loader": "^6.8.1",
93
+ "eslint": "^8.50.0",
94
+ "jest": "^29.7.0",
95
+ "jest-environment-jsdom": "^29.7.0",
96
+ "jsdom": "^29.1.1",
97
+ "mini-css-extract-plugin": "^2.7.6",
98
+ "postcss": "^8.5.6",
99
+ "postcss-loader": "^8.2.1",
100
+ "style-loader": "^3.3.3",
101
+ "tailwindcss": "^4.1.18",
102
+ "terser-webpack-plugin": "^5.3.9",
103
+ "webpack": "^5.88.0",
104
+ "webpack-cli": "^5.1.4"
105
+ },
106
+ "browserslist": [
107
+ "> 1%",
108
+ "last 2 versions",
109
+ "not dead"
110
+ ],
111
+ "engines": {
112
+ "node": ">=16.0.0"
113
+ }
114
+ }