@artos-commerce/ucp-cli 0.1.1 → 0.1.3
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/dist/commands/init.js +1 -1
- package/dist/output.js +44 -14
- package/dist/output.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/init.js
CHANGED
package/dist/output.js
CHANGED
|
@@ -19,23 +19,53 @@ export function formatMinor(minor, currency) {
|
|
|
19
19
|
const exp = MINOR_EXP[code] ?? 2;
|
|
20
20
|
return `${(minor / 10 ** exp).toFixed(exp)} ${code}`;
|
|
21
21
|
}
|
|
22
|
+
function isRecord(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null;
|
|
24
|
+
}
|
|
25
|
+
function asString(value) {
|
|
26
|
+
return typeof value === 'string' ? value : undefined;
|
|
27
|
+
}
|
|
28
|
+
function asNumber(value) {
|
|
29
|
+
return typeof value === 'number' ? value : undefined;
|
|
30
|
+
}
|
|
31
|
+
function readMoney(value) {
|
|
32
|
+
if (!isRecord(value))
|
|
33
|
+
return {};
|
|
34
|
+
return { amount: asNumber(value.amount), currency: asString(value.currency) };
|
|
35
|
+
}
|
|
36
|
+
function productViewFromRow(row) {
|
|
37
|
+
if (!isRecord(row)) {
|
|
38
|
+
return { title: '(untitled)' };
|
|
39
|
+
}
|
|
40
|
+
const variants = Array.isArray(row.variants) ? row.variants : [];
|
|
41
|
+
const variant = isRecord(variants[0]) ? variants[0] : undefined;
|
|
42
|
+
const priceRange = isRecord(row.price_range) ? row.price_range : undefined;
|
|
43
|
+
const rangeMin = priceRange ? readMoney(priceRange.min) : {};
|
|
44
|
+
let money = rangeMin;
|
|
45
|
+
if (variant) {
|
|
46
|
+
const variantMoney = readMoney(variant.price);
|
|
47
|
+
if (variantMoney.amount != null || variantMoney.currency) {
|
|
48
|
+
money = variantMoney;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const metadata = isRecord(row.metadata) ? row.metadata : undefined;
|
|
52
|
+
const seller = metadata && isRecord(metadata.artos_seller)
|
|
53
|
+
? metadata.artos_seller
|
|
54
|
+
: undefined;
|
|
55
|
+
return {
|
|
56
|
+
title: asString(row.title) ?? '(untitled)',
|
|
57
|
+
storeSlug: seller ? asString(seller.slug) : undefined,
|
|
58
|
+
variantId: variant ? asString(variant.id) : undefined,
|
|
59
|
+
price: money.amount,
|
|
60
|
+
currency: money.currency,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
22
63
|
/** Pulls product rows out of a UCP search envelope (REST or MCP-wrapped). */
|
|
23
64
|
export function extractProducts(res) {
|
|
24
65
|
const sc = res.structuredContent ?? res;
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// Money is a `{ amount, currency }` object on the variant, falling back to
|
|
29
|
-
// the product's price range when there is no variant.
|
|
30
|
-
const money = variant?.price ?? p?.price_range?.min;
|
|
31
|
-
return {
|
|
32
|
-
title: typeof p?.title === 'string' ? p.title : '(untitled)',
|
|
33
|
-
storeSlug: p?.metadata?.artos_seller?.slug,
|
|
34
|
-
variantId: variant?.id,
|
|
35
|
-
price: money?.amount,
|
|
36
|
-
currency: money?.currency,
|
|
37
|
-
};
|
|
38
|
-
});
|
|
66
|
+
const rawProducts = sc.products;
|
|
67
|
+
const products = Array.isArray(rawProducts) ? rawProducts : [];
|
|
68
|
+
return products.map(productViewFromRow);
|
|
39
69
|
}
|
|
40
70
|
/** Renders catalog search results as text, or raw JSON when `json` is set. */
|
|
41
71
|
export function formatSearchResults(res, opts = {}) {
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,UAAU,GAEX,MAAM,qCAAqC,CAAC;AAE7C,wEAAwE;AACxE,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,yEAAyE;AACzE,MAAM,UAAU,WAAW,CACzB,KAAyB,EACzB,QAA4B;IAE5B,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACvD,CAAC;AAWD,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artos-commerce/ucp-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Command-line tools for building agents on Artos: scaffold an agent UCP profile, run connectivity diagnostics, inspect a store's UCP profile, and search the cross-store catalog.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"prepublishOnly": "npm run check"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@artos-commerce/ucp-client": "^0.2.
|
|
38
|
+
"@artos-commerce/ucp-client": "^0.2.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@eslint/js": "^9.39.4",
|