@weaverse/next 0.1.0-alpha.16 → 0.1.0-alpha.17

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@weaverse/next",
3
3
  "author": "Weaverse Team",
4
4
  "description": "Next.js App Router integration for building Weaverse-powered storefronts",
5
- "version": "0.1.0-alpha.16",
5
+ "version": "0.1.0-alpha.17",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "typings": "dist/types/index.d.ts",
@@ -62,11 +62,11 @@
62
62
  ]
63
63
  },
64
64
  "dependencies": {
65
- "@weaverse/react": "5.16.4",
66
- "@weaverse/schema": "0.10.0"
65
+ "@weaverse/react": "5.20.3",
66
+ "@weaverse/schema": "0.14.0"
67
67
  },
68
68
  "devDependencies": {
69
- "next": "16.2.9"
69
+ "next": "16.3.4"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "next": ">=14",
package/src/client.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { SchemaType } from '@weaverse/schema'
1
2
  import { registerWeaverseNextComponents } from './registry'
2
3
  import type {
3
4
  WeaverseNextClient,
@@ -24,7 +25,7 @@ import { generateDataFromSchema } from './utils'
24
25
  class NextClient implements WeaverseNextClient {
25
26
  projectId: string
26
27
  components: WeaverseNextComponent[]
27
- themeSchema?: WeaverseNextThemeSchema
28
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
28
29
  themeSettings: Record<string, unknown>
29
30
  requestContext?: WeaverseNextRequestContext
30
31
  commerce?: WeaverseNextCommerceContext
@@ -17,8 +17,9 @@ const MAX_ROUTE_CONTEXT_HANDLE_LENGTH = 512
17
17
  * every entry is stored lowercased. Client sanitization keeps normal traffic
18
18
  * clean; the route handler repeats this deny-list as the security boundary.
19
19
  *
20
- * - Server-owned: a crafted `?weaverseProjectId=`/`?weaverseHost=`/`?weaverseApiKey=`
21
- * must never influence server config resolution (see `getWeaverseNextConfigs`).
20
+ * - Server-owned: a crafted `?weaverseProjectId=`/`?weaverseHost=` must never
21
+ * influence server config resolution (see `getWeaverseNextConfigs`), and
22
+ * credential-shaped params never ride along in route context.
22
23
  * - Transient: draft-item and RSC transport params never describe route identity.
23
24
  */
24
25
  export const DENIED_ROUTE_CONTEXT_PARAMS = [
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
 
3
+ import type { SchemaType } from '@weaverse/schema'
3
4
  import {
4
5
  createContext,
5
6
  type ReactNode,
@@ -60,7 +61,7 @@ export interface WeaverseNextRootProviderProps {
60
61
  /** Optional external translation function (host i18n); highest priority in `t()`. */
61
62
  t?: TranslateFunction
62
63
  /** Theme schema associated with the initial settings. */
63
- themeSchema?: WeaverseNextThemeSchema
64
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
64
65
  }
65
66
 
66
67
  /**
@@ -160,10 +160,6 @@ export function getWeaverseNextConfigs(
160
160
  envProjectId: readEnv(env, 'WEAVERSE_PROJECT_ID') || '',
161
161
  weaverseHost,
162
162
  weaverseApiBase,
163
- weaverseApiKey:
164
- lastParam(searchParams, 'weaverseApiKey') ||
165
- readEnv(env, 'WEAVERSE_API_KEY') ||
166
- '',
167
163
  weaverseVersion:
168
164
  lastParam(searchParams, 'weaverseVersion') ||
169
165
  options.weaverseVersion ||
@@ -1,3 +1,4 @@
1
+ import type { SchemaType } from '@weaverse/schema'
1
2
  import { runWeaverseComponentLoaders } from '../loader'
2
3
  import { buildWeaverseNextRequestInfo } from '../request-info'
3
4
  import type {
@@ -105,7 +106,7 @@ class NextServerClient implements WeaverseNextServerClient {
105
106
  components: WeaverseNextComponent[]
106
107
  commerce?: WeaverseNextCommerceContext
107
108
  requestContext?: WeaverseNextRequestContext
108
- themeSchema?: WeaverseNextThemeSchema
109
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
109
110
  themeSettings: Record<string, unknown>
110
111
  data: WeaverseNextLoaderData | null = null
111
112
  dataContext: Record<string, unknown> = {}
@@ -1,3 +1,4 @@
1
+ import type { SchemaType } from '@weaverse/schema'
1
2
  import type {
2
3
  WeaverseNextThemeSchema,
3
4
  WeaverseNextThemeSettingsStore,
@@ -8,7 +9,7 @@ export interface CreateWeaverseNextThemeSettingsStoreOptions {
8
9
  /** Public environment values exposed alongside the store. */
9
10
  publicEnv?: Record<string, string | undefined>
10
11
  /** Theme schema associated with the settings. */
11
- schema?: WeaverseNextThemeSchema
12
+ schema?: SchemaType | WeaverseNextThemeSchema
12
13
  /** Initial setting values. */
13
14
  settings?: Record<string, unknown>
14
15
  }
package/src/types.ts CHANGED
@@ -36,7 +36,7 @@ export interface WeaverseNextThemeSettingsStore {
36
36
  /** Public environment values exposed with the theme settings. */
37
37
  publicEnv?: Record<string, string | undefined>
38
38
  /** Theme schema associated with this store. */
39
- schema?: WeaverseNextThemeSchema
39
+ schema?: SchemaType | WeaverseNextThemeSchema
40
40
  /** Current merged theme-setting values. */
41
41
  settings: Record<string, unknown>
42
42
  /** Subscribe to setting changes and return an unsubscribe function. */
@@ -474,7 +474,7 @@ export interface WeaverseNextClientConfig {
474
474
  /** Request metadata passed to component loaders and the runtime. */
475
475
  requestContext?: WeaverseNextRequestContext
476
476
  /** Theme schema used to derive default settings. */
477
- themeSchema?: WeaverseNextThemeSchema
477
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
478
478
  /** Merchant theme settings merged over schema defaults. */
479
479
  themeSettings?: Record<string, unknown>
480
480
  }
@@ -506,7 +506,7 @@ export interface WeaverseNextClient {
506
506
  /** Compatibility alias for `commerce.storefront`. */
507
507
  storefront?: WeaverseNextStorefront
508
508
  /** Theme schema used by the current project. */
509
- themeSchema?: WeaverseNextThemeSchema
509
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
510
510
  /** Theme settings with schema defaults applied. */
511
511
  themeSettings: Record<string, unknown>
512
512
  }
@@ -557,8 +557,8 @@ export interface WeaverseNextFetchOptions extends RequestInit {
557
557
 
558
558
  /**
559
559
  * Public, client-safe Weaverse config bundle. Mirrors Hydrogen's
560
- * `WeaverseProjectConfigs` minus server secrets — `weaverseApiKey` is never
561
- * included so it cannot leak into serialized loader data.
560
+ * `WeaverseProjectConfigs`, restricted to the fields that are safe to serialize
561
+ * into loader data.
562
562
  */
563
563
  export interface WeaverseNextConfigs {
564
564
  /** Whether the request is rendered inside Builder Studio. */
@@ -584,9 +584,9 @@ export interface WeaverseNextConfigs {
584
584
  }
585
585
 
586
586
  /**
587
- * Resolved base configs derived from request context + env. Includes the
588
- * server-only `weaverseApiKey`, so this stays internal to the server client and
589
- * is never serialized into loader data.
587
+ * Resolved base configs derived from request context + env. Internal to the
588
+ * server client; the client-facing subset is built explicitly by
589
+ * `_buildPublicConfigs` and never includes anything beyond it.
590
590
  */
591
591
  export interface WeaverseNextBaseConfigs {
592
592
  /** Project ID read from `WEAVERSE_PROJECT_ID`. */
@@ -605,8 +605,6 @@ export interface WeaverseNextBaseConfigs {
605
605
  sectionType: string
606
606
  /** Base URL used for public Weaverse data requests. */
607
607
  weaverseApiBase: string
608
- /** Server-only API key read from the request or environment. */
609
- weaverseApiKey: string
610
608
  /** Trusted Studio origin. */
611
609
  weaverseHost: string
612
610
  /** Studio asset version requested by Builder. */
@@ -624,7 +622,7 @@ export interface WeaverseNextThemeSettingsResponse {
624
622
  /** Environment values safe to expose to the browser in design mode. */
625
623
  publicEnv?: Record<string, string | undefined>
626
624
  /** Serializable theme schema returned in design mode. */
627
- schema?: WeaverseNextThemeSchema
625
+ schema?: SchemaType | WeaverseNextThemeSchema
628
626
  /** Default-locale static content from the theme schema. */
629
627
  staticContent?: Record<string, unknown>
630
628
  /** Theme-setting values with schema defaults applied. */
@@ -690,7 +688,7 @@ export interface WeaverseNextServerClientConfig {
690
688
  /** Explicit request metadata used for config and page resolution. */
691
689
  requestContext?: WeaverseNextRequestContext
692
690
  /** Theme schema used to derive default settings and preview data. */
693
- themeSchema?: WeaverseNextThemeSchema
691
+ themeSchema?: SchemaType | WeaverseNextThemeSchema
694
692
  /** Merchant theme settings merged over schema defaults. */
695
693
  themeSettings?: Record<string, unknown>
696
694
  /** Optional override for the resolved Weaverse public API base. */