deepcode-ai 1.1.28 → 1.1.29

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
@@ -3516,6 +3516,9 @@ Caminho: ${selectedPath}`;
3516
3516
  if (error instanceof BudgetExceededError) {
3517
3517
  throw error;
3518
3518
  }
3519
+ if (options.signal?.aborted) {
3520
+ throw error;
3521
+ }
3519
3522
  session.metadata.planError = formatErrorChain(error);
3520
3523
  this.eventBus.emit("app:warn", {
3521
3524
  message: formatPlanningFailureWarning(error),
@@ -7513,7 +7516,15 @@ function classifyShellCommand(command) {
7513
7516
  /\bdd\s+if=/,
7514
7517
  /\bsudo\b/,
7515
7518
  /\bcurl\b.*\|\s*(sh|bash)\b/,
7516
- /\bwget\b.*\|\s*(sh|bash)\b/
7519
+ /\bwget\b.*\|\s*(sh|bash)\b/,
7520
+ // Auto-install and execute remote packages without confirmation
7521
+ /\bnpx\s+(?:--yes|-y)\b/,
7522
+ // Background processes that outlive the agent turn
7523
+ /(?:^|;|\|)\s*[^&]*[^&]\s*&\s*$/,
7524
+ // HTTP/TCP servers that bind to all interfaces (exposes files to the network)
7525
+ /\bpython3?\s+-m\s+http\.server\b(?!.*--bind\s+(?:127\.|::1|localhost))/,
7526
+ /\bnc\s+.*-l\b/,
7527
+ /\bsocat\b.*(?:TCP-LISTEN|UDP-LISTEN)/
7517
7528
  ].some((pattern) => pattern.test(normalized2));
7518
7529
  return dangerous ? "dangerous" : "shell";
7519
7530
  }
@@ -28152,7 +28163,7 @@ function parseVersion2(version) {
28152
28163
  if (!match) return null;
28153
28164
  return [Number(match[1]), Number(match[2]), Number(match[3])];
28154
28165
  }
28155
- var VERSION = "1.1.28".length > 0 ? "1.1.28" : "0.0.0-dev";
28166
+ var VERSION = "1.1.29".length > 0 ? "1.1.29" : "0.0.0-dev";
28156
28167
  var updateCommand = {
28157
28168
  name: "update",
28158
28169
  description: "Check published DeepCode versions",
@@ -29925,6 +29936,14 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
29925
29936
  }, []);
29926
29937
  const setSessionMode = useCallback26((mode) => {
29927
29938
  setAgentMode(mode);
29939
+ const runtime = runtimeRef.current;
29940
+ const session = sessionRef.current;
29941
+ if (runtime && session) {
29942
+ session.metadata = { ...session.metadata, agentMode: mode };
29943
+ runtime.sessions.save(session);
29944
+ runtime.sessions.persist(session.id).catch(() => {
29945
+ });
29946
+ }
29928
29947
  }, []);
29929
29948
  const setSessionName = useCallback26((name) => {
29930
29949
  const runtime = runtimeRef.current;
@@ -30108,7 +30127,8 @@ var AppContainer = ({ cwd, config, provider, model, resumeSessionId }) => {
30108
30127
  dangerous: runtime.config.permissions.dangerous
30109
30128
  });
30110
30129
  setAuthSummary(formatAuthSummary(runtime.config.github));
30111
- setAgentMode(runtime.config.agentMode);
30130
+ const persistedMode = typeof session.metadata.agentMode === "string" && (session.metadata.agentMode === "build" || session.metadata.agentMode === "plan") ? session.metadata.agentMode : runtime.config.agentMode;
30131
+ setAgentMode(persistedMode);
30112
30132
  setTargetSource(provider || model ? "cli" : "config");
30113
30133
  setCurrentModel(session.model ?? "(unconfigured)");
30114
30134
  setProviderLabel(formatProviderLabel(session.provider, session.model));