@orquentra/codebuddy 2.15.0 → 2.15.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 (78) hide show
  1. package/ARCHITECTURE.md +1 -1
  2. package/README.md +2 -2
  3. package/dist/{chunk-UR3DF74I.js → chunk-4DTO2E4Y.js} +8 -8
  4. package/dist/chunk-6OQKL35B.js +55 -0
  5. package/dist/chunk-6OQKL35B.js.map +1 -0
  6. package/dist/{chunk-ITXE27SZ.js → chunk-7JPUMXFE.js} +67 -12
  7. package/dist/chunk-7JPUMXFE.js.map +1 -0
  8. package/dist/{chunk-JJQDVGF7.js → chunk-AFXWCSQ4.js} +3 -3
  9. package/dist/{chunk-UATJCD2T.js → chunk-BNZDEU5K.js} +6 -6
  10. package/dist/{chunk-D5E7SGI5.js → chunk-GNV4X67F.js} +14 -14
  11. package/dist/{chunk-D5E7SGI5.js.map → chunk-GNV4X67F.js.map} +1 -1
  12. package/dist/{chunk-KYRM3HPP.js → chunk-IM5RFEW4.js} +3 -3
  13. package/dist/{chunk-UTPC66MV.js → chunk-K4XNTYV7.js} +12 -4
  14. package/dist/chunk-K4XNTYV7.js.map +1 -0
  15. package/dist/{chunk-6YI2D5F5.js → chunk-MNSMW4MZ.js} +3 -3
  16. package/dist/{chunk-BTTQWSDS.js → chunk-NNJSAYHY.js} +1 -1
  17. package/dist/chunk-NNJSAYHY.js.map +1 -0
  18. package/dist/{chunk-KQCP3ZYH.js → chunk-OO7Q7XZF.js} +7 -7
  19. package/dist/{chunk-RZ266NHE.js → chunk-PZ4EBFIA.js} +5 -5
  20. package/dist/{chunk-RZ266NHE.js.map → chunk-PZ4EBFIA.js.map} +1 -1
  21. package/dist/{chunk-WHKXUXHE.js → chunk-RGIVHKBH.js} +5 -5
  22. package/dist/chunk-RGIVHKBH.js.map +1 -0
  23. package/dist/{chunk-4BSO3HST.js → chunk-RKF4HBBQ.js} +3 -3
  24. package/dist/{chunk-YMXFSHXT.js → chunk-VBDM7HC5.js} +2 -2
  25. package/dist/{chunk-YMXFSHXT.js.map → chunk-VBDM7HC5.js.map} +1 -1
  26. package/dist/{chunk-U7KDM62P.js → chunk-VF7DKRIU.js} +15 -8
  27. package/dist/chunk-VF7DKRIU.js.map +1 -0
  28. package/dist/{chunk-M75SN4D4.js → chunk-Y4QQML24.js} +3 -3
  29. package/dist/{chunk-M75SN4D4.js.map → chunk-Y4QQML24.js.map} +1 -1
  30. package/dist/cli/index.js +4 -4
  31. package/dist/{config-TXQJCCVI.js → config-S2BDMT4B.js} +4 -4
  32. package/dist/{expand-KWYGNCKZ.js → expand-TONFVT5D.js} +5 -5
  33. package/dist/{file-vectors-MKXTSGGH.js → file-vectors-VREL75MA.js} +3 -3
  34. package/dist/{index-facts-4MTEHKMN.js → index-facts-MBJKBYA3.js} +7 -7
  35. package/dist/index-pass-RP23G2CR.js +15 -0
  36. package/dist/index.js +8 -8
  37. package/dist/{install-E3JWINTN.js → install-MCJIJMFF.js} +7 -7
  38. package/dist/{lean-MLTAFS5L.js → lean-CBHVW6JM.js} +4 -4
  39. package/dist/{local-75DJECVR.js → local-TH5XCLVJ.js} +2 -2
  40. package/dist/{local-llm-MECVJTVU.js → local-llm-GZREB5DF.js} +4 -4
  41. package/dist/{main-RLMKQZW4.js → main-QF6Z552J.js} +39 -42
  42. package/dist/main-QF6Z552J.js.map +1 -0
  43. package/dist/{memory-PFFVMTCH.js → memory-LSZKSF53.js} +5 -5
  44. package/dist/{operations-STR7S5UO.js → operations-BPI633VN.js} +4 -4
  45. package/dist/{rerank-XXKWDI5Q.js → rerank-EPCTSEVP.js} +5 -5
  46. package/dist/{runtime-SWFWGTQ4.js → runtime-W5ACTDFS.js} +5 -5
  47. package/dist/{summaries-QXWFFDUZ.js → summaries-W2J5FCLG.js} +9 -8
  48. package/dist/{zvec-F73IBWO5.js → zvec-LSA2IRAU.js} +4 -4
  49. package/package.json +1 -1
  50. package/dist/chunk-BTTQWSDS.js.map +0 -1
  51. package/dist/chunk-ITXE27SZ.js.map +0 -1
  52. package/dist/chunk-U7KDM62P.js.map +0 -1
  53. package/dist/chunk-UTPC66MV.js.map +0 -1
  54. package/dist/chunk-WHKXUXHE.js.map +0 -1
  55. package/dist/index-pass-TBDUEZCB.js +0 -14
  56. package/dist/main-RLMKQZW4.js.map +0 -1
  57. /package/dist/{chunk-UR3DF74I.js.map → chunk-4DTO2E4Y.js.map} +0 -0
  58. /package/dist/{chunk-JJQDVGF7.js.map → chunk-AFXWCSQ4.js.map} +0 -0
  59. /package/dist/{chunk-UATJCD2T.js.map → chunk-BNZDEU5K.js.map} +0 -0
  60. /package/dist/{chunk-KYRM3HPP.js.map → chunk-IM5RFEW4.js.map} +0 -0
  61. /package/dist/{chunk-6YI2D5F5.js.map → chunk-MNSMW4MZ.js.map} +0 -0
  62. /package/dist/{chunk-KQCP3ZYH.js.map → chunk-OO7Q7XZF.js.map} +0 -0
  63. /package/dist/{chunk-4BSO3HST.js.map → chunk-RKF4HBBQ.js.map} +0 -0
  64. /package/dist/{config-TXQJCCVI.js.map → config-S2BDMT4B.js.map} +0 -0
  65. /package/dist/{expand-KWYGNCKZ.js.map → expand-TONFVT5D.js.map} +0 -0
  66. /package/dist/{file-vectors-MKXTSGGH.js.map → file-vectors-VREL75MA.js.map} +0 -0
  67. /package/dist/{index-facts-4MTEHKMN.js.map → index-facts-MBJKBYA3.js.map} +0 -0
  68. /package/dist/{index-pass-TBDUEZCB.js.map → index-pass-RP23G2CR.js.map} +0 -0
  69. /package/dist/{install-E3JWINTN.js.map → install-MCJIJMFF.js.map} +0 -0
  70. /package/dist/{lean-MLTAFS5L.js.map → lean-CBHVW6JM.js.map} +0 -0
  71. /package/dist/{local-75DJECVR.js.map → local-TH5XCLVJ.js.map} +0 -0
  72. /package/dist/{local-llm-MECVJTVU.js.map → local-llm-GZREB5DF.js.map} +0 -0
  73. /package/dist/{memory-PFFVMTCH.js.map → memory-LSZKSF53.js.map} +0 -0
  74. /package/dist/{operations-STR7S5UO.js.map → operations-BPI633VN.js.map} +0 -0
  75. /package/dist/{rerank-XXKWDI5Q.js.map → rerank-EPCTSEVP.js.map} +0 -0
  76. /package/dist/{runtime-SWFWGTQ4.js.map → runtime-W5ACTDFS.js.map} +0 -0
  77. /package/dist/{summaries-QXWFFDUZ.js.map → summaries-W2J5FCLG.js.map} +0 -0
  78. /package/dist/{zvec-F73IBWO5.js.map → zvec-LSA2IRAU.js.map} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  addLocalLlm,
7
7
  printLocalLlmStatus,
8
8
  removeLocalLlm
9
- } from "./chunk-UTPC66MV.js";
9
+ } from "./chunk-K4XNTYV7.js";
10
10
  import {
11
11
  WORKFLOW_CLIENTS,
12
12
  clientDisplayName,
@@ -32,11 +32,11 @@ import {
32
32
  setHooks,
33
33
  uninstallClient,
34
34
  writeProjectMcpConfig
35
- } from "./chunk-RZ266NHE.js";
35
+ } from "./chunk-PZ4EBFIA.js";
36
36
  import {
37
37
  renderLeanBlock,
38
38
  runLeanHook
39
- } from "./chunk-JJQDVGF7.js";
39
+ } from "./chunk-AFXWCSQ4.js";
40
40
  import {
41
41
  isDockerDaemonRunning,
42
42
  tryStartDockerDesktop,
@@ -55,19 +55,20 @@ import {
55
55
  import {
56
56
  loadLlmSummaries,
57
57
  summarizeRepository
58
- } from "./chunk-ITXE27SZ.js";
58
+ } from "./chunk-7JPUMXFE.js";
59
59
  import {
60
60
  listIndexFacts,
61
61
  pruneIndexFacts
62
- } from "./chunk-UATJCD2T.js";
62
+ } from "./chunk-BNZDEU5K.js";
63
63
  import {
64
64
  chatJson,
65
65
  coolingDown,
66
66
  usageToday
67
- } from "./chunk-6YI2D5F5.js";
67
+ } from "./chunk-MNSMW4MZ.js";
68
68
  import {
69
69
  runIndexModelPass
70
- } from "./chunk-U7KDM62P.js";
70
+ } from "./chunk-VF7DKRIU.js";
71
+ import "./chunk-6OQKL35B.js";
71
72
  import {
72
73
  AUTOMATION_MODES,
73
74
  CLIENT_ADAPTERS,
@@ -94,7 +95,7 @@ import {
94
95
  traceCliCommand,
95
96
  watchRepository,
96
97
  writeTelemetryState
97
- } from "./chunk-D5E7SGI5.js";
98
+ } from "./chunk-GNV4X67F.js";
98
99
  import {
99
100
  HookStagingStore,
100
101
  PlanFileStore,
@@ -124,7 +125,7 @@ import {
124
125
  runStageHook,
125
126
  runSyncHook,
126
127
  syncReuseVectors
127
- } from "./chunk-KQCP3ZYH.js";
128
+ } from "./chunk-OO7Q7XZF.js";
128
129
  import {
129
130
  parseTraceLines,
130
131
  readTraces,
@@ -144,7 +145,7 @@ import {
144
145
  DEFAULT_ZVEC_MODEL,
145
146
  buildZvecIndex,
146
147
  zvecStatus
147
- } from "./chunk-4BSO3HST.js";
148
+ } from "./chunk-RKF4HBBQ.js";
148
149
  import {
149
150
  buildArchitectureMap,
150
151
  generateGraphifyGraph,
@@ -156,7 +157,7 @@ import {
156
157
  queryMap,
157
158
  setupGraphify,
158
159
  syncFileVectors
159
- } from "./chunk-UR3DF74I.js";
160
+ } from "./chunk-4DTO2E4Y.js";
160
161
  import {
161
162
  extractSymbolTable,
162
163
  supportsSymbols
@@ -172,12 +173,12 @@ import {
172
173
  pingDatabase,
173
174
  runDoctor,
174
175
  runMigrations
175
- } from "./chunk-KYRM3HPP.js";
176
+ } from "./chunk-IM5RFEW4.js";
176
177
  import "./chunk-57642NGU.js";
177
178
  import {
178
179
  MemoryFileStore,
179
180
  VERSION
180
- } from "./chunk-YMXFSHXT.js";
181
+ } from "./chunk-VBDM7HC5.js";
181
182
  import {
182
183
  computeFactHash,
183
184
  generateEntityId
@@ -190,7 +191,7 @@ import {
190
191
  mergeGlobalConfig,
191
192
  readGlobalConfig,
192
193
  resolveLlmConfig
193
- } from "./chunk-WHKXUXHE.js";
194
+ } from "./chunk-RGIVHKBH.js";
194
195
  import {
195
196
  PLAN_POLICIES,
196
197
  configPath,
@@ -208,11 +209,11 @@ import {
208
209
  setPlanPolicy,
209
210
  setZvecEnabled,
210
211
  writeConfigFile
211
- } from "./chunk-M75SN4D4.js";
212
+ } from "./chunk-Y4QQML24.js";
212
213
  import {
213
214
  writeAtomic
214
215
  } from "./chunk-CG5B3LYG.js";
215
- import "./chunk-BTTQWSDS.js";
216
+ import "./chunk-NNJSAYHY.js";
216
217
  import {
217
218
  localRuntimeInstalled,
218
219
  modelCacheDir
@@ -2017,7 +2018,7 @@ async function llmStatusReport(root, env = process.env) {
2017
2018
  provider,
2018
2019
  model,
2019
2020
  keyEnv: provider === "local" ? "none needed" : env.CODEBUDDY_LLM_API_KEY ? "CODEBUDDY_LLM_API_KEY" : keyName,
2020
- // Enabled implies a key (environment or saved by `codebuddy use`).
2021
+ // Enabled implies a key (environment or saved by `codebuddy`).
2021
2022
  keyPresent: provider === "local" || config.enabled || Boolean(env.CODEBUDDY_LLM_API_KEY || env[keyName]),
2022
2023
  features: config.enabled ? config.features : null,
2023
2024
  usageToday: (await usageToday(root))[key] ?? 0,
@@ -2106,7 +2107,7 @@ function registerLlmCommands(program, runSafely2) {
2106
2107
  onProgress: (done, total) => console.log(pc8.dim(`summarized ${done}/${total}`))
2107
2108
  });
2108
2109
  console.log(
2109
- `${result.summarized} summarized, ${result.skipped} skipped, ${result.remaining} remaining (${result.stoppedBy})`
2110
+ `${result.summarized} summarized, ${result.skipped} skipped, ${result.timedOut} timed out, ${result.remaining} remaining (${result.stoppedBy})`
2110
2111
  );
2111
2112
  });
2112
2113
  });
@@ -2189,10 +2190,16 @@ function printModelPass(model, ms) {
2189
2190
  console.log(pc9.dim(" cards: skipped (no model; codebuddy models add local-llm)"));
2190
2191
  return;
2191
2192
  }
2193
+ if (model.cards?.stoppedBy === "locked") {
2194
+ console.log(
2195
+ pc9.yellow(` cards: already being written by pid ${model.cards.lockedBy ?? "unknown"}`)
2196
+ );
2197
+ return;
2198
+ }
2192
2199
  if (model.cards) {
2193
2200
  console.log(
2194
2201
  pc9.dim(
2195
- ` cards: ${model.cards.summarized} written, ${model.cards.remaining} left (${model.cards.stoppedBy}), ${model.cardVectors} embedded, ${Math.round(ms / 1e3)} s`
2202
+ ` cards: ${model.cards.summarized} written, ${model.cards.timedOut ? `${model.cards.timedOut} timed out, ` : ""}${model.cards.remaining} left (${model.cards.stoppedBy}), ${model.cardVectors} embedded, ${Math.round(ms / 1e3)} s`
2196
2203
  )
2197
2204
  );
2198
2205
  }
@@ -3025,7 +3032,7 @@ async function printStatus() {
3025
3032
  }
3026
3033
  }
3027
3034
  {
3028
- const { cardProgress } = await import("./summaries-QXWFFDUZ.js");
3035
+ const { cardProgress } = await import("./summaries-W2J5FCLG.js");
3029
3036
  await printLocalLlmStatus(await cardProgress(process.cwd()).catch(() => null));
3030
3037
  }
3031
3038
  console.log(pc14.bold("Memory index"));
@@ -3034,7 +3041,7 @@ async function printStatus() {
3034
3041
  }
3035
3042
  if (!config.postgresUrl) {
3036
3043
  console.log(row("postgres", warn("not configured: recall is lexical only")));
3037
- next.push("codebuddy use (sets up PostgreSQL)");
3044
+ next.push("codebuddy (sets up PostgreSQL)");
3038
3045
  } else {
3039
3046
  const counts = await vectorCounts(
3040
3047
  config.postgresUrl,
@@ -5087,7 +5094,7 @@ async function setupLocalLlm(choice, interactive) {
5087
5094
  log2.info(`Local LLM: skipped (add later with ${pc22.cyan("codebuddy models add local-llm")}).`);
5088
5095
  return false;
5089
5096
  }
5090
- const { installedLocalModel, machineCanCard } = await import("./local-75DJECVR.js");
5097
+ const { installedLocalModel, machineCanCard } = await import("./local-TH5XCLVJ.js");
5091
5098
  let installed = await installedLocalModel() !== null;
5092
5099
  const machine = machineCanCard();
5093
5100
  if (!installed && !machine.ok) {
@@ -5095,7 +5102,7 @@ async function setupLocalLlm(choice, interactive) {
5095
5102
  installed = true;
5096
5103
  }
5097
5104
  if (!installed) {
5098
- const { addLocalLlm: addLocalLlm2 } = await import("./local-llm-MECVJTVU.js");
5105
+ const { addLocalLlm: addLocalLlm2 } = await import("./local-llm-GZREB5DF.js");
5099
5106
  installed = await addLocalLlm2({ yes: true, interactive });
5100
5107
  if (!installed) {
5101
5108
  log2.warn(
@@ -5130,7 +5137,7 @@ async function setupCloudQwen(reason, interactive) {
5130
5137
  }
5131
5138
  if (!chosen) {
5132
5139
  log2.warn(
5133
- `Local LLM: this machine is too small for it (${reason}). For cloud Qwen, get a free key at ${pc22.cyan("https://console.groq.com/keys")} and rerun ${pc22.cyan("codebuddy use")} (or ${pc22.cyan("export GROQ_API_KEY=\u2026")} and ${pc22.cyan("codebuddy llm enable --provider groq")}). Keyword + vector discovery work meanwhile.`
5140
+ `Local LLM: this machine is too small for it (${reason}). For cloud Qwen, get a free key at ${pc22.cyan("https://console.groq.com/keys")} and rerun ${pc22.cyan("codebuddy")} (or ${pc22.cyan("export GROQ_API_KEY=\u2026")} and ${pc22.cyan("codebuddy llm enable --provider groq")}). Keyword + vector discovery work meanwhile.`
5134
5141
  );
5135
5142
  return false;
5136
5143
  }
@@ -5162,7 +5169,7 @@ async function runUseCommand(options = {}) {
5162
5169
  note2(
5163
5170
  `Project folder: ${pc22.bold(process.cwd())}
5164
5171
  Namespace: ${pc22.bold(namespace)}`,
5165
- "codebuddy use"
5172
+ "codebuddy"
5166
5173
  );
5167
5174
  const stored = await readGlobalConfig();
5168
5175
  const projectConfig = await readConfigFile();
@@ -5511,21 +5518,14 @@ function createCli() {
5511
5518
  program.name("codebuddy").description(
5512
5519
  "Project memory and context for AI coding agents: recalls the right facts, files and risks on every prompt."
5513
5520
  ).version(VERSION);
5514
- program.action(async () => {
5515
- await runSafely(async () => {
5516
- await runUseCommand();
5517
- });
5518
- });
5519
- program.command("use").description(
5520
- "One-command setup for this folder: PostgreSQL (starts Docker if needed), migrations, embeddings, and agent wiring."
5521
- ).argument("[namespace]", "Override the namespace (defaults to current folder name).").option("--postgres-url <url>", "Postgres URL to use for this project.").option("--skip-claude", "Do not register with Claude Desktop.").option("--skip-codex", "Do not register with Codex.").option("--graphify", "Enable Graphify setup without prompting.").option("--no-graphify", "Skip Graphify setup without prompting.").option(
5521
+ program.enablePositionalOptions().option("--namespace <name>", "Override the namespace (defaults to current folder name).").option("--postgres-url <url>", "Postgres URL to use for this project.").option("--skip-claude", "Do not register with Claude Desktop.").option("--skip-codex", "Do not register with Codex.").option("--graphify", "Enable Graphify setup without prompting.").option("--no-graphify", "Skip Graphify setup without prompting.").option(
5522
5522
  "--docker",
5523
5523
  "Start CodeBuddy's bundled Postgres container when the default DB is unavailable."
5524
5524
  ).option("--no-docker", "Do not offer to start CodeBuddy's bundled Postgres container.").option("--no-local-llm", "Skip installing the local LLM (Qwen3-0.6B, ~400 MB).").option("-y, --yes", "Never prompt: use flags and defaults (automatic without a TTY).").option("--non-interactive", "Same as --yes.").action(
5525
- async (namespace, opts) => {
5525
+ async (opts) => {
5526
5526
  await runSafely(async () => {
5527
5527
  await runUseCommand({
5528
- ...namespace !== void 0 ? { namespace } : {},
5528
+ ...opts.namespace !== void 0 ? { namespace: opts.namespace } : {},
5529
5529
  ...opts.postgresUrl !== void 0 ? { postgresUrl: opts.postgresUrl } : {},
5530
5530
  ...opts.skipClaude !== void 0 ? { skipClaude: opts.skipClaude } : {},
5531
5531
  ...opts.skipCodex !== void 0 ? { skipCodex: opts.skipCodex } : {},
@@ -5859,14 +5859,11 @@ function createCli() {
5859
5859
  return showTelemetryNoticeOnce();
5860
5860
  });
5861
5861
  program.hook("postAction", (_program, command) => traceCliCommand(command, started));
5862
- program.action(async () => {
5863
- await runSafely(() => runUseCommand());
5864
- });
5865
5862
  groupHelp(program);
5866
5863
  return program;
5867
5864
  }
5868
5865
  var HELP_GROUPS = [
5869
- ["Get started:", ["use", "init", "doctor", "hooks", "clients", "models", "dashboard"]],
5866
+ ["Get started:", ["init", "doctor", "hooks", "clients", "models", "dashboard"]],
5870
5867
  [
5871
5868
  "Daily work:",
5872
5869
  [
@@ -5930,8 +5927,8 @@ Quick start:
5930
5927
  );
5931
5928
  }
5932
5929
  async function indexModelStats(root) {
5933
- const { cardProgress } = await import("./summaries-QXWFFDUZ.js");
5934
- const { listIndexFacts: listIndexFacts2 } = await import("./index-facts-4MTEHKMN.js");
5930
+ const { cardProgress } = await import("./summaries-W2J5FCLG.js");
5931
+ const { listIndexFacts: listIndexFacts2 } = await import("./index-facts-MBJKBYA3.js");
5935
5932
  return {
5936
5933
  cards: await cardProgress(root).catch(() => ({ carded: 0, eligible: 0 })),
5937
5934
  indexFacts: (await listIndexFacts2(root).catch(() => [])).length
@@ -6056,4 +6053,4 @@ function printStorage(database, capture2) {
6056
6053
  export {
6057
6054
  createCli
6058
6055
  };
6059
- //# sourceMappingURL=main-RLMKQZW4.js.map
6056
+ //# sourceMappingURL=main-QF6Z552J.js.map