@cimplify/cli 0.7.6 → 0.7.8

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.
Files changed (44) hide show
  1. package/dist/{add-L36PRZQO.mjs → add-BMHJY65N.mjs} +1 -1
  2. package/dist/{chunk-Z4OBZRGQ.mjs → chunk-7ULQCWYD.mjs} +20 -20
  3. package/dist/{chunk-CIRUNSIM.mjs → chunk-LH7Y27BQ.mjs} +2 -2
  4. package/dist/{chunk-Q4H7IMO5.mjs → chunk-WO2KN3QD.mjs} +1 -1
  5. package/dist/dispatcher.mjs +9 -9
  6. package/dist/{doctor-FXZMYCL5.mjs → doctor-U7QRYEFG.mjs} +2 -2
  7. package/dist/{explain-AJEHO5D5.mjs → explain-ZPBYGQWC.mjs} +1 -1
  8. package/dist/{introspect-FK4XSDDL.mjs → introspect-JFJOCF5M.mjs} +2 -2
  9. package/dist/{list-T2QQBM2X.mjs → list-LOKEBW5S.mjs} +1 -1
  10. package/dist/{update-3SQQSO5C.mjs → update-EJGLLHRW.mjs} +1 -1
  11. package/package.json +2 -2
  12. package/templates/manifest.json +26 -26
  13. package/templates/storefront-auto/app/auth/callback/route.ts +17 -3
  14. package/templates/storefront-auto/app/auth/session/route.ts +2 -2
  15. package/templates/storefront-auto/lib/auth.ts +2 -2
  16. package/templates/storefront-auto/package.json +1 -1
  17. package/templates/storefront-bakery/app/auth/callback/route.ts +17 -3
  18. package/templates/storefront-bakery/app/auth/session/route.ts +2 -2
  19. package/templates/storefront-bakery/lib/auth.ts +2 -2
  20. package/templates/storefront-bakery/package.json +1 -1
  21. package/templates/storefront-fashion/app/auth/callback/route.ts +17 -3
  22. package/templates/storefront-fashion/app/auth/session/route.ts +2 -2
  23. package/templates/storefront-fashion/lib/auth.ts +2 -2
  24. package/templates/storefront-fashion/package.json +1 -1
  25. package/templates/storefront-grocery/app/auth/callback/route.ts +17 -3
  26. package/templates/storefront-grocery/app/auth/session/route.ts +2 -2
  27. package/templates/storefront-grocery/lib/auth.ts +2 -2
  28. package/templates/storefront-grocery/package.json +1 -1
  29. package/templates/storefront-pharmacy/app/auth/callback/route.ts +17 -3
  30. package/templates/storefront-pharmacy/app/auth/session/route.ts +2 -2
  31. package/templates/storefront-pharmacy/lib/auth.ts +2 -2
  32. package/templates/storefront-pharmacy/package.json +1 -1
  33. package/templates/storefront-restaurant/app/auth/callback/route.ts +17 -3
  34. package/templates/storefront-restaurant/app/auth/session/route.ts +2 -2
  35. package/templates/storefront-restaurant/lib/auth.ts +2 -2
  36. package/templates/storefront-restaurant/package.json +1 -1
  37. package/templates/storefront-retail/app/auth/callback/route.ts +17 -3
  38. package/templates/storefront-retail/app/auth/session/route.ts +2 -2
  39. package/templates/storefront-retail/lib/auth.ts +2 -2
  40. package/templates/storefront-retail/package.json +1 -1
  41. package/templates/storefront-services/app/auth/callback/route.ts +17 -3
  42. package/templates/storefront-services/app/auth/session/route.ts +2 -2
  43. package/templates/storefront-services/lib/auth.ts +2 -2
  44. package/templates/storefront-services/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  // package.json
3
3
  var package_default = {
4
4
  name: "@cimplify/cli",
5
- version: "0.7.6",
5
+ version: "0.7.8",
6
6
  description: "Cimplify CLI \u2014 deploy, manage env vars, link projects, and scaffold storefronts",
7
7
  keywords: [
8
8
  "cimplify",
@@ -47,7 +47,7 @@ var package_default = {
47
47
  vitest: "^4.1.5"
48
48
  },
49
49
  dependencies: {
50
- "@cimplify/sdk": "^0.58.0"
50
+ "@cimplify/sdk": "^0.60.0"
51
51
  }
52
52
  };
53
53
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-K5464A3L.mjs';
3
3
  import { parseEnvFile } from './chunk-DBZ3UOQ2.mjs';
4
- import { package_default } from './chunk-CIRUNSIM.mjs';
4
+ import { package_default } from './chunk-LH7Y27BQ.mjs';
5
5
  import { parseArgs } from './chunk-C4M3DXKC.mjs';
6
6
  import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-UBAI443T.mjs';
7
7
  import { bold, dim, yellow, green, info, result, red } from './chunk-E2T2SBP5.mjs';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { TEMPLATES } from './chunk-Z4OBZRGQ.mjs';
3
- import { package_default } from './chunk-CIRUNSIM.mjs';
2
+ import { TEMPLATES } from './chunk-7ULQCWYD.mjs';
3
+ import { package_default } from './chunk-LH7Y27BQ.mjs';
4
4
 
5
5
  // src/dispatcher.ts
6
6
  var VERSION = package_default.version ?? "unknown";
@@ -138,16 +138,16 @@ var COMMANDS = {
138
138
  logs: () => import('./logs-YNN2PQ24.mjs'),
139
139
  status: () => import('./status-JSYXM5RT.mjs'),
140
140
  dev: () => import('./dev-ONW2S77K.mjs'),
141
- introspect: () => import('./introspect-FK4XSDDL.mjs'),
141
+ introspect: () => import('./introspect-JFJOCF5M.mjs'),
142
142
  inspect: () => import('./inspect-CGYX4DDF.mjs'),
143
- doctor: () => import('./doctor-FXZMYCL5.mjs'),
144
- explain: () => import('./explain-AJEHO5D5.mjs'),
143
+ doctor: () => import('./doctor-U7QRYEFG.mjs'),
144
+ explain: () => import('./explain-ZPBYGQWC.mjs'),
145
145
  assets: () => import('./assets-74SK63TR.mjs'),
146
146
  repo: () => import('./repo-KNQMSPVV.mjs'),
147
- list: () => import('./list-T2QQBM2X.mjs'),
148
- add: () => import('./add-L36PRZQO.mjs'),
149
- update: () => import('./update-3SQQSO5C.mjs'),
150
- upgrade: () => import('./update-3SQQSO5C.mjs'),
147
+ list: () => import('./list-LOKEBW5S.mjs'),
148
+ add: () => import('./add-BMHJY65N.mjs'),
149
+ update: () => import('./update-EJGLLHRW.mjs'),
150
+ upgrade: () => import('./update-EJGLLHRW.mjs'),
151
151
  "auth-step-up": () => import('./auth-step-up-BIUYQJP6.mjs')
152
152
  };
153
153
  var COMMAND_PREFIXES = {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { gatherIntrospection } from './chunk-Q4H7IMO5.mjs';
2
+ import { gatherIntrospection } from './chunk-WO2KN3QD.mjs';
3
3
  import './chunk-K5464A3L.mjs';
4
4
  import './chunk-DBZ3UOQ2.mjs';
5
- import './chunk-CIRUNSIM.mjs';
5
+ import './chunk-LH7Y27BQ.mjs';
6
6
  import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
7
7
  import { ApiClient } from './chunk-MAOO6ZZ5.mjs';
8
8
  import { readAuthOrNull } from './chunk-UBAI443T.mjs';
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { package_default } from './chunk-CIRUNSIM.mjs';
2
+ import { package_default } from './chunk-LH7Y27BQ.mjs';
3
3
  import { parseArgs } from './chunk-C4M3DXKC.mjs';
4
4
  import { bold, dim, info, result, CliError, CLI_ERROR_CODE } from './chunk-E2T2SBP5.mjs';
5
5
 
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-Q4H7IMO5.mjs';
2
+ export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-WO2KN3QD.mjs';
3
3
  import './chunk-K5464A3L.mjs';
4
4
  import './chunk-DBZ3UOQ2.mjs';
5
- import './chunk-CIRUNSIM.mjs';
5
+ import './chunk-LH7Y27BQ.mjs';
6
6
  import './chunk-C4M3DXKC.mjs';
7
7
  import './chunk-UBAI443T.mjs';
8
8
  import './chunk-E2T2SBP5.mjs';
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { REGISTRY_INDEX } from './chunk-Z4OBZRGQ.mjs';
2
+ import { REGISTRY_INDEX } from './chunk-7ULQCWYD.mjs';
3
3
  import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
4
4
  import { CliError, CLI_ERROR_CODE, info, bold, dim, green, result } from './chunk-E2T2SBP5.mjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { package_default } from './chunk-CIRUNSIM.mjs';
2
+ import { package_default } from './chunk-LH7Y27BQ.mjs';
3
3
  import { promptYesNo } from './chunk-ITAFAORS.mjs';
4
4
  import { parseArgs, flagBool, flagString } from './chunk-C4M3DXKC.mjs';
5
5
  import { success, bold, info, dim, result, failure, CliError, CLI_ERROR_CODE, step, isJsonMode } from './chunk-E2T2SBP5.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cimplify/cli",
3
- "version": "0.7.6",
3
+ "version": "0.7.8",
4
4
  "description": "Cimplify CLI — deploy, manage env vars, link projects, and scaffold storefronts",
5
5
  "keywords": [
6
6
  "cimplify",
@@ -45,6 +45,6 @@
45
45
  "vitest": "^4.1.5"
46
46
  },
47
47
  "dependencies": {
48
- "@cimplify/sdk": "^0.58.0"
48
+ "@cimplify/sdk": "^0.60.0"
49
49
  }
50
50
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "cliVersion": "0.5.4",
3
- "generatedAt": "2026-05-16T20:50:00.000Z",
2
+ "cliVersion": "0.7.8",
3
+ "generatedAt": "2026-05-29T18:52:46.276Z",
4
4
  "templates": [
5
5
  {
6
6
  "id": "bakery",
@@ -18,9 +18,9 @@
18
18
  "seedName": "default",
19
19
  "seedBusinessId": "bus_default_akua_bakery"
20
20
  },
21
- "objectKey": "templates/bakery-v0.5.0.tar.gz",
22
- "sha256": "24f4881bf140f6bf03089adfe1d1097518f0a8eb37d145a2adea0cfb8126d40b",
23
- "sizeBytes": 48191
21
+ "objectKey": "templates/bakery-v0.7.8.tar.gz",
22
+ "sha256": "703cfa58d00bdfcb7efabea4bf38970425a924815a96670b3e034cc89cea4e01",
23
+ "sizeBytes": 77159
24
24
  },
25
25
  {
26
26
  "id": "restaurant",
@@ -38,9 +38,9 @@
38
38
  "seedName": "restaurant",
39
39
  "seedBusinessId": "bus_mamas_kitchen"
40
40
  },
41
- "objectKey": "templates/restaurant-v0.5.0.tar.gz",
42
- "sha256": "bb3d122d46e171d9ff04db8a8172baaa1720a325622da2ab8b4d18dc0b2377df",
43
- "sizeBytes": 49181
41
+ "objectKey": "templates/restaurant-v0.7.8.tar.gz",
42
+ "sha256": "dfb73ea0823b51599fd992a64e91610b8c267ebb4ddc41c582b8005066713de6",
43
+ "sizeBytes": 144037
44
44
  },
45
45
  {
46
46
  "id": "retail",
@@ -58,9 +58,9 @@
58
58
  "seedName": "retail",
59
59
  "seedBusinessId": "bus_currents_electronics"
60
60
  },
61
- "objectKey": "templates/retail-v0.5.0.tar.gz",
62
- "sha256": "3e8cfcf56f2265c87735a26a9a0b624bb882f45971a818dbec516546b4b2a4c9",
63
- "sizeBytes": 56993
61
+ "objectKey": "templates/retail-v0.7.8.tar.gz",
62
+ "sha256": "187e2153cf0dd04b47620ce2a3a62f1075296fc03013ae6db65bcae98fd1b4c0",
63
+ "sizeBytes": 154591
64
64
  },
65
65
  {
66
66
  "id": "services",
@@ -78,9 +78,9 @@
78
78
  "seedName": "services",
79
79
  "seedBusinessId": "bus_serene_spa"
80
80
  },
81
- "objectKey": "templates/services-v0.5.0.tar.gz",
82
- "sha256": "c8d69dddef8c5de632a16f91a26a5fc52595008341d1e4e09e1763d7ac951841",
83
- "sizeBytes": 48892
81
+ "objectKey": "templates/services-v0.7.8.tar.gz",
82
+ "sha256": "a7b7e88e72610cc1b3bc3f5132dd3fbe4bfe0ef97150876e8a34b4d45205b3cb",
83
+ "sizeBytes": 76843
84
84
  },
85
85
  {
86
86
  "id": "grocery",
@@ -98,9 +98,9 @@
98
98
  "seedName": "grocery",
99
99
  "seedBusinessId": "bus_freshmart"
100
100
  },
101
- "objectKey": "templates/grocery-v0.5.0.tar.gz",
102
- "sha256": "b1a4db39ccf95b31a521fba4ee0cae1c9fcc6e3ab1f5a35002fcddb0052a6d2d",
103
- "sizeBytes": 45912
101
+ "objectKey": "templates/grocery-v0.7.8.tar.gz",
102
+ "sha256": "c8dca986c5d2291266886115247e2172c92ea3d0256bb3475cdd66141a5f0fa3",
103
+ "sizeBytes": 74319
104
104
  },
105
105
  {
106
106
  "id": "fashion",
@@ -118,9 +118,9 @@
118
118
  "seedName": "fashion",
119
119
  "seedBusinessId": "bus_studio_frx"
120
120
  },
121
- "objectKey": "templates/fashion-v0.5.0.tar.gz",
122
- "sha256": "543a17fb9a351bfb4db2f8d5e67e008e9f57b98065e8a437e890ce5a6221d883",
123
- "sizeBytes": 61611
121
+ "objectKey": "templates/fashion-v0.7.8.tar.gz",
122
+ "sha256": "b4b1d5178bee794b6deeda388b9d28a6fadf10950e312dae8f10b4f6f735c1ba",
123
+ "sizeBytes": 162319
124
124
  },
125
125
  {
126
126
  "id": "pharmacy",
@@ -138,9 +138,9 @@
138
138
  "seedName": "pharmacy",
139
139
  "seedBusinessId": "bus_wellspring_pharmacy"
140
140
  },
141
- "objectKey": "templates/pharmacy-v0.5.0.tar.gz",
142
- "sha256": "5f9cd8bc6c75a44b267fb8bee8b609633f8c4156493f32244574c9a6e800c4b3",
143
- "sizeBytes": 61742
141
+ "objectKey": "templates/pharmacy-v0.7.8.tar.gz",
142
+ "sha256": "e9e248e3d90c9f7da61a08243f9152b0ea25bb22beb591e9eccf8f6e902dcfbd",
143
+ "sizeBytes": 158835
144
144
  },
145
145
  {
146
146
  "id": "auto",
@@ -158,9 +158,9 @@
158
158
  "seedName": "auto",
159
159
  "seedBusinessId": "bus_driveline_auto"
160
160
  },
161
- "objectKey": "templates/auto-v0.5.0.tar.gz",
162
- "sha256": "8e4e57d01dd73cf70e80b04e7516b4968ee89d30fd87e5a4fda15dce78348994",
163
- "sizeBytes": 59701
161
+ "objectKey": "templates/auto-v0.7.8.tar.gz",
162
+ "sha256": "4215739fa1e548f0648122bb73e859e76527512184f1a47e024d67462a78b1be",
163
+ "sizeBytes": 209176617
164
164
  }
165
165
  ]
166
166
  }
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }
@@ -1,11 +1,11 @@
1
1
  import { handleSessionRequest } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
 
6
6
  export async function GET(req: Request): Promise<Response> {
7
7
  if (!CLIENT_ID) {
8
8
  return Response.json({ sub: null }, { status: 200 });
9
9
  }
10
- return handleSessionRequest(req, { clientId: CLIENT_ID, authUrl: AUTH_URL });
10
+ return handleSessionRequest(req, { clientId: CLIENT_ID, issuer: ISSUER });
11
11
  }
@@ -8,9 +8,9 @@ import {
8
8
  } from "@cimplify/sdk/server";
9
9
 
10
10
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
11
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
11
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
12
12
 
13
- const oidcConfig = { clientId: CLIENT_ID, authUrl: AUTH_URL };
13
+ const oidcConfig = { clientId: CLIENT_ID, issuer: ISSUER };
14
14
 
15
15
  export async function getSession(): Promise<CimplifySession | null> {
16
16
  if (!CLIENT_ID) return null;
@@ -17,7 +17,7 @@
17
17
  "check": "bun run typecheck && bun run test:run"
18
18
  },
19
19
  "dependencies": {
20
- "@cimplify/sdk": "^0.58.0",
20
+ "@cimplify/sdk": "^0.60.0",
21
21
  "next": "^16.2.6",
22
22
  "react": "^19.0.0",
23
23
  "react-dom": "^19.0.0"
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }
@@ -1,11 +1,11 @@
1
1
  import { handleSessionRequest } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
 
6
6
  export async function GET(req: Request): Promise<Response> {
7
7
  if (!CLIENT_ID) {
8
8
  return Response.json({ sub: null }, { status: 200 });
9
9
  }
10
- return handleSessionRequest(req, { clientId: CLIENT_ID, authUrl: AUTH_URL });
10
+ return handleSessionRequest(req, { clientId: CLIENT_ID, issuer: ISSUER });
11
11
  }
@@ -8,9 +8,9 @@ import {
8
8
  } from "@cimplify/sdk/server";
9
9
 
10
10
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
11
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
11
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
12
12
 
13
- const oidcConfig = { clientId: CLIENT_ID, authUrl: AUTH_URL };
13
+ const oidcConfig = { clientId: CLIENT_ID, issuer: ISSUER };
14
14
 
15
15
  export async function getSession(): Promise<CimplifySession | null> {
16
16
  if (!CLIENT_ID) return null;
@@ -17,7 +17,7 @@
17
17
  "check": "bun run typecheck && bun run test:run"
18
18
  },
19
19
  "dependencies": {
20
- "@cimplify/sdk": "^0.58.0",
20
+ "@cimplify/sdk": "^0.60.0",
21
21
  "next": "^16.2.6",
22
22
  "react": "^19.0.0",
23
23
  "react-dom": "^19.0.0"
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }
@@ -1,11 +1,11 @@
1
1
  import { handleSessionRequest } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
 
6
6
  export async function GET(req: Request): Promise<Response> {
7
7
  if (!CLIENT_ID) {
8
8
  return Response.json({ sub: null }, { status: 200 });
9
9
  }
10
- return handleSessionRequest(req, { clientId: CLIENT_ID, authUrl: AUTH_URL });
10
+ return handleSessionRequest(req, { clientId: CLIENT_ID, issuer: ISSUER });
11
11
  }
@@ -8,9 +8,9 @@ import {
8
8
  } from "@cimplify/sdk/server";
9
9
 
10
10
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
11
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
11
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
12
12
 
13
- const oidcConfig = { clientId: CLIENT_ID, authUrl: AUTH_URL };
13
+ const oidcConfig = { clientId: CLIENT_ID, issuer: ISSUER };
14
14
 
15
15
  export async function getSession(): Promise<CimplifySession | null> {
16
16
  if (!CLIENT_ID) return null;
@@ -19,7 +19,7 @@
19
19
  "check": "bun run typecheck && bun run test:run"
20
20
  },
21
21
  "dependencies": {
22
- "@cimplify/sdk": "^0.58.0",
22
+ "@cimplify/sdk": "^0.60.0",
23
23
  "next": "^16.2.6",
24
24
  "react": "^19.0.0",
25
25
  "react-dom": "^19.0.0"
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }
@@ -1,11 +1,11 @@
1
1
  import { handleSessionRequest } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
 
6
6
  export async function GET(req: Request): Promise<Response> {
7
7
  if (!CLIENT_ID) {
8
8
  return Response.json({ sub: null }, { status: 200 });
9
9
  }
10
- return handleSessionRequest(req, { clientId: CLIENT_ID, authUrl: AUTH_URL });
10
+ return handleSessionRequest(req, { clientId: CLIENT_ID, issuer: ISSUER });
11
11
  }
@@ -8,9 +8,9 @@ import {
8
8
  } from "@cimplify/sdk/server";
9
9
 
10
10
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
11
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
11
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
12
12
 
13
- const oidcConfig = { clientId: CLIENT_ID, authUrl: AUTH_URL };
13
+ const oidcConfig = { clientId: CLIENT_ID, issuer: ISSUER };
14
14
 
15
15
  export async function getSession(): Promise<CimplifySession | null> {
16
16
  if (!CLIENT_ID) return null;
@@ -17,7 +17,7 @@
17
17
  "check": "bun run typecheck && bun run test:run"
18
18
  },
19
19
  "dependencies": {
20
- "@cimplify/sdk": "^0.58.0",
20
+ "@cimplify/sdk": "^0.60.0",
21
21
  "next": "^16.2.6",
22
22
  "react": "^19.0.0",
23
23
  "react-dom": "^19.0.0"
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }
@@ -1,11 +1,11 @@
1
1
  import { handleSessionRequest } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
 
6
6
  export async function GET(req: Request): Promise<Response> {
7
7
  if (!CLIENT_ID) {
8
8
  return Response.json({ sub: null }, { status: 200 });
9
9
  }
10
- return handleSessionRequest(req, { clientId: CLIENT_ID, authUrl: AUTH_URL });
10
+ return handleSessionRequest(req, { clientId: CLIENT_ID, issuer: ISSUER });
11
11
  }
@@ -8,9 +8,9 @@ import {
8
8
  } from "@cimplify/sdk/server";
9
9
 
10
10
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
11
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
11
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
12
12
 
13
- const oidcConfig = { clientId: CLIENT_ID, authUrl: AUTH_URL };
13
+ const oidcConfig = { clientId: CLIENT_ID, issuer: ISSUER };
14
14
 
15
15
  export async function getSession(): Promise<CimplifySession | null> {
16
16
  if (!CLIENT_ID) return null;
@@ -17,7 +17,7 @@
17
17
  "check": "bun run typecheck && bun run test:run"
18
18
  },
19
19
  "dependencies": {
20
- "@cimplify/sdk": "^0.58.0",
20
+ "@cimplify/sdk": "^0.60.0",
21
21
  "next": "^16.2.6",
22
22
  "react": "^19.0.0",
23
23
  "react-dom": "^19.0.0"
@@ -1,16 +1,30 @@
1
- import { handleOidcCallback } from "@cimplify/sdk/server";
1
+ import { handleOidcCallback, handleRedirectCallback } from "@cimplify/sdk/server";
2
2
 
3
3
  const CLIENT_ID = process.env.CIMPLIFY_CLIENT_ID ?? "";
4
- const AUTH_URL = process.env.CIMPLIFY_AUTH_URL;
4
+ const ISSUER = process.env.CIMPLIFY_ISSUER;
5
5
  const REDIRECT_URI = process.env.CIMPLIFY_REDIRECT_URI ?? "";
6
6
 
7
+ // Redirect sign-in: the browser lands here via a top-level GET carrying ?code.
8
+ export async function GET(req: Request): Promise<Response> {
9
+ if (!CLIENT_ID || !REDIRECT_URI) {
10
+ return Response.json({ error: "oidc_not_configured" }, { status: 500 });
11
+ }
12
+ return handleRedirectCallback(req, {
13
+ clientId: CLIENT_ID,
14
+ issuer: ISSUER,
15
+ redirectUri: REDIRECT_URI,
16
+ defaultReturnTo: "/account",
17
+ });
18
+ }
19
+
20
+ // Modal/silent sign-in: posts {code, codeVerifier, state} here for exchange.
7
21
  export async function POST(req: Request): Promise<Response> {
8
22
  if (!CLIENT_ID || !REDIRECT_URI) {
9
23
  return Response.json({ error: "oidc_not_configured" }, { status: 500 });
10
24
  }
11
25
  return handleOidcCallback(req, {
12
26
  clientId: CLIENT_ID,
13
- authUrl: AUTH_URL,
27
+ issuer: ISSUER,
14
28
  redirectUri: REDIRECT_URI,
15
29
  });
16
30
  }