Skip to content

Commit 6828c83

Browse files
committed
feat: rebrand from dyad to alifullstack throughout codebase
- Replace protocol schemes: dyad:// β†’ alifullstack:// - Update GitHub repository reference: SFARPak/dyad β†’ SFARPak/alifullstack - Rename environment variables: DYAD_* β†’ ALIFULLSTACK_* - Rename settings keys: dyadTelemetry* β†’ alifullstackTelemetry* - Rename Pro features: enableDyadPro β†’ enableAliFullStackPro, etc. - Update schema field names and function names - Update package.json scripts and .env.example
1 parent 4df7e9f commit 6828c83

22 files changed

+66
-66
lines changed

β€Ž.env.exampleβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ SM_CODE_SIGNING_CERT_SHA1=
3333
# NODE_ENV=development
3434
# E2E_TEST_BUILD=
3535
# CI=
36-
# DYAD_ENGINE_URL=
37-
# DYAD_GATEWAY_URL=
36+
# ALIFULLSTACK_ENGINE_URL=
37+
# ALIFULLSTACK_GATEWAY_URL=

β€Že2e-tests/helpers/test_helper.tsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,8 +1083,8 @@ export const test = base.extend<{
10831083
process.env.OLLAMA_HOST = "http://localhost:3500/ollama";
10841084
process.env.LM_STUDIO_BASE_URL_FOR_TESTING =
10851085
"http://localhost:3500/lmstudio";
1086-
process.env.DYAD_ENGINE_URL = "http://localhost:3500/engine/v1";
1087-
process.env.DYAD_GATEWAY_URL = "http://localhost:3500/gateway/v1";
1086+
process.env.ALIFULLSTACK_ENGINE_URL = "http://localhost:3500/engine/v1";
1087+
process.env.ALIFULLSTACK_GATEWAY_URL = "http://localhost:3500/gateway/v1";
10881088
process.env.E2E_TEST_BUILD = "true";
10891089
if (!electronConfig.showSetupScreen) {
10901090
// This is just a hack to avoid the AI setup screen.

β€Žpackage.jsonβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
"scripts": {
1515
"clean": "rimraf out scaffold/node_modules",
1616
"start": "electron-forge start",
17-
"dev:engine": "cross-env DYAD_ENGINE_URL=http://localhost:8080/v1 npm start",
18-
"staging:engine": "cross-env DYAD_ENGINE_URL=https://staging---dyad-llm-engine-kq7pivehnq-uc.a.run.app/v1 npm start",
19-
"staging:gateway": "cross-env DYAD_GATEWAY_URL=https://staging---litellm-gcp-cloud-run-kq7pivehnq-uc.a.run.app/v1 npm start",
17+
"dev:engine": "cross-env ALIFULLSTACK_ENGINE_URL=http://localhost:8080/v1 npm start",
18+
"staging:engine": "cross-env ALIFULLSTACK_ENGINE_URL=https://staging---alifullstack-llm-engine-kq7pivehnq-uc.a.run.app/v1 npm start",
19+
"staging:gateway": "cross-env ALIFULLSTACK_GATEWAY_URL=https://staging---litellm-gcp-cloud-run-kq7pivehnq-uc.a.run.app/v1 npm start",
2020
"package": "npm run clean && electron-forge package",
2121
"make": "npm run clean && electron-forge make",
2222
"publish": "npm run clean && electron-forge publish",

β€Žsrc/app/TitleBar.tsxβ€Ž

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export const TitleBar = () => {
7373
};
7474

7575
const isDyadPro = !!settings?.providerSettings?.auto?.apiKey?.value;
76-
const isDyadProEnabled = Boolean(settings?.enableDyadPro);
76+
const isAliFullStackProEnabled = Boolean(settings?.enableAliFullStackPro);
7777

7878
return (
7979
<>
@@ -92,7 +92,7 @@ export const TitleBar = () => {
9292
>
9393
{displayText}
9494
</Button>
95-
{isDyadPro && <DyadProButton isDyadProEnabled={isDyadProEnabled} />}
95+
{isDyadPro && <DyadProButton isAliFullStackProEnabled={isAliFullStackProEnabled} />}
9696

9797
{/* Preview Header */}
9898
{location.pathname === "/chat" && (
@@ -194,9 +194,9 @@ function WindowsControls() {
194194
}
195195

196196
export function DyadProButton({
197-
isDyadProEnabled,
197+
isAliFullStackProEnabled,
198198
}: {
199-
isDyadProEnabled: boolean;
199+
isAliFullStackProEnabled: boolean;
200200
}) {
201201
const { navigate } = useRouter();
202202
const { userBudget } = useUserBudgetInfo();
@@ -212,12 +212,12 @@ export function DyadProButton({
212212
variant="outline"
213213
className={cn(
214214
"hidden @2xl:block ml-1 no-app-region-drag h-7 bg-indigo-600 text-white dark:bg-indigo-600 dark:text-white text-xs px-2 pt-1 pb-1",
215-
!isDyadProEnabled && "bg-zinc-600 dark:bg-zinc-600",
215+
!isAliFullStackProEnabled && "bg-zinc-600 dark:bg-zinc-600",
216216
)}
217217
size="sm"
218218
>
219-
{isDyadProEnabled ? "Pro" : "Pro (off)"}
220-
{userBudget && isDyadProEnabled && (
219+
{isAliFullStackProEnabled ? "Pro" : "Pro (off)"}
220+
{userBudget && isAliFullStackProEnabled && (
221221
<AICreditStatus userBudget={userBudget} />
222222
)}
223223
</Button>

β€Žsrc/components/ContextFilesPicker.tsxβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export function ContextFilesPicker() {
113113
};
114114

115115
const isSmartContextEnabled =
116-
settings?.enableDyadPro && settings?.enableProSmartFilesContextMode;
116+
settings?.enableAliFullStackPro && settings?.enableProSmartFilesContextMode;
117117

118118
return (
119119
<Popover open={isOpen} onOpenChange={setIsOpen}>

β€Žsrc/components/ModelPicker.tsxβ€Ž

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isDyadProEnabled, type LargeLanguageModel } from "@/lib/schemas";
1+
import { isAliFullStackProEnabled, type LargeLanguageModel } from "@/lib/schemas";
22
import { Button } from "@/components/ui/button";
33
import {
44
Tooltip,
@@ -111,14 +111,14 @@ export function ModelPicker() {
111111
? modelsByProviders["auto"].filter((model) => {
112112
if (
113113
settings &&
114-
!isDyadProEnabled(settings) &&
114+
!isAliFullStackProEnabled(settings) &&
115115
model.apiName === "turbo"
116116
) {
117117
return false;
118118
}
119119
if (
120120
settings &&
121-
isDyadProEnabled(settings) &&
121+
isAliFullStackProEnabled(settings) &&
122122
model.apiName === "free"
123123
) {
124124
return false;
@@ -138,7 +138,7 @@ export function ModelPicker() {
138138
}
139139
const selectedModel = settings?.selectedModel;
140140
const isSmartAutoEnabled =
141-
settings.enableProSmartFilesContextMode && isDyadProEnabled(settings);
141+
settings.enableProSmartFilesContextMode && isAliFullStackProEnabled(settings);
142142
const modelDisplayName = getModelDisplayName();
143143
// Split providers into primary and secondary groups (excluding auto)
144144
const providerEntries =
@@ -152,7 +152,7 @@ export function ModelPicker() {
152152
const provider = providers?.find((p) => p.id === providerId);
153153
return !(provider && provider.secondary);
154154
});
155-
if (settings && isDyadProEnabled(settings)) {
155+
if (settings && isAliFullStackProEnabled(settings)) {
156156
primaryProviders.unshift(["auto", TURBO_MODELS]);
157157
}
158158
const secondaryProviders = providerEntries.filter(([providerId, models]) => {
@@ -277,7 +277,7 @@ export function ModelPicker() {
277277
// we will use the paid models (in Dyad Pro backend) which
278278
// don't have the free limitations.
279279
if (
280-
isDyadProEnabled(settings) &&
280+
isAliFullStackProEnabled(settings) &&
281281
model.apiName.endsWith(":free")
282282
) {
283283
return false;
@@ -297,7 +297,7 @@ export function ModelPicker() {
297297
<span>{providerDisplayName}</span>
298298
{provider?.type === "cloud" &&
299299
!provider?.secondary &&
300-
isDyadProEnabled(settings) && (
300+
isAliFullStackProEnabled(settings) && (
301301
<span className="text-[10px] bg-gradient-to-r from-indigo-600 via-indigo-500 to-indigo-600 bg-[length:200%_100%] animate-[shimmer_5s_ease-in-out_infinite] text-white px-1.5 py-0.5 rounded-full font-medium">
302302
Pro
303303
</span>

β€Žsrc/components/ProBanner.tsxβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export function ProBanner() {
1919
return options[Math.floor(Math.random() * options.length)];
2020
});
2121

22-
if (settings?.enableDyadPro || userBudget) {
22+
if (settings?.enableAliFullStackPro || userBudget) {
2323
return null;
2424
}
2525

β€Žsrc/components/ProModeSelector.tsxβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Label } from "@/components/ui/label";
1414
import { Sparkles, Info } from "lucide-react";
1515
import { useSettings } from "@/hooks/useSettings";
1616
import { IpcClient } from "@/ipc/ipc_client";
17-
import { hasDyadProKey, type UserSettings } from "@/lib/schemas";
17+
import { hasAliFullStackProKey, type UserSettings } from "@/lib/schemas";
1818

1919
export function ProModeSelector() {
2020
const { settings, updateSettings } = useSettings();
@@ -48,12 +48,12 @@ export function ProModeSelector() {
4848

4949
const toggleProEnabled = () => {
5050
updateSettings({
51-
enableDyadPro: !settings?.enableDyadPro,
51+
enableAliFullStackPro: !settings?.enableAliFullStackPro,
5252
});
5353
};
5454

55-
const hasProKey = settings ? hasDyadProKey(settings) : false;
56-
const proModeTogglable = hasProKey && Boolean(settings?.enableDyadPro);
55+
const hasProKey = settings ? hasAliFullStackProKey(settings) : false;
56+
const proModeTogglable = hasProKey && Boolean(settings?.enableAliFullStackPro);
5757

5858
return (
5959
<Popover>
@@ -102,7 +102,7 @@ export function ProModeSelector() {
102102
description="Use Dyad Pro AI credits"
103103
tooltip="Uses Dyad Pro AI credits for the main AI model and Pro modes."
104104
isTogglable={hasProKey}
105-
settingEnabled={Boolean(settings?.enableDyadPro)}
105+
settingEnabled={Boolean(settings?.enableAliFullStackPro)}
106106
toggle={toggleProEnabled}
107107
/>
108108
<SelectorRow

β€Žsrc/components/backend-chat/BackendChatInput.tsxβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ export function BackendChatInput({ chatId }: { chatId?: number }) {
248248
<ChatErrorBox
249249
onDismiss={dismissError}
250250
error={error}
251-
isDyadProEnabled={settings.enableDyadPro ?? false}
251+
isAliFullStackProEnabled={settings.enableAliFullStackPro ?? false}
252252
/>
253253
)}
254254
{/* Display loading or error state for proposal */}

β€Žsrc/components/chat/ChatErrorBox.tsxβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import remarkGfm from "remark-gfm";
66
export function ChatErrorBox({
77
onDismiss,
88
error,
9-
isDyadProEnabled,
9+
isAliFullStackProEnabled,
1010
}: {
1111
onDismiss: () => void;
1212
error: string;
13-
isDyadProEnabled: boolean;
13+
isAliFullStackProEnabled: boolean;
1414
}) {
1515
if (error.includes("doesn't have a free quota tier")) {
1616
return (
@@ -63,7 +63,7 @@ export function ChatErrorBox({
6363
</ChatInfoContainer>
6464
);
6565
}
66-
if (isDyadProEnabled && error.includes("ExceededBudget:")) {
66+
if (isAliFullStackProEnabled && error.includes("ExceededBudget:")) {
6767
return (
6868
<ChatInfoContainer onDismiss={onDismiss}>
6969
<span>

0 commit comments

Comments
Β (0)