@kenkaiiii/ggcoder 5.79.0 → 5.79.1

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 (50) hide show
  1. package/dist/app-sidecar/app-settings.d.ts +6 -2
  2. package/dist/app-sidecar/app-settings.js +39 -20
  3. package/dist/app-sidecar/app-settings.js.map +1 -1
  4. package/dist/app-sidecar/git-target.d.ts +17 -0
  5. package/dist/app-sidecar/git-target.js +31 -0
  6. package/dist/app-sidecar/git-target.js.map +1 -0
  7. package/dist/app-sidecar/goal-routes.js +1 -0
  8. package/dist/app-sidecar/goal-routes.js.map +1 -1
  9. package/dist/app-sidecar/mcp-routes.js +1 -2
  10. package/dist/app-sidecar/mcp-routes.js.map +1 -1
  11. package/dist/app-sidecar/workspace-routes.js +10 -95
  12. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  13. package/dist/app-sidecar.js +105 -52
  14. package/dist/app-sidecar.js.map +1 -1
  15. package/dist/cli/shared.js +1 -1
  16. package/dist/cli/shared.js.map +1 -1
  17. package/dist/cli.js +1 -1
  18. package/dist/cli.js.map +1 -1
  19. package/dist/core/agent-session.d.ts +26 -5
  20. package/dist/core/agent-session.js +69 -11
  21. package/dist/core/agent-session.js.map +1 -1
  22. package/dist/core/auth-providers.d.ts +2 -80
  23. package/dist/core/auth-providers.js +4 -183
  24. package/dist/core/auth-providers.js.map +1 -1
  25. package/dist/core/env-delta.d.ts +9 -1
  26. package/dist/core/env-delta.js +20 -0
  27. package/dist/core/env-delta.js.map +1 -1
  28. package/dist/core/local-endpoint-store.js +15 -11
  29. package/dist/core/local-endpoint-store.js.map +1 -1
  30. package/dist/core/radio.d.ts +2 -3
  31. package/dist/core/radio.js.map +1 -1
  32. package/dist/core/session-storage.d.ts +3 -0
  33. package/dist/core/session-storage.js +3 -1
  34. package/dist/core/session-storage.js.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/interactive.js +4 -3
  38. package/dist/interactive.js.map +1 -1
  39. package/dist/system-prompt.d.ts +8 -0
  40. package/dist/system-prompt.js +21 -9
  41. package/dist/system-prompt.js.map +1 -1
  42. package/dist/ui/components/ActivityIndicator.d.ts +5 -5
  43. package/dist/ui/components/InputArea.d.ts +2 -2
  44. package/dist/ui/components/InputArea.js +3 -3
  45. package/dist/ui/components/InputArea.js.map +1 -1
  46. package/dist/ui/components/ToolExecution.d.ts +2 -2
  47. package/dist/utils/format.d.ts +0 -4
  48. package/dist/utils/format.js +0 -7
  49. package/dist/utils/format.js.map +1 -1
  50. package/package.json +4 -4
@@ -1,80 +1,2 @@
1
- export type AuthMethod = "oauth" | "apikey";
2
- /**
3
- * One API-key option for a provider that splits auth across multiple distinct
4
- * endpoints/credentials (currently only Xiaomi: Token Plan vs. API Credits).
5
- * Each variant stores under its own auth.json key so a user can hold both at
6
- * once — the model registry picks which one a given model resolves via
7
- * `getAuthStorageKeys()`.
8
- */
9
- export interface ApiKeyVariant {
10
- /** Storage key in auth.json (distinct from `value` when multiple variants exist). */
11
- key: string;
12
- /** Display label, e.g. "Token Plan" or "API Credits". */
13
- label: string;
14
- /** Base URL stored alongside this variant's credential. */
15
- baseUrl?: string;
16
- }
17
- export interface AuthProviderMeta {
18
- /** Stable provider id (matches the gg-ai Provider union, plus storage keys). */
19
- value: string;
20
- /** Display name shown in the login list. */
21
- label: string;
22
- /** One-line model summary. */
23
- description: string;
24
- /** Supported auth methods, in preferred order (oauth first when both). */
25
- methods: AuthMethod[];
26
- /** Friendly label for the API key field (e.g. "Z.AI"). */
27
- apiKeyLabel?: string;
28
- /** Fixed base URL stored alongside an API key (e.g. Xiaomi's token plan). */
29
- apiKeyBaseUrl?: string;
30
- /**
31
- * When a provider's API-key auth splits across multiple endpoints, the
32
- * choices to present (in order). The first variant is the default. Absent
33
- * for every provider with a single API-key credential.
34
- */
35
- apiKeyVariants?: ApiKeyVariant[];
36
- /**
37
- * Per-method guidance overrides. Only providers whose methods differ in
38
- * billing/entitlement (the dual-auth ones) need these; everything else is
39
- * described generically by {@link describeAuthMethods}.
40
- */
41
- methodDetails?: Partial<Record<AuthMethod, AuthMethodMeta>>;
42
- }
43
- /**
44
- * What one auth method means for a provider, so both UIs can answer "which do I
45
- * pick?" without hardcoding provider knowledge in a component.
46
- */
47
- export interface AuthMethodMeta {
48
- method: AuthMethod;
49
- /** Button/row label, e.g. "Sign in with Grok (SuperGrok / X Premium)". */
50
- label: string;
51
- /** What the user spends on this method. */
52
- billing: string;
53
- /** When to choose it. */
54
- when: string;
55
- /** Prerequisite the user must already have, if any. */
56
- requires?: string;
57
- }
58
- /**
59
- * Every provider a user can connect, in login-screen order. `description`
60
- * lists that provider's models and feeds both the CLI login screen and the
61
- * app's provider list, so `auth-providers.test.ts` pins each one to the model
62
- * registry — a registry change that isn't reflected here fails the suite.
63
- */
64
- export declare const AUTH_PROVIDERS: AuthProviderMeta[];
65
- export declare function getAuthProvider(value: string): AuthProviderMeta | undefined;
66
- /**
67
- * Per-method guidance for a provider, in resolution order. Providers with a
68
- * single method get a generic description; the dual-auth ones (Kimi, Grok) carry
69
- * explicit `methodDetails` because the choice changes what the user is billed.
70
- */
71
- export declare function describeAuthMethods(provider: string): AuthMethodMeta[];
72
- /**
73
- * How the runtime picks between two connected methods, phrased for the UI. Only
74
- * dual-auth providers have a choice to explain; everything else returns
75
- * undefined so callers can omit the note entirely.
76
- *
77
- * Keep this wording in sync with AuthStorage's actual resolution order in
78
- * gg-core (`DUAL_AUTH_PROVIDERS`) — it is the user-facing description of it.
79
- */
80
- export declare function authPriorityNote(provider: string): string | undefined;
1
+ export { AUTH_PROVIDERS, getAuthProvider, describeAuthMethods, authPriorityNote, } from "@kenkaiiii/gg-core";
2
+ export type { AuthMethod, ApiKeyVariant, AuthProviderMeta, AuthMethodMeta, } from "@kenkaiiii/gg-core";
@@ -1,184 +1,5 @@
1
- // Single source of truth for the providers the login UI offers and how each
2
- // authenticates. Mirrors the CLI's `ggcoder login` provider list (ui/login.tsx)
3
- // so the desktop app and the terminal stay in lockstep. The app fetches this
4
- // (plus live connection status) from the sidecar's /auth/status endpoint.
5
- import { XIAOMI_CREDITS_KEY, dualAuthProvider } from "@kenkaiiii/gg-core";
6
- /**
7
- * Every provider a user can connect, in login-screen order. `description`
8
- * lists that provider's models and feeds both the CLI login screen and the
9
- * app's provider list, so `auth-providers.test.ts` pins each one to the model
10
- * registry — a registry change that isn't reflected here fails the suite.
11
- */
12
- export const AUTH_PROVIDERS = [
13
- {
14
- value: "anthropic",
15
- label: "Anthropic",
16
- description: "Claude Fable 5.1, Opus 5.5, Sonnet 5.5, Haiku 5.5",
17
- methods: ["oauth"],
18
- },
19
- {
20
- value: "openai",
21
- label: "OpenAI",
22
- description: "GPT-6 Astra, GPT-6.1 Sol, GPT-6 Luna",
23
- methods: ["oauth"],
24
- },
25
- {
26
- value: "gemini",
27
- label: "Gemini",
28
- description: "Gemini 3.8 Flash, 3.5 Flash Lite, 3.7 Flash, 3.1 Flash Lite, 3.5 Flash, 3.1 Pro (Preview)",
29
- methods: ["oauth"],
30
- },
31
- {
32
- value: "xai",
33
- label: "xAI (Grok)",
34
- description: "Grok 4.7 · OAuth or API key",
35
- methods: ["oauth", "apikey"],
36
- apiKeyLabel: "xAI",
37
- methodDetails: {
38
- oauth: {
39
- method: "oauth",
40
- label: "Sign in with Grok",
41
- billing: "Included with SuperGrok or X Premium.",
42
- when: "",
43
- },
44
- apikey: {
45
- method: "apikey",
46
- label: "xAI API key",
47
- billing: "Pay-per-token on console.x.ai credits.",
48
- when: "",
49
- },
50
- },
51
- },
52
- {
53
- value: "moonshot",
54
- label: "Moonshot",
55
- description: "Kimi K3, K2.8 Preview (Kimi sign-in), K2.7 Code, K2.7 Code HighSpeed · OAuth or API key",
56
- methods: ["oauth", "apikey"],
57
- apiKeyLabel: "Moonshot",
58
- methodDetails: {
59
- oauth: {
60
- method: "oauth",
61
- label: "Sign in with Kimi",
62
- billing: "Included with a Kimi For Coding plan.",
63
- when: "",
64
- },
65
- apikey: {
66
- method: "apikey",
67
- label: "Moonshot API key",
68
- billing: "Pay-per-token on Moonshot credits.",
69
- when: "",
70
- },
71
- },
72
- },
73
- {
74
- value: "glm",
75
- label: "Z.AI (GLM)",
76
- description: "GLM-5.3, GLM-5.3-Flash",
77
- methods: ["apikey"],
78
- apiKeyLabel: "Z.AI",
79
- },
80
- {
81
- value: "minimax",
82
- label: "MiniMax",
83
- description: "MiniMax M3",
84
- methods: ["apikey"],
85
- apiKeyLabel: "MiniMax",
86
- },
87
- {
88
- value: "xiaomi",
89
- label: "Xiaomi (MiMo)",
90
- description: "MiMo-V2.6-Pro, MiMo-V2.6-Flash, MiMo-V2.6-Pro-UltraSpeed · Token Plan or API Credits",
91
- methods: ["apikey"],
92
- apiKeyLabel: "Xiaomi MiMo",
93
- apiKeyBaseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
94
- apiKeyVariants: [
95
- {
96
- key: "xiaomi",
97
- label: "Token Plan",
98
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
99
- },
100
- {
101
- key: XIAOMI_CREDITS_KEY,
102
- label: "API Credits (required for UltraSpeed)",
103
- baseUrl: "https://api.xiaomimimo.com/v1",
104
- },
105
- ],
106
- },
107
- {
108
- value: "deepseek",
109
- label: "DeepSeek",
110
- description: "DeepSeek V4 Pro, V4.1 Flash",
111
- methods: ["apikey"],
112
- apiKeyLabel: "DeepSeek",
113
- },
114
- {
115
- value: "sakana",
116
- label: "Sakana (Fugu)",
117
- description: "Fugu, Fugu Max, Fugu Ultra",
118
- methods: ["apikey"],
119
- apiKeyLabel: "Sakana",
120
- },
121
- {
122
- value: "openrouter",
123
- label: "OpenRouter",
124
- description: "Qwen3.8 Max · multi-provider gateway",
125
- methods: ["apikey"],
126
- apiKeyLabel: "OpenRouter",
127
- },
128
- {
129
- value: "huggingface",
130
- label: "Hugging Face",
131
- description: "Kimi K2.7 Code, DeepSeek V4.1 Flash, GPT-OSS 120B",
132
- methods: ["apikey"],
133
- apiKeyLabel: "Hugging Face",
134
- },
135
- ];
136
- export function getAuthProvider(value) {
137
- return AUTH_PROVIDERS.find((p) => p.value === value);
138
- }
139
- /**
140
- * Per-method guidance for a provider, in resolution order. Providers with a
141
- * single method get a generic description; the dual-auth ones (Kimi, Grok) carry
142
- * explicit `methodDetails` because the choice changes what the user is billed.
143
- */
144
- export function describeAuthMethods(provider) {
145
- const meta = getAuthProvider(provider);
146
- if (!meta)
147
- return [];
148
- return meta.methods.map((method) => {
149
- const override = meta.methodDetails?.[method];
150
- // Copy rather than hand back the table entry itself: callers serialize this
151
- // alongside the provider meta, and a shared reference appearing twice in one
152
- // payload trips the sidecar's cycle-safe JSON encoder ([CIRCULAR]).
153
- if (override)
154
- return { ...override };
155
- return method === "oauth"
156
- ? {
157
- method,
158
- label: `Sign in with ${meta.label}`,
159
- billing: "Uses your existing plan with this provider.",
160
- when: "",
161
- }
162
- : {
163
- method,
164
- label: `${meta.apiKeyLabel ?? meta.label} API key`,
165
- billing: "Pay-per-token on this provider's API credits.",
166
- when: "",
167
- };
168
- });
169
- }
170
- /**
171
- * How the runtime picks between two connected methods, phrased for the UI. Only
172
- * dual-auth providers have a choice to explain; everything else returns
173
- * undefined so callers can omit the note entirely.
174
- *
175
- * Keep this wording in sync with AuthStorage's actual resolution order in
176
- * gg-core (`DUAL_AUTH_PROVIDERS`) — it is the user-facing description of it.
177
- */
178
- export function authPriorityNote(provider) {
179
- const dual = dualAuthProvider(provider);
180
- if (!dual)
181
- return undefined;
182
- return `Uses ${dual.oauthLabel} first; the ${dual.apiKeyLabel} takes over when it runs out, then switches back.`;
183
- }
1
+ // Moved to @kenkaiiii/gg-core. This shim re-exports it so existing relative
2
+ // imports (`./auth-providers.js`) and the `./core/auth` export keep resolving
3
+ // unchanged.
4
+ export { AUTH_PROVIDERS, getAuthProvider, describeAuthMethods, authPriorityNote, } from "@kenkaiiii/gg-core";
184
5
  //# sourceMappingURL=auth-providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-providers.js","sourceRoot":"","sources":["../../src/core/auth-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-providers.js","sourceRoot":"","sources":["../../src/core/auth-providers.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8EAA8E;AAC9E,aAAa;AACb,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Message } from "@kenkaiiii/gg-ai";
2
- import type { SystemPromptEnvironment } from "../system-prompt.js";
2
+ import { type SystemPromptEnvironment } from "../system-prompt.js";
3
+ import type { LanguageId } from "./language-detector.js";
3
4
  /**
4
5
  * Keep the model's picture of its environment true without breaking the cache.
5
6
  *
@@ -24,3 +25,10 @@ export declare function fingerprintEnvironment(env: SystemPromptEnvironment): st
24
25
  * they agree — the dedupe that keeps an unchanged environment at zero tokens.
25
26
  */
26
27
  export declare function buildEnvDeltaMessage(rendered: SystemPromptEnvironment, current: SystemPromptEnvironment): Message | null;
28
+ /**
29
+ * Style packs for languages that appeared after the system prompt was cached
30
+ * (e.g. the previous task scaffolded a TypeScript project). Same append-only
31
+ * idea as the environment update: re-rendering the prompt to add a pack would
32
+ * invalidate every cached byte after it. `null` when nothing renders.
33
+ */
34
+ export declare function buildLanguageUpdateMessage(languages: Set<LanguageId>, cwd: string): Message | null;
@@ -1,3 +1,4 @@
1
+ import { renderLanguageGuidance } from "../system-prompt.js";
1
2
  /**
2
3
  * Keep the model's picture of its environment true without breaking the cache.
3
4
  *
@@ -62,4 +63,23 @@ export function buildEnvDeltaMessage(rendered, current) {
62
63
  "\nTrust them over anything earlier that disagrees. Do not restate this note; just proceed.",
63
64
  };
64
65
  }
66
+ /**
67
+ * Style packs for languages that appeared after the system prompt was cached
68
+ * (e.g. the previous task scaffolded a TypeScript project). Same append-only
69
+ * idea as the environment update: re-rendering the prompt to add a pack would
70
+ * invalidate every cached byte after it. `null` when nothing renders.
71
+ */
72
+ export function buildLanguageUpdateMessage(languages, cwd) {
73
+ const sections = renderLanguageGuidance(languages, cwd);
74
+ if (sections.length === 0)
75
+ return null;
76
+ return {
77
+ role: "user",
78
+ provenance: { source: "runtime", kind: "notification", visibility: "hidden" },
79
+ content: "Project update: new languages are now in use. Apply these defaults to code you write " +
80
+ "from here on, the same way as any style guidance in your instructions.\n\n" +
81
+ sections.join("\n\n") +
82
+ "\n\nDo not restate this note; just proceed.",
83
+ };
84
+ }
65
85
  //# sourceMappingURL=env-delta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-delta.js","sourceRoot":"","sources":["../../src/core/env-delta.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,GAA4B;IACjE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACvC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,CAAoB,EAAE,CAAoB;IAC1D,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,KAAa;IAC5D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAiC,EACjC,OAAgC;IAEhC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CACR,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,+BAA+B,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,4BAA4B;YACjG,CAAC,CAAC,mDAAmD,CACxD,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,8EAA8E;IAC9E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,mEAAmE;IACnE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC7E,OAAO,EACL,gFAAgF;YAChF,8CAA8C;YAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,4FAA4F;KAC/F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"env-delta.js","sourceRoot":"","sources":["../../src/core/env-delta.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  import fs from "node:fs/promises";
14
14
  import os from "node:os";
15
15
  import path from "node:path";
16
- import { AuthStorage, DEFAULT_LOCAL_ENDPOINTS, clearLocalDiscoveryCache, } from "@kenkaiiii/gg-core";
16
+ import { AuthStorage, DEFAULT_LOCAL_ENDPOINTS, clearLocalDiscoveryCache, withFileLock, } from "@kenkaiiii/gg-core";
17
+ import { atomicWrite } from "./session-storage.js";
17
18
  export class LocalEndpointError extends Error {
18
19
  }
19
20
  const RESERVED_IDS = new Set(DEFAULT_LOCAL_ENDPOINTS.map((e) => e.id));
@@ -83,10 +84,17 @@ async function readSettings(file) {
83
84
  return {};
84
85
  }
85
86
  }
86
- async function writeSettings(settings, file) {
87
+ /** Replace `localEndpoints` under the shared gg-app.json lock with an atomic
88
+ * write, re-reading the file inside the lock so a concurrent save of another
89
+ * key (model prefs, hidden projects) is never lost. */
90
+ async function writeLocalEndpoints(value, file) {
87
91
  const target = appSettingsFile(file);
88
92
  await fs.mkdir(path.dirname(target), { recursive: true });
89
- await fs.writeFile(target, JSON.stringify(settings, null, 2), "utf-8");
93
+ await withFileLock(target, async () => {
94
+ const settings = await readSettings(file);
95
+ settings["localEndpoints"] = value;
96
+ await atomicWrite(target, JSON.stringify(settings, null, 2));
97
+ });
90
98
  }
91
99
  function parseStored(value) {
92
100
  if (!Array.isArray(value))
@@ -148,14 +156,12 @@ export async function addCustomEndpoint(input, options = {}) {
148
156
  const next = existing.some((e) => e.id === id)
149
157
  ? existing.map((e) => (e.id === id ? endpoint : e))
150
158
  : [...existing, endpoint];
151
- const settings = await readSettings(options.settingsFile);
152
- settings["localEndpoints"] = next.map(({ id: eid, label, baseUrl: url, apiKey }) => ({
159
+ await writeLocalEndpoints(next.map(({ id: eid, label, baseUrl: url, apiKey }) => ({
153
160
  id: eid,
154
161
  label,
155
162
  baseUrl: url,
156
163
  ...(apiKey ? { apiKey } : {}),
157
- }));
158
- await writeSettings(settings, options.settingsFile);
164
+ })), options.settingsFile);
159
165
  await auth.setLocalEndpoint(id, baseUrl, endpoint.apiKey);
160
166
  clearLocalDiscoveryCache();
161
167
  return endpoint;
@@ -174,16 +180,14 @@ export async function removeCustomEndpoint(id, options = {}) {
174
180
  if (!existing.some((e) => e.id === id)) {
175
181
  throw new LocalEndpointError(`Unknown local endpoint "${id}".`);
176
182
  }
177
- const settings = await readSettings(options.settingsFile);
178
- settings["localEndpoints"] = existing
183
+ await writeLocalEndpoints(existing
179
184
  .filter((e) => e.id !== id)
180
185
  .map(({ id: eid, label, baseUrl, apiKey }) => ({
181
186
  id: eid,
182
187
  label,
183
188
  baseUrl,
184
189
  ...(apiKey ? { apiKey } : {}),
185
- }));
186
- await writeSettings(settings, options.settingsFile);
190
+ })), options.settingsFile);
187
191
  await auth.removeLocalEndpoint(id);
188
192
  clearLocalDiscoveryCache();
189
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-endpoint-store.js","sourceRoot":"","sources":["../../src/core/local-endpoint-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-endpoint-store.js","sourceRoot":"","sources":["../../src/core/local-endpoint-store.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /**
2
- * Internet radio — stream a free station while you work. Ported from gg-boss's
3
- * radio so the gg-app windows offer the same curated, royalty-free, no-API-key
4
- * streams (SomaFM started in 2000, Radio Paradise in 2006).
2
+ * Internet radio — stream a free station while you work. The gg-app windows
3
+ * offer curated, royalty-free, no-API-key streams (SomaFM started in 2000, Radio Paradise in 2006).
5
4
  *
6
5
  * Playback uses module-level singletons (`currentChild` / `currentStationId`),
7
6
  * so in the shared gg-app daemon — where every window's session lives in ONE
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/core/radio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/core/radio.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,9 @@ export declare function openSessionReadStream(filePath: string): Promise<{
66
66
  close: () => void;
67
67
  }>;
68
68
  export declare function retryWindowsReplace(operation: () => Promise<void>): Promise<void>;
69
+ /** Write via a synced sibling temp file + rename (Windows-safe replace), so a
70
+ * crash or a concurrent reader never sees a half-written file. */
71
+ export declare function atomicWrite(filePath: string, content: string): Promise<void>;
69
72
  export declare function thawSessionArchive(filePath: string): Promise<string>;
70
73
  export declare function normalizeSessionEntryForStorage<T>(entry: T, sessionPath: string, metrics?: StorageNormalizationMetrics): Promise<T | null>;
71
74
  export declare function hydrateSessionEntry<T>(entry: T, sessionPath: string): Promise<T>;
@@ -220,7 +220,9 @@ async function replaceFile(tempPath, filePath) {
220
220
  await retryWindowsReplace(() => fs.rename(tempPath, filePath));
221
221
  }
222
222
  }
223
- async function atomicWrite(filePath, content) {
223
+ /** Write via a synced sibling temp file + rename (Windows-safe replace), so a
224
+ * crash or a concurrent reader never sees a half-written file. */
225
+ export async function atomicWrite(filePath, content) {
224
226
  const tempPath = temporarySiblingPath(filePath);
225
227
  try {
226
228
  await fs.writeFile(tempPath, content, { encoding: "utf8", flag: "wx" });