@link-assistant/hive-mind 0.46.1 → 0.47.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 (63) hide show
  1. package/CHANGELOG.md +20 -15
  2. package/README.md +42 -8
  3. package/package.json +16 -3
  4. package/src/agent.lib.mjs +49 -70
  5. package/src/agent.prompts.lib.mjs +6 -20
  6. package/src/buildUserMention.lib.mjs +4 -17
  7. package/src/claude-limits.lib.mjs +15 -15
  8. package/src/claude.lib.mjs +617 -626
  9. package/src/claude.prompts.lib.mjs +7 -22
  10. package/src/codex.lib.mjs +39 -71
  11. package/src/codex.prompts.lib.mjs +6 -20
  12. package/src/config.lib.mjs +3 -16
  13. package/src/contributing-guidelines.lib.mjs +5 -18
  14. package/src/exit-handler.lib.mjs +4 -4
  15. package/src/git.lib.mjs +7 -7
  16. package/src/github-issue-creator.lib.mjs +17 -17
  17. package/src/github-linking.lib.mjs +8 -33
  18. package/src/github.batch.lib.mjs +20 -16
  19. package/src/github.graphql.lib.mjs +18 -18
  20. package/src/github.lib.mjs +89 -91
  21. package/src/hive.config.lib.mjs +50 -50
  22. package/src/hive.mjs +1293 -1296
  23. package/src/instrument.mjs +7 -11
  24. package/src/interactive-mode.lib.mjs +112 -138
  25. package/src/lenv-reader.lib.mjs +1 -6
  26. package/src/lib.mjs +36 -45
  27. package/src/lino.lib.mjs +2 -2
  28. package/src/local-ci-checks.lib.mjs +15 -14
  29. package/src/memory-check.mjs +52 -60
  30. package/src/model-mapping.lib.mjs +25 -32
  31. package/src/model-validation.lib.mjs +31 -31
  32. package/src/opencode.lib.mjs +37 -62
  33. package/src/opencode.prompts.lib.mjs +7 -21
  34. package/src/protect-branch.mjs +14 -15
  35. package/src/review.mjs +28 -27
  36. package/src/reviewers-hive.mjs +64 -69
  37. package/src/sentry.lib.mjs +13 -10
  38. package/src/solve.auto-continue.lib.mjs +48 -38
  39. package/src/solve.auto-pr.lib.mjs +111 -69
  40. package/src/solve.branch-errors.lib.mjs +17 -46
  41. package/src/solve.branch.lib.mjs +16 -23
  42. package/src/solve.config.lib.mjs +263 -261
  43. package/src/solve.error-handlers.lib.mjs +21 -79
  44. package/src/solve.execution.lib.mjs +10 -18
  45. package/src/solve.feedback.lib.mjs +25 -46
  46. package/src/solve.mjs +59 -60
  47. package/src/solve.preparation.lib.mjs +10 -36
  48. package/src/solve.repo-setup.lib.mjs +4 -19
  49. package/src/solve.repository.lib.mjs +37 -37
  50. package/src/solve.results.lib.mjs +32 -46
  51. package/src/solve.session.lib.mjs +7 -22
  52. package/src/solve.validation.lib.mjs +19 -17
  53. package/src/solve.watch.lib.mjs +20 -33
  54. package/src/start-screen.mjs +24 -24
  55. package/src/task.mjs +38 -44
  56. package/src/telegram-bot.mjs +125 -121
  57. package/src/telegram-top-command.lib.mjs +32 -48
  58. package/src/usage-limit.lib.mjs +9 -13
  59. package/src/version-info.lib.mjs +1 -1
  60. package/src/version.lib.mjs +1 -1
  61. package/src/youtrack/solve.youtrack.lib.mjs +3 -8
  62. package/src/youtrack/youtrack-sync.mjs +8 -14
  63. package/src/youtrack/youtrack.lib.mjs +26 -28
@@ -15,7 +15,7 @@ const branchNameRegex = {
15
15
  // Combined pattern for both formats
16
16
  any: /^issue-(\d+)-([a-f0-9]{8}|[a-f0-9]{12})$/,
17
17
  // Pattern for prefix matching: issue-{number}-
18
- prefix: (issueNumber) => new RegExp(`^issue-${issueNumber}-([a-f0-9]{8}|[a-f0-9]{12})$`)
18
+ prefix: issueNumber => new RegExp(`^issue-${issueNumber}-([a-f0-9]{8}|[a-f0-9]{12})$`),
19
19
  };
20
20
 
21
21
  /**
@@ -56,7 +56,7 @@ export function parseIssueBranchName(branchName) {
56
56
 
57
57
  return {
58
58
  issueNumber: match[1],
59
- randomId: match[2]
59
+ randomId: match[2],
60
60
  };
61
61
  }
62
62
 
@@ -100,18 +100,7 @@ export function detectBranchFormat(branchName) {
100
100
  return null;
101
101
  }
102
102
 
103
- export async function createOrCheckoutBranch({
104
- isContinueMode,
105
- prBranch,
106
- issueNumber,
107
- tempDir,
108
- defaultBranch,
109
- argv,
110
- log,
111
- formatAligned,
112
- $,
113
- crypto
114
- }) {
103
+ export async function createOrCheckoutBranch({ isContinueMode, prBranch, issueNumber, tempDir, defaultBranch, argv, log, formatAligned, $, crypto }) {
115
104
  // Create a branch for the issue or checkout existing PR branch
116
105
  let branchName;
117
106
  let checkoutResult;
@@ -146,12 +135,12 @@ export async function createOrCheckoutBranch({
146
135
  errorOutput,
147
136
  issueUrl: argv['issue-url'] || argv._[0],
148
137
  owner: null, // Will be set later
149
- repo: null, // Will be set later
138
+ repo: null, // Will be set later
150
139
  tempDir,
151
140
  argv,
152
141
  formatAligned,
153
142
  log,
154
- $
143
+ $,
155
144
  });
156
145
  } else {
157
146
  const branchErrors = await import('./solve.branch-errors.lib.mjs');
@@ -161,9 +150,9 @@ export async function createOrCheckoutBranch({
161
150
  errorOutput,
162
151
  tempDir,
163
152
  owner: null, // Will be set later
164
- repo: null, // Will be set later
153
+ repo: null, // Will be set later
165
154
  formatAligned,
166
- log
155
+ log,
167
156
  });
168
157
  }
169
158
 
@@ -201,11 +190,11 @@ export async function createOrCheckoutBranch({
201
190
  actualBranch,
202
191
  prNumber: null, // Will be set later
203
192
  owner: null, // Will be set later
204
- repo: null, // Will be set later
193
+ repo: null, // Will be set later
205
194
  tempDir,
206
195
  formatAligned,
207
196
  log,
208
- $
197
+ $,
209
198
  });
210
199
  throw new Error('Branch verification mismatch');
211
200
  }
@@ -215,16 +204,20 @@ export async function createOrCheckoutBranch({
215
204
  await log(`${formatAligned('✅', 'Current branch:', actualBranch)}`);
216
205
  if (argv.verbose) {
217
206
  await log(' Branch operation: Checkout existing PR branch', { verbose: true });
218
- await log(` Branch verification: ${actualBranch === branchName ? 'Matches expected' : 'MISMATCH!'}`, { verbose: true });
207
+ await log(` Branch verification: ${actualBranch === branchName ? 'Matches expected' : 'MISMATCH!'}`, {
208
+ verbose: true,
209
+ });
219
210
  }
220
211
  } else {
221
212
  await log(`${formatAligned('✅', 'Branch created:', branchName)}`);
222
213
  await log(`${formatAligned('✅', 'Current branch:', actualBranch)}`);
223
214
  if (argv.verbose) {
224
215
  await log(' Branch operation: Create new branch', { verbose: true });
225
- await log(` Branch verification: ${actualBranch === branchName ? 'Matches expected' : 'MISMATCH!'}`, { verbose: true });
216
+ await log(` Branch verification: ${actualBranch === branchName ? 'Matches expected' : 'MISMATCH!'}`, {
217
+ verbose: true,
218
+ });
226
219
  }
227
220
  }
228
221
 
229
222
  return branchName;
230
- }
223
+ }