deepcode-ai 1.1.35 → 1.1.37

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/dist/index.js CHANGED
@@ -3358,8 +3358,11 @@ function isSimpleDirectCommand(input) {
3358
3358
  return normalized2.split(/\s+/).length <= 20;
3359
3359
  }
3360
3360
  function resolveExecutionTarget(config, session, mode, explicitProvider) {
3361
+ if (session.metadata.providerPinned === true && !explicitProvider) {
3362
+ return { provider: session.provider, model: session.model };
3363
+ }
3361
3364
  const modeOverride = config.modeDefaults?.[mode];
3362
- const hasPinnedProvider = Boolean(explicitProvider ?? modeOverride?.provider) || session.metadata.providerPinned === true;
3365
+ const hasPinnedProvider = Boolean(explicitProvider ?? modeOverride?.provider);
3363
3366
  const provider = explicitProvider ?? modeOverride?.provider ?? session.provider ?? config.defaultProvider ?? resolveUsableProviderTarget(config, []).provider;
3364
3367
  const modeModel = modeOverride?.provider && modeOverride.provider !== provider ? void 0 : modeOverride?.model;
3365
3368
  const model = modeModel ?? (provider === session.provider ? session.model : void 0) ?? resolveConfiguredModelForProvider(config, provider);
@@ -28341,7 +28344,7 @@ function parseVersion2(version) {
28341
28344
  if (!match) return null;
28342
28345
  return [Number(match[1]), Number(match[2]), Number(match[3])];
28343
28346
  }
28344
- var VERSION = "1.1.35".length > 0 ? "1.1.35" : "0.0.0-dev";
28347
+ var VERSION = "1.1.37".length > 0 ? "1.1.37" : "0.0.0-dev";
28345
28348
  var updateCommand = {
28346
28349
  name: "update",
28347
28350
  description: "Check published DeepCode versions",
@@ -30100,6 +30103,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30100
30103
  session.model = resolveConfiguredModelForProvider(runtime.config, provider2);
30101
30104
  session.metadata = { ...session.metadata, providerPinned: true };
30102
30105
  runtime.sessions.save(session);
30106
+ writeSavedProvider(cwd, provider2, session.model);
30103
30107
  setTargetSource("session");
30104
30108
  setCurrentModel(session.model ?? "(unconfigured)");
30105
30109
  setProviderLabel(formatProviderLabel(session.provider, session.model));
@@ -30112,7 +30116,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30112
30116
  Date.now()
30113
30117
  );
30114
30118
  }
30115
- }, [historyManager]);
30119
+ }, [cwd, historyManager]);
30116
30120
  const setSessionModel = useCallback26((model2) => {
30117
30121
  const runtime = runtimeRef.current;
30118
30122
  const session = sessionRef.current;
@@ -30121,10 +30125,11 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30121
30125
  session.model = normalized2.length > 0 ? normalized2 : void 0;
30122
30126
  session.metadata = { ...session.metadata, providerPinned: true };
30123
30127
  runtime.sessions.save(session);
30128
+ writeSavedProvider(cwd, session.provider, session.model);
30124
30129
  setTargetSource("session");
30125
30130
  setCurrentModel(session.model ?? "(unconfigured)");
30126
30131
  setProviderLabel(formatProviderLabel(session.provider, session.model));
30127
- }, []);
30132
+ }, [cwd]);
30128
30133
  const setSessionMode = useCallback26((mode) => {
30129
30134
  setAgentMode(mode);
30130
30135
  const runtime = runtimeRef.current;
@@ -30299,7 +30304,11 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30299
30304
  interactive: true
30300
30305
  });
30301
30306
  if (!mounted) return;
30302
- const target = resolveSessionTarget(runtime.config, { provider, model });
30307
+ const savedProvider = !provider && !model ? readSavedProvider(cwd) : null;
30308
+ const target = resolveSessionTarget(runtime.config, {
30309
+ provider: provider ?? savedProvider?.provider,
30310
+ model: model ?? savedProvider?.model
30311
+ });
30303
30312
  let session;
30304
30313
  let resumed = false;
30305
30314
  if (resumeSessionId) {
@@ -30318,7 +30327,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30318
30327
  resumed = true;
30319
30328
  } else {
30320
30329
  session = runtime.sessions.create(target);
30321
- if (provider || model) {
30330
+ if (provider || model || savedProvider) {
30322
30331
  session.metadata = { ...session.metadata, providerPinned: true };
30323
30332
  runtime.sessions.save(session);
30324
30333
  }
@@ -30329,7 +30338,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30329
30338
  }
30330
30339
  } else {
30331
30340
  session = runtime.sessions.create(target);
30332
- if (provider || model) {
30341
+ if (provider || model || savedProvider) {
30333
30342
  session.metadata = { ...session.metadata, providerPinned: true };
30334
30343
  runtime.sessions.save(session);
30335
30344
  }
@@ -30353,7 +30362,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30353
30362
  setAuthSummary(formatAuthSummary(runtime.config.github));
30354
30363
  const persistedMode = typeof session.metadata.agentMode === "string" && (session.metadata.agentMode === "build" || session.metadata.agentMode === "plan") ? session.metadata.agentMode : runtime.config.agentMode;
30355
30364
  setAgentMode(persistedMode);
30356
- setTargetSource(provider || model ? "cli" : "config");
30365
+ setTargetSource(provider || model ? "cli" : savedProvider ? "session" : "config");
30357
30366
  setCurrentModel(session.model ?? "(unconfigured)");
30358
30367
  setProviderLabel(formatProviderLabel(session.provider, session.model));
30359
30368
  setMcpConnected(runtime.mcp.connectedCount);
@@ -31098,6 +31107,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
31098
31107
  session.model = configuredModel;
31099
31108
  session.metadata = { ...session.metadata, providerPinned: true };
31100
31109
  runtime?.sessions.save(session);
31110
+ writeSavedProvider(cwd, provider2, configuredModel);
31101
31111
  setProviderLabel(formatProviderLabel(session.provider, session.model));
31102
31112
  setCurrentModel(session.model ?? "(unconfigured)");
31103
31113
  }
@@ -31117,7 +31127,7 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
31117
31127
  );
31118
31128
  }
31119
31129
  },
31120
- [historyManager, persistConfig]
31130
+ [cwd, historyManager, persistConfig]
31121
31131
  );
31122
31132
  const handleTestProvider = useCallback26(
31123
31133
  async (provider2) => {
@@ -31636,6 +31646,28 @@ function writeSavedTheme(cwd, themeName) {
31636
31646
  fs8.writeFileSync(file, `${JSON.stringify({ theme: themeName }, null, 2)}
31637
31647
  `);
31638
31648
  }
31649
+ function tuiProviderFilePath(cwd) {
31650
+ return path15.join(cwd, ".deepcode", "tui-provider.json");
31651
+ }
31652
+ function readSavedProvider(cwd) {
31653
+ try {
31654
+ const parsed = JSON.parse(fs8.readFileSync(tuiProviderFilePath(cwd), "utf8"));
31655
+ const result = ProviderIdSchema.safeParse(parsed.provider);
31656
+ if (!result.success) return null;
31657
+ return {
31658
+ provider: result.data,
31659
+ model: typeof parsed.model === "string" ? parsed.model : void 0
31660
+ };
31661
+ } catch {
31662
+ return null;
31663
+ }
31664
+ }
31665
+ function writeSavedProvider(cwd, provider, model) {
31666
+ const file = tuiProviderFilePath(cwd);
31667
+ fs8.mkdirSync(path15.dirname(file), { recursive: true });
31668
+ fs8.writeFileSync(file, `${JSON.stringify({ provider, model }, null, 2)}
31669
+ `);
31670
+ }
31639
31671
  function errorMessage(error) {
31640
31672
  return error instanceof Error ? error.message : String(error);
31641
31673
  }