@ucptools/validator 1.0.0 → 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 (330) 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.d.ts +6 -0
  18. package/dist/cli/index.d.ts.map +1 -0
  19. package/dist/cli/index.js +375 -0
  20. package/dist/cli/index.js.map +1 -0
  21. package/dist/cli/mock-server.d.ts +20 -0
  22. package/dist/cli/mock-server.d.ts.map +1 -0
  23. package/dist/cli/mock-server.js +261 -0
  24. package/dist/cli/mock-server.js.map +1 -0
  25. package/dist/compliance/compliance-generator.d.ts +34 -0
  26. package/dist/compliance/compliance-generator.d.ts.map +1 -0
  27. package/dist/compliance/compliance-generator.js +320 -0
  28. package/dist/compliance/compliance-generator.js.map +1 -0
  29. package/dist/compliance/index.d.ts +8 -0
  30. package/dist/compliance/index.d.ts.map +1 -0
  31. package/dist/compliance/index.js +17 -0
  32. package/dist/compliance/index.js.map +1 -0
  33. package/dist/compliance/templates.d.ts +34 -0
  34. package/dist/compliance/templates.d.ts.map +1 -0
  35. package/{src/compliance/templates.ts → dist/compliance/templates.js} +117 -155
  36. package/dist/compliance/templates.js.map +1 -0
  37. package/dist/compliance/types.d.ts +64 -0
  38. package/dist/compliance/types.d.ts.map +1 -0
  39. package/dist/compliance/types.js +64 -0
  40. package/dist/compliance/types.js.map +1 -0
  41. package/dist/db/index.d.ts +17 -0
  42. package/dist/db/index.d.ts.map +1 -0
  43. package/dist/db/index.js +80 -0
  44. package/dist/db/index.js.map +1 -0
  45. package/dist/db/schema.d.ts +3886 -0
  46. package/dist/db/schema.d.ts.map +1 -0
  47. package/dist/db/schema.js +425 -0
  48. package/dist/db/schema.js.map +1 -0
  49. package/dist/db/utils.d.ts +252 -0
  50. package/dist/db/utils.d.ts.map +1 -0
  51. package/dist/db/utils.js +295 -0
  52. package/dist/db/utils.js.map +1 -0
  53. package/dist/feed-analyzer/feed-analyzer.d.ts +26 -0
  54. package/dist/feed-analyzer/feed-analyzer.d.ts.map +1 -0
  55. package/{src/feed-analyzer/feed-analyzer.ts → dist/feed-analyzer/feed-analyzer.js} +856 -726
  56. package/dist/feed-analyzer/feed-analyzer.js.map +1 -0
  57. package/dist/feed-analyzer/index.d.ts +8 -0
  58. package/dist/feed-analyzer/index.d.ts.map +1 -0
  59. package/dist/feed-analyzer/index.js +19 -0
  60. package/dist/feed-analyzer/index.js.map +1 -0
  61. package/dist/feed-analyzer/types.d.ts +285 -0
  62. package/dist/feed-analyzer/types.d.ts.map +1 -0
  63. package/dist/feed-analyzer/types.js +175 -0
  64. package/dist/feed-analyzer/types.js.map +1 -0
  65. package/{src/generator/index.ts → dist/generator/index.d.ts} +1 -1
  66. package/dist/generator/index.d.ts.map +1 -0
  67. package/dist/generator/index.js +13 -0
  68. package/dist/generator/index.js.map +1 -0
  69. package/dist/generator/key-generator.d.ts +24 -0
  70. package/dist/generator/key-generator.d.ts.map +1 -0
  71. package/dist/generator/key-generator.js +144 -0
  72. package/dist/generator/key-generator.js.map +1 -0
  73. package/dist/generator/profile-builder.d.ts +15 -0
  74. package/dist/generator/profile-builder.d.ts.map +1 -0
  75. package/dist/generator/profile-builder.js +338 -0
  76. package/dist/generator/profile-builder.js.map +1 -0
  77. package/dist/hosting/artifacts-generator.d.ts +10 -0
  78. package/dist/hosting/artifacts-generator.d.ts.map +1 -0
  79. package/{src/hosting/artifacts-generator.ts → dist/hosting/artifacts-generator.js} +191 -241
  80. package/dist/hosting/artifacts-generator.js.map +1 -0
  81. package/{src/hosting/index.ts → dist/hosting/index.d.ts} +1 -1
  82. package/dist/hosting/index.d.ts.map +1 -0
  83. package/dist/hosting/index.js +10 -0
  84. package/dist/hosting/index.js.map +1 -0
  85. package/dist/index.d.ts +18 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +78 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/lib/analytics.d.ts +337 -0
  90. package/dist/lib/analytics.d.ts.map +1 -0
  91. package/dist/lib/analytics.js +188 -0
  92. package/dist/lib/analytics.js.map +1 -0
  93. package/{src/security/index.ts → dist/security/index.d.ts} +8 -15
  94. package/dist/security/index.d.ts.map +1 -0
  95. package/dist/security/index.js +12 -0
  96. package/dist/security/index.js.map +1 -0
  97. package/dist/security/security-scanner.d.ts +10 -0
  98. package/dist/security/security-scanner.d.ts.map +1 -0
  99. package/dist/security/security-scanner.js +669 -0
  100. package/dist/security/security-scanner.js.map +1 -0
  101. package/dist/security/types.d.ts +80 -0
  102. package/dist/security/types.d.ts.map +1 -0
  103. package/dist/security/types.js +21 -0
  104. package/dist/security/types.js.map +1 -0
  105. package/dist/services/analytics.d.ts +114 -0
  106. package/dist/services/analytics.d.ts.map +1 -0
  107. package/dist/services/analytics.js +862 -0
  108. package/dist/services/analytics.js.map +1 -0
  109. package/dist/services/badge.d.ts +31 -0
  110. package/dist/services/badge.d.ts.map +1 -0
  111. package/dist/services/badge.js +152 -0
  112. package/dist/services/badge.js.map +1 -0
  113. package/dist/services/cron.d.ts +125 -0
  114. package/dist/services/cron.d.ts.map +1 -0
  115. package/dist/services/cron.js +613 -0
  116. package/dist/services/cron.js.map +1 -0
  117. package/dist/services/directory.d.ts +106 -0
  118. package/dist/services/directory.d.ts.map +1 -0
  119. package/dist/services/directory.js +351 -0
  120. package/dist/services/directory.js.map +1 -0
  121. package/dist/services/email.d.ts +112 -0
  122. package/dist/services/email.d.ts.map +1 -0
  123. package/dist/services/email.js +772 -0
  124. package/dist/services/email.js.map +1 -0
  125. package/dist/services/hosted-profiles.d.ts +77 -0
  126. package/dist/services/hosted-profiles.d.ts.map +1 -0
  127. package/dist/services/hosted-profiles.js +433 -0
  128. package/dist/services/hosted-profiles.js.map +1 -0
  129. package/dist/services/latency.d.ts +67 -0
  130. package/dist/services/latency.d.ts.map +1 -0
  131. package/dist/services/latency.js +274 -0
  132. package/dist/services/latency.js.map +1 -0
  133. package/dist/services/manifest-compliance.d.ts +64 -0
  134. package/dist/services/manifest-compliance.d.ts.map +1 -0
  135. package/dist/services/manifest-compliance.js +271 -0
  136. package/dist/services/manifest-compliance.js.map +1 -0
  137. package/dist/services/monitoring-diff.d.ts +31 -0
  138. package/dist/services/monitoring-diff.d.ts.map +1 -0
  139. package/dist/services/monitoring-diff.js +189 -0
  140. package/dist/services/monitoring-diff.js.map +1 -0
  141. package/dist/services/notifications.d.ts +46 -0
  142. package/dist/services/notifications.d.ts.map +1 -0
  143. package/dist/services/notifications.js +88 -0
  144. package/dist/services/notifications.js.map +1 -0
  145. package/dist/services/stripe.d.ts +93 -0
  146. package/dist/services/stripe.d.ts.map +1 -0
  147. package/dist/services/stripe.js +490 -0
  148. package/dist/services/stripe.js.map +1 -0
  149. package/dist/services/validation-history.d.ts +99 -0
  150. package/dist/services/validation-history.d.ts.map +1 -0
  151. package/dist/services/validation-history.js +344 -0
  152. package/dist/services/validation-history.js.map +1 -0
  153. package/dist/services/validation-logging.d.ts +103 -0
  154. package/dist/services/validation-logging.d.ts.map +1 -0
  155. package/dist/services/validation-logging.js +210 -0
  156. package/dist/services/validation-logging.js.map +1 -0
  157. package/dist/services/validation.d.ts +119 -0
  158. package/dist/services/validation.d.ts.map +1 -0
  159. package/dist/services/validation.js +1185 -0
  160. package/dist/services/validation.js.map +1 -0
  161. package/dist/simulator/agent-simulator.d.ts +69 -0
  162. package/dist/simulator/agent-simulator.d.ts.map +1 -0
  163. package/dist/simulator/agent-simulator.js +870 -0
  164. package/dist/simulator/agent-simulator.js.map +1 -0
  165. package/{src/simulator/index.ts → dist/simulator/index.d.ts} +7 -7
  166. package/dist/simulator/index.d.ts.map +1 -0
  167. package/dist/simulator/index.js +23 -0
  168. package/dist/simulator/index.js.map +1 -0
  169. package/{src/simulator/types.ts → dist/simulator/types.d.ts} +171 -170
  170. package/dist/simulator/types.d.ts.map +1 -0
  171. package/dist/simulator/types.js +18 -0
  172. package/dist/simulator/types.js.map +1 -0
  173. package/dist/types/acp-validation.d.ts +87 -0
  174. package/dist/types/acp-validation.d.ts.map +1 -0
  175. package/dist/types/acp-validation.js +40 -0
  176. package/dist/types/acp-validation.js.map +1 -0
  177. package/dist/types/analytics.d.ts +182 -0
  178. package/dist/types/analytics.d.ts.map +1 -0
  179. package/dist/types/analytics.js +7 -0
  180. package/dist/types/analytics.js.map +1 -0
  181. package/dist/types/generator.d.ts +106 -0
  182. package/dist/types/generator.d.ts.map +1 -0
  183. package/dist/types/generator.js +6 -0
  184. package/dist/types/generator.js.map +1 -0
  185. package/{src/types/index.ts → dist/types/index.d.ts} +1 -1
  186. package/dist/types/index.d.ts.map +1 -0
  187. package/dist/types/index.js +23 -0
  188. package/dist/types/index.js.map +1 -0
  189. package/dist/types/ucp-profile.d.ts +111 -0
  190. package/dist/types/ucp-profile.d.ts.map +1 -0
  191. package/dist/types/ucp-profile.js +45 -0
  192. package/dist/types/ucp-profile.js.map +1 -0
  193. package/dist/types/validation.d.ts +76 -0
  194. package/dist/types/validation.d.ts.map +1 -0
  195. package/dist/types/validation.js +42 -0
  196. package/dist/types/validation.js.map +1 -0
  197. package/dist/validator/acp/index.d.ts +31 -0
  198. package/dist/validator/acp/index.d.ts.map +1 -0
  199. package/dist/validator/acp/index.js +574 -0
  200. package/dist/validator/acp/index.js.map +1 -0
  201. package/dist/validator/index.d.ts +26 -0
  202. package/dist/validator/index.d.ts.map +1 -0
  203. package/dist/validator/index.js +161 -0
  204. package/dist/validator/index.js.map +1 -0
  205. package/dist/validator/network-validator.d.ts +28 -0
  206. package/dist/validator/network-validator.d.ts.map +1 -0
  207. package/dist/validator/network-validator.js +319 -0
  208. package/dist/validator/network-validator.js.map +1 -0
  209. package/dist/validator/rules-validator.d.ts +19 -0
  210. package/dist/validator/rules-validator.d.ts.map +1 -0
  211. package/dist/validator/rules-validator.js +306 -0
  212. package/dist/validator/rules-validator.js.map +1 -0
  213. package/dist/validator/sdk-validator.d.ts +58 -0
  214. package/dist/validator/sdk-validator.d.ts.map +1 -0
  215. package/{src/validator/sdk-validator.ts → dist/validator/sdk-validator.js} +273 -330
  216. package/dist/validator/sdk-validator.js.map +1 -0
  217. package/dist/validator/structural-validator.d.ts +11 -0
  218. package/dist/validator/structural-validator.d.ts.map +1 -0
  219. package/dist/validator/structural-validator.js +549 -0
  220. package/dist/validator/structural-validator.js.map +1 -0
  221. package/dist/validator/utils.d.ts +51 -0
  222. package/dist/validator/utils.d.ts.map +1 -0
  223. package/dist/validator/utils.js +132 -0
  224. package/dist/validator/utils.js.map +1 -0
  225. package/package.json +44 -12
  226. package/CLAUDE.md +0 -109
  227. package/api/analyze-feed.js +0 -140
  228. package/api/badge.js +0 -185
  229. package/api/benchmark.js +0 -177
  230. package/api/directory-stats.ts +0 -29
  231. package/api/directory.ts +0 -73
  232. package/api/generate-compliance.js +0 -143
  233. package/api/generate-schema.js +0 -457
  234. package/api/generate.js +0 -132
  235. package/api/security-scan.js +0 -133
  236. package/api/simulate.js +0 -187
  237. package/api/tsconfig.json +0 -10
  238. package/api/validate.js +0 -1351
  239. package/apify-actor/.actor/actor.json +0 -68
  240. package/apify-actor/.actor/input_schema.json +0 -32
  241. package/apify-actor/APIFY-STORE-LISTING.md +0 -412
  242. package/apify-actor/Dockerfile +0 -8
  243. package/apify-actor/README.md +0 -166
  244. package/apify-actor/main.ts +0 -111
  245. package/apify-actor/package.json +0 -17
  246. package/apify-actor/src/main.js +0 -199
  247. package/docs/BRAND-IDENTITY.md +0 -238
  248. package/docs/BRAND-STYLE-GUIDE.md +0 -356
  249. package/drizzle/0000_black_king_cobra.sql +0 -39
  250. package/drizzle/meta/0000_snapshot.json +0 -309
  251. package/drizzle/meta/_journal.json +0 -13
  252. package/drizzle.config.ts +0 -10
  253. package/public/.well-known/ucp +0 -25
  254. package/public/android-chrome-192x192.png +0 -0
  255. package/public/android-chrome-512x512.png +0 -0
  256. package/public/apple-touch-icon.png +0 -0
  257. package/public/brand.css +0 -321
  258. package/public/directory.html +0 -701
  259. package/public/favicon-16x16.png +0 -0
  260. package/public/favicon-32x32.png +0 -0
  261. package/public/favicon.ico +0 -0
  262. package/public/guides/bigcommerce.html +0 -743
  263. package/public/guides/fastucp.html +0 -838
  264. package/public/guides/magento.html +0 -779
  265. package/public/guides/shopify.html +0 -726
  266. package/public/guides/squarespace.html +0 -749
  267. package/public/guides/wix.html +0 -747
  268. package/public/guides/woocommerce.html +0 -733
  269. package/public/index.html +0 -3835
  270. package/public/learn.html +0 -396
  271. package/public/logo.jpeg +0 -0
  272. package/public/og-image-icon.png +0 -0
  273. package/public/og-image.png +0 -0
  274. package/public/robots.txt +0 -6
  275. package/public/site.webmanifest +0 -31
  276. package/public/sitemap.xml +0 -69
  277. package/public/social/linkedin-banner-1128x191.png +0 -0
  278. package/public/social/temp.PNG +0 -0
  279. package/public/social/x-header-1500x500.png +0 -0
  280. package/public/verify.html +0 -410
  281. package/scripts/generate-favicons.js +0 -44
  282. package/scripts/generate-ico.js +0 -23
  283. package/scripts/generate-og-image.js +0 -45
  284. package/scripts/reset-db.ts +0 -77
  285. package/scripts/seed-db.ts +0 -71
  286. package/scripts/setup-benchmark-db.js +0 -70
  287. package/src/api/server.ts +0 -266
  288. package/src/cli/index.ts +0 -302
  289. package/src/compliance/compliance-generator.ts +0 -452
  290. package/src/compliance/index.ts +0 -28
  291. package/src/compliance/types.ts +0 -170
  292. package/src/db/index.ts +0 -28
  293. package/src/db/schema.ts +0 -84
  294. package/src/feed-analyzer/index.ts +0 -34
  295. package/src/feed-analyzer/types.ts +0 -354
  296. package/src/generator/key-generator.ts +0 -124
  297. package/src/generator/profile-builder.ts +0 -402
  298. package/src/index.ts +0 -105
  299. package/src/security/security-scanner.ts +0 -604
  300. package/src/security/types.ts +0 -55
  301. package/src/services/directory.ts +0 -434
  302. package/src/simulator/agent-simulator.ts +0 -941
  303. package/src/types/generator.ts +0 -140
  304. package/src/types/ucp-profile.ts +0 -140
  305. package/src/types/validation.ts +0 -89
  306. package/src/validator/index.ts +0 -194
  307. package/src/validator/network-validator.ts +0 -417
  308. package/src/validator/rules-validator.ts +0 -297
  309. package/src/validator/structural-validator.ts +0 -476
  310. package/tests/fixtures/non-compliant-profile.json +0 -25
  311. package/tests/fixtures/official-sample-profile.json +0 -75
  312. package/tests/integration/benchmark.test.ts +0 -207
  313. package/tests/integration/database.test.ts +0 -163
  314. package/tests/integration/directory-api.test.ts +0 -268
  315. package/tests/integration/simulate-api.test.ts +0 -230
  316. package/tests/integration/validate-api.test.ts +0 -269
  317. package/tests/setup.ts +0 -15
  318. package/tests/unit/agent-simulator.test.ts +0 -575
  319. package/tests/unit/compliance-generator.test.ts +0 -374
  320. package/tests/unit/directory-service.test.ts +0 -272
  321. package/tests/unit/feed-analyzer.test.ts +0 -517
  322. package/tests/unit/lint-suggestions.test.ts +0 -423
  323. package/tests/unit/official-samples.test.ts +0 -211
  324. package/tests/unit/pdf-report.test.ts +0 -390
  325. package/tests/unit/sdk-validator.test.ts +0 -531
  326. package/tests/unit/security-scanner.test.ts +0 -410
  327. package/tests/unit/validation.test.ts +0 -390
  328. package/tsconfig.json +0 -20
  329. package/vercel.json +0 -34
  330. package/vitest.config.ts +0 -22
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Analytics Types
3
+ * Type definitions for AI Agent Traffic Analytics (V1 + V2)
4
+ */
5
+ export type AnalyticsEventTypeV1 = 'discovery' | 'capability' | 'checkout' | 'order' | 'fulfillment' | 'error';
6
+ export type AnalyticsEventTypeUCP = 'capability_negotiation' | 'product_browse' | 'product_detail' | 'checkout_create' | 'checkout_update' | 'checkout_escalation' | 'payment_attempt' | 'payment_success' | 'payment_failure' | 'order_created' | 'fulfillment_query';
7
+ export type AnalyticsEventTypeACP = 'acp_checkout_create' | 'acp_checkout_update' | 'acp_payment' | 'acp_order' | 'acp_webhook';
8
+ export type AnalyticsEventType = AnalyticsEventTypeV1 | AnalyticsEventTypeUCP | AnalyticsEventTypeACP;
9
+ export type ProtocolType = 'ucp' | 'acp' | 'unknown';
10
+ export type AgentType = 'gemini' | 'chatgpt' | 'perplexity' | 'claude' | 'copilot' | 'unknown';
11
+ export interface AnalyticsEventInput {
12
+ event_type: string;
13
+ user_agent?: string;
14
+ endpoint?: string;
15
+ capability?: string;
16
+ http_status?: number;
17
+ response_time_ms?: number;
18
+ session_id?: string;
19
+ ip_address?: string;
20
+ country_code?: string;
21
+ metadata?: Record<string, unknown>;
22
+ protocol?: ProtocolType;
23
+ checkout_session_id?: string;
24
+ checkout_state?: string;
25
+ line_items_count?: number;
26
+ order_total?: number;
27
+ currency?: string;
28
+ payment_handler?: string;
29
+ escalation_reason?: string;
30
+ agent_profile_url?: string;
31
+ }
32
+ export interface IngestEventsResponse {
33
+ received: number;
34
+ errors?: string[];
35
+ }
36
+ export interface AnalyticsSummary {
37
+ totalEvents: number;
38
+ uniqueSessions: number;
39
+ uniqueAgents: number;
40
+ avgResponseTimeMs: number;
41
+ errorRate: number;
42
+ eventsByType: Record<string, number>;
43
+ eventsByAgent: Record<string, number>;
44
+ topCapabilities: Array<{
45
+ capability: string;
46
+ count: number;
47
+ }>;
48
+ topEndpoints: Array<{
49
+ endpoint: string;
50
+ count: number;
51
+ }>;
52
+ }
53
+ export interface TimeseriesDataPoint {
54
+ timestamp: string;
55
+ eventCount: number;
56
+ uniqueSessions: number;
57
+ errorCount: number;
58
+ avgResponseTimeMs: number;
59
+ }
60
+ export interface TimeseriesData {
61
+ granularity: 'hour' | 'day' | 'week';
62
+ startDate: string;
63
+ endDate: string;
64
+ data: TimeseriesDataPoint[];
65
+ }
66
+ export interface EventFilters {
67
+ eventType?: string;
68
+ agentType?: AgentType;
69
+ startDate?: Date;
70
+ endDate?: Date;
71
+ capability?: string;
72
+ hasError?: boolean;
73
+ }
74
+ export interface Pagination {
75
+ limit: number;
76
+ offset: number;
77
+ }
78
+ export interface PaginatedEvents {
79
+ events: AnalyticsEventRecord[];
80
+ total: number;
81
+ limit: number;
82
+ offset: number;
83
+ }
84
+ export interface AnalyticsEventRecord {
85
+ id: string;
86
+ eventType: string;
87
+ agentType: string | null;
88
+ agentVersion: string | null;
89
+ endpoint: string | null;
90
+ capability: string | null;
91
+ httpStatus: number | null;
92
+ responseTimeMs: number | null;
93
+ countryCode: string | null;
94
+ createdAt: Date;
95
+ protocol?: string | null;
96
+ checkoutSessionId?: string | null;
97
+ checkoutState?: string | null;
98
+ orderTotal?: string | null;
99
+ currency?: string | null;
100
+ }
101
+ export interface AnalyticsApiKeyInfo {
102
+ id: string;
103
+ name: string;
104
+ keyPrefix: string;
105
+ lastUsedAt: Date | null;
106
+ isActive: boolean;
107
+ createdAt: Date;
108
+ }
109
+ export interface CreateAnalyticsApiKeyResponse {
110
+ key: string;
111
+ apiKey: AnalyticsApiKeyInfo;
112
+ }
113
+ export interface AgentDetectionResult {
114
+ type: AgentType;
115
+ version?: string;
116
+ }
117
+ export interface FunnelStage {
118
+ stage: string;
119
+ count: number;
120
+ conversionRate: number;
121
+ dropOffRate: number;
122
+ }
123
+ export interface FunnelData {
124
+ stages: FunnelStage[];
125
+ overallConversionRate: number;
126
+ timeRange: {
127
+ startDate: string;
128
+ endDate: string;
129
+ };
130
+ }
131
+ export interface CommerceKPIs {
132
+ agenticRevenue: number;
133
+ agenticConversionRate: number;
134
+ averageOrderValue: number;
135
+ escalationRate: number;
136
+ checkoutAbandonmentRate: number;
137
+ timeToPurchaseMs: number;
138
+ protocolDistribution: {
139
+ ucp: number;
140
+ acp: number;
141
+ unknown: number;
142
+ };
143
+ paymentHandlerDistribution: Record<string, number>;
144
+ }
145
+ export interface AgentPerformance {
146
+ agentType: string;
147
+ totalEvents: number;
148
+ discoveries: number;
149
+ checkouts: number;
150
+ orders: number;
151
+ conversionRate: number;
152
+ avgOrderValue: number;
153
+ errorRate: number;
154
+ avgResponseTimeMs: number;
155
+ }
156
+ export interface AgentComparisonData {
157
+ agents: AgentPerformance[];
158
+ }
159
+ export interface ErrorGroup {
160
+ errorCode: string;
161
+ count: number;
162
+ percentage: number;
163
+ suggestion: string;
164
+ affectedEndpoints: string[];
165
+ affectedAgents: string[];
166
+ }
167
+ export interface ErrorAnalysisData {
168
+ totalErrors: number;
169
+ errorRate: number;
170
+ errors: ErrorGroup[];
171
+ }
172
+ export interface CapabilityGap {
173
+ requestedCapability: string;
174
+ requestCount: number;
175
+ supported: boolean;
176
+ suggestedAction: string;
177
+ }
178
+ export interface CapabilityGapData {
179
+ gaps: CapabilityGap[];
180
+ matchRate: number;
181
+ }
182
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/types/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Analytics Types
4
+ * Type definitions for AI Agent Traffic Analytics (V1 + V2)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/types/analytics.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Generator Types for UCP Profile Generator
3
+ */
4
+ import type { Environment, ProfileStatus } from './ucp-profile.js';
5
+ export interface MerchantInfo {
6
+ merchantId: string;
7
+ primaryDomain: string;
8
+ displayName?: string;
9
+ environment?: Environment;
10
+ }
11
+ export interface TransportConfig {
12
+ rest?: {
13
+ endpoint: string;
14
+ schemaUrl?: string;
15
+ };
16
+ mcp?: {
17
+ endpoint: string;
18
+ schemaUrl?: string;
19
+ };
20
+ a2a?: {
21
+ agentCardUrl: string;
22
+ };
23
+ embedded?: {
24
+ schemaUrl: string;
25
+ };
26
+ }
27
+ export interface CapabilitySelection {
28
+ checkout: boolean;
29
+ order: boolean;
30
+ fulfillment: boolean;
31
+ discount: boolean;
32
+ payment?: boolean;
33
+ buyerConsent?: boolean;
34
+ customCapabilities?: CustomCapability[];
35
+ }
36
+ export interface CustomCapability {
37
+ namespace: string;
38
+ name: string;
39
+ version: string;
40
+ specUrl: string;
41
+ schemaUrl: string;
42
+ extendsCapability?: string;
43
+ }
44
+ export interface SecurityConfig {
45
+ generateSigningKeys: boolean;
46
+ signingKeyAlgorithm?: 'ES256' | 'RS256';
47
+ uploadedPublicKey?: string;
48
+ }
49
+ export interface GeneratorInput {
50
+ merchant: MerchantInfo;
51
+ transport: TransportConfig;
52
+ capabilities: CapabilitySelection;
53
+ security?: SecurityConfig;
54
+ ucpVersion?: string;
55
+ }
56
+ export interface GeneratorOutput {
57
+ profile: object;
58
+ profileJson: string;
59
+ installInstructions: string;
60
+ validationReport?: object;
61
+ signingKeyPair?: {
62
+ publicKey: object;
63
+ privateKey: string;
64
+ };
65
+ }
66
+ export type HostingMode = 'static' | 'edge-worker' | 'reverse-proxy';
67
+ export type HostingPlatform = 'nginx' | 'apache' | 'vercel' | 'netlify' | 'cloudflare-worker' | 'cloudflare-pages' | 's3-cloudfront' | 'generic';
68
+ export interface HostingConfig {
69
+ mode: HostingMode;
70
+ platform?: HostingPlatform;
71
+ merchantId: string;
72
+ merchantDomain: string;
73
+ hostedProfileUrl?: string;
74
+ }
75
+ export interface InstallArtifact {
76
+ filename: string;
77
+ content: string;
78
+ contentType: 'json' | 'javascript' | 'nginx' | 'apache' | 'markdown';
79
+ description: string;
80
+ }
81
+ export interface MerchantRecord {
82
+ id: string;
83
+ primaryDomain: string;
84
+ displayName?: string;
85
+ createdAt: Date;
86
+ updatedAt: Date;
87
+ }
88
+ export interface ProfileRecord {
89
+ id: string;
90
+ merchantId: string;
91
+ versionTag: string;
92
+ ucpVersion: string;
93
+ jsonBody: object;
94
+ status: ProfileStatus;
95
+ createdAt: Date;
96
+ updatedAt: Date;
97
+ }
98
+ export interface ValidationRunRecord {
99
+ id: string;
100
+ profileId: string;
101
+ mode: 'draft' | 'remote';
102
+ result: object;
103
+ ok: boolean;
104
+ createdAt: Date;
105
+ }
106
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/types/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Generator Types for UCP Profile Generator
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/types/generator.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Central export for all UCP Profile Manager types
3
3
  */
4
-
5
4
  export * from './ucp-profile.js';
6
5
  export * from './validation.js';
7
6
  export * from './generator.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Central export for all UCP Profile Manager types
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./ucp-profile.js"), exports);
21
+ __exportStar(require("./validation.js"), exports);
22
+ __exportStar(require("./generator.js"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * UCP (Universal Commerce Protocol) Profile Types
3
+ * Based on https://ucp.dev/specification/overview/
4
+ */
5
+ export declare const CURRENT_UCP_VERSION = "2026-01-11";
6
+ export interface RestTransport {
7
+ schema: string;
8
+ endpoint: string;
9
+ }
10
+ export interface McpTransport {
11
+ schema: string;
12
+ endpoint: string;
13
+ }
14
+ export interface A2aTransport {
15
+ agentCard: string;
16
+ }
17
+ export interface EmbeddedTransport {
18
+ schema: string;
19
+ }
20
+ export interface UcpService {
21
+ version: string;
22
+ spec: string;
23
+ rest?: RestTransport;
24
+ mcp?: McpTransport;
25
+ a2a?: A2aTransport;
26
+ embedded?: EmbeddedTransport;
27
+ }
28
+ export interface UcpCapability {
29
+ name: string;
30
+ version: string;
31
+ spec: string;
32
+ schema: string;
33
+ extends?: string;
34
+ config?: Record<string, unknown>;
35
+ }
36
+ export interface JwkKey {
37
+ kty: string;
38
+ kid: string;
39
+ use?: string;
40
+ alg?: string;
41
+ crv?: string;
42
+ x?: string;
43
+ y?: string;
44
+ n?: string;
45
+ e?: string;
46
+ }
47
+ export type SigningKeys = JwkKey[];
48
+ export interface PaymentHandler {
49
+ id: string;
50
+ name: string;
51
+ version: string;
52
+ spec: string;
53
+ config_schema?: string;
54
+ instrument_schemas?: string[];
55
+ config?: Record<string, unknown>;
56
+ }
57
+ export interface PaymentConfig {
58
+ handlers: PaymentHandler[];
59
+ }
60
+ export interface UcpCapabilityEntry {
61
+ version: string;
62
+ spec?: string;
63
+ schema?: string;
64
+ extends?: string;
65
+ config?: Record<string, unknown>;
66
+ }
67
+ export type UcpCapabilities = UcpCapability[] | Record<string, UcpCapabilityEntry[]>;
68
+ export interface UcpObject {
69
+ version: string;
70
+ services: Record<string, UcpService | UcpService[]>;
71
+ capabilities: UcpCapabilities;
72
+ }
73
+ export interface UcpProfile {
74
+ ucp: UcpObject;
75
+ payment?: PaymentConfig;
76
+ signing_keys?: SigningKeys;
77
+ [key: string]: unknown;
78
+ }
79
+ export declare const CAPABILITY_NAMESPACES: {
80
+ readonly UCP_OFFICIAL: "dev.ucp.";
81
+ readonly VENDOR_PREFIX: "com.";
82
+ };
83
+ export declare const KNOWN_CAPABILITIES: {
84
+ readonly CHECKOUT: "dev.ucp.shopping.checkout";
85
+ readonly ORDER: "dev.ucp.shopping.order";
86
+ readonly PAYMENT: "dev.ucp.shopping.payment";
87
+ readonly PAYMENT_DATA: "dev.ucp.shopping.payment_data";
88
+ readonly FULFILLMENT: "dev.ucp.shopping.fulfillment";
89
+ readonly DISCOUNT: "dev.ucp.shopping.discount";
90
+ readonly BUYER_CONSENT: "dev.ucp.shopping.buyer_consent";
91
+ };
92
+ export declare const KNOWN_SERVICES: {
93
+ readonly SHOPPING: "dev.ucp.shopping";
94
+ };
95
+ export declare const UCP_DEFAULTS: {
96
+ readonly SPEC_BASE: "https://ucp.dev/specification/";
97
+ readonly SCHEMA_BASE: "https://ucp.dev/schemas/";
98
+ readonly SERVICE_SCHEMA_BASE: "https://ucp.dev/services/";
99
+ readonly SHOPPING_REST_SCHEMA: "https://ucp.dev/services/shopping/rest.openapi.json";
100
+ readonly CHECKOUT_SPEC: "https://ucp.dev/specification/checkout/";
101
+ readonly CHECKOUT_SCHEMA: "https://ucp.dev/schemas/shopping/checkout.json";
102
+ readonly ORDER_SPEC: "https://ucp.dev/specification/order/";
103
+ readonly ORDER_SCHEMA: "https://ucp.dev/schemas/shopping/order.json";
104
+ readonly FULFILLMENT_SPEC: "https://ucp.dev/specification/fulfillment/";
105
+ readonly FULFILLMENT_SCHEMA: "https://ucp.dev/schemas/shopping/fulfillment.json";
106
+ readonly DISCOUNT_SPEC: "https://ucp.dev/specification/discount/";
107
+ readonly DISCOUNT_SCHEMA: "https://ucp.dev/schemas/shopping/discount.json";
108
+ };
109
+ export type Environment = 'production' | 'staging' | 'development';
110
+ export type ProfileStatus = 'draft' | 'published';
111
+ //# sourceMappingURL=ucp-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucp-profile.d.ts","sourceRoot":"","sources":["../../src/types/ucp-profile.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAGhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAGD,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAGD,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AAGnC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAGD,MAAM,MAAM,eAAe,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAGrF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;IACpD,YAAY,EAAE,eAAe,CAAC;CAC/B;AAGD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAGX,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAef,CAAC;AAGX,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAGnE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * UCP (Universal Commerce Protocol) Profile Types
4
+ * Based on https://ucp.dev/specification/overview/
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UCP_DEFAULTS = exports.KNOWN_SERVICES = exports.KNOWN_CAPABILITIES = exports.CAPABILITY_NAMESPACES = exports.CURRENT_UCP_VERSION = void 0;
8
+ // Current UCP version
9
+ exports.CURRENT_UCP_VERSION = '2026-01-11';
10
+ // Known capability namespaces
11
+ exports.CAPABILITY_NAMESPACES = {
12
+ UCP_OFFICIAL: 'dev.ucp.',
13
+ VENDOR_PREFIX: 'com.',
14
+ };
15
+ // Known UCP capabilities (from official spec)
16
+ exports.KNOWN_CAPABILITIES = {
17
+ CHECKOUT: 'dev.ucp.shopping.checkout',
18
+ ORDER: 'dev.ucp.shopping.order',
19
+ PAYMENT: 'dev.ucp.shopping.payment',
20
+ PAYMENT_DATA: 'dev.ucp.shopping.payment_data',
21
+ FULFILLMENT: 'dev.ucp.shopping.fulfillment',
22
+ DISCOUNT: 'dev.ucp.shopping.discount',
23
+ BUYER_CONSENT: 'dev.ucp.shopping.buyer_consent',
24
+ };
25
+ // Known UCP services
26
+ exports.KNOWN_SERVICES = {
27
+ SHOPPING: 'dev.ucp.shopping',
28
+ };
29
+ // Default URLs for UCP official resources
30
+ exports.UCP_DEFAULTS = {
31
+ SPEC_BASE: 'https://ucp.dev/specification/',
32
+ SCHEMA_BASE: 'https://ucp.dev/schemas/',
33
+ SERVICE_SCHEMA_BASE: 'https://ucp.dev/services/',
34
+ // Default schema URLs
35
+ SHOPPING_REST_SCHEMA: 'https://ucp.dev/services/shopping/rest.openapi.json',
36
+ CHECKOUT_SPEC: 'https://ucp.dev/specification/checkout/',
37
+ CHECKOUT_SCHEMA: 'https://ucp.dev/schemas/shopping/checkout.json',
38
+ ORDER_SPEC: 'https://ucp.dev/specification/order/',
39
+ ORDER_SCHEMA: 'https://ucp.dev/schemas/shopping/order.json',
40
+ FULFILLMENT_SPEC: 'https://ucp.dev/specification/fulfillment/',
41
+ FULFILLMENT_SCHEMA: 'https://ucp.dev/schemas/shopping/fulfillment.json',
42
+ DISCOUNT_SPEC: 'https://ucp.dev/specification/discount/',
43
+ DISCOUNT_SCHEMA: 'https://ucp.dev/schemas/shopping/discount.json',
44
+ };
45
+ //# sourceMappingURL=ucp-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucp-profile.js","sourceRoot":"","sources":["../../src/types/ucp-profile.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,sBAAsB;AACT,QAAA,mBAAmB,GAAG,YAAY,CAAC;AAqGhD,8BAA8B;AACjB,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,MAAM;CACb,CAAC;AAEX,8CAA8C;AACjC,QAAA,kBAAkB,GAAG;IAChC,QAAQ,EAAE,2BAA2B;IACrC,KAAK,EAAE,wBAAwB;IAC/B,OAAO,EAAE,0BAA0B;IACnC,YAAY,EAAE,+BAA+B;IAC7C,WAAW,EAAE,8BAA8B;IAC3C,QAAQ,EAAE,2BAA2B;IACrC,aAAa,EAAE,gCAAgC;CACvC,CAAC;AAEX,qBAAqB;AACR,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,kBAAkB;CACpB,CAAC;AAEX,0CAA0C;AAC7B,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,gCAAgC;IAC3C,WAAW,EAAE,0BAA0B;IACvC,mBAAmB,EAAE,2BAA2B;IAEhD,sBAAsB;IACtB,oBAAoB,EAAE,qDAAqD;IAC3E,aAAa,EAAE,yCAAyC;IACxD,eAAe,EAAE,gDAAgD;IACjE,UAAU,EAAE,sCAAsC;IAClD,YAAY,EAAE,6CAA6C;IAC3D,gBAAgB,EAAE,4CAA4C;IAC9D,kBAAkB,EAAE,mDAAmD;IACvE,aAAa,EAAE,yCAAyC;IACxD,eAAe,EAAE,gDAAgD;CACzD,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Validation Types for UCP Profile Validator
3
+ */
4
+ export type ValidationSeverity = 'error' | 'warn' | 'info';
5
+ export declare const ValidationErrorCodes: {
6
+ readonly MISSING_UCP_OBJECT: "UCP_MISSING_ROOT";
7
+ readonly MISSING_VERSION: "UCP_MISSING_VERSION";
8
+ readonly INVALID_VERSION_FORMAT: "UCP_INVALID_VERSION_FORMAT";
9
+ readonly MISSING_SERVICES: "UCP_MISSING_SERVICES";
10
+ readonly MISSING_CAPABILITIES: "UCP_MISSING_CAPABILITIES";
11
+ readonly INVALID_SERVICE_STRUCTURE: "UCP_INVALID_SERVICE";
12
+ readonly INVALID_CAPABILITY_STRUCTURE: "UCP_INVALID_CAPABILITY";
13
+ readonly NS_ORIGIN_MISMATCH: "UCP_NS_ORIGIN_MISMATCH";
14
+ readonly ORPHANED_EXTENSION: "UCP_ORPHANED_EXTENSION";
15
+ readonly ENDPOINT_NOT_HTTPS: "UCP_ENDPOINT_NOT_HTTPS";
16
+ readonly ENDPOINT_TRAILING_SLASH: "UCP_ENDPOINT_TRAILING_SLASH";
17
+ readonly MISSING_SIGNING_KEYS: "UCP_MISSING_SIGNING_KEYS";
18
+ readonly INVALID_SIGNING_KEY: "UCP_INVALID_SIGNING_KEY";
19
+ readonly MISSING_PAYMENT_HANDLERS: "UCP_MISSING_PAYMENT_HANDLERS";
20
+ readonly PAYMENT_HANDLER_MISSING_FIELD: "UCP_PAYMENT_HANDLER_MISSING_FIELD";
21
+ readonly REST_MISSING_SCHEMA: "UCP_REST_MISSING_SCHEMA";
22
+ readonly REST_MISSING_ENDPOINT: "UCP_REST_MISSING_ENDPOINT";
23
+ readonly MCP_MISSING_SCHEMA: "UCP_MCP_MISSING_SCHEMA";
24
+ readonly MCP_MISSING_ENDPOINT: "UCP_MCP_MISSING_ENDPOINT";
25
+ readonly A2A_MISSING_ENDPOINT: "UCP_A2A_MISSING_ENDPOINT";
26
+ readonly EP_MISSING_SCHEMA: "UCP_EP_MISSING_SCHEMA";
27
+ readonly PROFILE_FETCH_FAILED: "UCP_PROFILE_FETCH_FAILED";
28
+ readonly SCHEMA_FETCH_FAILED: "UCP_SCHEMA_FETCH_FAILED";
29
+ readonly SCHEMA_NOT_SELF_DESCRIBING: "UCP_SCHEMA_NOT_SELF_DESCRIBING";
30
+ readonly SCHEMA_NAME_MISMATCH: "UCP_SCHEMA_NAME_MISMATCH";
31
+ readonly SCHEMA_VERSION_MISMATCH: "UCP_SCHEMA_VERSION_MISMATCH";
32
+ readonly PRIVATE_IP_ENDPOINT: "UCP_PRIVATE_IP_ENDPOINT";
33
+ };
34
+ export type ValidationErrorCode = typeof ValidationErrorCodes[keyof typeof ValidationErrorCodes];
35
+ export interface ValidationIssue {
36
+ severity: ValidationSeverity;
37
+ code: ValidationErrorCode;
38
+ path: string;
39
+ message: string;
40
+ hint?: string;
41
+ }
42
+ export interface ValidationReport {
43
+ ok: boolean;
44
+ profile_url?: string;
45
+ ucp_version?: string;
46
+ issues: ValidationIssue[];
47
+ validated_at: string;
48
+ validation_mode: ValidationMode;
49
+ sdk_validation?: {
50
+ validated: boolean;
51
+ sdk_version: string;
52
+ compliant: boolean;
53
+ };
54
+ }
55
+ export type ValidationMode = 'structural' | 'rules' | 'network' | 'full';
56
+ export interface ValidationOptions {
57
+ mode?: ValidationMode;
58
+ skipNetworkChecks?: boolean;
59
+ timeoutMs?: number;
60
+ cacheTtlMs?: number;
61
+ }
62
+ export interface SchemaCacheEntry {
63
+ url: string;
64
+ etag?: string;
65
+ fetchedAt: string;
66
+ body: Record<string, unknown>;
67
+ expiresAt: string;
68
+ }
69
+ export interface FetchResult<T> {
70
+ success: boolean;
71
+ data?: T;
72
+ error?: string;
73
+ statusCode?: number;
74
+ etag?: string;
75
+ }
76
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAG3D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,oBAAoB,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAGjG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAGzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Validation Types for UCP Profile Validator
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ValidationErrorCodes = void 0;
7
+ // Validation error codes
8
+ exports.ValidationErrorCodes = {
9
+ // Structural errors
10
+ MISSING_UCP_OBJECT: 'UCP_MISSING_ROOT',
11
+ MISSING_VERSION: 'UCP_MISSING_VERSION',
12
+ INVALID_VERSION_FORMAT: 'UCP_INVALID_VERSION_FORMAT',
13
+ MISSING_SERVICES: 'UCP_MISSING_SERVICES',
14
+ MISSING_CAPABILITIES: 'UCP_MISSING_CAPABILITIES',
15
+ INVALID_SERVICE_STRUCTURE: 'UCP_INVALID_SERVICE',
16
+ INVALID_CAPABILITY_STRUCTURE: 'UCP_INVALID_CAPABILITY',
17
+ // UCP rules errors
18
+ NS_ORIGIN_MISMATCH: 'UCP_NS_ORIGIN_MISMATCH',
19
+ ORPHANED_EXTENSION: 'UCP_ORPHANED_EXTENSION',
20
+ ENDPOINT_NOT_HTTPS: 'UCP_ENDPOINT_NOT_HTTPS',
21
+ ENDPOINT_TRAILING_SLASH: 'UCP_ENDPOINT_TRAILING_SLASH',
22
+ MISSING_SIGNING_KEYS: 'UCP_MISSING_SIGNING_KEYS',
23
+ INVALID_SIGNING_KEY: 'UCP_INVALID_SIGNING_KEY',
24
+ // Payment validation errors
25
+ MISSING_PAYMENT_HANDLERS: 'UCP_MISSING_PAYMENT_HANDLERS',
26
+ PAYMENT_HANDLER_MISSING_FIELD: 'UCP_PAYMENT_HANDLER_MISSING_FIELD',
27
+ // Transport validation errors
28
+ REST_MISSING_SCHEMA: 'UCP_REST_MISSING_SCHEMA',
29
+ REST_MISSING_ENDPOINT: 'UCP_REST_MISSING_ENDPOINT',
30
+ MCP_MISSING_SCHEMA: 'UCP_MCP_MISSING_SCHEMA',
31
+ MCP_MISSING_ENDPOINT: 'UCP_MCP_MISSING_ENDPOINT',
32
+ A2A_MISSING_ENDPOINT: 'UCP_A2A_MISSING_ENDPOINT',
33
+ EP_MISSING_SCHEMA: 'UCP_EP_MISSING_SCHEMA',
34
+ // Network validation errors
35
+ PROFILE_FETCH_FAILED: 'UCP_PROFILE_FETCH_FAILED',
36
+ SCHEMA_FETCH_FAILED: 'UCP_SCHEMA_FETCH_FAILED',
37
+ SCHEMA_NOT_SELF_DESCRIBING: 'UCP_SCHEMA_NOT_SELF_DESCRIBING',
38
+ SCHEMA_NAME_MISMATCH: 'UCP_SCHEMA_NAME_MISMATCH',
39
+ SCHEMA_VERSION_MISMATCH: 'UCP_SCHEMA_VERSION_MISMATCH',
40
+ PRIVATE_IP_ENDPOINT: 'UCP_PRIVATE_IP_ENDPOINT',
41
+ };
42
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,yBAAyB;AACZ,QAAA,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,kBAAkB,EAAE,kBAAkB;IACtC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,gBAAgB,EAAE,sBAAsB;IACxC,oBAAoB,EAAE,0BAA0B;IAChD,yBAAyB,EAAE,qBAAqB;IAChD,4BAA4B,EAAE,wBAAwB;IAEtD,mBAAmB;IACnB,kBAAkB,EAAE,wBAAwB;IAC5C,kBAAkB,EAAE,wBAAwB;IAC5C,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,6BAA6B;IACtD,oBAAoB,EAAE,0BAA0B;IAChD,mBAAmB,EAAE,yBAAyB;IAE9C,4BAA4B;IAC5B,wBAAwB,EAAE,8BAA8B;IACxD,6BAA6B,EAAE,mCAAmC;IAElE,8BAA8B;IAC9B,mBAAmB,EAAE,yBAAyB;IAC9C,qBAAqB,EAAE,2BAA2B;IAClD,kBAAkB,EAAE,wBAAwB;IAC5C,oBAAoB,EAAE,0BAA0B;IAChD,oBAAoB,EAAE,0BAA0B;IAChD,iBAAiB,EAAE,uBAAuB;IAE1C,4BAA4B;IAC5B,oBAAoB,EAAE,0BAA0B;IAChD,mBAAmB,EAAE,yBAAyB;IAC9C,0BAA0B,EAAE,gCAAgC;IAC5D,oBAAoB,EAAE,0BAA0B;IAChD,uBAAuB,EAAE,6BAA6B;IACtD,mBAAmB,EAAE,yBAAyB;CACtC,CAAC"}