deepcode-ai 1.1.24 → 1.1.25

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
@@ -10360,6 +10360,28 @@ async function initCommand(cwd) {
10360
10360
  const filePath = await new ConfigLoader().init(cwd);
10361
10361
  await writeStdoutLine(`DeepCode config created at ${filePath}`);
10362
10362
  }
10363
+ function resolveSessionTarget(config, overrides = {}) {
10364
+ const requestedProvider = parseProviderId(overrides.provider);
10365
+ const fallback = resolveUsableProviderTarget(config, [
10366
+ requestedProvider,
10367
+ config.defaultProvider
10368
+ ]);
10369
+ const parsedSelection = overrides.model ? parseModelSelection(overrides.model, requestedProvider ?? fallback.provider) : null;
10370
+ if (overrides.model && !parsedSelection) {
10371
+ throw new Error(
10372
+ `Invalid model selection: ${overrides.model}. Use "<model>" or "<provider>/<model>".`
10373
+ );
10374
+ }
10375
+ const provider = parsedSelection?.provider ?? requestedProvider ?? fallback.provider;
10376
+ const model = parsedSelection?.model ?? resolveConfiguredModelForProvider(config, provider) ?? (provider === fallback.provider ? fallback.model : void 0);
10377
+ return { provider, model };
10378
+ }
10379
+ function parseProviderId(value) {
10380
+ if (!value) return void 0;
10381
+ const parsed = ProviderIdSchema.safeParse(value);
10382
+ if (parsed.success) return parsed.data;
10383
+ throw new Error(`Invalid provider: ${value}. Expected one of: ${PROVIDER_IDS.join(", ")}`);
10384
+ }
10363
10385
  async function githubLoginCommand(options) {
10364
10386
  const loader = new ConfigLoader();
10365
10387
  const loadOptions = { cwd: options.cwd, configPath: options.config };
@@ -10626,6 +10648,7 @@ Focus areas: ${options.focus.join(", ")}.` : "";
10626
10648
  const prompt = [
10627
10649
  `Review PR #${pr.number}: ${pr.title}`,
10628
10650
  `Branch: ${pr.head ?? "?"} \u2192 ${pr.base ?? "?"}`,
10651
+ "Do not modify any files. Output the review only.",
10629
10652
  "",
10630
10653
  pr.body ? `Description:
10631
10654
  ${pr.body}` : "No description provided.",
@@ -10641,18 +10664,24 @@ ${diff}
10641
10664
  "3. **Suggestions** \u2014 improvements and nitpicks",
10642
10665
  "4. **Verdict** \u2014 Approve / Request Changes / Neutral with a one-line rationale"
10643
10666
  ].join("\n");
10644
- const target = resolveUsableProviderTarget(runtime.config, [runtime.config.defaultProvider]);
10667
+ const target = resolveSessionTarget(runtime.config, {});
10645
10668
  const session = runtime.sessions.create({
10646
10669
  provider: target.provider,
10647
10670
  model: target.model
10648
10671
  });
10649
10672
  const secretValues = collectSecretValues(runtime.config);
10650
10673
  await writeStdoutLine(`Reviewing PR #${pr.number}: ${pr.title}`);
10651
- await runtime.agent.run({
10652
- session,
10653
- input: prompt,
10654
- onChunk: (text) => void writeStdout(redactText(text, secretValues))
10655
- });
10674
+ try {
10675
+ await runtime.agent.run({
10676
+ session,
10677
+ input: prompt,
10678
+ mode: "plan",
10679
+ onChunk: (text) => void writeStdout(redactText(text, secretValues))
10680
+ });
10681
+ } finally {
10682
+ await runtime.sessions.persist(session.id).catch(() => {
10683
+ });
10684
+ }
10656
10685
  await writeStdout("\n");
10657
10686
  }
10658
10687
  async function runGit(cwd, args) {
@@ -10665,28 +10694,6 @@ async function runGit(cwd, args) {
10665
10694
  function slugify(input) {
10666
10695
  return input.toLowerCase().normalize("NFKD").replace(/[^\w\s-]/g, "").trim().replace(/\s+/g, "-").replace(/-+/g, "-").slice(0, 48);
10667
10696
  }
10668
- function resolveSessionTarget(config, overrides = {}) {
10669
- const requestedProvider = parseProviderId(overrides.provider);
10670
- const fallback = resolveUsableProviderTarget(config, [
10671
- requestedProvider,
10672
- config.defaultProvider
10673
- ]);
10674
- const parsedSelection = overrides.model ? parseModelSelection(overrides.model, requestedProvider ?? fallback.provider) : null;
10675
- if (overrides.model && !parsedSelection) {
10676
- throw new Error(
10677
- `Invalid model selection: ${overrides.model}. Use "<model>" or "<provider>/<model>".`
10678
- );
10679
- }
10680
- const provider = parsedSelection?.provider ?? requestedProvider ?? fallback.provider;
10681
- const model = parsedSelection?.model ?? resolveConfiguredModelForProvider(config, provider) ?? (provider === fallback.provider ? fallback.model : void 0);
10682
- return { provider, model };
10683
- }
10684
- function parseProviderId(value) {
10685
- if (!value) return void 0;
10686
- const parsed = ProviderIdSchema.safeParse(value);
10687
- if (parsed.success) return parsed.data;
10688
- throw new Error(`Invalid provider: ${value}. Expected one of: ${PROVIDER_IDS.join(", ")}`);
10689
- }
10690
10697
  async function runCommand(input, options) {
10691
10698
  if (options.mode && options.mode !== "plan" && options.mode !== "build") {
10692
10699
  throw new Error(`Invalid mode: ${options.mode}. Expected plan or build.`);
@@ -11091,7 +11098,7 @@ async function reviewCommand(options) {
11091
11098
  const output = await runtime.agent.run({
11092
11099
  session,
11093
11100
  input: prompt,
11094
- mode: "build",
11101
+ mode: "plan",
11095
11102
  provider: target.provider,
11096
11103
  onChunk: (text) => {
11097
11104
  streamed = true;