@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
@@ -0,0 +1,87 @@
1
+ /**
2
+ * ACP (Agentic Commerce Protocol) Readiness Check Types
3
+ *
4
+ * Separate from UCP validation types to avoid any impact on existing code.
5
+ * Based on the ACP spec (https://github.com/agentic-commerce-protocol/agentic-commerce-protocol)
6
+ * Latest stable version: 2026-01-30
7
+ */
8
+ export type AcpSeverity = 'error' | 'warn' | 'info';
9
+ export declare const AcpCheckCodes: {
10
+ readonly PLATFORM_SHOPIFY: "ACP_PLATFORM_SHOPIFY";
11
+ readonly PLATFORM_ETSY: "ACP_PLATFORM_ETSY";
12
+ readonly PLATFORM_OTHER: "ACP_PLATFORM_OTHER";
13
+ readonly PLATFORM_UNKNOWN: "ACP_PLATFORM_UNKNOWN";
14
+ readonly STRIPE_DETECTED: "ACP_STRIPE_DETECTED";
15
+ readonly STRIPE_NOT_DETECTED: "ACP_STRIPE_NOT_DETECTED";
16
+ readonly HTTPS_OK: "ACP_HTTPS_OK";
17
+ readonly HTTPS_MISSING: "ACP_HTTPS_MISSING";
18
+ readonly TERMS_OF_USE_FOUND: "ACP_TERMS_FOUND";
19
+ readonly TERMS_OF_USE_MISSING: "ACP_TERMS_MISSING";
20
+ readonly PRIVACY_POLICY_FOUND: "ACP_PRIVACY_FOUND";
21
+ readonly PRIVACY_POLICY_MISSING: "ACP_PRIVACY_MISSING";
22
+ readonly RETURN_POLICY_FOUND: "ACP_RETURN_FOUND";
23
+ readonly RETURN_POLICY_MISSING: "ACP_RETURN_MISSING";
24
+ readonly CHECKOUT_FORM_FOUND: "ACP_CHECKOUT_FORM_FOUND";
25
+ readonly CHECKOUT_FORM_MISSING: "ACP_CHECKOUT_FORM_MISSING";
26
+ readonly NO_COMMERCE_SIGNALS: "ACP_NO_COMMERCE_SIGNALS";
27
+ readonly SITE_UNREACHABLE: "ACP_SITE_UNREACHABLE";
28
+ readonly SITE_TIMEOUT: "ACP_SITE_TIMEOUT";
29
+ };
30
+ export type AcpCheckCode = typeof AcpCheckCodes[keyof typeof AcpCheckCodes];
31
+ export interface AcpCheckFinding {
32
+ severity: AcpSeverity;
33
+ code: AcpCheckCode;
34
+ category: 'platform' | 'payment' | 'policies' | 'security' | 'checkout';
35
+ message: string;
36
+ hint?: string;
37
+ }
38
+ export interface AcpScoreBreakdown {
39
+ platform: {
40
+ score: number;
41
+ maxScore: number;
42
+ status: string;
43
+ details: string;
44
+ };
45
+ payment: {
46
+ score: number;
47
+ maxScore: number;
48
+ status: string;
49
+ details: string;
50
+ };
51
+ policies: {
52
+ score: number;
53
+ maxScore: number;
54
+ status: string;
55
+ details: string;
56
+ };
57
+ security: {
58
+ score: number;
59
+ maxScore: number;
60
+ status: string;
61
+ details: string;
62
+ };
63
+ total: number;
64
+ maxTotal: number;
65
+ }
66
+ export type AcpGrade = 'A' | 'B' | 'C' | 'D' | 'F';
67
+ export interface AcpReadinessReport {
68
+ ok: boolean;
69
+ domain: string;
70
+ score: number;
71
+ grade: AcpGrade;
72
+ label: string;
73
+ score_breakdown: AcpScoreBreakdown;
74
+ findings: AcpCheckFinding[];
75
+ platform_detected: string | null;
76
+ stripe_detected: boolean;
77
+ checked_at: string;
78
+ recommendations: AcpRecommendation[];
79
+ }
80
+ export interface AcpRecommendation {
81
+ priority: 'critical' | 'high' | 'medium' | 'low';
82
+ title: string;
83
+ description: string;
84
+ action: string;
85
+ link?: string;
86
+ }
87
+ //# sourceMappingURL=acp-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-validation.d.ts","sourceRoot":"","sources":["../../src/types/acp-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAGpD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;CAiChB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAG5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAGnD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,iBAAiB,CAAC;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * ACP (Agentic Commerce Protocol) Readiness Check Types
4
+ *
5
+ * Separate from UCP validation types to avoid any impact on existing code.
6
+ * Based on the ACP spec (https://github.com/agentic-commerce-protocol/agentic-commerce-protocol)
7
+ * Latest stable version: 2026-01-30
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AcpCheckCodes = void 0;
11
+ // ACP-specific error/status codes
12
+ exports.AcpCheckCodes = {
13
+ // Platform detection
14
+ PLATFORM_SHOPIFY: 'ACP_PLATFORM_SHOPIFY',
15
+ PLATFORM_ETSY: 'ACP_PLATFORM_ETSY',
16
+ PLATFORM_OTHER: 'ACP_PLATFORM_OTHER',
17
+ PLATFORM_UNKNOWN: 'ACP_PLATFORM_UNKNOWN',
18
+ // Stripe detection
19
+ STRIPE_DETECTED: 'ACP_STRIPE_DETECTED',
20
+ STRIPE_NOT_DETECTED: 'ACP_STRIPE_NOT_DETECTED',
21
+ // HTTPS
22
+ HTTPS_OK: 'ACP_HTTPS_OK',
23
+ HTTPS_MISSING: 'ACP_HTTPS_MISSING',
24
+ // Policies (required for ACP links array)
25
+ TERMS_OF_USE_FOUND: 'ACP_TERMS_FOUND',
26
+ TERMS_OF_USE_MISSING: 'ACP_TERMS_MISSING',
27
+ PRIVACY_POLICY_FOUND: 'ACP_PRIVACY_FOUND',
28
+ PRIVACY_POLICY_MISSING: 'ACP_PRIVACY_MISSING',
29
+ RETURN_POLICY_FOUND: 'ACP_RETURN_FOUND',
30
+ RETURN_POLICY_MISSING: 'ACP_RETURN_MISSING',
31
+ // Checkout readiness
32
+ CHECKOUT_FORM_FOUND: 'ACP_CHECKOUT_FORM_FOUND',
33
+ CHECKOUT_FORM_MISSING: 'ACP_CHECKOUT_FORM_MISSING',
34
+ // No e-commerce signals
35
+ NO_COMMERCE_SIGNALS: 'ACP_NO_COMMERCE_SIGNALS',
36
+ // Overall
37
+ SITE_UNREACHABLE: 'ACP_SITE_UNREACHABLE',
38
+ SITE_TIMEOUT: 'ACP_SITE_TIMEOUT',
39
+ };
40
+ //# sourceMappingURL=acp-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-validation.js","sourceRoot":"","sources":["../../src/types/acp-validation.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAKH,kCAAkC;AACrB,QAAA,aAAa,GAAG;IAC3B,qBAAqB;IACrB,gBAAgB,EAAE,sBAAsB;IACxC,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,sBAAsB;IAExC,mBAAmB;IACnB,eAAe,EAAE,qBAAqB;IACtC,mBAAmB,EAAE,yBAAyB;IAE9C,QAAQ;IACR,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,mBAAmB;IAElC,0CAA0C;IAC1C,kBAAkB,EAAE,iBAAiB;IACrC,oBAAoB,EAAE,mBAAmB;IACzC,oBAAoB,EAAE,mBAAmB;IACzC,sBAAsB,EAAE,qBAAqB;IAC7C,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,oBAAoB;IAE3C,qBAAqB;IACrB,mBAAmB,EAAE,yBAAyB;IAC9C,qBAAqB,EAAE,2BAA2B;IAElD,wBAAwB;IACxB,mBAAmB,EAAE,yBAAyB;IAE9C,UAAU;IACV,gBAAgB,EAAE,sBAAsB;IACxC,YAAY,EAAE,kBAAkB;CACxB,CAAC"}
@@ -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"}
@@ -57,10 +57,18 @@ export interface PaymentHandler {
57
57
  export interface PaymentConfig {
58
58
  handlers: PaymentHandler[];
59
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[]>;
60
68
  export interface UcpObject {
61
69
  version: string;
62
- services: Record<string, UcpService>;
63
- capabilities: UcpCapability[];
70
+ services: Record<string, UcpService | UcpService[]>;
71
+ capabilities: UcpCapabilities;
64
72
  }
65
73
  export interface UcpProfile {
66
74
  ucp: UcpObject;
@@ -1 +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,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,YAAY,EAAE,aAAa,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"}
1
+ {"version":3,"file":"ucp-profile.d.ts","sourceRoot":"","sources":["../../src/types/ucp-profile.ts"],"names":[],"mappings":"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"}
@@ -1 +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;AAyFhD,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"}
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"}
@@ -16,6 +16,14 @@ export declare const ValidationErrorCodes: {
16
16
  readonly ENDPOINT_TRAILING_SLASH: "UCP_ENDPOINT_TRAILING_SLASH";
17
17
  readonly MISSING_SIGNING_KEYS: "UCP_MISSING_SIGNING_KEYS";
18
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";
19
27
  readonly PROFILE_FETCH_FAILED: "UCP_PROFILE_FETCH_FAILED";
20
28
  readonly SCHEMA_FETCH_FAILED: "UCP_SCHEMA_FETCH_FAILED";
21
29
  readonly SCHEMA_NOT_SELF_DESCRIBING: "UCP_SCHEMA_NOT_SELF_DESCRIBING";
@@ -1 +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;;;;;;;;;;;;;;;;;;;;CAyBvB,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"}
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"}
@@ -21,6 +21,16 @@ exports.ValidationErrorCodes = {
21
21
  ENDPOINT_TRAILING_SLASH: 'UCP_ENDPOINT_TRAILING_SLASH',
22
22
  MISSING_SIGNING_KEYS: 'UCP_MISSING_SIGNING_KEYS',
23
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',
24
34
  // Network validation errors
25
35
  PROFILE_FETCH_FAILED: 'UCP_PROFILE_FETCH_FAILED',
26
36
  SCHEMA_FETCH_FAILED: 'UCP_SCHEMA_FETCH_FAILED',
@@ -1 +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,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"}
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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * ACP Readiness Checker
3
+ *
4
+ * Checks how ready a merchant's site is for the Agentic Commerce Protocol (ACP).
5
+ * Unlike UCP validation (which checks a specific /.well-known/ucp file), ACP readiness
6
+ * is assessed by analyzing the merchant's site for:
7
+ *
8
+ * 1. Platform (Shopify/Etsy = auto-eligible for ChatGPT Instant Checkout)
9
+ * 2. Payment infrastructure (Stripe detection = easier ACP integration via SPT)
10
+ * 3. Policy pages (required in ACP checkout session `links` array: terms, privacy, return)
11
+ * 4. Security (HTTPS with TLS 1.2+ required by ACP spec for all endpoints)
12
+ *
13
+ * Note: ACP is a server-to-server REST API (5 checkout endpoints + delegate_payment).
14
+ * We cannot validate the actual API without merchant credentials, so this checker
15
+ * assesses surface-level readiness signals from the merchant's public site.
16
+ *
17
+ * Note: ACP product data comes from merchant-submitted feeds (CSV/JSON),
18
+ * not crawled homepage markup. Product data scoring is handled by the Feed Analyzer.
19
+ *
20
+ * Based on ACP spec v2026-01-30:
21
+ * https://github.com/agentic-commerce-protocol/agentic-commerce-protocol
22
+ */
23
+ import type { AcpReadinessReport } from '../../types/acp-validation.js';
24
+ export interface AcpCheckOptions {
25
+ timeoutMs?: number;
26
+ }
27
+ /**
28
+ * Check a domain's ACP readiness
29
+ */
30
+ export declare function checkAcpReadiness(domain: string, options?: AcpCheckOptions): Promise<AcpReadinessReport>;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validator/acp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAyK7B"}