codedeck 0.4.2 → 0.5.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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/cli/charts/stacked-bar.js +2 -1
  4. package/dist/cli/charts/stacked-bar.js.map +1 -1
  5. package/dist/cli/commands/doctor.js +10 -2
  6. package/dist/cli/commands/doctor.js.map +1 -1
  7. package/dist/cli/commands/open.js +182 -38
  8. package/dist/cli/commands/open.js.map +1 -1
  9. package/dist/cli/commands/profile.js +191 -0
  10. package/dist/cli/commands/profile.js.map +1 -0
  11. package/dist/cli/commands/run.js +36 -5
  12. package/dist/cli/commands/run.js.map +1 -1
  13. package/dist/cli/commands/setup.js +175 -23
  14. package/dist/cli/commands/setup.js.map +1 -1
  15. package/dist/cli/commands/web.js +22 -1
  16. package/dist/cli/commands/web.js.map +1 -1
  17. package/dist/cli/index.js +2 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/usage/dashboard.js +12 -7
  20. package/dist/cli/usage/dashboard.js.map +1 -1
  21. package/dist/config/config.js +82 -2
  22. package/dist/config/config.js.map +1 -1
  23. package/dist/daemon/daemon.js +1 -0
  24. package/dist/daemon/daemon.js.map +1 -1
  25. package/dist/drivers/codex/parser.js +14 -10
  26. package/dist/drivers/codex/parser.js.map +1 -1
  27. package/dist/git/review.js +357 -0
  28. package/dist/git/review.js.map +1 -0
  29. package/dist/open/contract.js.map +1 -1
  30. package/dist/open/launchers/claude.js +8 -2
  31. package/dist/open/launchers/claude.js.map +1 -1
  32. package/dist/open/launchers/codex.js +236 -0
  33. package/dist/open/launchers/codex.js.map +1 -0
  34. package/dist/plugin/agents/auditor.md +2 -0
  35. package/dist/plugin/agents/general.md +10 -2
  36. package/dist/plugin/agents/orchestrator-edit.md +10 -2
  37. package/dist/plugin/agents/orchestrator-read.md +10 -2
  38. package/dist/plugin/agents/orchestrator.md +18 -3
  39. package/dist/plugin/prompts/_partials/dispatch.md +2 -0
  40. package/dist/plugin/prompts/_partials/reports-dispatch.md +5 -0
  41. package/dist/plugin/prompts/_partials/reports-general.md +5 -0
  42. package/dist/plugin/prompts/_partials/spec-gates.md +6 -0
  43. package/dist/plugin/prompts/_partials/worktree.md +1 -1
  44. package/dist/plugin/prompts/roles/general.md +1 -0
  45. package/dist/plugin/prompts/roles/orchestrator-edit.md +1 -0
  46. package/dist/plugin/prompts/roles/orchestrator-read.md +1 -0
  47. package/dist/plugin/prompts/roles/orchestrator.md +3 -1
  48. package/dist/web/canvas-page.js +79 -33
  49. package/dist/web/canvas-page.js.map +1 -1
  50. package/dist/web/review-page.js +664 -0
  51. package/dist/web/review-page.js.map +1 -0
  52. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { AUTOCOMPACT_DEFAULT_CAP, AUTOCOMPACT_DEFAULT_PERCENT, } from "../../core/autocompact.js";
2
+ import { parseEffort, REASONING_EFFORTS } from "../../core/driver.js";
2
3
  import { getBatchModels, getCachedOrDiscoverModels, } from "../../core/models.js";
3
4
  import { isAgentId } from "../../core/session.js";
4
5
  import { itemKey } from "../picker-state.js";
@@ -8,7 +9,7 @@ import { getCliName } from "../cli-name.js";
8
9
  import { getRegistry } from "../../drivers/registry.js";
9
10
  import { ROLES } from "../../core/roles.js";
10
11
  import { getPaths } from "../../config/paths.js";
11
- import { BALANCED_PRESET, DISPATCHER_PRESET, EXPLORER_PRESET, ORCHESTRATOR_PRESETS, createSetupConfigStore, DEFAULT_CONFIG, isOrchestratorMode, loadConfig, orchestratorModeLabel, resolveOrchestratorMode, saveConfig, serializeConfig, } from "../../config/config.js";
12
+ import { BALANCED_PRESET, baseConfig, DISPATCHER_PRESET, EXPLORER_PRESET, getProfileSnapshot, ORCHESTRATOR_PRESETS, createSetupConfigStore, DEFAULT_CONFIG, extractProfileSnapshot, isOrchestratorMode, loadConfig, orchestratorModeLabel, parseProfileName, resolveEffectiveConfig, resolveOrchestratorMode, saveConfig, serializeConfig, } from "../../config/config.js";
12
13
  const ORCHESTRATOR_SCREEN_ROLE = "orchestrator-mode";
13
14
  const ORCHESTRATOR_PICKER_GROUP = "orchestrator";
14
15
  const PARALLELISM_NONE = "none";
@@ -20,6 +21,8 @@ const AUTOCOMPACT_SCREEN_ROLE = "autocompact";
20
21
  const AUTOCOMPACT_PICKER_GROUP = "autocompact";
21
22
  const AUTOCOMPACT_OFF = "off";
22
23
  const AUTOCOMPACT_ON = "on";
24
+ const EFFORT_PICKER_GROUP = "effort";
25
+ const ROLE_EFFORT_PREFIX = "effort.";
23
26
  const AUTOCOMPACT_DESCRIPTION = `Native autocompact applies to Claude and OpenCode sessions. Claude's default window is min(${AUTOCOMPACT_DEFAULT_CAP / 1000}k tokens, ${AUTOCOMPACT_DEFAULT_PERCENT * 100}% of the context window); OpenCode uses its internal context trigger.`;
24
27
  const ORCHESTRATOR_PARALLELISM_NOTE_LINES = [
25
28
  "parallelism is advisory. Version 1 puts the requested cap in the",
@@ -181,6 +184,41 @@ export function buildAutocompactScreen(config = {}, index = 0, total = 1) {
181
184
  next: () => [],
182
185
  };
183
186
  }
187
+ /**
188
+ * One follow-up screen per bound role, shown after the shared screens so the
189
+ * triple harness:model:effort is chosen in a single setup pass. Opencode has
190
+ * no effort channel and gets no screen: its bindings keep no effort.
191
+ */
192
+ export function buildRoleEffortScreen(role, binding, index = 0, total = 1) {
193
+ let selected;
194
+ try {
195
+ selected = typeof binding.effort === "string" ? parseEffort(binding.effort) : undefined;
196
+ }
197
+ catch {
198
+ selected = undefined;
199
+ }
200
+ const values = selected === undefined
201
+ ? [...REASONING_EFFORTS]
202
+ : [selected, ...REASONING_EFFORTS.filter((level) => level !== selected)];
203
+ const items = values.map((value) => ({
204
+ id: value,
205
+ label: value,
206
+ group: EFFORT_PICKER_GROUP,
207
+ harness: EFFORT_PICKER_GROUP,
208
+ ...(value === selected ? { note: "atual" } : {}),
209
+ }));
210
+ return {
211
+ role: `${ROLE_EFFORT_PREFIX}${role}`,
212
+ title: `${role} effort`,
213
+ counter: `configuração ${index + 1} de ${total}`,
214
+ description: [`Effort para ${role} (${binding.harness} · ${binding.model}). --effort sobrescreve.`],
215
+ items,
216
+ pinned: true,
217
+ known: new Set(items.map((item) => itemKey(item.harness, item.id))),
218
+ harnesses: new Set([EFFORT_PICKER_GROUP]),
219
+ next: () => [],
220
+ };
221
+ }
184
222
  function modeAfterParameter(mode, result) {
185
223
  const parameters = collectOrchestratorParameters([result], mode);
186
224
  return orchestratorConfigFromSelection("custom", parameters) ?? mode;
@@ -282,8 +320,16 @@ export function needsModelSetup(config, isTTY = isInteractiveTerminal()) {
282
320
  return false;
283
321
  // `agents` is what setup writes now. A config carrying only the older
284
322
  // per-harness `models` has never answered the per-role question, so it still
285
- // counts as unset.
286
- return config == null || config.agents == null;
323
+ // counts as unset. The active profile answers too: its agents are the ones
324
+ // a launch would use.
325
+ if (config == null)
326
+ return true;
327
+ try {
328
+ return resolveEffectiveConfig(config).agents == null;
329
+ }
330
+ catch {
331
+ return config.agents == null;
332
+ }
287
333
  }
288
334
  /**
289
335
  * The catalog of every installed harness, flattened into one list.
@@ -429,7 +475,11 @@ function watchResize(listener) {
429
475
  };
430
476
  }
431
477
  export async function runModelSetupWizard(options = {}) {
432
- const config = options.config ?? loadConfig();
478
+ const loaded = options.config ?? loadConfig();
479
+ const profile = options.profile !== undefined ? parseProfileName(options.profile) : undefined;
480
+ const config = profile === undefined
481
+ ? loaded
482
+ : { ...baseConfig(loaded), ...getProfileSnapshot(loaded, profile) };
433
483
  if (!(options.isTTY ?? isInteractiveTerminal()))
434
484
  return config;
435
485
  const output = options.output ?? process.stdout;
@@ -451,7 +501,27 @@ export async function runModelSetupWizard(options = {}) {
451
501
  console.error(`Warning: Could not discover models: ${error instanceof Error ? error.message : String(error)}`);
452
502
  harnesses = [];
453
503
  }
454
- const roleScreens = buildScreens(ROLES, harnesses, config.agents ?? {}, config.defaultAgent ?? "claude");
504
+ // Each role screen is immediately followed by its effort screen, so the
505
+ // triple harness:model:effort is chosen in one step instead of a second
506
+ // pass at the end. A second runScreens call is not an option: the picker
507
+ // owns raw mode for exactly one run per stream set.
508
+ const roleScreens = buildScreens(ROLES, harnesses, config.agents ?? {}, config.defaultAgent ?? "claude").map((screen, roleIndex) => ({
509
+ ...screen,
510
+ next: (result) => {
511
+ if (result.kind !== "picked" || result.harness === "opencode")
512
+ return [];
513
+ const role = screen.role;
514
+ const prev = config.agents?.[role];
515
+ const sameTarget = prev?.harness === result.harness && prev?.model === result.id;
516
+ return [
517
+ buildRoleEffortScreen(role, {
518
+ harness: result.harness,
519
+ model: result.id,
520
+ ...(sameTarget && prev?.effort !== undefined ? { effort: prev.effort } : {}),
521
+ }, roleIndex, ROLES.length),
522
+ ];
523
+ },
524
+ }));
455
525
  // Writing `agents` is what marks first-run setup as done. Doing that after
456
526
  // showing nothing would spend the single prompt the user ever gets.
457
527
  if (roleScreens.length === 0) {
@@ -522,9 +592,28 @@ export async function runModelSetupWizard(options = {}) {
522
592
  updatedConfig.autocompact = { ...config.autocompact, enabled: false };
523
593
  }
524
594
  }
595
+ // Per-role effort answers arrive as followups of their role screen, in the
596
+ // same run. Skipping a role asks no effort; only a bound role can receive one.
597
+ for (const result of answeredResults) {
598
+ if (result.kind !== "picked" || !result.role.startsWith(ROLE_EFFORT_PREFIX))
599
+ continue;
600
+ const target = result.role.slice(ROLE_EFFORT_PREFIX.length);
601
+ if (agents[target] === undefined)
602
+ continue;
603
+ if (REASONING_EFFORTS.includes(result.id)) {
604
+ agents[target] = { ...agents[target], effort: result.id };
605
+ }
606
+ }
607
+ updatedConfig.agents = { ...agents };
608
+ const toSave = profile === undefined
609
+ ? updatedConfig
610
+ : {
611
+ ...loaded,
612
+ profiles: { ...loaded.profiles, [profile]: extractProfileSnapshot(updatedConfig) },
613
+ };
525
614
  let saved = false;
526
615
  try {
527
- (options.save ?? saveConfig)(updatedConfig);
616
+ (options.save ?? saveConfig)(toSave);
528
617
  saved = true;
529
618
  }
530
619
  catch (error) {
@@ -535,7 +624,10 @@ export async function runModelSetupWizard(options = {}) {
535
624
  const summary = roleScreens
536
625
  .map((screen) => {
537
626
  const binding = agents[screen.role];
538
- return `${screen.role} ${binding ? `${binding.harness}:${binding.model}` : "unset"}`;
627
+ const triple = binding
628
+ ? `${binding.harness}:${binding.model}${binding.effort ? `:${binding.effort}` : ""}`
629
+ : "unset";
630
+ return `${screen.role} ${triple}`;
539
631
  })
540
632
  .join(" · ");
541
633
  const modeSummary = orchestrator === undefined ? "" : ` · orchestrator ${orchestratorModeLabel(orchestrator)}`;
@@ -549,21 +641,37 @@ export class SetupUsageError extends Error {
549
641
  }
550
642
  }
551
643
  function invalidBindMessage(value) {
552
- return `Invalid --bind "${value}": expected role=harness:model (role: general|orchestrator|reviewer|auditor; harness: claude|codex|opencode|omp; model: non-empty and without whitespace, control characters or '=')`;
644
+ return `Invalid --bind "${value}": expected role=harness:model[:effort] (role: general|orchestrator|reviewer|auditor; harness: claude|codex|opencode|omp; model: non-empty and without whitespace, control characters or '='; effort: ${REASONING_EFFORTS.join("|")})`;
553
645
  }
554
646
  export function parseBind(value) {
555
647
  const equals = value.indexOf("=");
556
648
  const roleValue = equals < 0 ? "" : value.slice(0, equals);
557
649
  const right = equals < 0 ? "" : value.slice(equals + 1);
558
- const colon = right.indexOf(":");
559
- const harnessValue = colon < 0 ? "" : right.slice(0, colon);
560
- const model = colon < 0 ? "" : right.slice(colon + 1);
650
+ const firstColon = right.indexOf(":");
651
+ // An effort suffix is only read off a model that carries a colon of its
652
+ // own: the single-colon form always stays harness:model, so a model
653
+ // literally named "high" keeps binding. The price is that a model id
654
+ // ending in ":<level>" cannot be written with its suffix intact.
655
+ const lastColon = right.lastIndexOf(":");
656
+ const trailing = lastColon < 0 ? "" : right.slice(lastColon + 1);
657
+ const hasEffortSuffix = lastColon > firstColon &&
658
+ firstColon >= 0 &&
659
+ REASONING_EFFORTS.includes(trailing);
660
+ const harnessValue = firstColon < 0 ? "" : right.slice(0, firstColon);
661
+ const model = firstColon < 0
662
+ ? ""
663
+ : hasEffortSuffix
664
+ ? right.slice(firstColon + 1, lastColon)
665
+ : right.slice(firstColon + 1);
561
666
  const role = ROLES.includes(roleValue) ? roleValue : undefined;
562
667
  const harness = isAgentId(harnessValue) ? harnessValue : undefined;
563
668
  const modelPattern = /^[^\p{White_Space}\p{Cc}\p{Cf}=]+$/u;
564
669
  if (!role || !harness || !modelPattern.test(model))
565
670
  throw new SetupUsageError(invalidBindMessage(value));
566
- return { role, binding: { harness, model } };
671
+ return {
672
+ role,
673
+ binding: { harness, model, ...(hasEffortSuffix ? { effort: trailing } : {}) },
674
+ };
567
675
  }
568
676
  export const parseSetupBind = parseBind;
569
677
  function parseError(message, json) {
@@ -578,12 +686,36 @@ export function parseSetupArgs(args) {
578
686
  let refresh = false;
579
687
  let nonInteractive = false;
580
688
  let dryRun = false;
689
+ let profile;
581
690
  for (let index = 0; index < args.length; index += 1) {
582
691
  const arg = args[index];
583
692
  if (arg === "--refresh") {
584
693
  refresh = true;
585
694
  continue;
586
695
  }
696
+ if (arg === "--profile") {
697
+ const value = args[index + 1];
698
+ if (value === undefined || isSetupFlag(value)) {
699
+ return parseError('Option "--profile" expects a name.', json);
700
+ }
701
+ index += 1;
702
+ try {
703
+ profile = parseProfileName(value);
704
+ }
705
+ catch (error) {
706
+ return parseError(error instanceof Error ? error.message : String(error), json);
707
+ }
708
+ continue;
709
+ }
710
+ if (arg.startsWith("--profile=")) {
711
+ try {
712
+ profile = parseProfileName(arg.slice("--profile=".length));
713
+ }
714
+ catch (error) {
715
+ return parseError(error instanceof Error ? error.message : String(error), json);
716
+ }
717
+ continue;
718
+ }
587
719
  if (arg === "--non-interactive") {
588
720
  nonInteractive = true;
589
721
  continue;
@@ -598,7 +730,7 @@ export function parseSetupArgs(args) {
598
730
  if (arg === "--bind") {
599
731
  const value = args[index + 1];
600
732
  if (value === undefined || isSetupFlag(value)) {
601
- return parseError('Option "--bind" expects role=harness:model.', json);
733
+ return parseError('Option "--bind" expects role=harness:model[:effort].', json);
602
734
  }
603
735
  index += 1;
604
736
  try {
@@ -631,6 +763,7 @@ export function parseSetupArgs(args) {
631
763
  dryRun,
632
764
  binds,
633
765
  batch: nonInteractive || json || dryRun || binds.length > 0,
766
+ ...(profile === undefined ? {} : { profile }),
634
767
  },
635
768
  };
636
769
  }
@@ -913,19 +1046,32 @@ export async function runSetupBatch(options, dependencies = {}) {
913
1046
  return errorResult(read, null, notNeededCatalog(), [], [], read.readError ? 15 : 14, message);
914
1047
  }
915
1048
  const current = { ...DEFAULT_CONFIG, ...(read.config ?? {}) };
1049
+ // --profile edits one saved setup instead of the active one. A name nobody
1050
+ // saved yet starts from the base config, so creating a profile needs no
1051
+ // separate gesture.
1052
+ const profile = options.profile;
1053
+ const target = profile === undefined
1054
+ ? current
1055
+ : { ...baseConfig(current), ...getProfileSnapshot(current, profile) };
916
1056
  const lastByRole = new Map();
917
1057
  options.binds.forEach((binding, index) => lastByRole.set(binding.role, index));
918
1058
  const winning = options.binds.filter((binding, index) => lastByRole.get(binding.role) === index);
919
- const existingAgents = jsonObject(current.agents) ? current.agents : {};
1059
+ const existingAgents = jsonObject(target.agents) ? target.agents : {};
1060
+ const updatedAgents = {
1061
+ ...existingAgents,
1062
+ ...Object.fromEntries(winning.map(({ role, binding }) => [role, binding])),
1063
+ };
920
1064
  const proposed = options.binds.length === 0
921
1065
  ? { ...current }
922
- : {
923
- ...current,
924
- agents: {
925
- ...existingAgents,
926
- ...Object.fromEntries(winning.map(({ role, binding }) => [role, binding])),
927
- },
928
- };
1066
+ : profile === undefined
1067
+ ? { ...current, agents: updatedAgents }
1068
+ : {
1069
+ ...current,
1070
+ profiles: {
1071
+ ...current.profiles,
1072
+ [profile]: { ...extractProfileSnapshot(target), agents: updatedAgents },
1073
+ },
1074
+ };
929
1075
  const changes = diffConfig(current, proposed);
930
1076
  let catalog;
931
1077
  let bindingValidations = [];
@@ -1021,8 +1167,10 @@ export async function runSetupBatch(options, dependencies = {}) {
1021
1167
  };
1022
1168
  }
1023
1169
  const message = "Configuration saved.";
1024
- if (!options.json)
1025
- writeLine(stderr, `saved: ${configSummary(proposed)}`);
1170
+ const summarized = profile === undefined ? proposed : (proposed.profiles?.[profile] ?? proposed);
1171
+ if (!options.json) {
1172
+ writeLine(stderr, profile === undefined ? `saved: ${configSummary(summarized)}` : `saved profile "${profile}": ${configSummary(summarized)}`);
1173
+ }
1026
1174
  return {
1027
1175
  code: 0,
1028
1176
  envelope: { proposta: proposed, validacoes: validations, mudancas: changes, resultado: { status: "applied", code: 0, saved: true, message } },
@@ -1038,6 +1186,8 @@ function commandTokens(opts, command) {
1038
1186
  tokens.push("--json");
1039
1187
  if (opts.dryRun)
1040
1188
  tokens.push("--dry-run");
1189
+ if (typeof opts.profile === "string")
1190
+ tokens.push("--profile", opts.profile);
1041
1191
  const binds = Array.isArray(opts.bind) ? opts.bind : opts.bind === undefined ? [] : [opts.bind];
1042
1192
  for (const bind of binds) {
1043
1193
  tokens.push("--bind");
@@ -1072,6 +1222,7 @@ export async function executeSetupAction(args, dependencies = {}) {
1072
1222
  discoverModels: dependencies.wizardDiscoverModels,
1073
1223
  save: dependencies.saveConfig,
1074
1224
  isTTY: tty,
1225
+ ...(parsed.options.profile === undefined ? {} : { profile: parsed.options.profile }),
1075
1226
  });
1076
1227
  return { code: 0 };
1077
1228
  }
@@ -1090,6 +1241,7 @@ export function registerSetupCommand(program, dependencies = {}) {
1090
1241
  .option("--non-interactive", "run setup without the picker")
1091
1242
  .option("--json", "output one machine-readable envelope")
1092
1243
  .option("--dry-run", "show the proposed config without writing it")
1244
+ .option("--profile <name>", "edit a saved profile instead of the active setup")
1093
1245
  .option("--bind [binding]", "bind a role to a harness and model", (value, previous = []) => [...previous, value], [])
1094
1246
  .action(async (opts, command) => {
1095
1247
  const result = await executeSetupAction(commandTokens(opts, command), dependencies);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { spawn } from "node:child_process";
3
3
  import { InvalidArgumentError } from "commander";
4
4
  import { IpcClient } from "../../daemon/ipc.js";
5
5
  import { CANVAS_PAGE } from "../../web/canvas-page.js";
6
+ import { REVIEW_PAGE } from "../../web/review-page.js";
7
+ import { getLocalReview } from "../../git/review.js";
6
8
  export const DEFAULT_WEB_PORT = 3100;
7
9
  export function parseWebPort(raw) {
8
10
  if (raw === undefined)
@@ -93,7 +95,7 @@ function sendJson(res, code, value) {
93
95
  res.writeHead(code, { "content-type": "application/json; charset=utf-8" });
94
96
  res.end(JSON.stringify(value));
95
97
  }
96
- export function createWebHandler(bridge) {
98
+ export function createWebHandler(bridge, reviewDeps) {
97
99
  return (req, res) => {
98
100
  void (async () => {
99
101
  try {
@@ -125,6 +127,25 @@ export function createWebHandler(bridge) {
125
127
  sendJson(res, 200, await bridge.request("usage.query", { period }));
126
128
  return;
127
129
  }
130
+ if (req.method === "GET" && url.pathname === "/review") {
131
+ res.writeHead(200, { "content-type": "text/html; charset=utf-8" });
132
+ res.end(REVIEW_PAGE);
133
+ return;
134
+ }
135
+ if (req.method === "GET" && url.pathname === "/api/review") {
136
+ const ref = url.searchParams.get("ref") || "HEAD";
137
+ const file = url.searchParams.get("file") || undefined;
138
+ const root = reviewDeps?.root ?? process.cwd();
139
+ try {
140
+ const load = reviewDeps?.loadReview ?? ((r, q, f) => getLocalReview(r, { ref: q, file: f }));
141
+ sendJson(res, 200, await load(root, ref, file));
142
+ }
143
+ catch (error) {
144
+ const message = error instanceof Error ? error.message : String(error);
145
+ sendJson(res, message.includes("not a git repository") ? 404 : 500, { error: message });
146
+ }
147
+ return;
148
+ }
128
149
  const sub = parseSessionSubpath(parts);
129
150
  if (req.method === "POST" && sub?.action === "send") {
130
151
  // Body cap: stop buffering past the limit but keep draining so the