Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/sdk/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@merit-systems/echo-next-sdk",
"version": "0.0.29",
"version": "0.0.30",
"description": "Next.js SDK for Echo",
"type": "module",
"main": "./dist/index.js",
Expand Down
4 changes: 2 additions & 2 deletions packages/sdk/next/src/ai-providers/xai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { getEchoToken } from '../auth/token-manager';
import {
createEchoXAI as createEchoXAIBase,
EchoConfig,
XAIProvider,
XaiProvider,
} from '@merit-systems/echo-typescript-sdk';

export function createEchoXAI(config: EchoConfig): XAIProvider {
export function createEchoXAI(config: EchoConfig): XaiProvider {
return createEchoXAIBase(config, async () => getEchoToken(config));
}
2 changes: 1 addition & 1 deletion packages/sdk/react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@merit-systems/echo-react-sdk",
"version": "1.0.38",
"version": "1.0.39",
"description": "React SDK for Echo OAuth2 + PKCE authentication and token management",
"type": "module",
"main": "./dist/index.cjs",
Expand Down
2 changes: 1 addition & 1 deletion packages/sdk/ts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@merit-systems/echo-typescript-sdk",
"version": "1.0.22",
"version": "1.0.23",
"description": "TypeScript SDK for Echo platform",
"type": "module",
"main": "./dist/index.cjs",
Expand Down
2 changes: 1 addition & 1 deletion templates/assistant-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "0.0.0",
"type": "module",
"dependencies": {
"@merit-systems/echo-next-sdk": "0.0.24",
"@merit-systems/echo-next-sdk": "latest",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using "latest" for SDK dependencies breaks reproducibility and is considered a package management anti-pattern. Templates should specify explicit versions to ensure consistent experiences across different installations and time periods.

View Details
📝 Patch Details
diff --git a/templates/assistant-ui/package.json b/templates/assistant-ui/package.json
index 73cbbcba..8ba4425d 100644
--- a/templates/assistant-ui/package.json
+++ b/templates/assistant-ui/package.json
@@ -3,12 +3,12 @@
   "version": "0.0.0",
   "type": "module",
   "dependencies": {
-    "@merit-systems/echo-next-sdk": "latest",
     "@ai-sdk/openai": "2.0.16",
     "@ai-sdk/react": "2.0.17",
     "@assistant-ui/react": "^0.11.3",
     "@assistant-ui/react-ai-sdk": "^1.1.0",
     "@assistant-ui/react-markdown": "^0.11.0",
+    "@merit-systems/echo-next-sdk": "0.0.29",
     "@radix-ui/react-slot": "^1.2.3",
     "@radix-ui/react-tooltip": "^1.2.8",
     "@tailwindcss/postcss": "^4.1.12",
@@ -16,7 +16,7 @@
     "class-variance-authority": "^0.7.1",
     "clsx": "^2.1.1",
     "lucide-react": "^0.539.0",
-    "next": "15.4.6",
+    "next": "^15.4.6",
     "postcss": "^8.5.6",
     "react": "19.1.1",
     "react-dom": "19.1.1",
diff --git a/templates/next-chat/package.json b/templates/next-chat/package.json
index 1f0aedbd..c4a69caa 100644
--- a/templates/next-chat/package.json
+++ b/templates/next-chat/package.json
@@ -11,8 +11,8 @@
   },
   "dependencies": {
     "@ai-sdk/react": "2.0.17",
-    "@merit-systems/echo-next-sdk": "latest",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-next-sdk": "0.0.29",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@radix-ui/react-avatar": "^1.1.10",
     "@radix-ui/react-collapsible": "^1.1.12",
     "@radix-ui/react-hover-card": "^1.1.15",
diff --git a/templates/next-image/package.json b/templates/next-image/package.json
index 144db126..7bc6c894 100644
--- a/templates/next-image/package.json
+++ b/templates/next-image/package.json
@@ -9,8 +9,8 @@
     "lint": "next lint"
   },
   "dependencies": {
-    "@merit-systems/echo-next-sdk": "latest",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-next-sdk": "0.0.29",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@radix-ui/react-avatar": "^1.1.10",
     "@radix-ui/react-dialog": "^1.1.15",
     "@radix-ui/react-dropdown-menu": "^2.1.16",
diff --git a/templates/next-video-template/package.json b/templates/next-video-template/package.json
index 2ce74db0..580f3f0c 100644
--- a/templates/next-video-template/package.json
+++ b/templates/next-video-template/package.json
@@ -9,8 +9,8 @@
   },
   "dependencies": {
     "@google/genai": "^1.20.0",
-    "@merit-systems/echo-next-sdk": "latest",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-next-sdk": "0.0.29",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@radix-ui/react-avatar": "^1.1.10",
     "@radix-ui/react-dialog": "^1.1.15",
     "@radix-ui/react-dropdown-menu": "^2.1.16",
diff --git a/templates/next/package.json b/templates/next/package.json
index 4ec755fd..00e94e63 100644
--- a/templates/next/package.json
+++ b/templates/next/package.json
@@ -10,7 +10,7 @@
     "postinstall": "npm dedupe || true"
   },
   "dependencies": {
-    "@merit-systems/echo-next-sdk": "latest",
+    "@merit-systems/echo-next-sdk": "0.0.29",
     "ai": "5.0.19",
     "@ai-sdk/react": "2.0.17",
     "@ai-sdk/openai": "2.0.16",
diff --git a/templates/nextjs-api-key-template/package.json b/templates/nextjs-api-key-template/package.json
index 13990692..86c8ffae 100644
--- a/templates/nextjs-api-key-template/package.json
+++ b/templates/nextjs-api-key-template/package.json
@@ -19,8 +19,8 @@
   "dependencies": {
     "@ai-sdk/openai": "2.0.16",
     "@ai-sdk/react": "2.0.17",
-    "@merit-systems/echo-next-sdk": "latest",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-next-sdk": "0.0.29",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@merit-systems/echo-typescript-sdk": "^1.0.17",
     "@prisma/client": "^6.16.2",
     "@radix-ui/react-avatar": "^1.1.10",
diff --git a/templates/react-chat/package.json b/templates/react-chat/package.json
index 698618b4..4c106795 100644
--- a/templates/react-chat/package.json
+++ b/templates/react-chat/package.json
@@ -12,7 +12,7 @@
   },
   "dependencies": {
     "@ai-sdk/react": "2.0.17",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@radix-ui/react-avatar": "^1.1.10",
     "@radix-ui/react-collapsible": "^1.1.12",
     "@radix-ui/react-hover-card": "^1.1.15",
diff --git a/templates/react-image/package.json b/templates/react-image/package.json
index 253f9965..51149575 100644
--- a/templates/react-image/package.json
+++ b/templates/react-image/package.json
@@ -12,7 +12,7 @@
   },
   "dependencies": {
     "@ai-sdk/react": "2.0.17",
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "@radix-ui/react-avatar": "^1.1.10",
     "@radix-ui/react-popover": "^1.1.15",
     "@radix-ui/react-slot": "^1.2.3",
diff --git a/templates/react/package.json b/templates/react/package.json
index 2ca9dd66..4ac205fe 100644
--- a/templates/react/package.json
+++ b/templates/react/package.json
@@ -11,7 +11,7 @@
     "preview": "vite preview"
   },
   "dependencies": {
-    "@merit-systems/echo-react-sdk": "latest",
+    "@merit-systems/echo-react-sdk": "1.0.38",
     "ai": "5.0.19",
     "@ai-sdk/react": "2.0.17",
     "react": "^19.1.1",

Analysis

Template dependencies use "latest" instead of pinned versions breaking reproducibility

What fails: Template package.json files specify "@merit-systems/echo-next-sdk": "latest" and "@merit-systems/echo-react-sdk": "latest" causing different SDK versions to be installed depending on when npm install runs

How to reproduce:

# Run at different times or compare with published registry
cd templates/assistant-ui
npm install
npm list @merit-systems/echo-next-sdk  # Gets 0.0.29 despite local package.json showing 0.0.30

Result: Different installations get different SDK versions. Registry shows 0.0.29 as latest while local development expects 0.0.30, breaking consistency across environments and time periods.

Expected: Templates should pin explicit SDK versions (e.g., "0.0.29", "1.0.38") for reproducible installations per npm best practices and Next.js team's recognition of this anti-pattern

Affected files: All 9 template package.json files (assistant-ui, next, next-chat, next-image, next-video-template, nextjs-api-key-template, react, react-chat, react-image)

"@ai-sdk/openai": "2.0.16",
"@ai-sdk/react": "2.0.17",
"@assistant-ui/react": "^0.11.3",
Expand Down
4 changes: 2 additions & 2 deletions templates/next-chat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
},
"dependencies": {
"@ai-sdk/react": "2.0.17",
"@merit-systems/echo-next-sdk": "0.0.24",
"@merit-systems/echo-react-sdk": "1.0.33",
"@merit-systems/echo-next-sdk": "latest",
"@merit-systems/echo-react-sdk": "latest",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-hover-card": "^1.1.15",
Expand Down
4 changes: 2 additions & 2 deletions templates/next-image/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"lint": "next lint"
},
"dependencies": {
"@merit-systems/echo-next-sdk": "0.0.24",
"@merit-systems/echo-react-sdk": "1.0.33",
"@merit-systems/echo-next-sdk": "latest",
"@merit-systems/echo-react-sdk": "latest",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
Expand Down
4 changes: 2 additions & 2 deletions templates/next-video-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
},
"dependencies": {
"@google/genai": "^1.20.0",
"@merit-systems/echo-next-sdk": "0.0.25",
"@merit-systems/echo-react-sdk": "1.0.34",
"@merit-systems/echo-next-sdk": "latest",
"@merit-systems/echo-react-sdk": "latest",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
Expand Down
2 changes: 1 addition & 1 deletion templates/next/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"postinstall": "npm dedupe || true"
},
"dependencies": {
"@merit-systems/echo-next-sdk": "0.0.24",
"@merit-systems/echo-next-sdk": "latest",
"ai": "5.0.19",
"@ai-sdk/react": "2.0.17",
"@ai-sdk/openai": "2.0.16",
Expand Down
4 changes: 2 additions & 2 deletions templates/nextjs-api-key-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
"dependencies": {
"@ai-sdk/openai": "2.0.16",
"@ai-sdk/react": "2.0.17",
"@merit-systems/echo-next-sdk": "0.0.24",
"@merit-systems/echo-react-sdk": "1.0.33",
"@merit-systems/echo-next-sdk": "latest",
"@merit-systems/echo-react-sdk": "latest",
"@merit-systems/echo-typescript-sdk": "^1.0.17",
"@prisma/client": "^6.16.2",
"@radix-ui/react-avatar": "^1.1.10",
Expand Down
2 changes: 1 addition & 1 deletion templates/react-chat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},
"dependencies": {
"@ai-sdk/react": "2.0.17",
"@merit-systems/echo-react-sdk": "1.0.33",
"@merit-systems/echo-react-sdk": "latest",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-hover-card": "^1.1.15",
Expand Down
2 changes: 1 addition & 1 deletion templates/react-image/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},
"dependencies": {
"@ai-sdk/react": "2.0.17",
"@merit-systems/echo-react-sdk": "1.0.33",
"@merit-systems/echo-react-sdk": "latest",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-slot": "^1.2.3",
Expand Down
2 changes: 1 addition & 1 deletion templates/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"preview": "vite preview"
},
"dependencies": {
"@merit-systems/echo-react-sdk": "^1.0.33",
"@merit-systems/echo-react-sdk": "latest",
"ai": "5.0.19",
"@ai-sdk/react": "2.0.17",
"react": "^19.1.1",
Expand Down
Loading