ecomcoder-cli 1.2.8 → 1.2.10
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/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/create-metafield.d.ts.map +1 -1
- package/dist/commands/create-metafield.js +45 -11
- package/dist/commands/create-metafield.js.map +1 -1
- package/dist/lib/api-client.d.ts +0 -8
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +0 -24
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/pinecone-client.d.ts.map +1 -1
- package/dist/lib/pinecone-client.js +14 -25
- package/dist/lib/pinecone-client.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -46,9 +46,12 @@ EXAMPLES:
|
|
|
46
46
|
# Set product rating
|
|
47
47
|
ecomcoder products set-rating --product-id="gid://shopify/Product/123" --rating=4.5 --count=127
|
|
48
48
|
|
|
49
|
-
# Create
|
|
49
|
+
# Create product-level metafield
|
|
50
50
|
ecomcoder metafield create --name="Rating" --key=rating --type=number_decimal --owner-type=PRODUCT
|
|
51
51
|
|
|
52
|
+
# Create shop-level metafield (global)
|
|
53
|
+
ecomcoder metafield create --name="Cart Upsell" --key=cart_upsell --type=product_reference --owner-type=SHOP
|
|
54
|
+
|
|
52
55
|
# Get metafield definition
|
|
53
56
|
ecomcoder metafield get --namespace=ecomcoder --key=upsell --owner-type=PRODUCT
|
|
54
57
|
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-metafield.d.ts","sourceRoot":"","sources":["../../src/commands/create-metafield.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-metafield.d.ts","sourceRoot":"","sources":["../../src/commands/create-metafield.ts"],"names":[],"mappings":"AAoFA,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBAsI/D"}
|
|
@@ -13,7 +13,7 @@ REQUIRED:
|
|
|
13
13
|
--name Display name
|
|
14
14
|
--key Unique key
|
|
15
15
|
--type Data type
|
|
16
|
-
--owner-type Resource type (
|
|
16
|
+
--owner-type Resource type (see OWNER TYPES below)
|
|
17
17
|
|
|
18
18
|
OPTIONAL:
|
|
19
19
|
--description Description (optional)
|
|
@@ -25,6 +25,14 @@ OPTIONAL:
|
|
|
25
25
|
NOTE:
|
|
26
26
|
Namespace is always set to "ecomcoder"
|
|
27
27
|
|
|
28
|
+
OWNER TYPES:
|
|
29
|
+
PRODUCT Product-level (e.g., bundle offers, ratings)
|
|
30
|
+
SHOP Store-level (e.g., independend upsells, showcasing products on landing page)
|
|
31
|
+
COLLECTION Collection-level
|
|
32
|
+
CUSTOMER Customer-level
|
|
33
|
+
ORDER Order-level
|
|
34
|
+
VARIANT Variant-level
|
|
35
|
+
|
|
28
36
|
AVAILABLE TYPES:
|
|
29
37
|
(Text)
|
|
30
38
|
single_line_text_field, multi_line_text_field, rich_text_field
|
|
@@ -55,14 +63,20 @@ AVAILABLE TYPES:
|
|
|
55
63
|
list.metaobject_reference, list.mixed_reference, list.product_taxonomy_value_reference
|
|
56
64
|
|
|
57
65
|
EXAMPLES:
|
|
58
|
-
#
|
|
59
|
-
ecomcoder metafield create --name="
|
|
66
|
+
# Product-level: Bundle offer
|
|
67
|
+
ecomcoder metafield create --name="Bundle Offer 1" --key=offer-1 --type=product_reference --owner-type=PRODUCT
|
|
60
68
|
|
|
61
|
-
# Rating
|
|
69
|
+
# Product-level: Rating
|
|
62
70
|
ecomcoder metafield create --name="Rating" --key=rating --type=number_decimal --owner-type=PRODUCT
|
|
63
71
|
|
|
64
|
-
#
|
|
65
|
-
ecomcoder metafield create --name="
|
|
72
|
+
# Shop-level: Global cart upsell
|
|
73
|
+
ecomcoder metafield create --name="Cart Drawer Upsell" --key=cart_upsell --type=product_reference --owner-type=SHOP
|
|
74
|
+
|
|
75
|
+
# Shop-level: Announcement banner
|
|
76
|
+
ecomcoder metafield create --name="Announcement" --key=announcement --type=single_line_text_field --owner-type=SHOP
|
|
77
|
+
|
|
78
|
+
# Shop-level: Free shipping threshold
|
|
79
|
+
ecomcoder metafield create --name="Free Shipping Min" --key=free_shipping_min --type=number_decimal --owner-type=SHOP
|
|
66
80
|
`);
|
|
67
81
|
process.exit(0);
|
|
68
82
|
}
|
|
@@ -81,6 +95,15 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
81
95
|
}));
|
|
82
96
|
process.exit(1);
|
|
83
97
|
}
|
|
98
|
+
// Validate owner type
|
|
99
|
+
const validOwnerTypes = ['PRODUCT', 'SHOP', 'COLLECTION', 'CUSTOMER', 'ORDER', 'VARIANT'];
|
|
100
|
+
if (!validOwnerTypes.includes(args.ownerType)) {
|
|
101
|
+
console.error(JSON.stringify({
|
|
102
|
+
success: false,
|
|
103
|
+
error: `Invalid owner-type: ${args.ownerType}. Valid options: ${validOwnerTypes.join(', ')}`
|
|
104
|
+
}));
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
84
107
|
try {
|
|
85
108
|
const sessionId = getSessionId(args.sessionId);
|
|
86
109
|
const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
|
|
@@ -122,17 +145,28 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
122
145
|
if (!created) {
|
|
123
146
|
throw new Error('No definition returned');
|
|
124
147
|
}
|
|
125
|
-
// Create agent activity for
|
|
148
|
+
// Create agent activity for reference types
|
|
126
149
|
const type = created.type?.name;
|
|
127
|
-
|
|
150
|
+
const ownerType = created.ownerType;
|
|
151
|
+
const isReferenceType = type === 'product_reference' ||
|
|
152
|
+
type === 'list.product_reference' ||
|
|
153
|
+
type === 'collection_reference' ||
|
|
154
|
+
type === 'file_reference';
|
|
155
|
+
if (isReferenceType) {
|
|
128
156
|
try {
|
|
129
|
-
|
|
157
|
+
const isShopLevel = ownerType === 'SHOP';
|
|
158
|
+
const activityType = isShopLevel ? 'shop_metafield' : type;
|
|
159
|
+
const message = isShopLevel
|
|
160
|
+
? `Created shop-level metafield "${created.name}" - configure in Shop Settings`
|
|
161
|
+
: `Created ${created.name} metafield - ready to configure ${type.replace('_', ' ')}s`;
|
|
162
|
+
await createAgentActivity(sessionId, activityType, message, {
|
|
130
163
|
metafield_key: created.key,
|
|
131
164
|
metafield_name: created.name,
|
|
132
165
|
metafield_id: created.id,
|
|
133
166
|
metafield_type: type,
|
|
134
|
-
|
|
135
|
-
|
|
167
|
+
owner_type: ownerType,
|
|
168
|
+
action: isShopLevel ? 'configure_shop_metafield' : 'configure_product_references'
|
|
169
|
+
}, created.key, { name: created.name, key: created.key, ownerType }, args.jwt || process.env.SUPABASE_JWT);
|
|
136
170
|
}
|
|
137
171
|
catch (error) {
|
|
138
172
|
// Don't fail the whole operation if activity creation fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-metafield.js","sourceRoot":"","sources":["../../src/commands/create-metafield.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"create-metafield.js","sourceRoot":"","sources":["../../src/commands/create-metafield.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -24,12 +24,4 @@ export declare function getSessionId(explicitSessionId?: string): string;
|
|
|
24
24
|
export declare function getPineconeCredentials(backendUrlOverride?: string): Promise<{
|
|
25
25
|
apiKey: string;
|
|
26
26
|
}>;
|
|
27
|
-
/**
|
|
28
|
-
* Fetch Supabase credentials from the backend
|
|
29
|
-
* Used for logging assistant queries
|
|
30
|
-
*/
|
|
31
|
-
export declare function getSupabaseCredentials(backendUrlOverride?: string): Promise<{
|
|
32
|
-
url: string;
|
|
33
|
-
anonKey: string;
|
|
34
|
-
}>;
|
|
35
27
|
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAyC7B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBrG
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAyC7B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBrG"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -80,28 +80,4 @@ export async function getPineconeCredentials(backendUrlOverride) {
|
|
|
80
80
|
throw new Error(`Failed to fetch Pinecone credentials: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Fetch Supabase credentials from the backend
|
|
85
|
-
* Used for logging assistant queries
|
|
86
|
-
*/
|
|
87
|
-
export async function getSupabaseCredentials(backendUrlOverride) {
|
|
88
|
-
const backendURL = backendUrlOverride || process.env.BACKEND_URL;
|
|
89
|
-
if (!backendURL) {
|
|
90
|
-
throw new Error('BACKEND_URL not set');
|
|
91
|
-
}
|
|
92
|
-
try {
|
|
93
|
-
const response = await fetch(`${backendURL}/api/internal/supabase-credentials`);
|
|
94
|
-
if (!response.ok) {
|
|
95
|
-
throw new Error(`Failed to get Supabase credentials: ${response.status}`);
|
|
96
|
-
}
|
|
97
|
-
const data = await response.json();
|
|
98
|
-
if (!data.url || !data.anonKey) {
|
|
99
|
-
throw new Error('Invalid Supabase credentials returned');
|
|
100
|
-
}
|
|
101
|
-
return { url: data.url, anonKey: data.anonKey };
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
throw new Error(`Failed to fetch Supabase credentials: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
83
|
//# sourceMappingURL=api-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinecone-client.d.ts","sourceRoot":"","sources":["../../src/lib/pinecone-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pinecone-client.d.ts","sourceRoot":"","sources":["../../src/lib/pinecone-client.ts"],"names":[],"mappings":"AAyDA,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CvF"}
|
|
@@ -1,38 +1,27 @@
|
|
|
1
1
|
import { Pinecone } from '@pinecone-database/pinecone';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
// Cached Supabase client for logging (fetched once, reused)
|
|
2
|
+
import { getSupabaseClient } from './supabase-client.js';
|
|
3
|
+
// Cached Supabase client for logging
|
|
5
4
|
let loggingClient = null;
|
|
6
|
-
let
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (credentialsFetched)
|
|
11
|
-
return;
|
|
12
|
-
// If already fetching, wait for that fetch
|
|
13
|
-
if (credentialsFetchPromise) {
|
|
14
|
-
await credentialsFetchPromise;
|
|
5
|
+
let loggingClientInitialized = false;
|
|
6
|
+
// Initialize Supabase client (uses env vars directly, no API call needed)
|
|
7
|
+
function initLoggingClient() {
|
|
8
|
+
if (loggingClientInitialized)
|
|
15
9
|
return;
|
|
10
|
+
loggingClientInitialized = true;
|
|
11
|
+
try {
|
|
12
|
+
loggingClient = getSupabaseClient();
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// Silent fail - logging is optional (env vars may not be set)
|
|
16
|
+
loggingClient = null;
|
|
16
17
|
}
|
|
17
|
-
credentialsFetchPromise = (async () => {
|
|
18
|
-
try {
|
|
19
|
-
const { url, anonKey } = await getSupabaseCredentials();
|
|
20
|
-
loggingClient = createClient(url, anonKey);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
// Silent fail - logging is optional
|
|
24
|
-
loggingClient = null;
|
|
25
|
-
}
|
|
26
|
-
credentialsFetched = true;
|
|
27
|
-
})();
|
|
28
|
-
await credentialsFetchPromise;
|
|
29
18
|
}
|
|
30
19
|
// Fire-and-forget logging - does NOT block the main response
|
|
31
20
|
function logToSupabase(data) {
|
|
32
21
|
// Non-blocking: wrap in async IIFE, fire and forget
|
|
33
22
|
(async () => {
|
|
34
23
|
try {
|
|
35
|
-
|
|
24
|
+
initLoggingClient();
|
|
36
25
|
if (!loggingClient)
|
|
37
26
|
return;
|
|
38
27
|
await loggingClient.from('assistant_logs').insert({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinecone-client.js","sourceRoot":"","sources":["../../src/lib/pinecone-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"pinecone-client.js","sourceRoot":"","sources":["../../src/lib/pinecone-client.ts"],"names":[],"mappings":"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"}
|