@withandeo/cli 0.19.21 → 0.19.23
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 +10 -10
- package/dist/capability-preflight.d.ts.map +1 -1
- package/dist/capability-preflight.js +4 -5
- package/dist/capability-preflight.js.map +1 -1
- package/dist/cloud-agent.d.ts.map +1 -1
- package/dist/cloud-agent.js +5 -2
- package/dist/cloud-agent.js.map +1 -1
- package/dist/files.d.ts +2 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +18 -3
- package/dist/files.js.map +1 -1
- package/dist/flagship-package.d.ts.map +1 -1
- package/dist/flagship-package.js +3 -7
- package/dist/flagship-package.js.map +1 -1
- package/dist/main.js +47 -19
- package/dist/main.js.map +1 -1
- package/dist/oauth.js +6 -6
- package/dist/oauth.js.map +1 -1
- package/dist/starter.js +4 -4
- package/dist/starter.js.map +1 -1
- package/package.json +1 -1
- package/skill/andeo/SKILL.md +20 -8
- package/skill/andeo/references/authentication.md +6 -1
- package/skill/andeo/references/configuration-secrets.md +1 -1
- package/skill/andeo/references/delivery.md +13 -5
- package/skill/andeo/references/email.md +17 -11
- package/skill/andeo/references/feature-flags.md +7 -3
- package/skill/andeo/references/managed-source.md +8 -5
- package/skill/publication.json +1 -1
- package/templates/shopify-customer-account/AGENTS.md +4 -2
- package/templates/shopify-customer-account/README.md +4 -4
- package/templates/shopify-customer-account/apps/gateway/AGENTS.md +2 -2
- package/templates/shopify-customer-account/apps/gateway/README.md +1 -1
- package/templates/shopify-customer-account/apps/{portal/tender-accounts.json → gateway/andeo.json} +1 -1
- package/templates/shopify-customer-account/apps/gateway/dot.dev.vars.example +2 -2
- package/templates/shopify-customer-account/apps/gateway/package.json +3 -2
- package/templates/shopify-customer-account/apps/gateway/scripts/{pack-tender-artifact.mjs → pack-andeo-artifact.mjs} +1 -1
- package/templates/shopify-customer-account/apps/gateway/src/platform/customer-auth/hostname-policy.ts +2 -2
- package/templates/shopify-customer-account/apps/gateway/src/platform/customer-auth/shopify-route-adapter.ts +1 -1
- package/templates/shopify-customer-account/apps/gateway/src/portal-service.test.ts +2 -2
- package/templates/shopify-customer-account/apps/gateway/src/worker.ts +2 -2
- package/templates/shopify-customer-account/apps/portal/AGENTS.md +1 -1
- package/templates/shopify-customer-account/apps/{gateway/tender-accounts.json → portal/andeo.json} +1 -1
- package/templates/shopify-customer-account/apps/portal/package.json +3 -2
- package/templates/shopify-customer-account/apps/portal/scripts/{pack-tender-artifact.mjs → pack-andeo-artifact.mjs} +1 -1
- package/templates/shopify-customer-account/apps/portal/src/App.tsx +1 -1
- package/templates/shopify-customer-account/dot.dev.vars.example +2 -2
- /package/templates/shopify-customer-account/apps/gateway/{tender-app.config.json → andeo-app.config.json} +0 -0
- /package/templates/shopify-customer-account/apps/portal/{tender-app.config.json → andeo-app.config.json} +0 -0
|
@@ -26,7 +26,7 @@ const MAX_ID_TOKEN_LENGTH = 16_384;
|
|
|
26
26
|
const MAX_SESSION_TTL_SECONDS = 31 * 24 * 60 * 60;
|
|
27
27
|
const SHOPPER_SESSION_RECORD_TTL_SECONDS = MAX_SESSION_TTL_SECONDS;
|
|
28
28
|
const PROVIDER_FETCH_TIMEOUT_MS = 10_000;
|
|
29
|
-
const DEFAULT_PROVIDER_USER_AGENT = "
|
|
29
|
+
const DEFAULT_PROVIDER_USER_AGENT = "AndeoCustomerAuth/0.1";
|
|
30
30
|
const PROVIDER_REDIRECT_MODE = "manual" as const;
|
|
31
31
|
|
|
32
32
|
export const PUBLIC_CUSTOMER_AUTH_SESSION_COOKIE = "__Host-tender_accounts_session";
|
|
@@ -12,7 +12,7 @@ describe("portal service binding", () => {
|
|
|
12
12
|
cookie: "__Host-tender_accounts_session=private-session; auth_flow=private-flow",
|
|
13
13
|
origin: "https://account.example.test",
|
|
14
14
|
referer: "https://account.example.test/account/private-order",
|
|
15
|
-
"user-agent": "
|
|
15
|
+
"user-agent": "Andeo portal test",
|
|
16
16
|
"cf-access-jwt-assertion": "private-access-token",
|
|
17
17
|
"x-tender-preview-grant": "private-preview-token",
|
|
18
18
|
},
|
|
@@ -33,7 +33,7 @@ describe("portal service binding", () => {
|
|
|
33
33
|
expect(await response.text()).toBe("/account?view=orders");
|
|
34
34
|
expect(forwarded.headers.get("accept")).toBe("text/html");
|
|
35
35
|
expect(forwarded.headers.get("accept-language")).toBe("en-US");
|
|
36
|
-
expect(forwarded.headers.get("user-agent")).toBe("
|
|
36
|
+
expect(forwarded.headers.get("user-agent")).toBe("Andeo portal test");
|
|
37
37
|
expect(forwarded.headers.get("content-type")).toBeNull();
|
|
38
38
|
expect(forwarded.headers.get("cookie")).toBeNull();
|
|
39
39
|
expect(forwarded.headers.get("origin")).toBeNull();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAndeoRuntimeHostnamePolicy } from "./platform/customer-auth/hostname-policy";
|
|
2
2
|
import { PublicCustomerAuthSessionStore } from "./platform/customer-auth/session-store";
|
|
3
3
|
import { createShopifyCustomerAccountRouteAdapter } from "./platform/customer-auth/shopify-route-adapter";
|
|
4
4
|
import { forwardPortalRequest } from "./portal-service";
|
|
@@ -32,7 +32,7 @@ export default {
|
|
|
32
32
|
return jsonResponse(409, "authentication_requires_https_preview");
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const hostnamePolicy =
|
|
35
|
+
const hostnamePolicy = createAndeoRuntimeHostnamePolicy({
|
|
36
36
|
tenantId: config.tenantId,
|
|
37
37
|
projectId: config.projectId,
|
|
38
38
|
baseDomain: config.runtimeBaseDomain,
|
|
@@ -7,4 +7,4 @@ This React app is the normal merchant and marketing-team editing surface.
|
|
|
7
7
|
- For UI-only work, never edit `../gateway`.
|
|
8
8
|
- Use real gateway responses; do not add fake authenticated customer data to production code.
|
|
9
9
|
- Keep keyboard navigation, focus states, reduced-motion behavior, and responsive layouts intact.
|
|
10
|
-
-
|
|
10
|
+
- Use focused checks during iteration. For final local artifact validation, run `npx @withandeo/cli preview --dry-run --json`; it already includes `npm run check`. A local `preview` also runs these checks, so it does not need a duplicate preflight for unchanged source.
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
"check": "npm run typecheck && npm run test && npm run build && npm run pack:check",
|
|
12
12
|
"dev": "wrangler dev",
|
|
13
13
|
"dev:ui": "vite",
|
|
14
|
-
"pack:
|
|
15
|
-
"pack:
|
|
14
|
+
"pack:andeo": "node ./scripts/pack-andeo-artifact.mjs",
|
|
15
|
+
"pack:tender": "node ./scripts/pack-andeo-artifact.mjs",
|
|
16
|
+
"pack:check": "node ./scripts/pack-andeo-artifact.mjs --source-revision ffffffffffffffffffffffffffffffffffffffff",
|
|
16
17
|
"test": "node --test ./scripts/*.test.mjs",
|
|
17
18
|
"typecheck": "tsc --noEmit"
|
|
18
19
|
},
|
|
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
|
|
|
4
4
|
import { bundleDigest, sha256 } from "../../../scripts/artifact-contract.mjs";
|
|
5
5
|
|
|
6
6
|
const appRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
7
|
-
const config = JSON.parse(await readFile(join(appRoot, "
|
|
7
|
+
const config = JSON.parse(await readFile(join(appRoot, "andeo-app.config.json"), "utf8"));
|
|
8
8
|
const packageJson = JSON.parse(await readFile(join(appRoot, "package.json"), "utf8"));
|
|
9
9
|
const sourceRevision = (argumentValue("--source-revision") || process.env.TENDER_SOURCE_REVISION || "").trim().toLowerCase();
|
|
10
10
|
if (!/^[a-f0-9]{40}$/u.test(sourceRevision)) throw new Error("A committed 40-character source revision is required.");
|
|
@@ -67,7 +67,7 @@ export function App() {
|
|
|
67
67
|
? <a className="primary" href={state.bootstrap.loginUrl}>Sign in</a>
|
|
68
68
|
: <button className="primary" type="button" disabled>Sign in</button>}
|
|
69
69
|
{state.session.localDevelopment && (
|
|
70
|
-
<span className="hint">Real sign-in is available on an HTTPS
|
|
70
|
+
<span className="hint">Real sign-in is available on an HTTPS Andeo preview.</span>
|
|
71
71
|
)}
|
|
72
72
|
</div>
|
|
73
73
|
)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Optional CI/manual fallback for the linked
|
|
1
|
+
# Optional CI/manual fallback for the linked Andeo projects.
|
|
2
2
|
# Developers and coding agents should use a named `andeo auth create` profile instead.
|
|
3
3
|
# This value is never retained in an application artifact.
|
|
4
|
-
|
|
4
|
+
ANDEO_TOKEN=
|
|
File without changes
|
|
File without changes
|