@dreb/coding-agent 2.4.3 → 2.4.5

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 (110) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cli/file-processor.d.ts.map +1 -1
  3. package/dist/cli/file-processor.js +1 -0
  4. package/dist/cli/file-processor.js.map +1 -1
  5. package/dist/core/agent-session.d.ts +13 -0
  6. package/dist/core/agent-session.d.ts.map +1 -1
  7. package/dist/core/agent-session.js +69 -10
  8. package/dist/core/agent-session.js.map +1 -1
  9. package/dist/core/buddy/buddy-controller.d.ts.map +1 -1
  10. package/dist/core/buddy/buddy-controller.js +13 -4
  11. package/dist/core/buddy/buddy-controller.js.map +1 -1
  12. package/dist/core/buddy/buddy-manager.d.ts.map +1 -1
  13. package/dist/core/buddy/buddy-manager.js +2 -0
  14. package/dist/core/buddy/buddy-manager.js.map +1 -1
  15. package/dist/core/daily-cost-tracker.d.ts.map +1 -1
  16. package/dist/core/daily-cost-tracker.js +2 -0
  17. package/dist/core/daily-cost-tracker.js.map +1 -1
  18. package/dist/core/extensions/loader.d.ts.map +1 -1
  19. package/dist/core/extensions/loader.js +2 -0
  20. package/dist/core/extensions/loader.js.map +1 -1
  21. package/dist/core/footer-data-provider.d.ts.map +1 -1
  22. package/dist/core/footer-data-provider.js +3 -0
  23. package/dist/core/footer-data-provider.js.map +1 -1
  24. package/dist/core/keybindings.d.ts.map +1 -1
  25. package/dist/core/keybindings.js +1 -0
  26. package/dist/core/keybindings.js.map +1 -1
  27. package/dist/core/package-manager.d.ts.map +1 -1
  28. package/dist/core/package-manager.js +24 -8
  29. package/dist/core/package-manager.js.map +1 -1
  30. package/dist/core/prompt-templates.d.ts.map +1 -1
  31. package/dist/core/prompt-templates.js +2 -0
  32. package/dist/core/prompt-templates.js.map +1 -1
  33. package/dist/core/resolve-config-value.d.ts +3 -1
  34. package/dist/core/resolve-config-value.d.ts.map +1 -1
  35. package/dist/core/resolve-config-value.js +11 -3
  36. package/dist/core/resolve-config-value.js.map +1 -1
  37. package/dist/core/resource-loader.d.ts +3 -0
  38. package/dist/core/resource-loader.d.ts.map +1 -1
  39. package/dist/core/resource-loader.js +69 -29
  40. package/dist/core/resource-loader.js.map +1 -1
  41. package/dist/core/sdk.d.ts.map +1 -1
  42. package/dist/core/sdk.js +17 -0
  43. package/dist/core/sdk.js.map +1 -1
  44. package/dist/core/session-manager.d.ts.map +1 -1
  45. package/dist/core/session-manager.js +6 -1
  46. package/dist/core/session-manager.js.map +1 -1
  47. package/dist/core/skills.d.ts.map +1 -1
  48. package/dist/core/skills.js +5 -1
  49. package/dist/core/skills.js.map +1 -1
  50. package/dist/core/tools/dreb-paths.d.ts.map +1 -1
  51. package/dist/core/tools/dreb-paths.js +1 -0
  52. package/dist/core/tools/dreb-paths.js.map +1 -1
  53. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  54. package/dist/core/tools/edit-diff.js +1 -0
  55. package/dist/core/tools/edit-diff.js.map +1 -1
  56. package/dist/core/tools/edit.d.ts.map +1 -1
  57. package/dist/core/tools/edit.js +1 -0
  58. package/dist/core/tools/edit.js.map +1 -1
  59. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  60. package/dist/core/tools/file-mutation-queue.js +1 -0
  61. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  62. package/dist/core/tools/grep.d.ts.map +1 -1
  63. package/dist/core/tools/grep.js +8 -0
  64. package/dist/core/tools/grep.js.map +1 -1
  65. package/dist/core/tools/path-utils.d.ts.map +1 -1
  66. package/dist/core/tools/path-utils.js +1 -0
  67. package/dist/core/tools/path-utils.js.map +1 -1
  68. package/dist/core/tools/web.d.ts.map +1 -1
  69. package/dist/core/tools/web.js +1 -0
  70. package/dist/core/tools/web.js.map +1 -1
  71. package/dist/migrations.d.ts.map +1 -1
  72. package/dist/migrations.js +1 -0
  73. package/dist/migrations.js.map +1 -1
  74. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  75. package/dist/modes/interactive/components/tool-execution.js +2 -0
  76. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  77. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  78. package/dist/modes/interactive/interactive-mode.js +5 -1
  79. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  80. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  81. package/dist/modes/interactive/theme/theme.js +4 -0
  82. package/dist/modes/interactive/theme/theme.js.map +1 -1
  83. package/dist/utils/changelog.d.ts.map +1 -1
  84. package/dist/utils/changelog.js +2 -2
  85. package/dist/utils/changelog.js.map +1 -1
  86. package/dist/utils/clipboard-image.d.ts.map +1 -1
  87. package/dist/utils/clipboard-image.js +3 -0
  88. package/dist/utils/clipboard-image.js.map +1 -1
  89. package/dist/utils/clipboard-native.d.ts.map +1 -1
  90. package/dist/utils/clipboard-native.js +1 -0
  91. package/dist/utils/clipboard-native.js.map +1 -1
  92. package/dist/utils/clipboard.d.ts.map +1 -1
  93. package/dist/utils/clipboard.js +5 -3
  94. package/dist/utils/clipboard.js.map +1 -1
  95. package/dist/utils/git.d.ts.map +1 -1
  96. package/dist/utils/git.js +2 -0
  97. package/dist/utils/git.js.map +1 -1
  98. package/dist/utils/image-resize.d.ts.map +1 -1
  99. package/dist/utils/image-resize.js +1 -0
  100. package/dist/utils/image-resize.js.map +1 -1
  101. package/dist/utils/photon.d.ts.map +1 -1
  102. package/dist/utils/photon.js +3 -0
  103. package/dist/utils/photon.js.map +1 -1
  104. package/dist/utils/tools-manager.d.ts.map +1 -1
  105. package/dist/utils/tools-manager.js +1 -0
  106. package/dist/utils/tools-manager.js.map +1 -1
  107. package/docs/custom-provider.md +20 -0
  108. package/docs/sdk.md +5 -0
  109. package/examples/sdk/12-full-control.ts +1 -0
  110. package/package.json +1 -1
@@ -68,7 +68,9 @@ function addIgnoreRules(ig, dir, rootDir) {
68
68
  ig.add(patterns);
69
69
  }
70
70
  }
71
- catch { }
71
+ catch {
72
+ /* .gitignore may not exist or be unreadable — ignore patterns are optional */
73
+ }
72
74
  }
73
75
  }
74
76
  function isPattern(s) {
@@ -111,6 +113,7 @@ function collectFiles(dir, filePattern, skipNodeModules = true, ignoreMatcher, r
111
113
  isFile = stats.isFile();
112
114
  }
113
115
  catch {
116
+ // Broken symlink or deleted file — skip entry
114
117
  continue;
115
118
  }
116
119
  }
@@ -127,7 +130,7 @@ function collectFiles(dir, filePattern, skipNodeModules = true, ignoreMatcher, r
127
130
  }
128
131
  }
129
132
  catch {
130
- // Ignore errors
133
+ // Directory may not exist or be unreadable — return empty list
131
134
  }
132
135
  return files;
133
136
  }
@@ -155,6 +158,7 @@ function collectSkillEntries(dir, includeRootFiles = true, ignoreMatcher, rootDi
155
158
  isFile = stats.isFile();
156
159
  }
157
160
  catch {
161
+ // Broken symlink or deleted file — skip entry
158
162
  continue;
159
163
  }
160
164
  }
@@ -175,7 +179,7 @@ function collectSkillEntries(dir, includeRootFiles = true, ignoreMatcher, rootDi
175
179
  }
176
180
  }
177
181
  catch {
178
- // Ignore errors
182
+ // Directory may not exist or be unreadable — return empty list
179
183
  }
180
184
  return entries;
181
185
  }
@@ -233,6 +237,7 @@ function collectAutoPromptEntries(dir) {
233
237
  isFile = statSync(fullPath).isFile();
234
238
  }
235
239
  catch {
240
+ // Broken symlink — skip entry
236
241
  continue;
237
242
  }
238
243
  }
@@ -245,7 +250,7 @@ function collectAutoPromptEntries(dir) {
245
250
  }
246
251
  }
247
252
  catch {
248
- // Ignore errors
253
+ // Directory may not exist or be unreadable — return empty list
249
254
  }
250
255
  return entries;
251
256
  }
@@ -269,6 +274,7 @@ function collectAutoThemeEntries(dir) {
269
274
  isFile = statSync(fullPath).isFile();
270
275
  }
271
276
  catch {
277
+ // Broken symlink — skip entry
272
278
  continue;
273
279
  }
274
280
  }
@@ -281,7 +287,7 @@ function collectAutoThemeEntries(dir) {
281
287
  }
282
288
  }
283
289
  catch {
284
- // Ignore errors
290
+ // Directory may not exist or be unreadable — return empty list
285
291
  }
286
292
  return entries;
287
293
  }
@@ -292,6 +298,7 @@ function readDrebManifestFile(packageJsonPath) {
292
298
  return pkg.dreb ?? null;
293
299
  }
294
300
  catch {
301
+ // Malformed package.json — fall back to convention-based discovery
295
302
  return null;
296
303
  }
297
304
  }
@@ -351,6 +358,7 @@ function collectAutoExtensionEntries(dir) {
351
358
  isFile = stats.isFile();
352
359
  }
353
360
  catch {
361
+ // Broken symlink or deleted file — skip entry
354
362
  continue;
355
363
  }
356
364
  }
@@ -370,7 +378,7 @@ function collectAutoExtensionEntries(dir) {
370
378
  }
371
379
  }
372
380
  catch {
373
- // Ignore errors
381
+ // Directory may not exist or be unreadable — return empty list
374
382
  }
375
383
  return entries;
376
384
  }
@@ -854,6 +862,7 @@ export class DefaultPackageManager {
854
862
  }
855
863
  }
856
864
  catch {
865
+ // Package resource collection failed — skip this package
857
866
  return;
858
867
  }
859
868
  }
@@ -987,6 +996,7 @@ export class DefaultPackageManager {
987
996
  return latestVersion !== installedVersion;
988
997
  }
989
998
  catch {
999
+ // Update check failure — conservatively report no updates
990
1000
  return false;
991
1001
  }
992
1002
  }
@@ -1000,6 +1010,7 @@ export class DefaultPackageManager {
1000
1010
  return pkg.version;
1001
1011
  }
1002
1012
  catch {
1013
+ // Version read failed — treat as unknown
1003
1014
  return undefined;
1004
1015
  }
1005
1016
  }
@@ -1025,6 +1036,7 @@ export class DefaultPackageManager {
1025
1036
  return localHead.trim() !== remoteHead.trim();
1026
1037
  }
1027
1038
  catch {
1039
+ // Update check failure — conservatively report no updates
1028
1040
  return false;
1029
1041
  }
1030
1042
  }
@@ -1075,6 +1087,7 @@ export class DefaultPackageManager {
1075
1087
  };
1076
1088
  }
1077
1089
  catch {
1090
+ // Upstream ref detection failed — fall back to origin/HEAD
1078
1091
  await this.runCommand("git", ["remote", "set-head", "origin", "-a"], { cwd: installedPath }).catch(() => { });
1079
1092
  const head = await this.runCommandCapture("git", ["rev-parse", "origin/HEAD"], {
1080
1093
  cwd: installedPath,
@@ -1083,7 +1096,7 @@ export class DefaultPackageManager {
1083
1096
  const originHeadRef = await this.runCommandCapture("git", ["symbolic-ref", "refs/remotes/origin/HEAD"], {
1084
1097
  cwd: installedPath,
1085
1098
  timeoutMs: NETWORK_TIMEOUT_MS,
1086
- }).catch(() => "");
1099
+ }).catch(() => "" /* Symbolic ref resolution failed — use empty string fallback */);
1087
1100
  const branch = originHeadRef.trim().replace(/^refs\/remotes\/origin\//, "");
1088
1101
  if (branch) {
1089
1102
  return {
@@ -1119,6 +1132,7 @@ export class DefaultPackageManager {
1119
1132
  return branch ? `refs/heads/${branch}` : undefined;
1120
1133
  }
1121
1134
  catch {
1135
+ // Upstream ref detection failed — return undefined
1122
1136
  return undefined;
1123
1137
  }
1124
1138
  }
@@ -1327,6 +1341,7 @@ export class DefaultPackageManager {
1327
1341
  rmSync(current, { recursive: true, force: true });
1328
1342
  }
1329
1343
  catch {
1344
+ // rmSync failed — stop pruning
1330
1345
  break;
1331
1346
  }
1332
1347
  current = dirname(current);
@@ -1535,6 +1550,7 @@ export class DefaultPackageManager {
1535
1550
  return pkg.dreb ?? null;
1536
1551
  }
1537
1552
  catch {
1553
+ // Malformed package.json — fall back to convention-based discovery
1538
1554
  return null;
1539
1555
  }
1540
1556
  }
@@ -1642,7 +1658,7 @@ export class DefaultPackageManager {
1642
1658
  }
1643
1659
  }
1644
1660
  catch {
1645
- // Ignore errors
1661
+ // File/dir inaccessible — skip
1646
1662
  }
1647
1663
  }
1648
1664
  return files;