@curless/shopify-storefront 0.5.0 → 0.7.1
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/__tests__/assistant.test.d.ts +2 -0
- package/dist/__tests__/assistant.test.d.ts.map +1 -0
- package/dist/__tests__/assistant.test.js +118 -0
- package/dist/__tests__/assistant.test.js.map +1 -0
- package/dist/__tests__/listed-pages.test.d.ts +2 -0
- package/dist/__tests__/listed-pages.test.d.ts.map +1 -0
- package/dist/__tests__/listed-pages.test.js +88 -0
- package/dist/__tests__/listed-pages.test.js.map +1 -0
- package/dist/__tests__/oauth.test.js +50 -1
- package/dist/__tests__/oauth.test.js.map +1 -1
- package/dist/__tests__/tenant.test.js +72 -9
- package/dist/__tests__/tenant.test.js.map +1 -1
- package/dist/assistant.d.ts +31 -0
- package/dist/assistant.d.ts.map +1 -0
- package/dist/assistant.js +91 -0
- package/dist/assistant.js.map +1 -0
- package/dist/index.js +122 -43
- package/dist/index.js.map +1 -1
- package/dist/listed-pages.d.ts +24 -0
- package/dist/listed-pages.d.ts.map +1 -0
- package/dist/listed-pages.js +65 -0
- package/dist/listed-pages.js.map +1 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +26 -3
- package/dist/oauth.js.map +1 -1
- package/dist/tenant.d.ts +11 -0
- package/dist/tenant.d.ts.map +1 -1
- package/dist/tenant.js +43 -2
- package/dist/tenant.js.map +1 -1
- package/dist/tools.d.ts +9 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +1 -1
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
2
3
|
import { readFileSync } from 'node:fs';
|
|
3
4
|
import { createRequire } from 'node:module';
|
|
4
5
|
import { dirname, resolve } from 'node:path';
|
|
@@ -48,6 +49,7 @@ const VERSION = createRequire(import.meta.url)('../package.json').version;
|
|
|
48
49
|
// OPENAI_APPS_CHALLENGE_TOKEN single-host fallback for the above
|
|
49
50
|
import { serve } from '@hono/node-server';
|
|
50
51
|
import { Hono } from 'hono';
|
|
52
|
+
import { AssistantRegistry } from './assistant.js';
|
|
51
53
|
import { MOODY_CARD_HTML } from './card.generated.js';
|
|
52
54
|
import { CatalogRegistry } from './catalog-registry.js';
|
|
53
55
|
import { Catalog } from './catalog.js';
|
|
@@ -55,6 +57,7 @@ import { challengeFor } from './challenge.js';
|
|
|
55
57
|
import { resolveStorefront } from './config.js';
|
|
56
58
|
import { credentialsRejected, needsAuth } from './connection.js';
|
|
57
59
|
import { docsPage, merchantTermsPage, privacyPage, securityPage, } from './legal.js';
|
|
60
|
+
import { connectPage, connectedPage, escapeHtml, listedLandingPage, } from './listed-pages.js';
|
|
58
61
|
import { loadStorefrontConfig } from './load-config.js';
|
|
59
62
|
import { MultiTokenStore, isStorableShop } from './multi-token-store.js';
|
|
60
63
|
import { exchangeCode, installUrl, isShopDomain, makeState, verifyCallbackHmac, verifyState, } from './oauth.js';
|
|
@@ -158,34 +161,12 @@ const tokens = new TokenStore(TOKEN_PATH);
|
|
|
158
161
|
// quota — an exhausted quota shows up to real buyers as a store with no
|
|
159
162
|
// products. The narrow one is on order lookup, which takes attacker-chosen
|
|
160
163
|
// input and answers a question about a real person's purchase.
|
|
161
|
-
// Who is shopping, as reported at handshake
|
|
162
|
-
//
|
|
163
|
-
// a
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const clients = new Map();
|
|
168
|
-
const CLIENT_TTL_MS = 60 * 60_000;
|
|
169
|
-
const rememberClient = (sessionId, name) => {
|
|
170
|
-
if (!sessionId || !name)
|
|
171
|
-
return;
|
|
172
|
-
const now = Date.now();
|
|
173
|
-
for (const [k, v] of clients)
|
|
174
|
-
if (now - v.at > CLIENT_TTL_MS)
|
|
175
|
-
clients.delete(k);
|
|
176
|
-
if (clients.size > 5_000)
|
|
177
|
-
clients.clear();
|
|
178
|
-
clients.set(sessionId, { name, at: now });
|
|
179
|
-
};
|
|
180
|
-
const assistantFor = (c) => {
|
|
181
|
-
const sid = c.req.header('mcp-session-id');
|
|
182
|
-
const known = sid ? clients.get(sid)?.name : undefined;
|
|
183
|
-
if (known)
|
|
184
|
-
return known;
|
|
185
|
-
const ua = c.req.header('user-agent');
|
|
186
|
-
// Node's default UA and curl say nothing about who is shopping.
|
|
187
|
-
return ua && !/^(node|curl|undici|python)/i.test(ua) ? ua.slice(0, 60) : undefined;
|
|
188
|
-
};
|
|
164
|
+
// Who is shopping, as reported at handshake — the `attributes[Assistant]` half
|
|
165
|
+
// of what a merchant sees on the order. See assistant.ts for why it has to be
|
|
166
|
+
// remembered against a session at all, and why THIS server has to be the one
|
|
167
|
+
// that issues that session id.
|
|
168
|
+
const assistants = new AssistantRegistry();
|
|
169
|
+
const assistantFor = (c) => assistants.nameFor(c.req.header('mcp-session-id'), c.req.header('user-agent'));
|
|
189
170
|
// Named so the docs page can quote them instead of restating them from memory —
|
|
190
171
|
// a published number that drifts from the enforced one is worse than none.
|
|
191
172
|
const MCP_RATE_PER_MIN = 60;
|
|
@@ -271,6 +252,10 @@ const brandAsset = (rel) => {
|
|
|
271
252
|
const ICON_PNG = brandAsset(STORE.config.server.iconFile);
|
|
272
253
|
const LOGO_PNG = brandAsset(STORE.config.server.logoFile);
|
|
273
254
|
const MULTI = STORE.config.shopify.mode === 'oauth-install';
|
|
255
|
+
// What the listed app's own pages say it is. Its `server.title` is OUR product's
|
|
256
|
+
// name — the branded deployments put a merchant's there, which is exactly the
|
|
257
|
+
// confusion the connected page must not repeat.
|
|
258
|
+
const LISTED = { appUrl: APP_URL, productName: MERCHANT_NAME };
|
|
274
259
|
/**
|
|
275
260
|
* The shop a request is about.
|
|
276
261
|
*
|
|
@@ -484,6 +469,26 @@ app.get('/img', async (c) => {
|
|
|
484
469
|
}
|
|
485
470
|
});
|
|
486
471
|
app.get('/healthz', async (c) => {
|
|
472
|
+
// ⚠️ The listed app has no single shop, and answering as if it did made this
|
|
473
|
+
// endpoint report `not-installed` with an empty shop domain forever — a health
|
|
474
|
+
// check that is wrong in precisely the state it exists to detect.
|
|
475
|
+
//
|
|
476
|
+
// What can actually be wrong here is a token that stopped renewing: this is
|
|
477
|
+
// the first deployment whose tokens expire, and a refresh that has been
|
|
478
|
+
// failing shows up as a deadline in the past long before a merchant notices
|
|
479
|
+
// their assistant has gone quiet.
|
|
480
|
+
if (MULTI) {
|
|
481
|
+
const shops = await multiTokens.list();
|
|
482
|
+
const now = Date.now();
|
|
483
|
+
const stale = shops.filter((t) => t.expiresAt !== undefined && Date.parse(t.expiresAt) < now).length;
|
|
484
|
+
return c.json({
|
|
485
|
+
status: stale > 0 ? 'degraded' : 'ok',
|
|
486
|
+
mode: 'listed',
|
|
487
|
+
shops: shops.length,
|
|
488
|
+
staleTokens: stale,
|
|
489
|
+
residentCatalogs: registry.size,
|
|
490
|
+
});
|
|
491
|
+
}
|
|
487
492
|
const snap = catalog.current;
|
|
488
493
|
const connected = (await shopifyConfig()) !== null;
|
|
489
494
|
return c.json({
|
|
@@ -537,6 +542,44 @@ app.get('/', async (c) => {
|
|
|
537
542
|
<p class="muted">No sign-in, and no payment happens here — checkout is on
|
|
538
543
|
${escapeHtml(MERCHANT_NAME)}' own page. <a href="/docs">What this connector can reach</a>.</p>`);
|
|
539
544
|
}
|
|
545
|
+
// ⚠️ EVERYTHING BELOW ASSUMES ONE SHOP. `catalog`, `shopifyConfig()` and
|
|
546
|
+
// SHOP_DOMAIN are the branded deployment's single tenant. The listed app has
|
|
547
|
+
// no shop of its own, and running that code anyway is what put "Connect " —
|
|
548
|
+
// an empty shop name, behind a link that 400s — on the page a merchant lands
|
|
549
|
+
// on the moment they finish installing.
|
|
550
|
+
//
|
|
551
|
+
// Three states, decided by the shop in the query:
|
|
552
|
+
// • no shop — what this is. Nothing tenant-specific, and no list of
|
|
553
|
+
// who has installed it.
|
|
554
|
+
// • shop, no token — offer the install, and start it outright when the
|
|
555
|
+
// query is Shopify's own (HMAC and all), so a merchant
|
|
556
|
+
// who just clicked Install is not asked to click Connect.
|
|
557
|
+
// • shop + token — connected, and THE ADDRESS THEY NEED: nothing else in
|
|
558
|
+
// the product tells a merchant what to paste into
|
|
559
|
+
// ChatGPT or Claude.
|
|
560
|
+
if (MULTI) {
|
|
561
|
+
const named = (c.req.query('shop') ?? '').trim().toLowerCase();
|
|
562
|
+
if (!named)
|
|
563
|
+
return c.html(listedLandingPage(LISTED));
|
|
564
|
+
// The same allow-list the token store keys on. `shop` decides where the
|
|
565
|
+
// button below sends someone, so a lookalike domain must not reach it.
|
|
566
|
+
if (!isStorableShop(named))
|
|
567
|
+
return c.text('that is not a Shopify store domain', 400);
|
|
568
|
+
if (await multiTokens.get(named)) {
|
|
569
|
+
const cat = registry.for(named);
|
|
570
|
+
// First view after an install: the catalogue was created a moment ago and
|
|
571
|
+
// its boot fetch is still in flight. `refresh()` joins that one rather
|
|
572
|
+
// than starting a second, so this waits for the load instead of telling a
|
|
573
|
+
// merchant with a full store that it has no products.
|
|
574
|
+
if (cat.current.loadedAt === null)
|
|
575
|
+
await cat.refresh();
|
|
576
|
+
return c.html(connectedPage(LISTED, named, cat.current));
|
|
577
|
+
}
|
|
578
|
+
if (CLIENT_SECRET && verifyCallbackHmac(CLIENT_SECRET, new URL(c.req.url).search)) {
|
|
579
|
+
return c.redirect(installUrl({ ...oauth, shopDomain: named }, makeState(CLIENT_SECRET)));
|
|
580
|
+
}
|
|
581
|
+
return c.html(connectPage(named));
|
|
582
|
+
}
|
|
540
583
|
const snap = catalog.current;
|
|
541
584
|
const connected = (await shopifyConfig()) !== null;
|
|
542
585
|
// Shopify sends the merchant HERE after a legacy-flow install, with ?shop=…
|
|
@@ -696,7 +739,14 @@ app.get('/auth/callback', async (c) => {
|
|
|
696
739
|
if (!code)
|
|
697
740
|
return c.text('missing code', 400);
|
|
698
741
|
try {
|
|
699
|
-
|
|
742
|
+
// ⚠️ THE SHOP COMES FROM THE CALLBACK, NOT FROM THE CONFIG. `oauth` carries
|
|
743
|
+
// the BRANDED deployment's single shop; the listed app's is `''`, because
|
|
744
|
+
// its shop is whoever is installing. Passing `oauth` here built
|
|
745
|
+
// `https:///admin/oauth/access_token` and every install on the listed app
|
|
746
|
+
// died with `fetch failed` — the install route already spreads the shop in,
|
|
747
|
+
// and this one, three hundred lines away, did not. `shopEndpoint` now
|
|
748
|
+
// refuses an empty shop out loud so the next one cannot be silent.
|
|
749
|
+
const { accessToken, scope, refreshToken, expiresAt } = await exchangeCode({ ...oauth, shopDomain: shop }, code);
|
|
700
750
|
// Per-shop in the listed app, single-file in a branded one. The record is
|
|
701
751
|
// the same; where it lands is the whole difference between serving one
|
|
702
752
|
// merchant and serving many.
|
|
@@ -717,6 +767,16 @@ app.get('/auth/callback', async (c) => {
|
|
|
717
767
|
await tokens.set(record);
|
|
718
768
|
console.log(`[oauth] installed on ${shop} (scopes: ${scope})`);
|
|
719
769
|
// The catalog is empty until now; fill it before the merchant looks.
|
|
770
|
+
//
|
|
771
|
+
// ⚠️ THE RIGHT ONE. `catalog` is the branded deployment's single tenant, and
|
|
772
|
+
// in the listed app it belongs to no shop at all — so an install refreshed
|
|
773
|
+
// nothing, and then told the merchant that "Curless Storefront is
|
|
774
|
+
// connected", which is OUR product's name rather than their store's.
|
|
775
|
+
if (MULTI) {
|
|
776
|
+
const cat = registry.for(shop);
|
|
777
|
+
await cat.refresh();
|
|
778
|
+
return c.html(connectedPage(LISTED, shop.toLowerCase(), cat.current));
|
|
779
|
+
}
|
|
720
780
|
void catalog.refresh();
|
|
721
781
|
return c.html(`<!doctype html><meta charset="utf-8"><link rel="icon" href="./icon.png"><title>Connected</title>
|
|
722
782
|
<body style="font-family:system-ui;padding:40px;max-width:32rem">
|
|
@@ -750,18 +810,6 @@ app.get('/.well-known/openai-apps-challenge', (c) => {
|
|
|
750
810
|
return c.notFound();
|
|
751
811
|
return c.text(token);
|
|
752
812
|
});
|
|
753
|
-
// Anything interpolated into the page below comes from our own env, but escape
|
|
754
|
-
// it anyway: the day one of these becomes merchant-supplied, the page should not
|
|
755
|
-
// be the thing that has to be remembered.
|
|
756
|
-
const escapeHtml = (s) => s.replace(/[&<>"']/g, (ch) => ch === '&'
|
|
757
|
-
? '&'
|
|
758
|
-
: ch === '<'
|
|
759
|
-
? '<'
|
|
760
|
-
: ch === '>'
|
|
761
|
-
? '>'
|
|
762
|
-
: ch === '"'
|
|
763
|
-
? '"'
|
|
764
|
-
: ''');
|
|
765
813
|
// The MCP Apps card. Declared on the tools AND on their results — a host reads
|
|
766
814
|
// it from either — and served over resources/read. Version the URI: hosts cache
|
|
767
815
|
// by it, and a stale card is worse than no card because it looks current.
|
|
@@ -853,7 +901,22 @@ app.on('POST', MCP_PATHS, async (c) => {
|
|
|
853
901
|
const { id, method, params } = body;
|
|
854
902
|
if (method === 'initialize') {
|
|
855
903
|
const info = params?.clientInfo;
|
|
856
|
-
|
|
904
|
+
// ⚠️ WE HAVE TO ISSUE THE SESSION ID, or the name below is remembered
|
|
905
|
+
// against nothing. A client only says who it is here, and the tool call
|
|
906
|
+
// that builds the checkout permalink is a different request; the session id
|
|
907
|
+
// is the only thing both carry. We were not issuing one, so a
|
|
908
|
+
// spec-following client had none to send back and every permalink went out
|
|
909
|
+
// with `Source` and no `Assistant`.
|
|
910
|
+
//
|
|
911
|
+
// ⚠️ AND AN UNRECOGNISED ONE IS NOT AN ERROR HERE. The spec lets a server
|
|
912
|
+
// answer 404 to a request bearing a session it does not know, so the client
|
|
913
|
+
// re-initialises. We deliberately do not: this server is otherwise
|
|
914
|
+
// stateless, the id buys a LABEL and nothing else, and 404-ing a shopper
|
|
915
|
+
// mid-conversation because a cache entry expired would trade a missing
|
|
916
|
+
// attribute for a broken checkout.
|
|
917
|
+
const sessionId = c.req.header('mcp-session-id') ?? randomUUID();
|
|
918
|
+
assistants.remember(sessionId, info?.name);
|
|
919
|
+
c.header('Mcp-Session-Id', sessionId);
|
|
857
920
|
return ok(c, id, {
|
|
858
921
|
protocolVersion: PROTOCOL_VERSION,
|
|
859
922
|
capabilities: { tools: {}, resources: {} },
|
|
@@ -1025,6 +1088,12 @@ app.on('POST', MCP_PATHS, async (c) => {
|
|
|
1025
1088
|
vocab: { noun: STORE.vocab.noun, nounPlural: STORE.vocab.nounPlural },
|
|
1026
1089
|
imageProxy: `${PUBLIC_URL}/img?u=`,
|
|
1027
1090
|
...(assistantFor(c) ? { assistant: assistantFor(c) } : {}),
|
|
1091
|
+
// ⚠️ The listed app has NOT been approved for protected customer data,
|
|
1092
|
+
// and Shopify refuses the whole order-lookup query rather than the one
|
|
1093
|
+
// field. Custom distribution is exempt — the same exemption that
|
|
1094
|
+
// governs expiring tokens — so the branded deployments keep the status
|
|
1095
|
+
// link they have always had. Flip this when the approval lands.
|
|
1096
|
+
protectedCustomerData: !MULTI,
|
|
1028
1097
|
};
|
|
1029
1098
|
const res = await callTool(deps, name, args);
|
|
1030
1099
|
logCall(method, name, `ok view=${String(res.structured.view ?? '?')}`, startedAt);
|
|
@@ -1037,10 +1106,20 @@ app.on('POST', MCP_PATHS, async (c) => {
|
|
|
1037
1106
|
catch (err) {
|
|
1038
1107
|
// A tool failure is a RESULT, not a transport error: the client should be
|
|
1039
1108
|
// able to show the buyer what went wrong instead of a dead connector.
|
|
1109
|
+
// ⚠️ THE DETAIL GOES TO THE LOG, NOT TO THE BUYER. This used to hand the
|
|
1110
|
+
// shopper whatever was thrown, and on 2026-09-10 that was a raw Shopify
|
|
1111
|
+
// ACCESS_DENIED — GraphQL error JSON, our field names, a shopify.dev
|
|
1112
|
+
// link — presented to someone who had asked where their order was. An
|
|
1113
|
+
// upstream failure is ours to explain, not theirs to read.
|
|
1040
1114
|
const message = err instanceof Error ? err.message : String(err);
|
|
1041
1115
|
logCall(method, name, `FAILED ${message}`, startedAt);
|
|
1042
1116
|
return ok(c, id, {
|
|
1043
|
-
content: [
|
|
1117
|
+
content: [
|
|
1118
|
+
{
|
|
1119
|
+
type: 'text',
|
|
1120
|
+
text: 'That did not work — the shop could not be reached just now. Please try again in a moment.',
|
|
1121
|
+
},
|
|
1122
|
+
],
|
|
1044
1123
|
isError: true,
|
|
1045
1124
|
});
|
|
1046
1125
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CatalogSnapshot } from './catalog.js';
|
|
2
|
+
export type ListedPageContext = {
|
|
3
|
+
/** Public base of the listed app, e.g. https://storefront.curless.ai */
|
|
4
|
+
appUrl: string;
|
|
5
|
+
/** What this connector calls ITSELF — our product, never a merchant. */
|
|
6
|
+
productName: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const escapeHtml: (s: string) => string;
|
|
9
|
+
/** The address the merchant pastes into ChatGPT or Claude. Their shop is in it. */
|
|
10
|
+
export declare const connectorUrl: (ctx: ListedPageContext, shop: string) => string;
|
|
11
|
+
/** No shop is asking — say what this is, and nothing about who has installed it. */
|
|
12
|
+
export declare const listedLandingPage: (ctx: ListedPageContext) => string;
|
|
13
|
+
/** A shop that has not installed yet — the only page here that sends anyone anywhere. */
|
|
14
|
+
export declare const connectPage: (shop: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* A shop that has installed.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ The connector URL is the POINT of this page. An install otherwise ends with
|
|
19
|
+
* a merchant on a page congratulating them, holding nothing they can act on —
|
|
20
|
+
* nowhere else in the product does anything tell them what to paste into an
|
|
21
|
+
* assistant.
|
|
22
|
+
*/
|
|
23
|
+
export declare const connectedPage: (ctx: ListedPageContext, shop: string, snap: CatalogSnapshot) => string;
|
|
24
|
+
//# sourceMappingURL=listed-pages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listed-pages.d.ts","sourceRoot":"","sources":["../src/listed-pages.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAWpC,CAAC;AAkBJ,mFAAmF;AACnF,eAAO,MAAM,YAAY,GAAI,KAAK,iBAAiB,EAAE,MAAM,MAAM,KAAG,MACJ,CAAC;AAEjE,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,GAAI,KAAK,iBAAiB,KAAG,MAaxD,CAAC;AAEJ,yFAAyF;AACzF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAQxC,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,iBAAiB,EACtB,MAAM,MAAM,EACZ,MAAM,eAAe,KACpB,MAgBA,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Nothing interpolated below is merchant-supplied today: the shop domain has
|
|
2
|
+
// already passed the *.myshopify.com allow-list by the time it reaches here.
|
|
3
|
+
// Escaped anyway — the day one of these comes from a store's own settings, the
|
|
4
|
+
// page should not be the thing that has to be remembered.
|
|
5
|
+
export const escapeHtml = (s) => s.replace(/[&<>"']/g, (ch) => ch === '&'
|
|
6
|
+
? '&'
|
|
7
|
+
: ch === '<'
|
|
8
|
+
? '<'
|
|
9
|
+
: ch === '>'
|
|
10
|
+
? '>'
|
|
11
|
+
: ch === '"'
|
|
12
|
+
? '"'
|
|
13
|
+
: ''');
|
|
14
|
+
const PAGE_CSS = `body{font-family:system-ui,-apple-system,sans-serif;margin:0;padding:32px;
|
|
15
|
+
color:#1a1a1a;line-height:1.6;max-width:36rem}
|
|
16
|
+
h1{font-size:18px;margin:0 0 16px}
|
|
17
|
+
h2{font-size:15px;margin:28px 0 8px}
|
|
18
|
+
code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px;word-break:break-all}
|
|
19
|
+
.ok{color:#0a7d3f;font-weight:600}
|
|
20
|
+
.warn{color:#a15c00}
|
|
21
|
+
.muted{color:#6b7280;font-size:14px}
|
|
22
|
+
.btn{display:inline-block;background:#1a1a1a;color:#fff;text-decoration:none;
|
|
23
|
+
padding:10px 18px;border-radius:8px;font-weight:600}`;
|
|
24
|
+
const page = (title, body) => `<!doctype html><meta charset="utf-8"><link rel="icon" href="/icon.png"><title>${escapeHtml(title)}</title>
|
|
25
|
+
<style>${PAGE_CSS}</style>
|
|
26
|
+
${body}`;
|
|
27
|
+
/** The address the merchant pastes into ChatGPT or Claude. Their shop is in it. */
|
|
28
|
+
export const connectorUrl = (ctx, shop) => `${ctx.appUrl.replace(/\/$/, '')}/s/${shop.toLowerCase()}/mcp`;
|
|
29
|
+
/** No shop is asking — say what this is, and nothing about who has installed it. */
|
|
30
|
+
export const listedLandingPage = (ctx) => page(ctx.productName, `<h1>${escapeHtml(ctx.productName)}</h1>
|
|
31
|
+
<p>This is the Curless connector for Shopify. Installed on a store, it lets an AI
|
|
32
|
+
assistant show that store's products and what is in stock, hand the shopper a link to
|
|
33
|
+
the store's own checkout, and look up an order for the person who placed it.</p>
|
|
34
|
+
<p>It is read-only. Nothing is written to the store, and no payment passes through here.</p>
|
|
35
|
+
<p class="muted">Merchants install it from the Shopify App Store. Without a store there is
|
|
36
|
+
nothing to use on this page.</p>
|
|
37
|
+
<p class="muted"><a href="/docs">What this connector can reach</a> ·
|
|
38
|
+
<a href="/privacy">Privacy</a> · <a href="/terms">Terms</a> ·
|
|
39
|
+
<a href="/security">Data protection</a></p>`);
|
|
40
|
+
/** A shop that has not installed yet — the only page here that sends anyone anywhere. */
|
|
41
|
+
export const connectPage = (shop) => page('Connect your store', `<h1>${escapeHtml(shop)}</h1>
|
|
42
|
+
<p>This store has not installed the connector yet.</p>
|
|
43
|
+
<p><a class="btn" href="/auth/install?shop=${encodeURIComponent(shop)}">Connect ${escapeHtml(shop)}</a></p>
|
|
44
|
+
<p class="muted">Grants read-only access to products, orders and discounts. Nothing is
|
|
45
|
+
written to your store, and no money passes through us.</p>`);
|
|
46
|
+
/**
|
|
47
|
+
* A shop that has installed.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ The connector URL is the POINT of this page. An install otherwise ends with
|
|
50
|
+
* a merchant on a page congratulating them, holding nothing they can act on —
|
|
51
|
+
* nowhere else in the product does anything tell them what to paste into an
|
|
52
|
+
* assistant.
|
|
53
|
+
*/
|
|
54
|
+
export const connectedPage = (ctx, shop, snap) => page('Connected', `<h1>${escapeHtml(shop)}</h1>
|
|
55
|
+
<p class="ok">Connected.</p>
|
|
56
|
+
<p>${snap.products.length} products readable${snap.loadedAt
|
|
57
|
+
? ` · last synced ${snap.loadedAt.toISOString().replace('T', ' ').slice(0, 16)} UTC`
|
|
58
|
+
: ''}.</p>
|
|
59
|
+
${snap.lastError ? `<p class="warn">Last sync said: ${escapeHtml(snap.lastError)}</p>` : ''}
|
|
60
|
+
<h2>Add it to an assistant</h2>
|
|
61
|
+
<p>Paste this address into ChatGPT or Claude as a connector:</p>
|
|
62
|
+
<p><code>${escapeHtml(connectorUrl(ctx, shop))}</code></p>
|
|
63
|
+
<p class="muted">Shoppers reach your catalogue through it. Checkout still happens on your
|
|
64
|
+
own Shopify checkout — nothing here moves money.</p>`);
|
|
65
|
+
//# sourceMappingURL=listed-pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listed-pages.js","sourceRoot":"","sources":["../src/listed-pages.ts"],"names":[],"mappings":"AAuBA,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAC3B,EAAE,KAAK,GAAG;IACR,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,EAAE,KAAK,GAAG;QACV,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,EAAE,KAAK,GAAG;YACV,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,EAAE,KAAK,GAAG;gBACV,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,OAAO,CAClB,CAAC;AAEJ,MAAM,QAAQ,GAAG;;;;;;;;;iEASgD,CAAC;AAElE,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CACnD,iFAAiF,UAAU,CAAC,KAAK,CAAC;cACtF,QAAQ;OACf,IAAI,EAAE,CAAC;AAEd,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAU,EAAE,CAC3E,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;AAEjE,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAsB,EAAU,EAAE,CAClE,IAAI,CACF,GAAG,CAAC,WAAW,EACf,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;;;;;;;;;iDASW,CAC9C,CAAC;AAEJ,yFAAyF;AACzF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAClD,IAAI,CACF,oBAAoB,EACpB,OAAO,UAAU,CAAC,IAAI,CAAC;;kDAEuB,kBAAkB,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,IAAI,CAAC;;gEAEvC,CAC7D,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAsB,EACtB,IAAY,EACZ,IAAqB,EACb,EAAE,CACV,IAAI,CACF,WAAW,EACX,OAAO,UAAU,CAAC,IAAI,CAAC;;UAEjB,IAAI,CAAC,QAAQ,CAAC,MAAM,qBACvB,IAAI,CAAC,QAAQ;IACX,CAAC,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;IACpF,CAAC,CAAC,EACN;OACE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;;gBAGhF,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;0DAEO,CACvD,CAAC"}
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAA6B,CAAC;AAwC1E,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,MAAK,MAAmB,KAAG,MAIpE,CAAC;AAMF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAK,MAAmB,KAAG,OASrF,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,OA0BrE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,WAAW,EAAE,OAAO,MAAM,KAAG,MAe/D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA0BF,eAAO,MAAM,YAAY,GACvB,QAAQ,WAAW,EACnB,MAAM,MAAM,EACZ,YAAW,OAAO,KAAa,EAC/B,MAAK,IAAiB,KACrB,OAAO,CAAC,aAAa,CA0BvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,cAAc,MAAM,EACpB,YAAW,OAAO,KAAa,EAC/B,MAAK,IAAiB,KACrB,OAAO,CAAC,aAAa,CAavB,CAAC"}
|
package/dist/oauth.js
CHANGED
|
@@ -22,6 +22,28 @@ import { createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
|
|
|
22
22
|
// domain here would send the merchant's authorisation somewhere else entirely.
|
|
23
23
|
const SHOP_RE = /^[a-z0-9][a-z0-9-]*\.myshopify\.com$/i;
|
|
24
24
|
export const isShopDomain = (shop) => SHOP_RE.test(shop);
|
|
25
|
+
/**
|
|
26
|
+
* The shop's OAuth endpoint — the ONE place these three calls learn where to go.
|
|
27
|
+
*
|
|
28
|
+
* ⚠️ IT THROWS ON AN EMPTY SHOP, and that is the whole point. `OauthConfig`
|
|
29
|
+
* carries a `shopDomain`, which for the LISTED app is not a property of the
|
|
30
|
+
* config at all: it has no shop of its own, and the shop is a property of the
|
|
31
|
+
* REQUEST. So its module-level config holds `''`, and every call site has to
|
|
32
|
+
* remember to spread the real shop in. The callback forgot, built
|
|
33
|
+
* `https:///admin/oauth/access_token`, and undici answered `fetch failed` —
|
|
34
|
+
* which reads as a network problem, sends you to check DNS and egress from
|
|
35
|
+
* inside the container, and says nothing whatsoever about the missing host.
|
|
36
|
+
* Verified in production on 2026-09-10: a real merchant's install died there.
|
|
37
|
+
*
|
|
38
|
+
* A thrown error naming the empty shop costs one line and turns that hour into
|
|
39
|
+
* a log line.
|
|
40
|
+
*/
|
|
41
|
+
const shopEndpoint = (config, path) => {
|
|
42
|
+
if (!isShopDomain(config.shopDomain)) {
|
|
43
|
+
throw new Error(`shopify oauth: no shop to talk to (shopDomain is ${JSON.stringify(config.shopDomain)}) — a multi-tenant caller must pass the request's shop, e.g. { ...oauth, shopDomain }`);
|
|
44
|
+
}
|
|
45
|
+
return `https://${config.shopDomain}${path}`;
|
|
46
|
+
};
|
|
25
47
|
const constantTimeEqual = (a, b) => {
|
|
26
48
|
const ab = Buffer.from(a);
|
|
27
49
|
const bb = Buffer.from(b);
|
|
@@ -85,6 +107,7 @@ export const verifyCallbackHmac = (secret, rawQuery) => {
|
|
|
85
107
|
return constantTimeEqual(createHmac('sha256', secret).update(message).digest('hex'), hmac);
|
|
86
108
|
};
|
|
87
109
|
export const installUrl = (config, state) => {
|
|
110
|
+
const authorize = shopEndpoint(config, '/admin/oauth/authorize');
|
|
88
111
|
const redirectUri = `${config.appUrl.replace(/\/$/, '')}/auth/callback`;
|
|
89
112
|
const qs = new URLSearchParams({
|
|
90
113
|
client_id: config.clientId,
|
|
@@ -97,7 +120,7 @@ export const installUrl = (config, state) => {
|
|
|
97
120
|
// an agent reading the catalogue at 3am needs. `per-user` would tie it to a
|
|
98
121
|
// merchant's session and die when they log out. Sending the key with an empty
|
|
99
122
|
// value is neither, and not something the docs define.
|
|
100
|
-
return
|
|
123
|
+
return `${authorize}?${qs.toString()}`;
|
|
101
124
|
};
|
|
102
125
|
const readToken = (body, now) => {
|
|
103
126
|
if (!body.access_token)
|
|
@@ -116,7 +139,7 @@ const readToken = (body, now) => {
|
|
|
116
139
|
};
|
|
117
140
|
};
|
|
118
141
|
export const exchangeCode = async (config, code, fetchImpl = fetch, now = new Date()) => {
|
|
119
|
-
const res = await fetchImpl(
|
|
142
|
+
const res = await fetchImpl(shopEndpoint(config, '/admin/oauth/access_token'), {
|
|
120
143
|
method: 'POST',
|
|
121
144
|
headers: { 'content-type': 'application/json', accept: 'application/json' },
|
|
122
145
|
body: JSON.stringify({
|
|
@@ -151,7 +174,7 @@ export const exchangeCode = async (config, code, fetchImpl = fetch, now = new Da
|
|
|
151
174
|
* managed to persist; it is not a licence to keep using the old one.
|
|
152
175
|
*/
|
|
153
176
|
export const refreshAccessToken = async (config, refreshToken, fetchImpl = fetch, now = new Date()) => {
|
|
154
|
-
const res = await fetchImpl(
|
|
177
|
+
const res = await fetchImpl(shopEndpoint(config, '/admin/oauth/access_token'), {
|
|
155
178
|
method: 'POST',
|
|
156
179
|
headers: { 'content-type': 'application/json', accept: 'application/json' },
|
|
157
180
|
body: JSON.stringify({
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|