add provider-first onboarding (#9039)

Signed-off-by: tulsi <tulsi@block.xyz>
This commit is contained in:
tulsi
2026-05-06 07:08:31 -07:00
committed by GitHub
parent f9d0c6416d
commit 6fc44bf0ed
51 changed files with 3589 additions and 37 deletions
@@ -92,6 +92,26 @@ export function buildInitScript(options?: {
},
];
localStorage.setItem(
"goose:onboarding:v1",
JSON.stringify({
completedAt: new Date().toISOString(),
providerId: "openai",
modelId: "gpt-4.1",
}),
);
localStorage.setItem("goose:defaultProvider", "goose");
localStorage.setItem(
"goose:preferredModelsByAgent",
JSON.stringify({
goose: {
providerId: "openai",
modelId: "gpt-4.1",
modelName: "GPT-4.1",
},
}),
);
const skillToSourceEntry = (s) => ({
type: "skill",
name: s.name,
@@ -185,6 +205,34 @@ export function buildInitScript(options?: {
return jsonRpcResult(message.id, { entries: PROVIDER_INVENTORY });
case "_goose/providers/inventory/refresh":
return jsonRpcResult(message.id, { started: [], skipped: [] });
case "_goose/defaults/read":
case "_goose/defaults/save":
return jsonRpcResult(message.id, {
providerId: message.params?.providerId ?? "openai",
modelId: message.params?.modelId ?? "gpt-4.1",
});
case "_goose/onboarding/import/scan":
return jsonRpcResult(message.id, { candidates: [] });
case "_goose/onboarding/import/apply":
return jsonRpcResult(message.id, {
imported: {
providers: 0,
extensions: 0,
sessions: 0,
skills: 0,
projects: 0,
preferences: 0,
},
skipped: {
providers: 0,
extensions: 0,
sessions: 0,
skills: 0,
projects: 0,
preferences: 0,
},
warnings: [],
});
case "_goose/working_dir/update":
case "goose/working_dir/update":
return jsonRpcResult(message.id, {});
+6 -4
View File
@@ -1,7 +1,7 @@
import { expect, test } from "@playwright/test";
import { expect, test } from "./fixtures/tauri-mock";
test.describe("Smoke tests", () => {
test("app loads and shows home screen", async ({ page }) => {
test("app loads and shows home screen", async ({ tauriMocked: page }) => {
await page.goto("/");
// Wait for the app to render — greeting should appear
@@ -10,14 +10,16 @@ test.describe("Smoke tests", () => {
).toBeVisible({ timeout: 10_000 });
});
test("home screen shows clock", async ({ page }) => {
test("home screen shows clock", async ({ tauriMocked: page }) => {
await page.goto("/");
// Should show AM or PM once the clock renders
await expect(page.getByText(/[AP]M/)).toBeVisible({ timeout: 10_000 });
});
test("home screen shows chat input placeholder", async ({ page }) => {
test("home screen shows chat input placeholder", async ({
tauriMocked: page,
}) => {
await page.goto("/");
await expect(