specweave 0.28.59 → 0.28.62
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/bin/specweave.js +36 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +5 -0
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/jobs.d.ts +20 -0
- package/dist/src/cli/commands/jobs.d.ts.map +1 -0
- package/dist/src/cli/commands/jobs.js +448 -0
- package/dist/src/cli/commands/jobs.js.map +1 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts +32 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +174 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +1 -0
- package/dist/src/cli/helpers/selection-strategy.d.ts +28 -0
- package/dist/src/cli/helpers/selection-strategy.d.ts.map +1 -1
- package/dist/src/cli/helpers/selection-strategy.js +48 -0
- package/dist/src/cli/helpers/selection-strategy.js.map +1 -1
- package/dist/src/cli/workers/import-worker.js +116 -2
- package/dist/src/cli/workers/import-worker.js.map +1 -1
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts +15 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts.map +1 -1
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js +56 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-jobs.md +7 -7
- package/plugins/specweave/hooks/v2/detectors/lifecycle-detector.sh +85 -0
- package/plugins/specweave/hooks/v2/detectors/us-completion-detector.sh +148 -0
- package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +58 -16
- package/plugins/specweave/hooks/v2/handlers/ac-validation-handler.sh +4 -0
- package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +4 -0
- package/plugins/specweave/hooks/v2/handlers/living-docs-handler.sh +4 -0
- package/plugins/specweave/hooks/v2/handlers/living-specs-handler.sh +179 -0
- package/plugins/specweave/hooks/v2/handlers/status-line-handler.sh +165 -0
- package/plugins/specweave/hooks/v2/handlers/status-update.sh +7 -0
- package/plugins/specweave/hooks/v2/queue/dequeue.sh +4 -0
- package/plugins/specweave/hooks/v2/queue/enqueue.sh +50 -12
- package/plugins/specweave/hooks/v2/queue/processor.sh +74 -12
- package/plugins/specweave-ado/commands/specweave-ado-clone-repos.md +379 -0
- package/plugins/specweave-release/commands/specweave-release-npm.md +51 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/import-worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"import-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/import-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,21 @@ export declare class AzureDevOpsProvider extends BaseGitProvider {
|
|
|
35
35
|
* Check if account is an organization (always true for Azure DevOps)
|
|
36
36
|
*/
|
|
37
37
|
isOrganization(account: string, token?: string): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* List all repositories in an Azure DevOps project
|
|
40
|
+
*
|
|
41
|
+
* @param organization - ADO organization name
|
|
42
|
+
* @param project - ADO project name
|
|
43
|
+
* @param token - Personal Access Token
|
|
44
|
+
* @returns Array of repository info
|
|
45
|
+
*/
|
|
46
|
+
listRepositories(organization: string, project: string, token: string): Promise<Array<{
|
|
47
|
+
id: string;
|
|
48
|
+
name: string;
|
|
49
|
+
remoteUrl: string;
|
|
50
|
+
sshUrl: string;
|
|
51
|
+
webUrl: string;
|
|
52
|
+
}>>;
|
|
38
53
|
/**
|
|
39
54
|
* Get token creation URL
|
|
40
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-devops-provider.d.ts","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/azure-devops-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEzJ,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAW5C;;;OAGG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;IA2EhC;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IAkEjC;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAyDlB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvE;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACH,iBAAiB,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE;IAIrD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAenE;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAS/D;;;OAGG;IACH,OAAO,CAAC,UAAU;CAOnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAE/F"}
|
|
1
|
+
{"version":3,"file":"azure-devops-provider.d.ts","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/azure-devops-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEzJ,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAW5C;;;OAGG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;IA2EhC;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IAkEjC;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAyDlB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvE;;;;;;;OAOG;IACG,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAwDlG;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACH,iBAAiB,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE;IAIrD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAenE;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAS/D;;;OAGG;IACH,OAAO,CAAC,UAAU;CAOnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAE/F"}
|
|
@@ -200,6 +200,62 @@ export class AzureDevOpsProvider extends BaseGitProvider {
|
|
|
200
200
|
// Azure DevOps always uses organizations
|
|
201
201
|
return true;
|
|
202
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* List all repositories in an Azure DevOps project
|
|
205
|
+
*
|
|
206
|
+
* @param organization - ADO organization name
|
|
207
|
+
* @param project - ADO project name
|
|
208
|
+
* @param token - Personal Access Token
|
|
209
|
+
* @returns Array of repository info
|
|
210
|
+
*/
|
|
211
|
+
async listRepositories(organization, project, token) {
|
|
212
|
+
const auth = Buffer.from(`:${token}`).toString('base64');
|
|
213
|
+
const headers = {
|
|
214
|
+
'Authorization': `Basic ${auth}`,
|
|
215
|
+
'Accept': 'application/json'
|
|
216
|
+
};
|
|
217
|
+
try {
|
|
218
|
+
const response = await fetch(`${this.config.apiBaseUrl}/${organization}/${project}/_apis/git/repositories?api-version=7.0`, { headers });
|
|
219
|
+
if (response.status === 401 || response.status === 403) {
|
|
220
|
+
const apiError = {
|
|
221
|
+
status: response.status,
|
|
222
|
+
message: 'Authentication failed',
|
|
223
|
+
platform: 'azure-devops',
|
|
224
|
+
operation: 'fetch_data',
|
|
225
|
+
resourceType: 'repository',
|
|
226
|
+
resourceName: `${organization}/${project}`
|
|
227
|
+
};
|
|
228
|
+
const actionable = getActionableError(apiError);
|
|
229
|
+
throw new Error(formatActionableError(actionable));
|
|
230
|
+
}
|
|
231
|
+
if (!response.ok) {
|
|
232
|
+
const apiError = {
|
|
233
|
+
status: response.status,
|
|
234
|
+
message: response.statusText,
|
|
235
|
+
platform: 'azure-devops',
|
|
236
|
+
operation: 'fetch_data',
|
|
237
|
+
resourceType: 'repository',
|
|
238
|
+
resourceName: `${organization}/${project}`
|
|
239
|
+
};
|
|
240
|
+
const actionable = getActionableError(apiError);
|
|
241
|
+
throw new Error(formatActionableError(actionable));
|
|
242
|
+
}
|
|
243
|
+
const data = await response.json();
|
|
244
|
+
return (data.value || []).map((repo) => ({
|
|
245
|
+
id: repo.id,
|
|
246
|
+
name: repo.name,
|
|
247
|
+
remoteUrl: repo.remoteUrl,
|
|
248
|
+
sshUrl: repo.sshUrl || this.getRemoteUrl(`${organization}/${project}`, repo.name, 'ssh'),
|
|
249
|
+
webUrl: repo.webUrl
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
if (error instanceof Error && error.message.includes('Authentication')) {
|
|
254
|
+
throw error; // Re-throw actionable errors
|
|
255
|
+
}
|
|
256
|
+
throw new Error(`Failed to list repositories: ${error instanceof Error ? error.message : String(error)}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
203
259
|
/**
|
|
204
260
|
* Get token creation URL
|
|
205
261
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-devops-provider.js","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/azure-devops-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAsG,MAAM,oBAAoB,CAAC;AACzJ,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAoB,MAAM,yBAAyB,CAAC;AAGtG;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,MAAgC;QAC1C,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,eAAe;YACrC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,uBAAuB;YACzD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,KAAK;YACvC,YAAY,EAAE,MAAM,EAAE,YAAY;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,IAAY,EACZ,KAAc;QAEd,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEvD,MAAM,OAAO,GAA2B;gBACtC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,wCAAwC;gBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzD,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,IAAI,EAAE,CAAC;YAC7C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,OAAO,2BAA2B,IAAI,kBAAkB,EACrG,EAAE,OAAO,EAAE,CACZ,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,gDAAgD;gBAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACxC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,4BAA4B;gBAC5B,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;iBACnC,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvD,qCAAqC;gBACrC,MAAM,QAAQ,GAAgB;oBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,QAAQ,CAAC,UAAU;oBAC5B,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,eAAe;oBAC1B,YAAY,EAAE,YAAY;oBAC1B,YAAY,EAAE,GAAG,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE;iBACnD,CAAC;gBAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACnF,CAAC;YAED,cAAc;YACd,MAAM,QAAQ,GAAgB;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,UAAU;gBAC5B,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,eAAe;gBAC1B,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,GAAG,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE;aACnD,CAAC;YAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC;aACzC,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,KAAc;QAEd,MAAM,OAAO,GAA2B;YACtC,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEvD,oDAAoD;YACpD,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,iCAAiC,EAC1E,EAAE,OAAO,EAAE,CACZ,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAgB;oBAC5B,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,gBAAgB;oBAC3B,YAAY,EAAE,cAAc;oBAC5B,YAAY,EAAE,YAAY;iBAC3B,CAAC;gBAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,CAAC;YAED,2CAA2C;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,eAAe,GAAG,MAAM,KAAK,CACjC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,mBAAmB,OAAO,kBAAkB,EACrF,EAAE,OAAO,EAAE,CACZ,CAAC;gBAEF,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAgB;wBAC5B,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,mBAAmB;wBAC5B,QAAQ,EAAE,cAAc;wBACxB,SAAS,EAAE,gBAAgB;wBAC3B,YAAY,EAAE,SAAS;wBACvB,YAAY,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE;qBAC3C,CAAC;oBAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAE/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAA0B,EAC1B,KAAa;QAEb,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,OAAO,GAAQ;YACnB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;aACd;SACF,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,OAAO,yCAAyC,EAC7F;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,SAAS,IAAI,EAAE;gBAChC,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAE3C,gCAAgC;YAChC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,yCAAyC,EAAE,CAAC;gBAC7G,wCAAwC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1D,OAAO,WAAW,IAAI,IAAI,YAAY,IAAI,OAAO,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3E,CAAC;YAED,+CAA+C;YAC/C,MAAM,QAAQ,GAAgB;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU;gBAC7C,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,aAAa;gBACxB,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,GAAG,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;aAC3D,CAAC;YAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,KAAc;QAClD,yCAAyC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC;QACzF,CAAC;QACD,OAAO,6CAA6C,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,cAAwB;QACxC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,OAAgB;QACxD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,OAAO,WAAW,IAAI,OAAO,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,IAAI,IAAI,YAAY,IAAI,OAAO,SAAS,IAAI,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,KAAa;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO;YACL,eAAe,EAAE,SAAS,IAAI,EAAE;YAChC,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAgC;IACxE,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"azure-devops-provider.js","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/azure-devops-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.62",
|
|
4
4
|
"description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -103,7 +103,7 @@ Started: 2024-01-15 10:30:00
|
|
|
103
103
|
Updated: 2024-01-15 10:32:15
|
|
104
104
|
|
|
105
105
|
Progress: 2,500/10,000 (25%)
|
|
106
|
-
Current:
|
|
106
|
+
Current: Acme\Core-Operations
|
|
107
107
|
Rate: 15.2 items/sec
|
|
108
108
|
ETA: ~8 minutes
|
|
109
109
|
|
|
@@ -122,10 +122,10 @@ Watch job progress in real-time (like `tail -f`):
|
|
|
122
122
|
|
|
123
123
|
📦 Following job abc12345 (Ctrl+C to stop)
|
|
124
124
|
|
|
125
|
-
[10:30:15] Progress: 2,500/10,000 (25%) -
|
|
126
|
-
[10:30:16] Progress: 2,520/10,000 (25%) -
|
|
127
|
-
[10:30:17] Progress: 2,545/10,000 (25%) -
|
|
128
|
-
[10:30:18] Progress: 2,570/10,000 (26%) -
|
|
125
|
+
[10:30:15] Progress: 2,500/10,000 (25%) - Acme\Core-Operations
|
|
126
|
+
[10:30:16] Progress: 2,520/10,000 (25%) - Acme\Core-Operations
|
|
127
|
+
[10:30:17] Progress: 2,545/10,000 (25%) - Acme\AI-Platform
|
|
128
|
+
[10:30:18] Progress: 2,570/10,000 (26%) - Acme\AI-Platform
|
|
129
129
|
...
|
|
130
130
|
```
|
|
131
131
|
|
|
@@ -144,8 +144,8 @@ Show detailed worker output:
|
|
|
144
144
|
[2024-01-15T10:30:00.456Z] Project path: /Users/dev/my-project
|
|
145
145
|
[2024-01-15T10:30:00.789Z] PID: 45678
|
|
146
146
|
[2024-01-15T10:30:01.234Z] Dependencies loaded, starting import...
|
|
147
|
-
[2024-01-15T10:30:02.567Z] Progress: 100/10000 - ado
|
|
148
|
-
[2024-01-15T10:30:03.890Z] Progress: 200/10000 - ado
|
|
147
|
+
[2024-01-15T10:30:02.567Z] Progress: 100/10000 - ado Acme\Core-Operations
|
|
148
|
+
[2024-01-15T10:30:03.890Z] Progress: 200/10000 - ado Acme\Core-Operations
|
|
149
149
|
...
|
|
150
150
|
```
|
|
151
151
|
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# lifecycle-detector.sh - Detect increment lifecycle changes
|
|
3
|
+
# Events: increment.created, increment.done, increment.archived, increment.reopened
|
|
4
|
+
#
|
|
5
|
+
# Called from post-tool-use.sh when metadata.json is edited
|
|
6
|
+
# Compares current vs previous status to detect transitions
|
|
7
|
+
#
|
|
8
|
+
# IMPORTANT: This script must be fast (<10ms) and never crash
|
|
9
|
+
set +e
|
|
10
|
+
|
|
11
|
+
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
12
|
+
|
|
13
|
+
INC_ID="${1:-}"
|
|
14
|
+
[[ -z "$INC_ID" ]] && exit 0
|
|
15
|
+
|
|
16
|
+
# Find project root
|
|
17
|
+
PROJECT_ROOT="$PWD"
|
|
18
|
+
while [[ "$PROJECT_ROOT" != "/" ]] && [[ ! -d "$PROJECT_ROOT/.specweave" ]]; do
|
|
19
|
+
PROJECT_ROOT=$(dirname "$PROJECT_ROOT")
|
|
20
|
+
done
|
|
21
|
+
[[ ! -d "$PROJECT_ROOT/.specweave" ]] && exit 0
|
|
22
|
+
|
|
23
|
+
STATE_DIR="$PROJECT_ROOT/.specweave/state"
|
|
24
|
+
PREV_STATUS_FILE="$STATE_DIR/.prev-status-$INC_ID"
|
|
25
|
+
META_FILE="$PROJECT_ROOT/.specweave/increments/$INC_ID/metadata.json"
|
|
26
|
+
ARCHIVE_META="$PROJECT_ROOT/.specweave/increments/_archive/$INC_ID/metadata.json"
|
|
27
|
+
|
|
28
|
+
mkdir -p "$STATE_DIR" 2>/dev/null
|
|
29
|
+
|
|
30
|
+
# Detect event
|
|
31
|
+
EVENT=""
|
|
32
|
+
EVENT_DATA="$INC_ID"
|
|
33
|
+
|
|
34
|
+
# Check if archived (folder moved to _archive/)
|
|
35
|
+
if [[ -f "$ARCHIVE_META" ]] && [[ ! -f "$META_FILE" ]]; then
|
|
36
|
+
# Check if we already detected this
|
|
37
|
+
PREV=$(cat "$PREV_STATUS_FILE" 2>/dev/null || echo "")
|
|
38
|
+
if [[ "$PREV" != "archived" ]]; then
|
|
39
|
+
EVENT="increment.archived"
|
|
40
|
+
echo "archived" > "$PREV_STATUS_FILE"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
elif [[ -f "$META_FILE" ]]; then
|
|
44
|
+
# Get current status (fast grep, no jq)
|
|
45
|
+
CURRENT_STATUS=$(grep -o '"status"[[:space:]]*:[[:space:]]*"[^"]*"' "$META_FILE" | head -1 | sed 's/.*"\([^"]*\)".*/\1/')
|
|
46
|
+
[[ -z "$CURRENT_STATUS" ]] && exit 0
|
|
47
|
+
|
|
48
|
+
# Get previous status
|
|
49
|
+
PREV_STATUS=$(cat "$PREV_STATUS_FILE" 2>/dev/null || echo "")
|
|
50
|
+
|
|
51
|
+
# Detect transitions
|
|
52
|
+
if [[ -z "$PREV_STATUS" ]]; then
|
|
53
|
+
# First time seeing this increment
|
|
54
|
+
if [[ "$CURRENT_STATUS" == "planning" ]] || [[ "$CURRENT_STATUS" == "active" ]]; then
|
|
55
|
+
EVENT="increment.created"
|
|
56
|
+
fi
|
|
57
|
+
elif [[ "$PREV_STATUS" != "$CURRENT_STATUS" ]]; then
|
|
58
|
+
# Status changed
|
|
59
|
+
case "$CURRENT_STATUS" in
|
|
60
|
+
completed)
|
|
61
|
+
EVENT="increment.done"
|
|
62
|
+
;;
|
|
63
|
+
active)
|
|
64
|
+
# Was it completed before? That's a reopen
|
|
65
|
+
if [[ "$PREV_STATUS" == "completed" ]]; then
|
|
66
|
+
EVENT="increment.reopened"
|
|
67
|
+
fi
|
|
68
|
+
;;
|
|
69
|
+
paused|abandoned)
|
|
70
|
+
# Status changes we don't emit events for
|
|
71
|
+
;;
|
|
72
|
+
esac
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Save current status
|
|
76
|
+
echo "$CURRENT_STATUS" > "$PREV_STATUS_FILE"
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
# Fire event if detected
|
|
80
|
+
if [[ -n "$EVENT" ]]; then
|
|
81
|
+
HOOK_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
82
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "$EVENT" "$EVENT_DATA" 2>/dev/null
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
exit 0
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# us-completion-detector.sh - Detect user story completion
|
|
3
|
+
# Events: user-story.completed, user-story.reopened
|
|
4
|
+
#
|
|
5
|
+
# A user story is complete when:
|
|
6
|
+
# 1. ALL tasks for that US are completed ([x])
|
|
7
|
+
# 2. ALL ACs for that US are checked ([x])
|
|
8
|
+
#
|
|
9
|
+
# Called from post-tool-use.sh when tasks.md or spec.md is edited
|
|
10
|
+
#
|
|
11
|
+
# IMPORTANT: This script must be fast (<50ms) and never crash
|
|
12
|
+
set +e
|
|
13
|
+
|
|
14
|
+
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
15
|
+
|
|
16
|
+
INC_ID="${1:-}"
|
|
17
|
+
[[ -z "$INC_ID" ]] && exit 0
|
|
18
|
+
|
|
19
|
+
# Find project root
|
|
20
|
+
PROJECT_ROOT="$PWD"
|
|
21
|
+
while [[ "$PROJECT_ROOT" != "/" ]] && [[ ! -d "$PROJECT_ROOT/.specweave" ]]; do
|
|
22
|
+
PROJECT_ROOT=$(dirname "$PROJECT_ROOT")
|
|
23
|
+
done
|
|
24
|
+
[[ ! -d "$PROJECT_ROOT/.specweave" ]] && exit 0
|
|
25
|
+
|
|
26
|
+
STATE_DIR="$PROJECT_ROOT/.specweave/state"
|
|
27
|
+
TASKS_FILE="$PROJECT_ROOT/.specweave/increments/$INC_ID/tasks.md"
|
|
28
|
+
SPEC_FILE="$PROJECT_ROOT/.specweave/increments/$INC_ID/spec.md"
|
|
29
|
+
US_STATE_FILE="$STATE_DIR/.us-completion-$INC_ID"
|
|
30
|
+
|
|
31
|
+
mkdir -p "$STATE_DIR" 2>/dev/null
|
|
32
|
+
|
|
33
|
+
[[ ! -f "$TASKS_FILE" ]] && exit 0
|
|
34
|
+
[[ ! -f "$SPEC_FILE" ]] && exit 0
|
|
35
|
+
|
|
36
|
+
# Parse tasks.md to find US -> Tasks mapping and completion status
|
|
37
|
+
# Format: ### T-001: Title
|
|
38
|
+
# **Satisfies ACs**: AC-US1-01, AC-US1-02
|
|
39
|
+
# **Status**: [x] completed
|
|
40
|
+
|
|
41
|
+
declare -A US_TASKS_TOTAL
|
|
42
|
+
declare -A US_TASKS_DONE
|
|
43
|
+
|
|
44
|
+
# Parse task blocks
|
|
45
|
+
CURRENT_TASK=""
|
|
46
|
+
CURRENT_STATUS=""
|
|
47
|
+
CURRENT_US=""
|
|
48
|
+
|
|
49
|
+
while IFS= read -r line; do
|
|
50
|
+
# Detect task header
|
|
51
|
+
if [[ "$line" =~ ^###[[:space:]]+T-[0-9]+ ]]; then
|
|
52
|
+
# Process previous task
|
|
53
|
+
if [[ -n "$CURRENT_US" ]] && [[ -n "$CURRENT_TASK" ]]; then
|
|
54
|
+
US_TASKS_TOTAL["$CURRENT_US"]=$((${US_TASKS_TOTAL["$CURRENT_US"]:-0} + 1))
|
|
55
|
+
if [[ "$CURRENT_STATUS" == "done" ]]; then
|
|
56
|
+
US_TASKS_DONE["$CURRENT_US"]=$((${US_TASKS_DONE["$CURRENT_US"]:-0} + 1))
|
|
57
|
+
fi
|
|
58
|
+
fi
|
|
59
|
+
CURRENT_TASK=$(echo "$line" | grep -o 'T-[0-9][0-9][0-9]' | head -1)
|
|
60
|
+
CURRENT_STATUS=""
|
|
61
|
+
CURRENT_US=""
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# Detect User Story reference
|
|
65
|
+
if [[ "$line" =~ User[[:space:]]*Story.*:.*US-[0-9]+ ]]; then
|
|
66
|
+
CURRENT_US=$(echo "$line" | grep -o 'US-[0-9][0-9][0-9]' | head -1)
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# Detect completion status
|
|
70
|
+
if [[ "$line" =~ Status.*\[x\] ]]; then
|
|
71
|
+
CURRENT_STATUS="done"
|
|
72
|
+
fi
|
|
73
|
+
done < "$TASKS_FILE"
|
|
74
|
+
|
|
75
|
+
# Process last task
|
|
76
|
+
if [[ -n "$CURRENT_US" ]] && [[ -n "$CURRENT_TASK" ]]; then
|
|
77
|
+
US_TASKS_TOTAL["$CURRENT_US"]=$((${US_TASKS_TOTAL["$CURRENT_US"]:-0} + 1))
|
|
78
|
+
if [[ "$CURRENT_STATUS" == "done" ]]; then
|
|
79
|
+
US_TASKS_DONE["$CURRENT_US"]=$((${US_TASKS_DONE["$CURRENT_US"]:-0} + 1))
|
|
80
|
+
fi
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
# Parse spec.md for AC completion status
|
|
84
|
+
# Format: - [x] **AC-US1-01**: Description
|
|
85
|
+
declare -A US_ACS_TOTAL
|
|
86
|
+
declare -A US_ACS_DONE
|
|
87
|
+
|
|
88
|
+
while IFS= read -r line; do
|
|
89
|
+
# Find AC lines with US reference
|
|
90
|
+
if [[ "$line" =~ AC-US([0-9]+)-[0-9]+ ]]; then
|
|
91
|
+
US_NUM="${BASH_REMATCH[1]}"
|
|
92
|
+
US_ID="US-${US_NUM}"
|
|
93
|
+
|
|
94
|
+
US_ACS_TOTAL["$US_ID"]=$((${US_ACS_TOTAL["$US_ID"]:-0} + 1))
|
|
95
|
+
|
|
96
|
+
if [[ "$line" =~ \[x\] ]]; then
|
|
97
|
+
US_ACS_DONE["$US_ID"]=$((${US_ACS_DONE["$US_ID"]:-0} + 1))
|
|
98
|
+
fi
|
|
99
|
+
fi
|
|
100
|
+
done < "$SPEC_FILE"
|
|
101
|
+
|
|
102
|
+
# Load previous completion state
|
|
103
|
+
declare -A PREV_COMPLETE
|
|
104
|
+
if [[ -f "$US_STATE_FILE" ]]; then
|
|
105
|
+
while IFS='=' read -r us status; do
|
|
106
|
+
[[ -n "$us" ]] && PREV_COMPLETE["$us"]="$status"
|
|
107
|
+
done < "$US_STATE_FILE"
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
# Check completion for each US
|
|
111
|
+
HOOK_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
112
|
+
NEW_STATE=""
|
|
113
|
+
|
|
114
|
+
for US_ID in "${!US_TASKS_TOTAL[@]}"; do
|
|
115
|
+
TASKS_TOTAL=${US_TASKS_TOTAL["$US_ID"]:-0}
|
|
116
|
+
TASKS_DONE=${US_TASKS_DONE["$US_ID"]:-0}
|
|
117
|
+
ACS_TOTAL=${US_ACS_TOTAL["$US_ID"]:-0}
|
|
118
|
+
ACS_DONE=${US_ACS_DONE["$US_ID"]:-0}
|
|
119
|
+
|
|
120
|
+
# US is complete if ALL tasks done AND ALL ACs checked
|
|
121
|
+
CURRENT_COMPLETE="no"
|
|
122
|
+
if [[ $TASKS_TOTAL -gt 0 ]] && [[ $TASKS_DONE -eq $TASKS_TOTAL ]]; then
|
|
123
|
+
if [[ $ACS_TOTAL -gt 0 ]] && [[ $ACS_DONE -eq $ACS_TOTAL ]]; then
|
|
124
|
+
CURRENT_COMPLETE="yes"
|
|
125
|
+
elif [[ $ACS_TOTAL -eq 0 ]]; then
|
|
126
|
+
# No ACs defined, just check tasks
|
|
127
|
+
CURRENT_COMPLETE="yes"
|
|
128
|
+
fi
|
|
129
|
+
fi
|
|
130
|
+
|
|
131
|
+
PREV="${PREV_COMPLETE["$US_ID"]:-no}"
|
|
132
|
+
|
|
133
|
+
# Detect transitions
|
|
134
|
+
if [[ "$CURRENT_COMPLETE" == "yes" ]] && [[ "$PREV" == "no" ]]; then
|
|
135
|
+
# User story just completed
|
|
136
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "user-story.completed" "$INC_ID:$US_ID" 2>/dev/null
|
|
137
|
+
elif [[ "$CURRENT_COMPLETE" == "no" ]] && [[ "$PREV" == "yes" ]]; then
|
|
138
|
+
# User story reopened
|
|
139
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "user-story.reopened" "$INC_ID:$US_ID" 2>/dev/null
|
|
140
|
+
fi
|
|
141
|
+
|
|
142
|
+
NEW_STATE="${NEW_STATE}${US_ID}=${CURRENT_COMPLETE}\n"
|
|
143
|
+
done
|
|
144
|
+
|
|
145
|
+
# Save new state
|
|
146
|
+
echo -e "$NEW_STATE" > "$US_STATE_FILE"
|
|
147
|
+
|
|
148
|
+
exit 0
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
# post-tool-use.sh - Single dispatcher for ALL PostToolUse events
|
|
3
3
|
# Replaces: post-task-edit, post-metadata-change, post-increment-planning, etc.
|
|
4
|
-
#
|
|
4
|
+
#
|
|
5
|
+
# Architecture (EDA v2):
|
|
6
|
+
# - Detectors run synchronously (fast, detect state transitions)
|
|
7
|
+
# - Detectors emit events to queue
|
|
8
|
+
# - Handlers process events asynchronously from queue
|
|
9
|
+
#
|
|
10
|
+
# Event flow:
|
|
11
|
+
# 1. metadata.json change -> lifecycle-detector -> increment.* events
|
|
12
|
+
# 2. tasks.md/spec.md change -> us-completion-detector -> user-story.* events
|
|
13
|
+
# 3. Events queued -> processor routes to handlers
|
|
14
|
+
#
|
|
15
|
+
# Goal: <10ms execution, all heavy work through event queue
|
|
16
|
+
#
|
|
17
|
+
# IMPORTANT: Never crash Claude, always exit 0
|
|
5
18
|
set +e
|
|
6
19
|
|
|
7
20
|
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
@@ -20,25 +33,54 @@ INPUT=$(cat)
|
|
|
20
33
|
FILE_PATH=$(echo "$INPUT" | grep -o '"file_path"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"\([^"]*\)".*/\1/')
|
|
21
34
|
[[ -z "$FILE_PATH" ]] && exit 0
|
|
22
35
|
|
|
23
|
-
#
|
|
24
|
-
EVENT_TYPE=""
|
|
25
|
-
case "$FILE_PATH" in
|
|
26
|
-
*/.specweave/increments/*/tasks.md) EVENT_TYPE="task.updated" ;;
|
|
27
|
-
*/.specweave/increments/*/spec.md) EVENT_TYPE="spec.updated" ;;
|
|
28
|
-
*/.specweave/increments/*/metadata.json) EVENT_TYPE="metadata.changed" ;;
|
|
29
|
-
*/.specweave/increments/*/plan.md) EVENT_TYPE="plan.updated" ;;
|
|
30
|
-
*) exit 0 ;; # Not a specweave file, ignore
|
|
31
|
-
esac
|
|
32
|
-
|
|
33
|
-
# Extract increment ID
|
|
36
|
+
# Extract increment ID from path
|
|
34
37
|
INC_ID=$(echo "$FILE_PATH" | grep -o '[0-9][0-9][0-9][0-9]-[^/]*' | head -1)
|
|
38
|
+
[[ -z "$INC_ID" ]] && exit 0
|
|
35
39
|
|
|
36
40
|
HOOK_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
41
|
+
DETECTOR_DIR="$HOOK_DIR/detectors"
|
|
42
|
+
|
|
43
|
+
# ============================================================================
|
|
44
|
+
# EDA DISPATCHER: Route to detectors based on file type
|
|
45
|
+
# Detectors detect state transitions and emit events to queue
|
|
46
|
+
# All heavy work is done by handlers processing the queue
|
|
47
|
+
# ============================================================================
|
|
48
|
+
|
|
49
|
+
case "$FILE_PATH" in
|
|
50
|
+
*/.specweave/increments/*/metadata.json)
|
|
51
|
+
# Metadata changed -> check for lifecycle transitions
|
|
52
|
+
# Events: increment.created, increment.done, increment.archived, increment.reopened
|
|
53
|
+
bash "$DETECTOR_DIR/lifecycle-detector.sh" "$INC_ID" 2>/dev/null &
|
|
54
|
+
;;
|
|
55
|
+
|
|
56
|
+
*/.specweave/increments/*/tasks.md|*/.specweave/increments/*/spec.md)
|
|
57
|
+
# Tasks or spec changed -> check for US completion
|
|
58
|
+
# Events: user-story.completed, user-story.reopened
|
|
59
|
+
bash "$DETECTOR_DIR/us-completion-detector.sh" "$INC_ID" 2>/dev/null &
|
|
60
|
+
|
|
61
|
+
# Also queue legacy event for backward compatibility
|
|
62
|
+
if [[ "$FILE_PATH" == *tasks.md ]]; then
|
|
63
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "task.updated" "$INC_ID" 2>/dev/null &
|
|
64
|
+
else
|
|
65
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "spec.updated" "$INC_ID" 2>/dev/null &
|
|
66
|
+
fi
|
|
67
|
+
;;
|
|
37
68
|
|
|
38
|
-
|
|
39
|
-
|
|
69
|
+
*/.specweave/increments/*/plan.md)
|
|
70
|
+
# Plan updated (for future use, currently no special handling)
|
|
71
|
+
bash "$HOOK_DIR/queue/enqueue.sh" "plan.updated" "$INC_ID" 2>/dev/null &
|
|
72
|
+
;;
|
|
73
|
+
|
|
74
|
+
*)
|
|
75
|
+
# Not a specweave increment file, ignore
|
|
76
|
+
exit 0
|
|
77
|
+
;;
|
|
78
|
+
esac
|
|
40
79
|
|
|
41
|
-
#
|
|
42
|
-
|
|
80
|
+
# NOTE: Removed synchronous status-update.sh call
|
|
81
|
+
# Status line updates are now EVENT-DRIVEN:
|
|
82
|
+
# - Updated on user-story.completed/reopened events
|
|
83
|
+
# - Updated on increment lifecycle events
|
|
84
|
+
# - NOT updated on every file edit (reduces flickering, race conditions)
|
|
43
85
|
|
|
44
86
|
exit 0
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
# ac-validation-handler.sh - Validate AC completion status
|
|
3
3
|
# Checks that completed tasks have their ACs checked in spec.md
|
|
4
4
|
# Non-blocking, logs warnings only
|
|
5
|
+
#
|
|
6
|
+
# IMPORTANT: Never crash Claude, always exit 0
|
|
5
7
|
set +e
|
|
6
8
|
|
|
9
|
+
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
10
|
+
|
|
7
11
|
INC_ID="${1:-}"
|
|
8
12
|
[[ -z "$INC_ID" ]] && exit 0
|
|
9
13
|
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
# github-sync-handler.sh - Sync increment status to GitHub issue
|
|
3
3
|
# Called async by processor, non-blocking, error-tolerant
|
|
4
|
+
#
|
|
5
|
+
# IMPORTANT: Never crash Claude, always exit 0
|
|
4
6
|
set +e
|
|
5
7
|
|
|
8
|
+
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
9
|
+
|
|
6
10
|
INC_ID="${1:-}"
|
|
7
11
|
[[ -z "$INC_ID" ]] && exit 0
|
|
8
12
|
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
# living-docs-handler.sh - Sync increment to living docs
|
|
3
3
|
# Called async by processor, non-blocking, error-tolerant
|
|
4
|
+
#
|
|
5
|
+
# IMPORTANT: Never crash Claude, always exit 0
|
|
4
6
|
set +e
|
|
5
7
|
|
|
8
|
+
[[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && exit 0
|
|
9
|
+
|
|
6
10
|
INC_ID="${1:-}"
|
|
7
11
|
[[ -z "$INC_ID" ]] && exit 0
|
|
8
12
|
|