specweave 0.23.10 → 0.23.12

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 (102) hide show
  1. package/.claude-plugin/marketplace.json +7 -7
  2. package/CLAUDE.md +384 -1449
  3. package/dist/src/cli/commands/cleanup-cache.d.ts +14 -0
  4. package/dist/src/cli/commands/cleanup-cache.d.ts.map +1 -0
  5. package/dist/src/cli/commands/cleanup-cache.js +63 -0
  6. package/dist/src/cli/commands/cleanup-cache.js.map +1 -0
  7. package/dist/src/cli/commands/init.js +40 -0
  8. package/dist/src/cli/commands/init.js.map +1 -1
  9. package/dist/src/cli/helpers/async-project-loader.d.ts +148 -0
  10. package/dist/src/cli/helpers/async-project-loader.d.ts.map +1 -0
  11. package/dist/src/cli/helpers/async-project-loader.js +351 -0
  12. package/dist/src/cli/helpers/async-project-loader.js.map +1 -0
  13. package/dist/src/cli/helpers/cancelation-handler.d.ts +123 -0
  14. package/dist/src/cli/helpers/cancelation-handler.d.ts.map +1 -0
  15. package/dist/src/cli/helpers/cancelation-handler.js +187 -0
  16. package/dist/src/cli/helpers/cancelation-handler.js.map +1 -0
  17. package/dist/src/cli/helpers/import-strategy-prompter.d.ts +43 -0
  18. package/dist/src/cli/helpers/import-strategy-prompter.d.ts.map +1 -0
  19. package/dist/src/cli/helpers/import-strategy-prompter.js +136 -0
  20. package/dist/src/cli/helpers/import-strategy-prompter.js.map +1 -0
  21. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +5 -2
  22. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  23. package/dist/src/cli/helpers/issue-tracker/ado.js +90 -40
  24. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  25. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +2 -1
  26. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  27. package/dist/src/cli/helpers/issue-tracker/jira.js +120 -35
  28. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
  29. package/dist/src/cli/helpers/progress-tracker.d.ts +121 -0
  30. package/dist/src/cli/helpers/progress-tracker.d.ts.map +1 -0
  31. package/dist/src/cli/helpers/progress-tracker.js +202 -0
  32. package/dist/src/cli/helpers/progress-tracker.js.map +1 -0
  33. package/dist/src/cli/helpers/project-count-fetcher.d.ts +69 -0
  34. package/dist/src/cli/helpers/project-count-fetcher.d.ts.map +1 -0
  35. package/dist/src/cli/helpers/project-count-fetcher.js +173 -0
  36. package/dist/src/cli/helpers/project-count-fetcher.js.map +1 -0
  37. package/dist/src/config/types.d.ts +14 -14
  38. package/dist/src/core/cache/cache-manager.d.ts +119 -0
  39. package/dist/src/core/cache/cache-manager.d.ts.map +1 -0
  40. package/dist/src/core/cache/cache-manager.js +304 -0
  41. package/dist/src/core/cache/cache-manager.js.map +1 -0
  42. package/dist/src/core/cache/rate-limit-checker.d.ts +92 -0
  43. package/dist/src/core/cache/rate-limit-checker.d.ts.map +1 -0
  44. package/dist/src/core/cache/rate-limit-checker.js +160 -0
  45. package/dist/src/core/cache/rate-limit-checker.js.map +1 -0
  46. package/dist/src/core/progress/cancelation-handler.d.ts +79 -0
  47. package/dist/src/core/progress/cancelation-handler.d.ts.map +1 -0
  48. package/dist/src/core/progress/cancelation-handler.js +111 -0
  49. package/dist/src/core/progress/cancelation-handler.js.map +1 -0
  50. package/dist/src/core/progress/import-state.d.ts +71 -0
  51. package/dist/src/core/progress/import-state.d.ts.map +1 -0
  52. package/dist/src/core/progress/import-state.js +96 -0
  53. package/dist/src/core/progress/import-state.js.map +1 -0
  54. package/dist/src/core/progress/progress-tracker.d.ts +139 -0
  55. package/dist/src/core/progress/progress-tracker.d.ts.map +1 -0
  56. package/dist/src/core/progress/progress-tracker.js +223 -0
  57. package/dist/src/core/progress/progress-tracker.js.map +1 -0
  58. package/dist/src/init/architecture/types.d.ts +6 -6
  59. package/dist/src/integrations/ado/ado-client.d.ts +25 -0
  60. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -1
  61. package/dist/src/integrations/ado/ado-client.js +67 -0
  62. package/dist/src/integrations/ado/ado-client.js.map +1 -1
  63. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +99 -0
  64. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -0
  65. package/dist/src/integrations/ado/ado-dependency-loader.js +207 -0
  66. package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -0
  67. package/dist/src/integrations/jira/jira-client.d.ts +32 -0
  68. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
  69. package/dist/src/integrations/jira/jira-client.js +81 -0
  70. package/dist/src/integrations/jira/jira-client.js.map +1 -1
  71. package/dist/src/integrations/jira/jira-dependency-loader.d.ts +101 -0
  72. package/dist/src/integrations/jira/jira-dependency-loader.d.ts.map +1 -0
  73. package/dist/src/integrations/jira/jira-dependency-loader.js +200 -0
  74. package/dist/src/integrations/jira/jira-dependency-loader.js.map +1 -0
  75. package/package.json +1 -1
  76. package/plugins/specweave/.claude-plugin/plugin.json +20 -0
  77. package/plugins/specweave/agents/architect/AGENT.md +100 -602
  78. package/plugins/specweave/agents/pm/AGENT.md +96 -597
  79. package/plugins/specweave/agents/pm/AGENT.md.bak +1893 -0
  80. package/plugins/specweave/agents/pm/AGENT.md.bak2 +1754 -0
  81. package/plugins/specweave/commands/check-hooks.md +257 -0
  82. package/plugins/specweave/hooks/post-edit-spec.sh +202 -31
  83. package/plugins/specweave/hooks/post-task-completion.sh +225 -228
  84. package/plugins/specweave/hooks/post-write-spec.sh +207 -31
  85. package/plugins/specweave/hooks/pre-edit-spec.sh +151 -0
  86. package/plugins/specweave/hooks/pre-task-completion.sh +5 -7
  87. package/plugins/specweave/hooks/pre-write-spec.sh +151 -0
  88. package/plugins/specweave/hooks/test-pretooluse-env.sh +72 -0
  89. package/plugins/specweave/skills/compliance-architecture/SKILL.md +374 -0
  90. package/plugins/specweave/skills/external-sync-wizard/SKILL.md +610 -0
  91. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +541 -0
  92. package/plugins/specweave/skills/roadmap-planner/SKILL.md +473 -0
  93. package/plugins/specweave-ado/commands/refresh-cache.js +25 -0
  94. package/plugins/specweave-ado/commands/refresh-cache.ts +40 -0
  95. package/plugins/specweave-ado/hooks/post-task-completion.sh +1 -1
  96. package/plugins/specweave-github/hooks/post-task-completion.sh +1 -1
  97. package/plugins/specweave-jira/commands/refresh-cache.js +25 -0
  98. package/plugins/specweave-jira/commands/refresh-cache.ts +40 -0
  99. package/plugins/specweave-jira/hooks/post-task-completion.sh +1 -1
  100. package/plugins/specweave-kafka-streams/commands/topology.md +437 -0
  101. package/plugins/specweave-n8n/commands/workflow-template.md +262 -0
  102. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +228 -6465
@@ -382,6 +382,87 @@ export class JiraClient {
382
382
  }
383
383
  return response.json();
384
384
  }
385
+ /**
386
+ * Search projects with pagination (for three-tier loading)
387
+ *
388
+ * @param options Search options
389
+ * @returns Paginated project results
390
+ */
391
+ async searchProjects(options = {}) {
392
+ const { maxResults = 50, startAt = 0, orderBy = 'name' } = options;
393
+ const url = `${this.baseUrl}/rest/api/${this.apiVersion}/project/search?maxResults=${maxResults}&startAt=${startAt}&orderBy=${orderBy}`;
394
+ const response = await fetch(url, {
395
+ headers: {
396
+ 'Authorization': this.getAuthHeader(),
397
+ 'Content-Type': 'application/json'
398
+ }
399
+ });
400
+ if (!response.ok) {
401
+ const error = await response.text();
402
+ throw new Error(`Jira API Error (${response.status}): ${error}`);
403
+ }
404
+ return response.json();
405
+ }
406
+ /**
407
+ * Get boards for a project
408
+ *
409
+ * @param projectKey Project key (e.g., "BACKEND")
410
+ * @returns Boards array
411
+ */
412
+ async getBoards(projectKey) {
413
+ const url = `${this.baseUrl}/rest/agile/1.0/board?projectKeyOrId=${projectKey}`;
414
+ const response = await fetch(url, {
415
+ headers: {
416
+ 'Authorization': this.getAuthHeader(),
417
+ 'Content-Type': 'application/json'
418
+ }
419
+ });
420
+ if (!response.ok) {
421
+ const error = await response.text();
422
+ throw new Error(`Jira API Error (${response.status}): ${error}`);
423
+ }
424
+ return response.json();
425
+ }
426
+ /**
427
+ * Get components for a project
428
+ *
429
+ * @param projectKey Project key (e.g., "BACKEND")
430
+ * @returns Components array
431
+ */
432
+ async getComponents(projectKey) {
433
+ const url = `${this.baseUrl}/rest/api/${this.apiVersion}/project/${projectKey}/components`;
434
+ const response = await fetch(url, {
435
+ headers: {
436
+ 'Authorization': this.getAuthHeader(),
437
+ 'Content-Type': 'application/json'
438
+ }
439
+ });
440
+ if (!response.ok) {
441
+ const error = await response.text();
442
+ throw new Error(`Jira API Error (${response.status}): ${error}`);
443
+ }
444
+ return response.json();
445
+ }
446
+ /**
447
+ * Get versions for a project
448
+ *
449
+ * @param projectKey Project key (e.g., "BACKEND")
450
+ * @returns Versions array
451
+ */
452
+ async getVersions(projectKey) {
453
+ const url = `${this.baseUrl}/rest/api/${this.apiVersion}/project/${projectKey}/versions`;
454
+ const response = await fetch(url, {
455
+ headers: {
456
+ 'Authorization': this.getAuthHeader(),
457
+ 'Content-Type': 'application/json'
458
+ }
459
+ });
460
+ if (!response.ok) {
461
+ const error = await response.text();
462
+ throw new Error(`Jira API Error (${response.status}): ${error}`);
463
+ }
464
+ return response.json();
465
+ }
385
466
  /**
386
467
  * Add comment to JIRA issue (T-034C)
387
468
  *
@@ -1 +1 @@
1
- {"version":3,"file":"jira-client.js","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,kBAAkB,EAAmB,MAAM,mCAAmC,CAAC;AAiFxF,MAAM,OAAO,UAAU;IAMrB;QAHQ,eAAU,GAAG,GAAG,CAAC;QACjB,WAAM,GAAG,KAAK,CAAC;QAGrB,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAE3D,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,WAAW,MAAM,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CACtB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CACzD,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,SAAS,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,SAA0B,EAAE;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAErD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QAE/C,4DAA4D;QAC5D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,aAAa,CAAC;QACrE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG;gBACH,UAAU;gBACV,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAuB;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,iBAAiB,KAAK,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,cAAc,QAAQ,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5B,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,gCAAgC;YAChC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,GAAG,WAAW,wBAAwB,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAsB,EAAE,UAAkB;QACjE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,QAAQ,CAAC;QAEhE,sBAAsB;QACtB,MAAM,OAAO,GAAQ;YACnB,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,GAAG,EAAE,UAAU;iBAChB;gBACD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE;oBACT,IAAI,EAAE,KAAK,CAAC,SAAS;iBACtB;aACF;SACF,CAAC;QAEF,8DAA8D;QAC9D,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG;gBAC3B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,KAAK,CAAC,WAAW;6BACxB;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG;oBACxB,IAAI,EAAE,KAAK,CAAC,QAAQ;iBACrB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wDAAwD;gBACxD,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG;gBACtB,GAAG,EAAE,KAAK,CAAC,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,6EAA6E;QAC7E,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC;QACnD,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5E,2BAA2B;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,MAAuB;QAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC;QAE9E,uBAAuB;QACvB,MAAM,OAAO,GAAQ;YACnB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG;gBAC3B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,MAAM,CAAC,WAAW;6BACzB;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG;gBACxB,IAAI,EAAE,MAAM,CAAC,QAAQ;aACtB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAE7C,iCAAiC;QACjC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,sBAAsB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,YAAoB;QAClE,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,OAAO,YAAY,EAAE,CAAC,CAAC;QAE/D,4BAA4B;QAC5B,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,UAAU,QAAQ,cAAc,CAAC;QAEnG,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;YACtD,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAS,CAAC;QAChE,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CACjD,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CACnE,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,SAAS,QAAQ,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE;oBACV,EAAE,EAAE,UAAU,CAAC,EAAE;iBAClB;aACF,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,OAAO,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,UAAU,QAAQ,EAAE,CAAC;QAE5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAwB,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,OAAe;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,yBAAyB,OAAO,SAAS,CAAC;QAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,SAAS,CAAC;YAEjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;oBACrC,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,UAAU,CAAC;QAElE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAoB,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAe;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,UAAU,QAAQ,UAAU,CAAC;QAEpF,uEAAuE;QACvE,MAAM,IAAI,GAAG;YACX,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,OAAO;6BACd;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"jira-client.js","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * JiraDependencyLoader - Three-Tier Dependency Loading for JIRA
3
+ *
4
+ * Architecture (ADR-0056):
5
+ * - Tier 1 (Init): Metadata only (< 5 seconds, 1 API call)
6
+ * - Tier 2 (On-Demand): Lazy loading per project (2-5 seconds, 4-7 API calls)
7
+ * - Tier 3 (Bulk): Optional pre-load command (1-2 minutes for 50 projects)
8
+ *
9
+ * Features:
10
+ * - 24-hour TTL caching via CacheManager
11
+ * - Rate limit detection and stale cache fallback
12
+ * - Per-project dependency caching
13
+ * - Automatic cache invalidation on 404 errors
14
+ *
15
+ * @module integrations/jira/jira-dependency-loader
16
+ */
17
+ import { CacheManager } from '../../core/cache/cache-manager.js';
18
+ import { RateLimitChecker } from '../../core/cache/rate-limit-checker.js';
19
+ import { JiraClient } from './jira-client.js';
20
+ import { Logger } from '../../utils/logger.js';
21
+ /**
22
+ * Project metadata (Tier 1)
23
+ */
24
+ export interface ProjectMetadata {
25
+ key: string;
26
+ name: string;
27
+ type: string;
28
+ lead?: {
29
+ displayName: string;
30
+ };
31
+ }
32
+ /**
33
+ * Project dependencies (Tier 2)
34
+ */
35
+ export interface ProjectDependencies {
36
+ projectKey: string;
37
+ boards: Array<{
38
+ id: number;
39
+ name: string;
40
+ type?: string;
41
+ }>;
42
+ components: Array<{
43
+ id: string;
44
+ name: string;
45
+ }>;
46
+ versions: Array<{
47
+ id: string;
48
+ name: string;
49
+ released?: boolean;
50
+ }>;
51
+ lastUpdated: string;
52
+ }
53
+ /**
54
+ * JiraDependencyLoader - Three-tier dependency loading with smart caching
55
+ */
56
+ export declare class JiraDependencyLoader {
57
+ private cacheManager;
58
+ private rateLimitChecker;
59
+ private jiraClient;
60
+ private logger;
61
+ constructor(options: {
62
+ jiraClient: JiraClient;
63
+ cacheManager: CacheManager;
64
+ rateLimitChecker?: RateLimitChecker;
65
+ logger?: Logger;
66
+ });
67
+ /**
68
+ * Tier 1: Load project metadata only (init)
69
+ *
70
+ * Performance: < 5 seconds for 50 projects (1 API call)
71
+ * Cache: 24-hour TTL in `jira-projects.json`
72
+ *
73
+ * @param maxProjects Maximum projects to load (default: 50)
74
+ * @returns Array of project metadata
75
+ */
76
+ loadProjectMetadata(maxProjects?: number): Promise<ProjectMetadata[]>;
77
+ /**
78
+ * Tier 2: Load dependencies for specific project (on-demand)
79
+ *
80
+ * Performance: 2-5 seconds per project (4-7 API calls, cached)
81
+ * Cache: 24-hour TTL in `jira-{PROJECT}-deps.json`
82
+ *
83
+ * @param projectKey Project key (e.g., "BACKEND")
84
+ * @returns Project dependencies
85
+ */
86
+ loadProjectDependencies(projectKey: string): Promise<ProjectDependencies>;
87
+ /**
88
+ * Tier 3: Bulk pre-load all dependencies (optional command)
89
+ *
90
+ * Performance: 1-2 minutes for 50 projects (200-350 API calls, batched)
91
+ * Progress: Real-time progress tracking, cancelation support
92
+ *
93
+ * @param projectKeys Array of project keys to preload
94
+ * @returns void (results cached)
95
+ */
96
+ preloadAllDependencies(projectKeys: string[], options?: {
97
+ onProgress?: (current: number, total: number) => void;
98
+ signal?: AbortSignal;
99
+ }): Promise<void>;
100
+ }
101
+ //# sourceMappingURL=jira-dependency-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-dependency-loader.d.ts","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-dependency-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE;QACnB,UAAU,EAAE,UAAU,CAAC;QACvB,YAAY,EAAE,YAAY,CAAC;QAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAOD;;;;;;;;OAQG;IACG,mBAAmB,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmE/E;;;;;;;;OAQG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyE/E;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACtD,MAAM,CAAC,EAAE,WAAW,CAAC;KACjB,GACL,OAAO,CAAC,IAAI,CAAC;CAoCjB"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * JiraDependencyLoader - Three-Tier Dependency Loading for JIRA
3
+ *
4
+ * Architecture (ADR-0056):
5
+ * - Tier 1 (Init): Metadata only (< 5 seconds, 1 API call)
6
+ * - Tier 2 (On-Demand): Lazy loading per project (2-5 seconds, 4-7 API calls)
7
+ * - Tier 3 (Bulk): Optional pre-load command (1-2 minutes for 50 projects)
8
+ *
9
+ * Features:
10
+ * - 24-hour TTL caching via CacheManager
11
+ * - Rate limit detection and stale cache fallback
12
+ * - Per-project dependency caching
13
+ * - Automatic cache invalidation on 404 errors
14
+ *
15
+ * @module integrations/jira/jira-dependency-loader
16
+ */
17
+ import { RateLimitChecker } from '../../core/cache/rate-limit-checker.js';
18
+ import { consoleLogger } from '../../utils/logger.js';
19
+ /**
20
+ * JiraDependencyLoader - Three-tier dependency loading with smart caching
21
+ */
22
+ export class JiraDependencyLoader {
23
+ constructor(options) {
24
+ this.jiraClient = options.jiraClient;
25
+ this.cacheManager = options.cacheManager;
26
+ this.rateLimitChecker = options.rateLimitChecker ?? new RateLimitChecker();
27
+ this.logger = options.logger ?? consoleLogger;
28
+ }
29
+ /**
30
+ * Tier 1: Load project metadata only (init)
31
+ *
32
+ * Performance: < 5 seconds for 50 projects (1 API call)
33
+ * Cache: 24-hour TTL in `jira-projects.json`
34
+ *
35
+ * @param maxProjects Maximum projects to load (default: 50)
36
+ * @returns Array of project metadata
37
+ */
38
+ async loadProjectMetadata(maxProjects = 50) {
39
+ const cacheKey = 'jira-projects';
40
+ // Check cache first
41
+ const cached = await this.cacheManager.get(cacheKey);
42
+ if (cached) {
43
+ this.logger.log(`Cache hit: ${cacheKey} (${cached.projects.length} projects)`);
44
+ return cached.projects;
45
+ }
46
+ // Cache miss - fetch from API
47
+ this.logger.log(`Cache miss: ${cacheKey}, fetching from JIRA API...`);
48
+ try {
49
+ // Use JIRA search API for batch loading
50
+ const response = await this.jiraClient.searchProjects({
51
+ maxResults: maxProjects,
52
+ orderBy: 'name',
53
+ });
54
+ // Extract rate limit headers
55
+ const rateLimitHeaders = this.rateLimitChecker.extractHeaders(response);
56
+ const rateLimitCheck = this.rateLimitChecker.shouldProceed(rateLimitHeaders);
57
+ if (!rateLimitCheck.canProceed) {
58
+ this.logger.warn(`Rate limit warning: ${rateLimitCheck.reason}. Consider using cached data.`);
59
+ }
60
+ // Parse projects
61
+ const projects = response.values.map((project) => ({
62
+ key: project.key,
63
+ name: project.name,
64
+ type: project.projectTypeKey || 'software',
65
+ lead: project.lead
66
+ ? {
67
+ displayName: project.lead.displayName,
68
+ }
69
+ : undefined,
70
+ }));
71
+ // Cache result
72
+ await this.cacheManager.set(cacheKey, { projects });
73
+ this.logger.log(`Cached ${projects.length} projects with 24-hour TTL`);
74
+ return projects;
75
+ }
76
+ catch (error) {
77
+ // Check for rate limit error (429)
78
+ if (this.rateLimitChecker.isRateLimitError(error)) {
79
+ await this.rateLimitChecker.handleRateLimitError(error);
80
+ // Try to use stale cache
81
+ const staleCache = await this.cacheManager.getStale(cacheKey);
82
+ if (staleCache) {
83
+ return staleCache.projects;
84
+ }
85
+ }
86
+ // Re-throw if not rate limit or no stale cache available
87
+ throw error;
88
+ }
89
+ }
90
+ /**
91
+ * Tier 2: Load dependencies for specific project (on-demand)
92
+ *
93
+ * Performance: 2-5 seconds per project (4-7 API calls, cached)
94
+ * Cache: 24-hour TTL in `jira-{PROJECT}-deps.json`
95
+ *
96
+ * @param projectKey Project key (e.g., "BACKEND")
97
+ * @returns Project dependencies
98
+ */
99
+ async loadProjectDependencies(projectKey) {
100
+ const cacheKey = `jira-${projectKey}-deps`;
101
+ // Check cache first
102
+ const cached = await this.cacheManager.get(cacheKey);
103
+ if (cached) {
104
+ this.logger.log(`Cache hit: ${cacheKey}`);
105
+ return cached;
106
+ }
107
+ // Cache miss - fetch from API
108
+ this.logger.log(`Cache miss: ${cacheKey}, fetching from JIRA API...`);
109
+ try {
110
+ // Fetch boards, components, versions in parallel
111
+ const [boardsResponse, componentsResponse, versionsResponse] = await Promise.all([
112
+ this.jiraClient.getBoards(projectKey),
113
+ this.jiraClient.getComponents(projectKey),
114
+ this.jiraClient.getVersions(projectKey),
115
+ ]);
116
+ // Build dependencies object
117
+ const dependencies = {
118
+ projectKey,
119
+ boards: boardsResponse.values?.map((board) => ({
120
+ id: board.id,
121
+ name: board.name,
122
+ type: board.type,
123
+ })) || [],
124
+ components: componentsResponse.map((component) => ({
125
+ id: component.id,
126
+ name: component.name,
127
+ })),
128
+ versions: versionsResponse.map((version) => ({
129
+ id: version.id,
130
+ name: version.name,
131
+ released: version.released,
132
+ })),
133
+ lastUpdated: new Date().toISOString(),
134
+ };
135
+ // Cache result
136
+ await this.cacheManager.set(cacheKey, dependencies);
137
+ this.logger.log(`Cached dependencies for ${projectKey}: ${dependencies.boards.length} boards, ${dependencies.components.length} components, ${dependencies.versions.length} versions`);
138
+ return dependencies;
139
+ }
140
+ catch (error) {
141
+ // Handle 404 (project not found) - invalidate cache
142
+ if (error.response?.status === 404) {
143
+ this.logger.warn(`Project ${projectKey} not found (404), invalidating cache...`);
144
+ await this.cacheManager.delete(cacheKey);
145
+ throw new Error(`Project ${projectKey} not found`);
146
+ }
147
+ // Handle rate limit errors
148
+ if (this.rateLimitChecker.isRateLimitError(error)) {
149
+ await this.rateLimitChecker.handleRateLimitError(error);
150
+ // Try to use stale cache
151
+ const staleCache = await this.cacheManager.getStale(cacheKey);
152
+ if (staleCache) {
153
+ return staleCache;
154
+ }
155
+ }
156
+ // Re-throw if not handled
157
+ throw error;
158
+ }
159
+ }
160
+ /**
161
+ * Tier 3: Bulk pre-load all dependencies (optional command)
162
+ *
163
+ * Performance: 1-2 minutes for 50 projects (200-350 API calls, batched)
164
+ * Progress: Real-time progress tracking, cancelation support
165
+ *
166
+ * @param projectKeys Array of project keys to preload
167
+ * @returns void (results cached)
168
+ */
169
+ async preloadAllDependencies(projectKeys, options = {}) {
170
+ const { onProgress, signal } = options;
171
+ const total = projectKeys.length;
172
+ this.logger.log(`Preloading dependencies for ${total} projects...`);
173
+ for (let i = 0; i < total; i++) {
174
+ // Check for cancelation
175
+ if (signal?.aborted) {
176
+ this.logger.warn('Preload canceled by user');
177
+ throw new Error('Preload canceled');
178
+ }
179
+ const projectKey = projectKeys[i];
180
+ this.logger.log(`[${i + 1}/${total}] Preloading ${projectKey}...`);
181
+ try {
182
+ await this.loadProjectDependencies(projectKey);
183
+ // Report progress
184
+ if (onProgress) {
185
+ onProgress(i + 1, total);
186
+ }
187
+ }
188
+ catch (error) {
189
+ this.logger.error(`Failed to preload ${projectKey}: ${error.message}`);
190
+ // Continue with next project (don't fail entire batch)
191
+ }
192
+ // Add delay to avoid rate limiting (200ms between requests)
193
+ if (i < total - 1) {
194
+ await new Promise((resolve) => setTimeout(resolve, 200));
195
+ }
196
+ }
197
+ this.logger.log('Preload complete!');
198
+ }
199
+ }
200
+ //# sourceMappingURL=jira-dependency-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-dependency-loader.js","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-dependency-loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.23.10",
3
+ "version": "0.23.12",
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",
@@ -30,6 +30,26 @@
30
30
  "timeout": 60
31
31
  }
32
32
  ]
33
+ },
34
+ {
35
+ "matcher": "Edit",
36
+ "hooks": [
37
+ {
38
+ "type": "command",
39
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-edit-spec.sh",
40
+ "timeout": 2
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "matcher": "Write",
46
+ "hooks": [
47
+ {
48
+ "type": "command",
49
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-write-spec.sh",
50
+ "timeout": 2
51
+ }
52
+ ]
33
53
  }
34
54
  ],
35
55
  "PostToolUse": [