@ucptools/validator 1.0.1 → 1.1.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 (152) hide show
  1. package/dist/auth/config.d.ts +20 -0
  2. package/dist/auth/config.d.ts.map +1 -0
  3. package/dist/auth/config.js +114 -0
  4. package/dist/auth/config.js.map +1 -0
  5. package/dist/auth/index.d.ts +5 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/index.js +17 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/auth/middleware.d.ts +45 -0
  10. package/dist/auth/middleware.d.ts.map +1 -0
  11. package/dist/auth/middleware.js +170 -0
  12. package/dist/auth/middleware.js.map +1 -0
  13. package/dist/auth/service.d.ts +80 -0
  14. package/dist/auth/service.d.ts.map +1 -0
  15. package/dist/auth/service.js +298 -0
  16. package/dist/auth/service.js.map +1 -0
  17. package/dist/cli/index.js +96 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/mock-server.d.ts +20 -0
  20. package/dist/cli/mock-server.d.ts.map +1 -0
  21. package/dist/cli/mock-server.js +261 -0
  22. package/dist/cli/mock-server.js.map +1 -0
  23. package/dist/db/index.d.ts +8 -2
  24. package/dist/db/index.d.ts.map +1 -1
  25. package/dist/db/index.js +22 -5
  26. package/dist/db/index.js.map +1 -1
  27. package/dist/db/schema.d.ts +3570 -128
  28. package/dist/db/schema.d.ts.map +1 -1
  29. package/dist/db/schema.js +377 -17
  30. package/dist/db/schema.js.map +1 -1
  31. package/dist/db/utils.d.ts +252 -0
  32. package/dist/db/utils.d.ts.map +1 -0
  33. package/dist/db/utils.js +295 -0
  34. package/dist/db/utils.js.map +1 -0
  35. package/dist/feed-analyzer/feed-analyzer.d.ts.map +1 -1
  36. package/dist/feed-analyzer/feed-analyzer.js +218 -4
  37. package/dist/feed-analyzer/feed-analyzer.js.map +1 -1
  38. package/dist/feed-analyzer/types.d.ts +82 -1
  39. package/dist/feed-analyzer/types.d.ts.map +1 -1
  40. package/dist/feed-analyzer/types.js +13 -0
  41. package/dist/feed-analyzer/types.js.map +1 -1
  42. package/dist/lib/analytics.d.ts +337 -0
  43. package/dist/lib/analytics.d.ts.map +1 -0
  44. package/dist/lib/analytics.js +188 -0
  45. package/dist/lib/analytics.js.map +1 -0
  46. package/dist/security/security-scanner.d.ts.map +1 -1
  47. package/dist/security/security-scanner.js +130 -2
  48. package/dist/security/security-scanner.js.map +1 -1
  49. package/dist/security/types.d.ts +32 -0
  50. package/dist/security/types.d.ts.map +1 -1
  51. package/dist/security/types.js.map +1 -1
  52. package/dist/services/analytics.d.ts +114 -0
  53. package/dist/services/analytics.d.ts.map +1 -0
  54. package/dist/services/analytics.js +862 -0
  55. package/dist/services/analytics.js.map +1 -0
  56. package/dist/services/badge.d.ts +31 -0
  57. package/dist/services/badge.d.ts.map +1 -0
  58. package/dist/services/badge.js +152 -0
  59. package/dist/services/badge.js.map +1 -0
  60. package/dist/services/cron.d.ts +125 -0
  61. package/dist/services/cron.d.ts.map +1 -0
  62. package/dist/services/cron.js +613 -0
  63. package/dist/services/cron.js.map +1 -0
  64. package/dist/services/directory.d.ts +2 -0
  65. package/dist/services/directory.d.ts.map +1 -1
  66. package/dist/services/directory.js +45 -27
  67. package/dist/services/directory.js.map +1 -1
  68. package/dist/services/email.d.ts +112 -0
  69. package/dist/services/email.d.ts.map +1 -0
  70. package/dist/services/email.js +772 -0
  71. package/dist/services/email.js.map +1 -0
  72. package/dist/services/hosted-profiles.d.ts +77 -0
  73. package/dist/services/hosted-profiles.d.ts.map +1 -0
  74. package/dist/services/hosted-profiles.js +433 -0
  75. package/dist/services/hosted-profiles.js.map +1 -0
  76. package/dist/services/latency.d.ts +67 -0
  77. package/dist/services/latency.d.ts.map +1 -0
  78. package/dist/services/latency.js +274 -0
  79. package/dist/services/latency.js.map +1 -0
  80. package/dist/services/manifest-compliance.d.ts +64 -0
  81. package/dist/services/manifest-compliance.d.ts.map +1 -0
  82. package/dist/services/manifest-compliance.js +271 -0
  83. package/dist/services/manifest-compliance.js.map +1 -0
  84. package/dist/services/monitoring-diff.d.ts +31 -0
  85. package/dist/services/monitoring-diff.d.ts.map +1 -0
  86. package/dist/services/monitoring-diff.js +189 -0
  87. package/dist/services/monitoring-diff.js.map +1 -0
  88. package/dist/services/notifications.d.ts +46 -0
  89. package/dist/services/notifications.d.ts.map +1 -0
  90. package/dist/services/notifications.js +88 -0
  91. package/dist/services/notifications.js.map +1 -0
  92. package/dist/services/stripe.d.ts +93 -0
  93. package/dist/services/stripe.d.ts.map +1 -0
  94. package/dist/services/stripe.js +490 -0
  95. package/dist/services/stripe.js.map +1 -0
  96. package/dist/services/validation-history.d.ts +99 -0
  97. package/dist/services/validation-history.d.ts.map +1 -0
  98. package/dist/services/validation-history.js +344 -0
  99. package/dist/services/validation-history.js.map +1 -0
  100. package/dist/services/validation-logging.d.ts +103 -0
  101. package/dist/services/validation-logging.d.ts.map +1 -0
  102. package/dist/services/validation-logging.js +210 -0
  103. package/dist/services/validation-logging.js.map +1 -0
  104. package/dist/services/validation.d.ts +119 -0
  105. package/dist/services/validation.d.ts.map +1 -0
  106. package/dist/services/validation.js +1185 -0
  107. package/dist/services/validation.js.map +1 -0
  108. package/dist/simulator/agent-simulator.d.ts.map +1 -1
  109. package/dist/simulator/agent-simulator.js +229 -9
  110. package/dist/simulator/agent-simulator.js.map +1 -1
  111. package/dist/simulator/types.d.ts +26 -0
  112. package/dist/simulator/types.d.ts.map +1 -1
  113. package/dist/simulator/types.js.map +1 -1
  114. package/dist/types/acp-validation.d.ts +87 -0
  115. package/dist/types/acp-validation.d.ts.map +1 -0
  116. package/dist/types/acp-validation.js +40 -0
  117. package/dist/types/acp-validation.js.map +1 -0
  118. package/dist/types/analytics.d.ts +182 -0
  119. package/dist/types/analytics.d.ts.map +1 -0
  120. package/dist/types/analytics.js +7 -0
  121. package/dist/types/analytics.js.map +1 -0
  122. package/dist/types/ucp-profile.d.ts +10 -2
  123. package/dist/types/ucp-profile.d.ts.map +1 -1
  124. package/dist/types/ucp-profile.js.map +1 -1
  125. package/dist/types/validation.d.ts +8 -0
  126. package/dist/types/validation.d.ts.map +1 -1
  127. package/dist/types/validation.js +10 -0
  128. package/dist/types/validation.js.map +1 -1
  129. package/dist/validator/acp/index.d.ts +31 -0
  130. package/dist/validator/acp/index.d.ts.map +1 -0
  131. package/dist/validator/acp/index.js +574 -0
  132. package/dist/validator/acp/index.js.map +1 -0
  133. package/dist/validator/network-validator.d.ts.map +1 -1
  134. package/dist/validator/network-validator.js +4 -4
  135. package/dist/validator/network-validator.js.map +1 -1
  136. package/dist/validator/rules-validator.d.ts +8 -0
  137. package/dist/validator/rules-validator.d.ts.map +1 -1
  138. package/dist/validator/rules-validator.js +92 -43
  139. package/dist/validator/rules-validator.js.map +1 -1
  140. package/dist/validator/structural-validator.d.ts.map +1 -1
  141. package/dist/validator/structural-validator.js +187 -53
  142. package/dist/validator/structural-validator.js.map +1 -1
  143. package/dist/validator/utils.d.ts +51 -0
  144. package/dist/validator/utils.d.ts.map +1 -0
  145. package/dist/validator/utils.js +132 -0
  146. package/dist/validator/utils.js.map +1 -0
  147. package/package.json +44 -12
  148. package/.claude/settings.local.json +0 -60
  149. package/.vercel/README.txt +0 -11
  150. package/.vercel/project.json +0 -1
  151. package/publish-output.txt +0 -0
  152. package/tsconfig.json +0 -20
package/package.json CHANGED
@@ -1,58 +1,91 @@
1
1
  {
2
2
  "name": "@ucptools/validator",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Validate and generate UCP (Universal Commerce Protocol) Business Profiles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
8
- "ucp-validate": "./dist/cli/index.js"
8
+ "ucp-validate": "./dist/cli/index.js",
9
+ "ucptools": "./dist/cli/index.js"
9
10
  },
10
11
  "scripts": {
11
- "build": "tsc",
12
- "dev": "tsx watch src/api/server.ts",
13
- "start": "node dist/api/server.js",
12
+ "dev": "next dev -p 3001",
13
+ "dev:api": "tsx watch --env-file=.env.local src/api/server.ts",
14
+ "build": "next build && tsc -p tsconfig.api.json",
15
+ "build:api": "tsc -p tsconfig.api.json",
16
+ "start": "next start",
17
+ "start:api": "node dist/api/server.js",
14
18
  "test": "vitest",
15
- "lint": "eslint src --ext .ts",
19
+ "lint": "next lint && eslint src --ext .ts",
20
+ "typecheck": "tsc --noEmit --pretty && node -e \"console.log('\\n✓ TypeScript check completed successfully')\"",
16
21
  "validate": "tsx src/cli/index.ts",
17
22
  "generate": "tsx src/cli/generate.ts",
18
23
  "db:generate": "drizzle-kit generate",
19
- "db:migrate": "drizzle-kit migrate",
24
+ "db:migrate": "node scripts/migrate.js",
20
25
  "db:push": "drizzle-kit push",
21
- "db:studio": "drizzle-kit studio"
26
+ "db:studio": "drizzle-kit studio",
27
+ "analyze:competition": "tsx scripts/competition-analysis.ts"
22
28
  },
23
29
  "keywords": [
24
30
  "ucp",
25
31
  "universal-commerce-protocol",
26
32
  "profile-generator",
27
- "validator"
33
+ "validator",
34
+ "ucp-mock-server",
35
+ "ucp-simulator",
36
+ "ucp-cli",
37
+ "ucp-testing",
38
+ "ai-commerce",
39
+ "agentic-commerce",
40
+ "google-shopping",
41
+ "shopify-ucp"
28
42
  ],
29
43
  "author": "UCP.tools",
30
44
  "license": "MIT",
31
45
  "dependencies": {
32
- "@neondatabase/serverless": "^1.0.2",
46
+ "@auth/core": "^0.41.1",
47
+ "@auth/drizzle-adapter": "^1.11.1",
48
+ "@heroicons/react": "^2.2.0",
33
49
  "@ucp-js/sdk": "^0.1.0",
34
50
  "ajv": "^8.17.1",
35
51
  "ajv-formats": "^3.0.1",
52
+ "bcryptjs": "^3.0.3",
36
53
  "chalk": "^5.3.0",
37
54
  "commander": "^12.1.0",
55
+ "cookie-parser": "^1.4.7",
38
56
  "drizzle-orm": "^0.45.1",
39
57
  "express": "^4.21.0",
58
+ "google-auth-library": "^10.5.0",
40
59
  "jose": "^5.9.6",
60
+ "jspdf": "^4.0.0",
61
+ "jspdf-autotable": "^5.0.7",
41
62
  "nanoid": "^5.0.7",
63
+ "next": "^16.1.4",
42
64
  "pg": "^8.13.0",
43
65
  "pino": "^9.5.0",
44
66
  "pino-pretty": "^11.3.0",
67
+ "playwright": "^1.58.0",
68
+ "posthog-js": "^1.205.0",
69
+ "puppeteer": "^24.36.1",
70
+ "react": "^19.2.3",
71
+ "react-dom": "^19.2.3",
72
+ "stripe": "^20.2.0",
45
73
  "zod": "^3.23.8"
46
74
  },
47
75
  "devDependencies": {
76
+ "@types/bcryptjs": "^2.4.6",
77
+ "@types/cookie-parser": "^1.4.10",
48
78
  "@types/express": "^5.0.0",
49
79
  "@types/node": "^22.9.0",
50
80
  "@types/pg": "^8.11.10",
81
+ "@types/react": "19.2.9",
82
+ "@types/supertest": "^6.0.3",
51
83
  "@vercel/node": "^5.5.20",
52
84
  "dotenv": "^17.2.3",
53
85
  "drizzle-kit": "^0.31.8",
54
86
  "png-to-ico": "^3.0.1",
55
87
  "sharp": "^0.34.5",
88
+ "supertest": "^7.2.2",
56
89
  "tsx": "^4.19.2",
57
90
  "typescript": "^5.6.3",
58
91
  "vitest": "^4.0.17"
@@ -60,8 +93,7 @@
60
93
  "overrides": {
61
94
  "diff": "^8.0.3",
62
95
  "undici": "^7.0.0",
63
- "esbuild": "^0.25.0",
64
- "path-to-regexp": "^8.0.0"
96
+ "esbuild": "^0.25.0"
65
97
  },
66
98
  "engines": {
67
99
  "node": ">=20.0.0"
@@ -1,60 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(git add:*)",
5
- "Bash(git commit:*)",
6
- "Bash(gh repo view:*)",
7
- "WebFetch(domain:github.com)",
8
- "Bash(gh issue create --title \"UCP Merchant Directory - Public registry of UCP-enabled sites\" --body \"$\\(cat <<''EOF''\n## Description\nCreate a public directory/registry of UCP-enabled merchant sites. **No one else has this** - first-mover opportunity.\n\n## Value\n- Unique resource in the UCP ecosystem\n- Drives traffic as the go-to place to discover UCP merchants\n- Builds community and network effects\n- SEO for \"UCP merchants\", \"UCP enabled stores\"\n\n## Features\n- [ ] Database to store validated UCP merchants\n- [ ] Public directory page with search/filter\n- [ ] Auto-add sites that pass validation \\(opt-in\\)\n- [ ] Categories \\(e-commerce platform, industry, region\\)\n- [ ] Badge for listed merchants \\(\"Listed on UCPtools Directory\"\\)\n- [ ] API endpoint to query directory\n\n## Technical Considerations\n- Storage: Vercel KV, Supabase, or similar\n- Moderation: prevent spam/fake entries\n- Privacy: only list with merchant consent\n\n## Effort\nMedium\n\n## Priority\nHigh - First-mover advantage\nEOF\n\\)\" --label \"enhancement,first-mover,priority:high\")",
9
- "Bash(gh issue create:*)",
10
- "Bash(gh release:*)",
11
- "Bash(git checkout:*)",
12
- "Bash(npx -y @neondatabase/mcp-server-neon --help)",
13
- "WebFetch(domain:neon.tech)",
14
- "WebFetch(domain:neon.com)",
15
- "Bash(npx neonctl@latest init)",
16
- "Bash(test:*)",
17
- "Bash(claude mcp add:*)",
18
- "Bash(node scripts/setup-benchmark-db.js:*)",
19
- "Bash(node --check:*)",
20
- "Bash(git push:*)",
21
- "Bash(gh pr create:*)",
22
- "Bash(vercel env add:*)",
23
- "Bash(gh pr merge:*)",
24
- "Bash(git pull:*)",
25
- "Bash(gh issue list:*)",
26
- "Bash(gh issue view:*)",
27
- "Bash(npm install:*)",
28
- "Bash(npm uninstall:*)",
29
- "Bash(npm run db:generate:*)",
30
- "Bash(npm run db:push:*)",
31
- "Bash(source:*)",
32
- "Bash(npx tsc:*)",
33
- "Bash(npm test:*)",
34
- "WebSearch",
35
- "WebFetch(domain:ucp.dev)",
36
- "WebFetch(domain:puddingheroes.com)",
37
- "Bash(curl:*)",
38
- "Bash(npx tsx:*)",
39
- "Bash(node:*)",
40
- "WebFetch(domain:raw.githubusercontent.com)",
41
- "WebFetch(domain:api.github.com)",
42
- "Bash(git rm:*)",
43
- "WebFetch(domain:community.shopify.com)",
44
- "WebFetch(domain:www.consentmo.com)",
45
- "WebFetch(domain:www.searchenginejournal.com)",
46
- "WebFetch(domain:www.cio.com)",
47
- "Bash(gh issue edit:*)",
48
- "Bash(git restore:*)",
49
- "WebFetch(domain:blog.fka.dev)",
50
- "Bash(npm run build:*)",
51
- "Bash(ls:*)",
52
- "Bash(npm pack:*)",
53
- "Bash(npm --version)",
54
- "Bash(dir:*)",
55
- "Bash(echo:*)",
56
- "Bash(npm publish:*)",
57
- "Bash(tee:*)"
58
- ]
59
- }
60
- }
@@ -1,11 +0,0 @@
1
- > Why do I have a folder named ".vercel" in my project?
2
- The ".vercel" folder is created when you link a directory to a Vercel project.
3
-
4
- > What does the "project.json" file contain?
5
- The "project.json" file contains:
6
- - The ID of the Vercel project that you linked ("projectId")
7
- - The ID of the user or team your Vercel project is owned by ("orgId")
8
-
9
- > Should I commit the ".vercel" folder?
10
- No, you should not share the ".vercel" folder with anyone.
11
- Upon creation, it will be automatically added to your ".gitignore" file.
@@ -1 +0,0 @@
1
- {"projectId":"prj_eTjAnoZgKgFqS9xhKX7Xbzhz6aHZ","orgId":"team_2huQYroxI3sER9pnJgLgEOWr","projectName":"ucp-tools"}
File without changes
package/tsconfig.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": ["ES2022"],
7
- "outDir": "./dist",
8
- "rootDir": "./src",
9
- "strict": true,
10
- "esModuleInterop": true,
11
- "skipLibCheck": true,
12
- "forceConsistentCasingInFileNames": true,
13
- "declaration": true,
14
- "declarationMap": true,
15
- "sourceMap": true,
16
- "resolveJsonModule": true
17
- },
18
- "include": ["src/**/*"],
19
- "exclude": ["node_modules", "dist", "tests"]
20
- }