specweave 2.2.1 → 2.2.3
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/.claude-plugin/marketplace.json +2 -2
- package/CLAUDE.md +21 -36
- package/dist/src/cli/dispatcher.d.ts +1 -1
- package/dist/src/cli/dispatcher.js +1 -1
- package/dist/src/cli/helpers/init/instruction-file-merger.js +2 -2
- package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
- package/dist/src/core/auto/completion-evaluator.d.ts +1 -1
- package/dist/src/core/auto/completion-evaluator.js +1 -1
- package/dist/src/core/fabric/security-judge.d.ts.map +1 -1
- package/dist/src/core/fabric/security-judge.js +37 -5
- package/dist/src/core/fabric/security-judge.js.map +1 -1
- package/dist/src/core/jev/browse.d.ts +2 -2
- package/dist/src/core/jev/browse.d.ts.map +1 -1
- package/dist/src/core/jev/browse.js +57 -11
- package/dist/src/core/jev/browse.js.map +1 -1
- package/dist/src/core/jev/client.d.ts.map +1 -1
- package/dist/src/core/jev/client.js +49 -20
- package/dist/src/core/jev/client.js.map +1 -1
- package/dist/src/core/jev/decide.d.ts.map +1 -1
- package/dist/src/core/jev/decide.js +12 -7
- package/dist/src/core/jev/decide.js.map +1 -1
- package/dist/src/core/llm/index.d.ts +1 -1
- package/dist/src/core/llm/index.js +1 -1
- package/dist/src/core/llm/model-capabilities.d.ts +79 -0
- package/dist/src/core/llm/model-capabilities.d.ts.map +1 -0
- package/dist/src/core/llm/model-capabilities.js +157 -0
- package/dist/src/core/llm/model-capabilities.js.map +1 -0
- package/dist/src/core/llm/provider-factory.js +1 -1
- package/dist/src/core/llm/providers/anthropic-provider.d.ts +1 -0
- package/dist/src/core/llm/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/src/core/llm/providers/anthropic-provider.js +38 -11
- package/dist/src/core/llm/providers/anthropic-provider.js.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.js +10 -5
- package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
- package/dist/src/core/llm/providers/claude-code-provider.js +1 -1
- package/dist/src/core/llm/types.d.ts +20 -1
- package/dist/src/core/llm/types.d.ts.map +1 -1
- package/dist/src/core/llm/types.js.map +1 -1
- package/dist/src/core/session/handoff-secret-scrub.d.ts.map +1 -1
- package/dist/src/core/session/handoff-secret-scrub.js +2 -1
- package/dist/src/core/session/handoff-secret-scrub.js.map +1 -1
- package/dist/src/core/skill-gen/signal-collector.js +1 -1
- package/dist/src/core/skill-gen/signal-collector.js.map +1 -1
- package/dist/src/core/skill-gen/suggestion-engine.js +1 -1
- package/dist/src/core/skill-gen/suggestion-engine.js.map +1 -1
- package/dist/src/core/skill-gen/types.d.ts +1 -1
- package/dist/src/core/skill-gen/types.d.ts.map +1 -1
- package/dist/src/core/skill-refine/haiku-diff.d.ts +25 -2
- package/dist/src/core/skill-refine/haiku-diff.d.ts.map +1 -1
- package/dist/src/core/skill-refine/haiku-diff.js +18 -5
- package/dist/src/core/skill-refine/haiku-diff.js.map +1 -1
- package/dist/src/core/skills/skill-judge.d.ts +16 -17
- package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
- package/dist/src/core/skills/skill-judge.js +39 -36
- package/dist/src/core/skills/skill-judge.js.map +1 -1
- package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -1
- package/dist/src/dashboard/server/data/cost-aggregator.js +2 -0
- package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -1
- package/dist/src/utils/pricing-constants.d.ts +1 -1
- package/dist/src/utils/pricing-constants.d.ts.map +1 -1
- package/dist/src/utils/pricing-constants.js +3 -1
- package/dist/src/utils/pricing-constants.js.map +1 -1
- package/package.json +2 -2
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/.lint/skill-lint.test.ts +104 -92
- package/plugins/specweave/skills/team/agents/_protocol.md +8 -52
- package/plugins/specweave/skills/team/agents/backend.md +2 -5
- package/plugins/specweave/skills/team/agents/brainstorm-advocate.md +4 -2
- package/plugins/specweave/skills/team/agents/brainstorm-critic.md +4 -2
- package/plugins/specweave/skills/team/agents/brainstorm-pragmatist.md +4 -2
- package/plugins/specweave/skills/team/agents/database.md +0 -2
- package/plugins/specweave/skills/team/agents/testing.md +0 -2
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts +0 -32
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +0 -157
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +0 -1
- package/dist/src/cli/helpers/init/api-docs-config.d.ts +0 -67
- package/dist/src/cli/helpers/init/api-docs-config.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/api-docs-config.js +0 -426
- package/dist/src/cli/helpers/init/api-docs-config.js.map +0 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts +0 -42
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +0 -261
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +0 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +0 -45
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.js +0 -431
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +0 -1
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts +0 -55
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/claude-settings-lsp.js +0 -270
- package/dist/src/cli/helpers/init/claude-settings-lsp.js.map +0 -1
- package/dist/src/cli/helpers/init/multi-project-folders.d.ts +0 -15
- package/dist/src/cli/helpers/init/multi-project-folders.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/multi-project-folders.js +0 -43
- package/dist/src/cli/helpers/init/multi-project-folders.js.map +0 -1
- package/dist/src/cli/helpers/init/plugin-install-flags.d.ts +0 -114
- package/dist/src/cli/helpers/init/plugin-install-flags.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/plugin-install-flags.js +0 -202
- package/dist/src/cli/helpers/init/plugin-install-flags.js.map +0 -1
- package/dist/src/cli/helpers/init/prompt-flow.d.ts +0 -59
- package/dist/src/cli/helpers/init/prompt-flow.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/prompt-flow.js +0 -127
- package/dist/src/cli/helpers/init/prompt-flow.js.map +0 -1
- package/dist/src/cli/helpers/init/testing-config.d.ts +0 -69
- package/dist/src/cli/helpers/init/testing-config.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/testing-config.js +0 -433
- package/dist/src/cli/helpers/init/testing-config.js.map +0 -1
- package/dist/src/cli/helpers/init/umbrella-cloning.d.ts +0 -39
- package/dist/src/cli/helpers/init/umbrella-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/umbrella-cloning.js +0 -121
- package/dist/src/cli/helpers/init/umbrella-cloning.js.map +0 -1
- package/plugins/specweave/.lint/skill-lint.ts +0 -51
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bitbucket Repository Cloning
|
|
3
|
-
*
|
|
4
|
-
* Handles fetching and cloning Bitbucket repositories during init.
|
|
5
|
-
* Cloning runs in background (non-blocking) via job manager.
|
|
6
|
-
*
|
|
7
|
-
* Provides parity with ADO multi-repo cloning:
|
|
8
|
-
* - Fetches repos from Bitbucket workspace via API v2.0
|
|
9
|
-
* - Filters by user-selected pattern (all/glob/regex)
|
|
10
|
-
* - Creates background clone jobs
|
|
11
|
-
* - Tracks progress via sw:jobs
|
|
12
|
-
*
|
|
13
|
-
* @module cli/helpers/init/bitbucket-repo-cloning
|
|
14
|
-
*/
|
|
15
|
-
import chalk from 'chalk';
|
|
16
|
-
import { filterRepositoriesByPattern } from '../selection-strategy.js';
|
|
17
|
-
import { launchCloneJob } from '../../../core/background/job-launcher.js';
|
|
18
|
-
import { REPO_FETCH_LIMITS } from './types.js';
|
|
19
|
-
/**
|
|
20
|
-
* Sleep for specified milliseconds
|
|
21
|
-
*/
|
|
22
|
-
function sleep(ms) {
|
|
23
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Fetch repositories from Bitbucket workspace with pagination
|
|
27
|
-
*
|
|
28
|
-
* Uses Bitbucket API v2.0:
|
|
29
|
-
* https://api.bitbucket.org/2.0/repositories/{workspace}
|
|
30
|
-
*
|
|
31
|
-
* @param workspace - Bitbucket workspace slug
|
|
32
|
-
* @param username - Bitbucket username
|
|
33
|
-
* @param appPassword - Bitbucket App Password
|
|
34
|
-
* @param maxRepos - Maximum repos to fetch (default 1000, configurable via REPO_FETCH_LIMITS)
|
|
35
|
-
* @returns Fetch result with repos and metadata
|
|
36
|
-
*/
|
|
37
|
-
async function fetchBitbucketRepos(workspace, username, appPassword, maxRepos = REPO_FETCH_LIMITS.DEFAULT_MAX_REPOS) {
|
|
38
|
-
const repos = [];
|
|
39
|
-
let nextUrl = `https://api.bitbucket.org/2.0/repositories/${encodeURIComponent(workspace)}?pagelen=${REPO_FETCH_LIMITS.API_PER_PAGE}`;
|
|
40
|
-
let partial = false;
|
|
41
|
-
// Create Basic Auth header
|
|
42
|
-
const authToken = Buffer.from(`${username}:${appPassword}`).toString('base64');
|
|
43
|
-
console.log(chalk.gray(` Fetching repositories from workspace ${workspace}...`));
|
|
44
|
-
while (nextUrl && repos.length < maxRepos) {
|
|
45
|
-
// Retry logic with exponential backoff
|
|
46
|
-
let retries = 0;
|
|
47
|
-
const maxRetries = 3;
|
|
48
|
-
let response;
|
|
49
|
-
while (retries < maxRetries) {
|
|
50
|
-
try {
|
|
51
|
-
response = await fetch(nextUrl, {
|
|
52
|
-
headers: {
|
|
53
|
-
'Authorization': `Basic ${authToken}`,
|
|
54
|
-
'Accept': 'application/json'
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
if (response.ok) {
|
|
58
|
-
break; // Success, exit retry loop
|
|
59
|
-
}
|
|
60
|
-
// Handle rate limit (429)
|
|
61
|
-
if (response.status === 429) {
|
|
62
|
-
const retryAfter = response.headers.get('retry-after');
|
|
63
|
-
const backoffMs = retryAfter
|
|
64
|
-
? parseInt(retryAfter, 10) * 1000
|
|
65
|
-
: Math.pow(2, retries + 1) * 1000;
|
|
66
|
-
console.log(chalk.yellow(` ⚠️ Rate limit hit, retrying in ${backoffMs / 1000}s (attempt ${retries + 1}/${maxRetries})`));
|
|
67
|
-
await sleep(backoffMs);
|
|
68
|
-
retries++;
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
// Handle 401 (invalid credentials)
|
|
72
|
-
if (response.status === 401) {
|
|
73
|
-
return {
|
|
74
|
-
repos: [],
|
|
75
|
-
partial: false,
|
|
76
|
-
error: 'Invalid Bitbucket credentials. Please check your username and app password.'
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
// Handle 403 (forbidden)
|
|
80
|
-
if (response.status === 403) {
|
|
81
|
-
return {
|
|
82
|
-
repos: [],
|
|
83
|
-
partial: false,
|
|
84
|
-
error: 'Access denied. Please check your app password has repository:read permission.'
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
// Handle 404 (workspace not found)
|
|
88
|
-
if (response.status === 404) {
|
|
89
|
-
return {
|
|
90
|
-
repos: [],
|
|
91
|
-
partial: false,
|
|
92
|
-
error: `Workspace "${workspace}" not found on Bitbucket.`
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
// Other error - don't retry
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
catch (networkError) {
|
|
99
|
-
retries++;
|
|
100
|
-
if (retries >= maxRetries) {
|
|
101
|
-
return {
|
|
102
|
-
repos,
|
|
103
|
-
partial: repos.length > 0,
|
|
104
|
-
error: `Network error after ${maxRetries} retries: ${networkError instanceof Error ? networkError.message : 'Unknown error'}`
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
const backoffMs = Math.pow(2, retries) * 1000;
|
|
108
|
-
console.log(chalk.yellow(` ⚠️ Network error, retrying in ${backoffMs / 1000}s (attempt ${retries}/${maxRetries})`));
|
|
109
|
-
await sleep(backoffMs);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// Check if we exhausted retries without success
|
|
113
|
-
if (!response || !response.ok) {
|
|
114
|
-
if (repos.length > 0) {
|
|
115
|
-
// Continue with partial results
|
|
116
|
-
console.log(chalk.yellow(` ⚠️ API error, continuing with ${repos.length} repos fetched`));
|
|
117
|
-
partial = true;
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
repos: [],
|
|
122
|
-
partial: false,
|
|
123
|
-
error: `Bitbucket API error: ${response?.status || 'No response'}`
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
const data = await response.json();
|
|
127
|
-
// Empty values array means no more repos
|
|
128
|
-
if (!data.values || data.values.length === 0) {
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
repos.push(...data.values);
|
|
132
|
-
// Show progress for large workspaces
|
|
133
|
-
if (repos.length >= 100 && repos.length % 100 === 0) {
|
|
134
|
-
console.log(chalk.gray(` Fetched ${repos.length} repos...`));
|
|
135
|
-
}
|
|
136
|
-
// Get next page URL if available
|
|
137
|
-
nextUrl = data.next;
|
|
138
|
-
}
|
|
139
|
-
return {
|
|
140
|
-
repos,
|
|
141
|
-
partial
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Build HTTPS clone URL with app password authentication
|
|
146
|
-
*
|
|
147
|
-
* @param workspace - Bitbucket workspace slug
|
|
148
|
-
* @param repo - Repository slug
|
|
149
|
-
* @param username - Bitbucket username
|
|
150
|
-
* @param appPassword - Bitbucket App Password
|
|
151
|
-
* @returns Clone URL with embedded authentication
|
|
152
|
-
*/
|
|
153
|
-
function buildBitbucketCloneUrl(workspace, repo, username, appPassword) {
|
|
154
|
-
// Format: https://{username}:{appPassword}@bitbucket.org/{workspace}/{repo}.git
|
|
155
|
-
// URL-encode to handle special characters in credentials
|
|
156
|
-
const encodedUsername = encodeURIComponent(username);
|
|
157
|
-
const encodedPassword = encodeURIComponent(appPassword);
|
|
158
|
-
const encodedWorkspace = encodeURIComponent(workspace);
|
|
159
|
-
const encodedRepo = encodeURIComponent(repo);
|
|
160
|
-
return `https://${encodedUsername}:${encodedPassword}@bitbucket.org/${encodedWorkspace}/${encodedRepo}.git`;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Trigger Bitbucket repository cloning during init
|
|
164
|
-
*
|
|
165
|
-
* This function:
|
|
166
|
-
* 1. Fetches repository list from Bitbucket workspace
|
|
167
|
-
* 2. Filters repositories by clone pattern (glob/regex)
|
|
168
|
-
* 3. Creates a background job for cloning
|
|
169
|
-
* 4. Starts cloning asynchronously (non-blocking)
|
|
170
|
-
*
|
|
171
|
-
* @param projectPath - Target directory for cloning
|
|
172
|
-
* @param bitbucketRepoSelection - Bitbucket workspace and credentials
|
|
173
|
-
* @param clonePattern - Clone pattern configuration
|
|
174
|
-
* @returns Job ID for dependency tracking, or undefined if skipped/failed
|
|
175
|
-
*/
|
|
176
|
-
export async function triggerBitbucketRepoCloning(projectPath, bitbucketRepoSelection, clonePattern) {
|
|
177
|
-
// Skip if user chose to skip cloning
|
|
178
|
-
if (clonePattern.strategy === 'skip') {
|
|
179
|
-
console.log(chalk.gray('\n Skipping repository cloning (add repos later with: specweave get <workspace>/<repo>)\n'));
|
|
180
|
-
return undefined;
|
|
181
|
-
}
|
|
182
|
-
const { workspace, username, appPassword } = bitbucketRepoSelection;
|
|
183
|
-
if (!workspace) {
|
|
184
|
-
console.log(chalk.yellow('\n No Bitbucket workspace specified for cloning.\n'));
|
|
185
|
-
return undefined;
|
|
186
|
-
}
|
|
187
|
-
if (!username || !appPassword) {
|
|
188
|
-
console.log(chalk.yellow('\n No Bitbucket credentials provided. Cannot clone repositories.\n'));
|
|
189
|
-
return undefined;
|
|
190
|
-
}
|
|
191
|
-
// Security warning about credential visibility
|
|
192
|
-
console.log(chalk.yellow('\n ⚠️ Note: Credentials will be visible in process list during clone (Git limitation)'));
|
|
193
|
-
console.log(chalk.gray(' 💡 Tip: Use App Password with minimal scope (repository:read) for cloning\n'));
|
|
194
|
-
console.log(chalk.blue('\n📦 Fetching Bitbucket Repositories\n'));
|
|
195
|
-
// Fetch repos from Bitbucket API
|
|
196
|
-
const fetchResult = await fetchBitbucketRepos(workspace, username, appPassword);
|
|
197
|
-
if (fetchResult.error) {
|
|
198
|
-
console.log(chalk.red(` ❌ ${fetchResult.error}\n`));
|
|
199
|
-
return undefined;
|
|
200
|
-
}
|
|
201
|
-
if (fetchResult.partial) {
|
|
202
|
-
console.log(chalk.yellow(` ⚠️ Partial fetch: Got ${fetchResult.repos.length} repos before limit\n`));
|
|
203
|
-
}
|
|
204
|
-
const allRepos = fetchResult.repos;
|
|
205
|
-
if (allRepos.length === 0) {
|
|
206
|
-
console.log(chalk.yellow('\n No repositories found in workspace.\n'));
|
|
207
|
-
return undefined;
|
|
208
|
-
}
|
|
209
|
-
console.log(chalk.green(` ✓ Found ${allRepos.length} repositories in ${workspace}`));
|
|
210
|
-
// Filter by pattern - use 'slug' field for Bitbucket (consistent repo identifier)
|
|
211
|
-
// Map to expected format for filterRepositoriesByPattern
|
|
212
|
-
const reposWithName = allRepos.map(r => ({ ...r, name: r.slug }));
|
|
213
|
-
const filteredRepos = filterRepositoriesByPattern(reposWithName, clonePattern);
|
|
214
|
-
if (filteredRepos.length === 0) {
|
|
215
|
-
const patternDesc = clonePattern.pattern ? ` matching "${clonePattern.pattern}"` : '';
|
|
216
|
-
console.log(chalk.yellow(`\n No repositories${patternDesc} to clone.\n`));
|
|
217
|
-
return undefined;
|
|
218
|
-
}
|
|
219
|
-
console.log(chalk.blue(`\n🔄 Starting background clone for ${filteredRepos.length} repositories...\n`));
|
|
220
|
-
// Show repos to be cloned
|
|
221
|
-
const previewCount = Math.min(filteredRepos.length, 10);
|
|
222
|
-
for (let i = 0; i < previewCount; i++) {
|
|
223
|
-
console.log(chalk.gray(` 📁 ${filteredRepos[i].slug}`));
|
|
224
|
-
}
|
|
225
|
-
if (filteredRepos.length > 10) {
|
|
226
|
-
console.log(chalk.gray(` ... and ${filteredRepos.length - 10} more`));
|
|
227
|
-
}
|
|
228
|
-
console.log('');
|
|
229
|
-
// Prepare repositories with clone URLs
|
|
230
|
-
// v1.0.21: Clone into repositories/{workspace}/repo-name/ structure
|
|
231
|
-
// This keeps all cloned repos organized and separate from the main project
|
|
232
|
-
const reposWithUrls = filteredRepos.map(r => ({
|
|
233
|
-
owner: workspace,
|
|
234
|
-
name: r.slug,
|
|
235
|
-
path: `repositories/${workspace}/${r.slug}`, // Clone into repositories/{workspace}/{repo}
|
|
236
|
-
cloneUrl: buildBitbucketCloneUrl(workspace, r.slug, username, appPassword)
|
|
237
|
-
}));
|
|
238
|
-
// Launch background clone job
|
|
239
|
-
const result = await launchCloneJob({
|
|
240
|
-
projectPath,
|
|
241
|
-
repositories: reposWithUrls
|
|
242
|
-
});
|
|
243
|
-
// Show progress info (skip if all repos were already cloned)
|
|
244
|
-
if (!result.skippedPreFlight) {
|
|
245
|
-
console.log(chalk.gray(` Repositories will be cloned to: ${projectPath}/repositories/${workspace}/`));
|
|
246
|
-
console.log(chalk.gray(` Job ID: ${result.job.id}`));
|
|
247
|
-
if (result.isBackground) {
|
|
248
|
-
console.log(chalk.green(` ✓ Clone job started in background (PID: ${result.pid})`));
|
|
249
|
-
console.log(chalk.cyan('\n Check progress: sw:jobs'));
|
|
250
|
-
console.log(chalk.cyan(` Kill if needed: sw:jobs --kill ${result.job.id}`));
|
|
251
|
-
console.log(chalk.gray('\n Init will continue - cloning runs independently.\n'));
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
console.log(chalk.yellow(' ⚠️ Running in foreground (clone worker not found)'));
|
|
255
|
-
console.log(chalk.gray(' Init will block until cloning completes.\n'));
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
// Return job ID for dependency tracking
|
|
259
|
-
return result.job.id;
|
|
260
|
-
}
|
|
261
|
-
//# sourceMappingURL=bitbucket-repo-cloning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket-repo-cloning.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/bitbucket-repo-cloning.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brownfield analysis prompts
|
|
3
|
-
* Handles brownfield project detection and analysis configuration
|
|
4
|
-
*/
|
|
5
|
-
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Analysis depth options
|
|
8
|
-
*/
|
|
9
|
-
export type AnalysisDepth = 'quick' | 'standard' | 'deep';
|
|
10
|
-
/**
|
|
11
|
-
* Detected documentation location
|
|
12
|
-
*/
|
|
13
|
-
export interface DetectedDocsLocation {
|
|
14
|
-
path: string;
|
|
15
|
-
type: 'markdown' | 'wiki' | 'readme' | 'jsdoc' | 'mixed';
|
|
16
|
-
fileCount: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Brownfield analysis configuration result
|
|
20
|
-
*/
|
|
21
|
-
export interface BrownfieldAnalysisConfig {
|
|
22
|
-
enabled: boolean;
|
|
23
|
-
sourceDocsPath?: string;
|
|
24
|
-
analysisDepth: AnalysisDepth;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Detect existing documentation locations in a project
|
|
28
|
-
*/
|
|
29
|
-
export declare function detectExistingDocsLocations(targetDir: string): DetectedDocsLocation[];
|
|
30
|
-
/**
|
|
31
|
-
* Prompt user for brownfield analysis configuration
|
|
32
|
-
*
|
|
33
|
-
* @param targetDir - Project directory
|
|
34
|
-
* @param language - Language for translations
|
|
35
|
-
* @returns Brownfield analysis configuration
|
|
36
|
-
*/
|
|
37
|
-
export declare function promptBrownfieldAnalysis(targetDir: string, language?: SupportedLanguage): Promise<BrownfieldAnalysisConfig>;
|
|
38
|
-
/**
|
|
39
|
-
* Update config.json with brownfield analysis configuration
|
|
40
|
-
*
|
|
41
|
-
* @param targetDir - Project directory
|
|
42
|
-
* @param config - Brownfield analysis configuration
|
|
43
|
-
*/
|
|
44
|
-
export declare function updateConfigWithBrownfield(targetDir: string, config: BrownfieldAnalysisConfig): void;
|
|
45
|
-
//# sourceMappingURL=brownfield-analysis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brownfield-analysis.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/brownfield-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAgPD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA6CrF;AAqDD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAsFnC;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,GAC/B,IAAI,CAkBN"}
|