@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.
- package/CHANGELOG.md +20 -15
- package/README.md +42 -8
- package/package.json +16 -3
- package/src/agent.lib.mjs +49 -70
- package/src/agent.prompts.lib.mjs +6 -20
- package/src/buildUserMention.lib.mjs +4 -17
- package/src/claude-limits.lib.mjs +15 -15
- package/src/claude.lib.mjs +617 -626
- package/src/claude.prompts.lib.mjs +7 -22
- package/src/codex.lib.mjs +39 -71
- package/src/codex.prompts.lib.mjs +6 -20
- package/src/config.lib.mjs +3 -16
- package/src/contributing-guidelines.lib.mjs +5 -18
- package/src/exit-handler.lib.mjs +4 -4
- package/src/git.lib.mjs +7 -7
- package/src/github-issue-creator.lib.mjs +17 -17
- package/src/github-linking.lib.mjs +8 -33
- package/src/github.batch.lib.mjs +20 -16
- package/src/github.graphql.lib.mjs +18 -18
- package/src/github.lib.mjs +89 -91
- package/src/hive.config.lib.mjs +50 -50
- package/src/hive.mjs +1293 -1296
- package/src/instrument.mjs +7 -11
- package/src/interactive-mode.lib.mjs +112 -138
- package/src/lenv-reader.lib.mjs +1 -6
- package/src/lib.mjs +36 -45
- package/src/lino.lib.mjs +2 -2
- package/src/local-ci-checks.lib.mjs +15 -14
- package/src/memory-check.mjs +52 -60
- package/src/model-mapping.lib.mjs +25 -32
- package/src/model-validation.lib.mjs +31 -31
- package/src/opencode.lib.mjs +37 -62
- package/src/opencode.prompts.lib.mjs +7 -21
- package/src/protect-branch.mjs +14 -15
- package/src/review.mjs +28 -27
- package/src/reviewers-hive.mjs +64 -69
- package/src/sentry.lib.mjs +13 -10
- package/src/solve.auto-continue.lib.mjs +48 -38
- package/src/solve.auto-pr.lib.mjs +111 -69
- package/src/solve.branch-errors.lib.mjs +17 -46
- package/src/solve.branch.lib.mjs +16 -23
- package/src/solve.config.lib.mjs +263 -261
- package/src/solve.error-handlers.lib.mjs +21 -79
- package/src/solve.execution.lib.mjs +10 -18
- package/src/solve.feedback.lib.mjs +25 -46
- package/src/solve.mjs +59 -60
- package/src/solve.preparation.lib.mjs +10 -36
- package/src/solve.repo-setup.lib.mjs +4 -19
- package/src/solve.repository.lib.mjs +37 -37
- package/src/solve.results.lib.mjs +32 -46
- package/src/solve.session.lib.mjs +7 -22
- package/src/solve.validation.lib.mjs +19 -17
- package/src/solve.watch.lib.mjs +20 -33
- package/src/start-screen.mjs +24 -24
- package/src/task.mjs +38 -44
- package/src/telegram-bot.mjs +125 -121
- package/src/telegram-top-command.lib.mjs +32 -48
- package/src/usage-limit.lib.mjs +9 -13
- package/src/version-info.lib.mjs +1 -1
- package/src/version.lib.mjs +1 -1
- package/src/youtrack/solve.youtrack.lib.mjs +3 -8
- package/src/youtrack/youtrack-sync.mjs +8 -14
- package/src/youtrack/youtrack.lib.mjs +26 -28
package/src/solve.branch.lib.mjs
CHANGED
|
@@ -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:
|
|
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,
|
|
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,
|
|
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,
|
|
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!'}`, {
|
|
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!'}`, {
|
|
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
|
+
}
|