@portel/photon-core 1.4.0 → 2.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.
- package/README.md +123 -0
- package/dist/auto-ui.d.ts +103 -0
- package/dist/auto-ui.d.ts.map +1 -0
- package/dist/auto-ui.js +275 -0
- package/dist/auto-ui.js.map +1 -0
- package/dist/base.d.ts +9 -2
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +23 -10
- package/dist/base.js.map +1 -1
- package/dist/cli-ui-renderer.d.ts +31 -0
- package/dist/cli-ui-renderer.d.ts.map +1 -0
- package/dist/cli-ui-renderer.js +224 -0
- package/dist/cli-ui-renderer.js.map +1 -0
- package/dist/dependency-manager.d.ts.map +1 -1
- package/dist/dependency-manager.js +0 -1
- package/dist/dependency-manager.js.map +1 -1
- package/dist/design-system/index.d.ts +21 -0
- package/dist/design-system/index.d.ts.map +1 -0
- package/dist/design-system/index.js +27 -0
- package/dist/design-system/index.js.map +1 -0
- package/dist/design-system/tokens.d.ts +149 -0
- package/dist/design-system/tokens.d.ts.map +1 -0
- package/dist/design-system/tokens.js +413 -0
- package/dist/design-system/tokens.js.map +1 -0
- package/dist/design-system/transaction-ui.d.ts +70 -0
- package/dist/design-system/transaction-ui.d.ts.map +1 -0
- package/dist/design-system/transaction-ui.js +982 -0
- package/dist/design-system/transaction-ui.js.map +1 -0
- package/dist/generator.d.ts +58 -8
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +9 -4
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -44
- package/dist/index.js.map +1 -1
- package/dist/io.d.ts +395 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +304 -0
- package/dist/io.js.map +1 -0
- package/dist/path-resolver.d.ts.map +1 -1
- package/dist/path-resolver.js +2 -1
- package/dist/path-resolver.js.map +1 -1
- package/dist/rendering/components.d.ts +29 -0
- package/dist/rendering/components.d.ts.map +1 -0
- package/dist/rendering/components.js +773 -0
- package/dist/rendering/components.js.map +1 -0
- package/dist/rendering/field-analyzer.d.ts +48 -0
- package/dist/rendering/field-analyzer.d.ts.map +1 -0
- package/dist/rendering/field-analyzer.js +270 -0
- package/dist/rendering/field-analyzer.js.map +1 -0
- package/dist/rendering/field-renderers.d.ts +64 -0
- package/dist/rendering/field-renderers.d.ts.map +1 -0
- package/dist/rendering/field-renderers.js +317 -0
- package/dist/rendering/field-renderers.js.map +1 -0
- package/dist/rendering/index.d.ts +28 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/index.js +60 -0
- package/dist/rendering/index.js.map +1 -0
- package/dist/rendering/layout-selector.d.ts +48 -0
- package/dist/rendering/layout-selector.d.ts.map +1 -0
- package/dist/rendering/layout-selector.js +347 -0
- package/dist/rendering/layout-selector.js.map +1 -0
- package/dist/rendering/template-engine.d.ts +41 -0
- package/dist/rendering/template-engine.d.ts.map +1 -0
- package/dist/rendering/template-engine.js +236 -0
- package/dist/rendering/template-engine.js.map +1 -0
- package/dist/schema-extractor.d.ts +30 -0
- package/dist/schema-extractor.d.ts.map +1 -1
- package/dist/schema-extractor.js +205 -12
- package/dist/schema-extractor.js.map +1 -1
- package/dist/stateful.d.ts +63 -0
- package/dist/stateful.d.ts.map +1 -1
- package/dist/stateful.js +222 -0
- package/dist/stateful.js.map +1 -1
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ucp/ap2/handlers.d.ts +242 -0
- package/dist/ucp/ap2/handlers.d.ts.map +1 -0
- package/dist/ucp/ap2/handlers.js +482 -0
- package/dist/ucp/ap2/handlers.js.map +1 -0
- package/dist/ucp/ap2/mandates.d.ts +95 -0
- package/dist/ucp/ap2/mandates.d.ts.map +1 -0
- package/dist/ucp/ap2/mandates.js +234 -0
- package/dist/ucp/ap2/mandates.js.map +1 -0
- package/dist/ucp/ap2/types.d.ts +305 -0
- package/dist/ucp/ap2/types.d.ts.map +1 -0
- package/dist/ucp/ap2/types.js +8 -0
- package/dist/ucp/ap2/types.js.map +1 -0
- package/dist/ucp/capabilities/checkout.d.ts +118 -0
- package/dist/ucp/capabilities/checkout.d.ts.map +1 -0
- package/dist/ucp/capabilities/checkout.js +344 -0
- package/dist/ucp/capabilities/checkout.js.map +1 -0
- package/dist/ucp/capabilities/identity.d.ts +130 -0
- package/dist/ucp/capabilities/identity.d.ts.map +1 -0
- package/dist/ucp/capabilities/identity.js +290 -0
- package/dist/ucp/capabilities/identity.js.map +1 -0
- package/dist/ucp/capabilities/order.d.ts +142 -0
- package/dist/ucp/capabilities/order.d.ts.map +1 -0
- package/dist/ucp/capabilities/order.js +383 -0
- package/dist/ucp/capabilities/order.js.map +1 -0
- package/dist/ucp/index.d.ts +18 -0
- package/dist/ucp/index.d.ts.map +1 -0
- package/dist/ucp/index.js +19 -0
- package/dist/ucp/index.js.map +1 -0
- package/dist/ucp/manifest.d.ts +62 -0
- package/dist/ucp/manifest.d.ts.map +1 -0
- package/dist/ucp/manifest.js +180 -0
- package/dist/ucp/manifest.js.map +1 -0
- package/dist/ucp/types.d.ts +327 -0
- package/dist/ucp/types.d.ts.map +1 -0
- package/dist/ucp/types.js +8 -0
- package/dist/ucp/types.js.map +1 -0
- package/package.json +3 -4
- package/src/auto-ui.ts +413 -0
- package/src/base.ts +22 -9
- package/src/cli-ui-renderer.ts +264 -0
- package/src/dependency-manager.ts +0 -1
- package/src/design-system/index.ts +30 -0
- package/src/design-system/tokens.ts +451 -0
- package/src/design-system/transaction-ui.ts +1038 -0
- package/src/generator.ts +68 -8
- package/src/index.ts +159 -101
- package/src/io.ts +493 -0
- package/src/path-resolver.ts +2 -1
- package/src/rendering/components.ts +785 -0
- package/src/rendering/field-analyzer.ts +299 -0
- package/src/rendering/field-renderers.ts +356 -0
- package/src/rendering/index.ts +63 -0
- package/src/rendering/layout-selector.ts +390 -0
- package/src/rendering/template-engine.ts +254 -0
- package/src/schema-extractor.ts +225 -12
- package/src/stateful.ts +301 -0
- package/src/types.ts +10 -1
- package/src/ucp/ap2/handlers.ts +779 -0
- package/src/ucp/ap2/mandates.ts +354 -0
- package/src/ucp/ap2/types.ts +441 -0
- package/src/ucp/capabilities/checkout.ts +497 -0
- package/src/ucp/capabilities/identity.ts +425 -0
- package/src/ucp/capabilities/order.ts +549 -0
- package/src/ucp/index.ts +27 -0
- package/src/ucp/manifest.ts +257 -0
- package/src/ucp/types.ts +454 -0
- package/dist/cli-formatter.d.ts +0 -92
- package/dist/cli-formatter.d.ts.map +0 -1
- package/dist/cli-formatter.js +0 -486
- package/dist/cli-formatter.js.map +0 -1
- package/dist/elicit.d.ts +0 -93
- package/dist/elicit.d.ts.map +0 -1
- package/dist/elicit.js +0 -373
- package/dist/elicit.js.map +0 -1
- package/dist/mcp-client.d.ts +0 -218
- package/dist/mcp-client.d.ts.map +0 -1
- package/dist/mcp-client.js +0 -424
- package/dist/mcp-client.js.map +0 -1
- package/dist/mcp-sdk-transport.d.ts +0 -88
- package/dist/mcp-sdk-transport.d.ts.map +0 -1
- package/dist/mcp-sdk-transport.js +0 -360
- package/dist/mcp-sdk-transport.js.map +0 -1
- package/dist/photon-config.d.ts +0 -86
- package/dist/photon-config.d.ts.map +0 -1
- package/dist/photon-config.js +0 -156
- package/dist/photon-config.js.map +0 -1
- package/src/cli-formatter.ts +0 -579
- package/src/elicit.ts +0 -438
- package/src/mcp-client.ts +0 -561
- package/src/mcp-sdk-transport.ts +0 -449
- package/src/photon-config.ts +0 -201
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Manifest Generator
|
|
3
|
+
*
|
|
4
|
+
* Auto-generates /.well-known/ucp manifest from Photon class metadata.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate UCP manifest from parameters
|
|
8
|
+
*/
|
|
9
|
+
export function generateUCPManifest(params) {
|
|
10
|
+
const { merchantId, merchantName, merchantLogo, supportUrl, capabilities, paymentHandlers = ['stripe'], supportedCurrencies = ['USD'], supportedCountries = ['US'], baseUrl = '', mcpServerName } = params;
|
|
11
|
+
const capabilityConfigs = {
|
|
12
|
+
checkout: {
|
|
13
|
+
supported: capabilities.includes('checkout'),
|
|
14
|
+
endpoint: capabilities.includes('checkout') ? `${baseUrl}/ucp/checkout` : undefined,
|
|
15
|
+
webhooks: false
|
|
16
|
+
},
|
|
17
|
+
identity: {
|
|
18
|
+
supported: capabilities.includes('identity'),
|
|
19
|
+
endpoint: capabilities.includes('identity') ? `${baseUrl}/ucp/identity` : undefined
|
|
20
|
+
},
|
|
21
|
+
order: {
|
|
22
|
+
supported: capabilities.includes('order'),
|
|
23
|
+
endpoint: capabilities.includes('order') ? `${baseUrl}/ucp/order` : undefined,
|
|
24
|
+
webhooks: capabilities.includes('order')
|
|
25
|
+
},
|
|
26
|
+
payment_token_exchange: {
|
|
27
|
+
supported: capabilities.includes('payment_token_exchange'),
|
|
28
|
+
endpoint: capabilities.includes('payment_token_exchange')
|
|
29
|
+
? `${baseUrl}/ucp/payment-token`
|
|
30
|
+
: undefined
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const manifest = {
|
|
34
|
+
ucp_version: '1.0',
|
|
35
|
+
merchant: {
|
|
36
|
+
id: merchantId,
|
|
37
|
+
name: merchantName,
|
|
38
|
+
logo: merchantLogo,
|
|
39
|
+
supportUrl
|
|
40
|
+
},
|
|
41
|
+
capabilities: capabilityConfigs,
|
|
42
|
+
payment_handlers: paymentHandlers,
|
|
43
|
+
supported_currencies: supportedCurrencies,
|
|
44
|
+
supported_countries: supportedCountries
|
|
45
|
+
};
|
|
46
|
+
// Add OAuth config if identity capability is enabled
|
|
47
|
+
if (capabilities.includes('identity')) {
|
|
48
|
+
manifest.oauth = {
|
|
49
|
+
authorizationEndpoint: `${baseUrl}/oauth/authorize`,
|
|
50
|
+
tokenEndpoint: `${baseUrl}/oauth/token`,
|
|
51
|
+
revocationEndpoint: `${baseUrl}/oauth/revoke`,
|
|
52
|
+
scopes: ['checkout.read', 'checkout.write', 'order.read', 'order.write']
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// Add MCP config if server name provided
|
|
56
|
+
if (mcpServerName) {
|
|
57
|
+
manifest.mcp = {
|
|
58
|
+
server_name: mcpServerName,
|
|
59
|
+
tools_prefix: 'ucp'
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return manifest;
|
|
63
|
+
}
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// JSDoc Annotation Parsing
|
|
66
|
+
// ============================================================================
|
|
67
|
+
/**
|
|
68
|
+
* Parse UCP metadata from JSDoc annotations
|
|
69
|
+
*
|
|
70
|
+
* Supports:
|
|
71
|
+
* - @ucp - Enable UCP for class
|
|
72
|
+
* - @capability checkout|identity|order|payment_token_exchange
|
|
73
|
+
* - @ucp.merchant.id <id>
|
|
74
|
+
* - @ucp.merchant.name <name>
|
|
75
|
+
* - @ucp.operation <capability>.<operation>
|
|
76
|
+
*/
|
|
77
|
+
export function parseUCPAnnotations(jsdoc) {
|
|
78
|
+
// Check if @ucp is present
|
|
79
|
+
if (!/@ucp\b/.test(jsdoc)) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
const capabilities = [];
|
|
83
|
+
// Parse @capability annotations
|
|
84
|
+
const capabilityMatches = jsdoc.matchAll(/@capability\s+(checkout|identity|order|payment_token_exchange)/g);
|
|
85
|
+
for (const match of capabilityMatches) {
|
|
86
|
+
capabilities.push(match[1]);
|
|
87
|
+
}
|
|
88
|
+
// Parse merchant info
|
|
89
|
+
const merchantIdMatch = jsdoc.match(/@ucp\.merchant\.id\s+(\S+)/);
|
|
90
|
+
const merchantNameMatch = jsdoc.match(/@ucp\.merchant\.name\s+(.+?)(?:\n|$)/);
|
|
91
|
+
return {
|
|
92
|
+
enabled: true,
|
|
93
|
+
capabilities,
|
|
94
|
+
merchantId: merchantIdMatch?.[1],
|
|
95
|
+
merchantName: merchantNameMatch?.[1]?.trim()
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Parse UCP operation from method JSDoc
|
|
100
|
+
*/
|
|
101
|
+
export function parseUCPMethodAnnotation(jsdoc) {
|
|
102
|
+
const match = jsdoc.match(/@ucp\.operation\s+(checkout|identity|order|payment_token_exchange)\.(\w+)/);
|
|
103
|
+
if (!match)
|
|
104
|
+
return null;
|
|
105
|
+
return {
|
|
106
|
+
capability: match[1],
|
|
107
|
+
operation: match[2]
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Extract UCP manifest from class schema
|
|
112
|
+
*/
|
|
113
|
+
export function extractManifestFromSchema(params) {
|
|
114
|
+
const { className, classJsdoc, methods, baseUrl } = params;
|
|
115
|
+
const ucpMeta = parseUCPAnnotations(classJsdoc);
|
|
116
|
+
if (!ucpMeta)
|
|
117
|
+
return null;
|
|
118
|
+
// Auto-detect capabilities from method annotations if not explicitly declared
|
|
119
|
+
const detectedCapabilities = new Set(ucpMeta.capabilities);
|
|
120
|
+
for (const method of methods) {
|
|
121
|
+
const methodMeta = parseUCPMethodAnnotation(method.jsdoc);
|
|
122
|
+
if (methodMeta) {
|
|
123
|
+
detectedCapabilities.add(methodMeta.capability);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Also detect from method names
|
|
127
|
+
const methodNames = methods.map(m => m.name.toLowerCase());
|
|
128
|
+
if (methodNames.some(n => n.includes('checkout') || n.includes('cart'))) {
|
|
129
|
+
detectedCapabilities.add('checkout');
|
|
130
|
+
}
|
|
131
|
+
if (methodNames.some(n => n.includes('order') || n.includes('shipment') || n.includes('return'))) {
|
|
132
|
+
detectedCapabilities.add('order');
|
|
133
|
+
}
|
|
134
|
+
if (methodNames.some(n => n.includes('oauth') || n.includes('authorize') || n.includes('identity'))) {
|
|
135
|
+
detectedCapabilities.add('identity');
|
|
136
|
+
}
|
|
137
|
+
return generateUCPManifest({
|
|
138
|
+
merchantId: ucpMeta.merchantId || className.toLowerCase().replace(/[^a-z0-9]/g, '-'),
|
|
139
|
+
merchantName: ucpMeta.merchantName || className,
|
|
140
|
+
capabilities: Array.from(detectedCapabilities),
|
|
141
|
+
baseUrl,
|
|
142
|
+
mcpServerName: className
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
// ============================================================================
|
|
146
|
+
// Well-Known Response
|
|
147
|
+
// ============================================================================
|
|
148
|
+
/**
|
|
149
|
+
* Generate the /.well-known/ucp response
|
|
150
|
+
*/
|
|
151
|
+
export function generateWellKnownResponse(manifest) {
|
|
152
|
+
return JSON.stringify(manifest, null, 2);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Validate UCP manifest
|
|
156
|
+
*/
|
|
157
|
+
export function validateManifest(manifest) {
|
|
158
|
+
const errors = [];
|
|
159
|
+
if (!manifest.ucp_version) {
|
|
160
|
+
errors.push('Missing ucp_version');
|
|
161
|
+
}
|
|
162
|
+
if (!manifest.merchant?.id) {
|
|
163
|
+
errors.push('Missing merchant.id');
|
|
164
|
+
}
|
|
165
|
+
if (!manifest.merchant?.name) {
|
|
166
|
+
errors.push('Missing merchant.name');
|
|
167
|
+
}
|
|
168
|
+
const hasAnyCapability = Object.values(manifest.capabilities).some(c => c.supported);
|
|
169
|
+
if (!hasAnyCapability) {
|
|
170
|
+
errors.push('At least one capability must be supported');
|
|
171
|
+
}
|
|
172
|
+
if (manifest.payment_handlers.length === 0) {
|
|
173
|
+
errors.push('At least one payment handler must be specified');
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
valid: errors.length === 0,
|
|
177
|
+
errors
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/ucp/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Commerce Protocol (UCP) Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Based on UCP specification from https://ucp.dev/
|
|
5
|
+
* Compatible with MCP transport for Photon integration.
|
|
6
|
+
*/
|
|
7
|
+
export interface Money {
|
|
8
|
+
amount: number;
|
|
9
|
+
currency: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Address {
|
|
12
|
+
name?: string;
|
|
13
|
+
organization?: string;
|
|
14
|
+
addressLine1: string;
|
|
15
|
+
addressLine2?: string;
|
|
16
|
+
city: string;
|
|
17
|
+
region?: string;
|
|
18
|
+
postalCode: string;
|
|
19
|
+
country: string;
|
|
20
|
+
phone?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface BuyerInfo {
|
|
23
|
+
email: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
phone?: string;
|
|
26
|
+
billingAddress?: Address;
|
|
27
|
+
}
|
|
28
|
+
export type CheckoutSessionStatus = 'open' | 'ready_for_complete' | 'processing' | 'completed' | 'expired' | 'cancelled';
|
|
29
|
+
export interface LineItem {
|
|
30
|
+
id: string;
|
|
31
|
+
sku?: string;
|
|
32
|
+
label: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
quantity: number;
|
|
35
|
+
unitPrice: Money;
|
|
36
|
+
totalPrice: Money;
|
|
37
|
+
productUrl?: string;
|
|
38
|
+
imageUrl?: string;
|
|
39
|
+
metadata?: Record<string, any>;
|
|
40
|
+
}
|
|
41
|
+
export interface DiscountAllocation {
|
|
42
|
+
code: string;
|
|
43
|
+
label: string;
|
|
44
|
+
type: 'percentage' | 'fixed' | 'free_shipping';
|
|
45
|
+
value: number;
|
|
46
|
+
appliedAmount: Money;
|
|
47
|
+
lineItemAllocations?: {
|
|
48
|
+
lineItemId: string;
|
|
49
|
+
amount: Money;
|
|
50
|
+
}[];
|
|
51
|
+
}
|
|
52
|
+
export interface TaxLine {
|
|
53
|
+
label: string;
|
|
54
|
+
rate: number;
|
|
55
|
+
amount: Money;
|
|
56
|
+
}
|
|
57
|
+
export interface Totals {
|
|
58
|
+
subtotal: Money;
|
|
59
|
+
discounts: Money;
|
|
60
|
+
shipping: Money;
|
|
61
|
+
tax: Money;
|
|
62
|
+
total: Money;
|
|
63
|
+
taxLines?: TaxLine[];
|
|
64
|
+
}
|
|
65
|
+
export interface FulfillmentOption {
|
|
66
|
+
id: string;
|
|
67
|
+
label: string;
|
|
68
|
+
description?: string;
|
|
69
|
+
carrier?: string;
|
|
70
|
+
estimatedDelivery?: string;
|
|
71
|
+
price: Money;
|
|
72
|
+
}
|
|
73
|
+
export interface FulfillmentDestination {
|
|
74
|
+
type: 'shipping' | 'pickup' | 'digital';
|
|
75
|
+
address?: Address;
|
|
76
|
+
pickupLocation?: {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
address: Address;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export interface PaymentMethodInfo {
|
|
83
|
+
id: string;
|
|
84
|
+
type: 'card' | 'bank_transfer' | 'wallet' | 'crypto' | 'other';
|
|
85
|
+
label: string;
|
|
86
|
+
icon?: string;
|
|
87
|
+
lastFour?: string;
|
|
88
|
+
expiryMonth?: number;
|
|
89
|
+
expiryYear?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface CheckoutSession {
|
|
92
|
+
id: string;
|
|
93
|
+
merchantId: string;
|
|
94
|
+
status: CheckoutSessionStatus;
|
|
95
|
+
createdAt: string;
|
|
96
|
+
updatedAt: string;
|
|
97
|
+
expiresAt: string;
|
|
98
|
+
buyer?: BuyerInfo;
|
|
99
|
+
lineItems: LineItem[];
|
|
100
|
+
discounts: DiscountAllocation[];
|
|
101
|
+
fulfillmentOptions: FulfillmentOption[];
|
|
102
|
+
selectedFulfillment?: {
|
|
103
|
+
optionId: string;
|
|
104
|
+
destination: FulfillmentDestination;
|
|
105
|
+
};
|
|
106
|
+
availablePaymentMethods: PaymentMethodInfo[];
|
|
107
|
+
selectedPaymentMethod?: PaymentMethodInfo;
|
|
108
|
+
totals: Totals;
|
|
109
|
+
metadata?: Record<string, any>;
|
|
110
|
+
}
|
|
111
|
+
export type OrderStatus = 'pending' | 'confirmed' | 'processing' | 'shipped' | 'delivered' | 'cancelled' | 'refunded';
|
|
112
|
+
export type ShipmentStatus = 'label_created' | 'picked_up' | 'in_transit' | 'out_for_delivery' | 'delivered' | 'failed_delivery' | 'returned';
|
|
113
|
+
export interface TrackingEvent {
|
|
114
|
+
timestamp: string;
|
|
115
|
+
status: ShipmentStatus;
|
|
116
|
+
location?: string;
|
|
117
|
+
description: string;
|
|
118
|
+
}
|
|
119
|
+
export interface Shipment {
|
|
120
|
+
id: string;
|
|
121
|
+
carrier: string;
|
|
122
|
+
trackingNumber: string;
|
|
123
|
+
trackingUrl?: string;
|
|
124
|
+
status: ShipmentStatus;
|
|
125
|
+
estimatedDelivery?: string;
|
|
126
|
+
events: TrackingEvent[];
|
|
127
|
+
lineItemIds: string[];
|
|
128
|
+
}
|
|
129
|
+
export interface FulfillmentExpectation {
|
|
130
|
+
id: string;
|
|
131
|
+
type: 'shipping' | 'pickup' | 'digital';
|
|
132
|
+
description: string;
|
|
133
|
+
estimatedDate?: string;
|
|
134
|
+
lineItemIds: string[];
|
|
135
|
+
}
|
|
136
|
+
export interface Adjustment {
|
|
137
|
+
id: string;
|
|
138
|
+
type: 'refund' | 'partial_refund' | 'price_adjustment' | 'return';
|
|
139
|
+
amount: Money;
|
|
140
|
+
reason: string;
|
|
141
|
+
createdAt: string;
|
|
142
|
+
lineItemIds?: string[];
|
|
143
|
+
}
|
|
144
|
+
export interface ReturnRequest {
|
|
145
|
+
id: string;
|
|
146
|
+
status: 'requested' | 'approved' | 'rejected' | 'received' | 'refunded';
|
|
147
|
+
items: {
|
|
148
|
+
lineItemId: string;
|
|
149
|
+
quantity: number;
|
|
150
|
+
reason: string;
|
|
151
|
+
}[];
|
|
152
|
+
createdAt: string;
|
|
153
|
+
updatedAt: string;
|
|
154
|
+
refundAmount?: Money;
|
|
155
|
+
returnLabel?: {
|
|
156
|
+
carrier: string;
|
|
157
|
+
trackingNumber: string;
|
|
158
|
+
labelUrl: string;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
export interface Order {
|
|
162
|
+
id: string;
|
|
163
|
+
checkoutSessionId: string;
|
|
164
|
+
merchantId: string;
|
|
165
|
+
status: OrderStatus;
|
|
166
|
+
createdAt: string;
|
|
167
|
+
updatedAt: string;
|
|
168
|
+
buyer: BuyerInfo;
|
|
169
|
+
lineItems: LineItem[];
|
|
170
|
+
fulfillmentExpectations: FulfillmentExpectation[];
|
|
171
|
+
shipments: Shipment[];
|
|
172
|
+
paymentMethod: PaymentMethodInfo;
|
|
173
|
+
paymentStatus: 'pending' | 'authorized' | 'captured' | 'refunded' | 'failed';
|
|
174
|
+
totals: Totals;
|
|
175
|
+
adjustments: Adjustment[];
|
|
176
|
+
returns: ReturnRequest[];
|
|
177
|
+
metadata?: Record<string, any>;
|
|
178
|
+
}
|
|
179
|
+
export interface OAuthConfig {
|
|
180
|
+
authorizationEndpoint: string;
|
|
181
|
+
tokenEndpoint: string;
|
|
182
|
+
revocationEndpoint?: string;
|
|
183
|
+
scopes: string[];
|
|
184
|
+
}
|
|
185
|
+
export interface TokenResponse {
|
|
186
|
+
accessToken: string;
|
|
187
|
+
tokenType: string;
|
|
188
|
+
expiresIn: number;
|
|
189
|
+
refreshToken?: string;
|
|
190
|
+
scope: string;
|
|
191
|
+
}
|
|
192
|
+
export interface IdentityLink {
|
|
193
|
+
id: string;
|
|
194
|
+
agentId: string;
|
|
195
|
+
userId: string;
|
|
196
|
+
scopes: string[];
|
|
197
|
+
createdAt: string;
|
|
198
|
+
expiresAt?: string;
|
|
199
|
+
}
|
|
200
|
+
export type WebhookEventType = 'checkout.created' | 'checkout.updated' | 'checkout.completed' | 'order.created' | 'order.updated' | 'order.cancelled' | 'shipment.created' | 'shipment.updated' | 'delivery.completed' | 'return.requested' | 'return.approved' | 'refund.created';
|
|
201
|
+
export interface WebhookRegistration {
|
|
202
|
+
id: string;
|
|
203
|
+
url: string;
|
|
204
|
+
events: WebhookEventType[];
|
|
205
|
+
secret: string;
|
|
206
|
+
active: boolean;
|
|
207
|
+
createdAt: string;
|
|
208
|
+
}
|
|
209
|
+
export interface WebhookPayload {
|
|
210
|
+
id: string;
|
|
211
|
+
type: WebhookEventType;
|
|
212
|
+
timestamp: string;
|
|
213
|
+
data: any;
|
|
214
|
+
}
|
|
215
|
+
export type UCPCapability = 'checkout' | 'identity' | 'order' | 'payment_token_exchange';
|
|
216
|
+
export interface UCPCapabilityConfig {
|
|
217
|
+
supported: boolean;
|
|
218
|
+
endpoint?: string;
|
|
219
|
+
webhooks?: boolean;
|
|
220
|
+
extensions?: string[];
|
|
221
|
+
}
|
|
222
|
+
export interface UCPManifest {
|
|
223
|
+
ucp_version: string;
|
|
224
|
+
merchant: {
|
|
225
|
+
id: string;
|
|
226
|
+
name: string;
|
|
227
|
+
logo?: string;
|
|
228
|
+
supportUrl?: string;
|
|
229
|
+
};
|
|
230
|
+
capabilities: Record<UCPCapability, UCPCapabilityConfig>;
|
|
231
|
+
payment_handlers: string[];
|
|
232
|
+
supported_currencies: string[];
|
|
233
|
+
supported_countries: string[];
|
|
234
|
+
oauth?: OAuthConfig;
|
|
235
|
+
mcp?: {
|
|
236
|
+
server_name: string;
|
|
237
|
+
tools_prefix?: string;
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
export interface CheckoutCapability {
|
|
241
|
+
createSession(params: {
|
|
242
|
+
currency?: string;
|
|
243
|
+
locale?: string;
|
|
244
|
+
metadata?: Record<string, any>;
|
|
245
|
+
}): Promise<CheckoutSession>;
|
|
246
|
+
getSession(sessionId: string): Promise<CheckoutSession>;
|
|
247
|
+
updateCart(sessionId: string, updates: {
|
|
248
|
+
add?: Omit<LineItem, 'id' | 'totalPrice'>[];
|
|
249
|
+
remove?: string[];
|
|
250
|
+
update?: {
|
|
251
|
+
id: string;
|
|
252
|
+
quantity: number;
|
|
253
|
+
}[];
|
|
254
|
+
}): Promise<CheckoutSession>;
|
|
255
|
+
setBuyer(sessionId: string, buyer: BuyerInfo): Promise<CheckoutSession>;
|
|
256
|
+
setFulfillment(sessionId: string, params: {
|
|
257
|
+
optionId: string;
|
|
258
|
+
destination: FulfillmentDestination;
|
|
259
|
+
}): Promise<CheckoutSession>;
|
|
260
|
+
applyDiscount(sessionId: string, code: string): Promise<{
|
|
261
|
+
success: boolean;
|
|
262
|
+
session: CheckoutSession;
|
|
263
|
+
error?: string;
|
|
264
|
+
}>;
|
|
265
|
+
removeDiscount(sessionId: string, code: string): Promise<CheckoutSession>;
|
|
266
|
+
complete(sessionId: string, payment: {
|
|
267
|
+
methodId?: string;
|
|
268
|
+
mandate?: any;
|
|
269
|
+
}): Promise<Order>;
|
|
270
|
+
}
|
|
271
|
+
export interface IdentityCapability {
|
|
272
|
+
getOAuthConfig(): Promise<OAuthConfig>;
|
|
273
|
+
requestAuthorization(params: {
|
|
274
|
+
agentId: string;
|
|
275
|
+
scopes: string[];
|
|
276
|
+
redirectUri: string;
|
|
277
|
+
state?: string;
|
|
278
|
+
}): Promise<{
|
|
279
|
+
authorizationUrl: string;
|
|
280
|
+
}>;
|
|
281
|
+
exchangeCode(params: {
|
|
282
|
+
code: string;
|
|
283
|
+
redirectUri: string;
|
|
284
|
+
}): Promise<TokenResponse>;
|
|
285
|
+
refreshToken(refreshToken: string): Promise<TokenResponse>;
|
|
286
|
+
revokeToken(token: string): Promise<void>;
|
|
287
|
+
getIdentityLink(agentId: string): Promise<IdentityLink | null>;
|
|
288
|
+
}
|
|
289
|
+
export interface OrderCapability {
|
|
290
|
+
getOrder(orderId: string): Promise<Order>;
|
|
291
|
+
listOrders(params?: {
|
|
292
|
+
status?: OrderStatus[];
|
|
293
|
+
limit?: number;
|
|
294
|
+
cursor?: string;
|
|
295
|
+
}): Promise<{
|
|
296
|
+
orders: Order[];
|
|
297
|
+
nextCursor?: string;
|
|
298
|
+
}>;
|
|
299
|
+
cancelOrder(orderId: string, reason?: string): Promise<Order>;
|
|
300
|
+
trackShipment(orderId: string, shipmentId?: string): Promise<Shipment[]>;
|
|
301
|
+
initiateReturn(orderId: string, params: {
|
|
302
|
+
items: {
|
|
303
|
+
lineItemId: string;
|
|
304
|
+
quantity: number;
|
|
305
|
+
reason: string;
|
|
306
|
+
}[];
|
|
307
|
+
}): Promise<ReturnRequest>;
|
|
308
|
+
getReturn(orderId: string, returnId: string): Promise<ReturnRequest>;
|
|
309
|
+
registerWebhook(params: {
|
|
310
|
+
url: string;
|
|
311
|
+
events: WebhookEventType[];
|
|
312
|
+
secret: string;
|
|
313
|
+
}): Promise<WebhookRegistration>;
|
|
314
|
+
listWebhooks(): Promise<WebhookRegistration[]>;
|
|
315
|
+
deleteWebhook(webhookId: string): Promise<void>;
|
|
316
|
+
}
|
|
317
|
+
export interface UCPMetadata {
|
|
318
|
+
enabled: boolean;
|
|
319
|
+
capabilities: UCPCapability[];
|
|
320
|
+
merchantId?: string;
|
|
321
|
+
merchantName?: string;
|
|
322
|
+
}
|
|
323
|
+
export interface UCPMethodMetadata {
|
|
324
|
+
capability: UCPCapability;
|
|
325
|
+
operation: string;
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ucp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ucp/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@portel/photon-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Core library for parsing, loading, and managing .photon.ts files - runtime-agnostic foundation for building custom Photon runtimes",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -49,9 +49,8 @@
|
|
|
49
49
|
},
|
|
50
50
|
"homepage": "https://github.com/portel-dev/photon-core#readme",
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@
|
|
53
|
-
"
|
|
54
|
-
"cli-highlight": "^2.1.11",
|
|
52
|
+
"@portel/cli": "^1.0.0",
|
|
53
|
+
"@portel/mcp": "^1.0.0",
|
|
55
54
|
"typescript": "^5.7.2"
|
|
56
55
|
},
|
|
57
56
|
"devDependencies": {
|