specweave 1.0.585 → 1.0.587
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/bin/specweave.js +56 -0
- package/dist/plugins/specweave/lib/integrations/github/github-access-error.d.ts +48 -0
- package/dist/plugins/specweave/lib/integrations/github/github-access-error.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/integrations/github/github-access-error.js +69 -0
- package/dist/plugins/specweave/lib/integrations/github/github-access-error.js.map +1 -0
- package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts +8 -0
- package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js +22 -2
- package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js +38 -16
- package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
- package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js +11 -1
- package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js.map +1 -1
- package/dist/src/cli/commands/auto.js +1 -1
- package/dist/src/cli/commands/auto.js.map +1 -1
- package/dist/src/cli/commands/generate-rubric.d.ts +35 -0
- package/dist/src/cli/commands/generate-rubric.d.ts.map +1 -0
- package/dist/src/cli/commands/generate-rubric.js +73 -0
- package/dist/src/cli/commands/generate-rubric.js.map +1 -0
- package/dist/src/cli/commands/get.js +22 -9
- package/dist/src/cli/commands/get.js.map +1 -1
- package/dist/src/cli/commands/handoff.d.ts +54 -0
- package/dist/src/cli/commands/handoff.d.ts.map +1 -0
- package/dist/src/cli/commands/handoff.js +82 -0
- package/dist/src/cli/commands/handoff.js.map +1 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.d.ts.map +1 -1
- package/dist/src/cli/commands/plan/plan-orchestrator.js +11 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
- package/dist/src/cli/commands/sync-health.d.ts.map +1 -1
- package/dist/src/cli/commands/sync-health.js +72 -12
- package/dist/src/cli/commands/sync-health.js.map +1 -1
- package/dist/src/cli/commands/sync-progress.d.ts.map +1 -1
- package/dist/src/cli/commands/sync-progress.js +65 -11
- package/dist/src/cli/commands/sync-progress.js.map +1 -1
- package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -1
- package/dist/src/cli/helpers/get/register-repo.js +28 -2
- package/dist/src/cli/helpers/get/register-repo.js.map +1 -1
- package/dist/src/cli/helpers/init/gitignore-generator.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/gitignore-generator.js +3 -0
- package/dist/src/cli/helpers/init/gitignore-generator.js.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.js +1 -1
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
- package/dist/src/core/analytics/analytics-collector.d.ts.map +1 -1
- package/dist/src/core/analytics/analytics-collector.js +9 -1
- package/dist/src/core/analytics/analytics-collector.js.map +1 -1
- package/dist/src/core/analytics/event-writer.d.ts.map +1 -1
- package/dist/src/core/analytics/event-writer.js +3 -1
- package/dist/src/core/analytics/event-writer.js.map +1 -1
- package/dist/src/core/config/config-manager.d.ts +5 -0
- package/dist/src/core/config/config-manager.d.ts.map +1 -1
- package/dist/src/core/config/config-manager.js +58 -1
- package/dist/src/core/config/config-manager.js.map +1 -1
- package/dist/src/core/credentials/credentials-manager.d.ts +21 -0
- package/dist/src/core/credentials/credentials-manager.d.ts.map +1 -1
- package/dist/src/core/credentials/credentials-manager.js +38 -0
- package/dist/src/core/credentials/credentials-manager.js.map +1 -1
- package/dist/src/core/hooks/handlers/hook-router.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/hook-router.js +5 -0
- package/dist/src/core/hooks/handlers/hook-router.js.map +1 -1
- package/dist/src/core/hooks/handlers/pre-compact.d.ts +33 -0
- package/dist/src/core/hooks/handlers/pre-compact.d.ts.map +1 -0
- package/dist/src/core/hooks/handlers/pre-compact.js +109 -0
- package/dist/src/core/hooks/handlers/pre-compact.js.map +1 -0
- package/dist/src/core/hooks/handlers/types.d.ts +1 -1
- package/dist/src/core/hooks/handlers/types.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/types.js +3 -0
- package/dist/src/core/hooks/handlers/types.js.map +1 -1
- package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
- package/dist/src/core/increment/completion-validator.js +8 -1
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/increment/template-creator.d.ts.map +1 -1
- package/dist/src/core/increment/template-creator.js +5 -19
- package/dist/src/core/increment/template-creator.js.map +1 -1
- package/dist/src/core/llm/types.d.ts +5 -5
- package/dist/src/core/llm/types.d.ts.map +1 -1
- package/dist/src/core/llm/types.js +9 -8
- package/dist/src/core/llm/types.js.map +1 -1
- package/dist/src/core/rubric/rubric-evaluator.d.ts +25 -1
- package/dist/src/core/rubric/rubric-evaluator.d.ts.map +1 -1
- package/dist/src/core/rubric/rubric-evaluator.js +108 -1
- package/dist/src/core/rubric/rubric-evaluator.js.map +1 -1
- package/dist/src/core/rubric/rubric-generator.d.ts +28 -1
- package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
- package/dist/src/core/rubric/rubric-generator.js +46 -6
- package/dist/src/core/rubric/rubric-generator.js.map +1 -1
- package/dist/src/core/rubric/rubric-parser.d.ts.map +1 -1
- package/dist/src/core/rubric/rubric-parser.js +18 -2
- package/dist/src/core/rubric/rubric-parser.js.map +1 -1
- package/dist/src/core/rubric/types.d.ts +1 -1
- package/dist/src/core/rubric/types.d.ts.map +1 -1
- package/dist/src/core/rubric/types.js.map +1 -1
- package/dist/src/core/session/handoff-doc-format.d.ts +164 -0
- package/dist/src/core/session/handoff-doc-format.d.ts.map +1 -0
- package/dist/src/core/session/handoff-doc-format.js +292 -0
- package/dist/src/core/session/handoff-doc-format.js.map +1 -0
- package/dist/src/core/session/handoff-git-state.d.ts +49 -0
- package/dist/src/core/session/handoff-git-state.d.ts.map +1 -0
- package/dist/src/core/session/handoff-git-state.js +164 -0
- package/dist/src/core/session/handoff-git-state.js.map +1 -0
- package/dist/src/core/session/handoff-secret-scrub.d.ts +59 -0
- package/dist/src/core/session/handoff-secret-scrub.d.ts.map +1 -0
- package/dist/src/core/session/handoff-secret-scrub.js +72 -0
- package/dist/src/core/session/handoff-secret-scrub.js.map +1 -0
- package/dist/src/core/session/{handoff-context.d.ts → install-handoff-context.d.ts} +7 -3
- package/dist/src/core/session/install-handoff-context.d.ts.map +1 -0
- package/dist/src/core/session/{handoff-context.js → install-handoff-context.js} +7 -3
- package/dist/src/core/session/install-handoff-context.js.map +1 -0
- package/dist/src/core/session/work-handoff.d.ts +88 -0
- package/dist/src/core/session/work-handoff.d.ts.map +1 -0
- package/dist/src/core/session/work-handoff.js +412 -0
- package/dist/src/core/session/work-handoff.js.map +1 -0
- package/dist/src/core/sync/retry-wrapper.d.ts +14 -2
- package/dist/src/core/sync/retry-wrapper.d.ts.map +1 -1
- package/dist/src/core/sync/retry-wrapper.js +15 -4
- package/dist/src/core/sync/retry-wrapper.js.map +1 -1
- package/dist/src/generators/spec/task-parser.d.ts.map +1 -1
- package/dist/src/generators/spec/task-parser.js +38 -16
- package/dist/src/generators/spec/task-parser.js.map +1 -1
- package/dist/src/integrations/ado/ado-pat-provider.d.ts +6 -2
- package/dist/src/integrations/ado/ado-pat-provider.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-pat-provider.js +16 -22
- package/dist/src/integrations/ado/ado-pat-provider.js.map +1 -1
- package/dist/src/sync/external-item-sync-service.d.ts.map +1 -1
- package/dist/src/sync/external-item-sync-service.js +6 -2
- package/dist/src/sync/external-item-sync-service.js.map +1 -1
- package/dist/src/sync/resilient-write.d.ts +42 -0
- package/dist/src/sync/resilient-write.d.ts.map +1 -0
- package/dist/src/sync/resilient-write.js +52 -0
- package/dist/src/sync/resilient-write.js.map +1 -0
- package/dist/src/sync/story-router.d.ts +10 -2
- package/dist/src/sync/story-router.d.ts.map +1 -1
- package/dist/src/sync/story-router.js.map +1 -1
- package/dist/src/sync/sync-coordinator.d.ts +11 -0
- package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
- package/dist/src/sync/sync-coordinator.js +69 -26
- package/dist/src/sync/sync-coordinator.js.map +1 -1
- package/dist/src/sync/sync-target-resolver.d.ts +10 -6
- package/dist/src/sync/sync-target-resolver.d.ts.map +1 -1
- package/dist/src/sync/sync-target-resolver.js +66 -57
- package/dist/src/sync/sync-target-resolver.js.map +1 -1
- package/dist/src/utils/credential-masker.d.ts.map +1 -1
- package/dist/src/utils/credential-masker.js +11 -1
- package/dist/src/utils/credential-masker.js.map +1 -1
- package/dist/src/utils/structure-level-detector.d.ts +1 -1
- package/dist/src/utils/structure-level-detector.d.ts.map +1 -1
- package/dist/src/utils/structure-level-detector.js +23 -4
- package/dist/src/utils/structure-level-detector.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/commands/handoff.md +54 -0
- package/plugins/specweave/defaults/rubric-defaults.md +6 -2
- package/plugins/specweave/lib/integrations/github/github-access-error.js +43 -0
- package/plugins/specweave/lib/integrations/github/github-access-error.ts +103 -0
- package/plugins/specweave/lib/integrations/github/github-client-v2.js +24 -4
- package/plugins/specweave/lib/integrations/github/github-client-v2.ts +26 -4
- package/plugins/specweave/lib/vendor/generators/spec/task-parser.js +38 -16
- package/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
- package/plugins/specweave/lib/vendor/utils/credential-masker.js +11 -1
- package/plugins/specweave/lib/vendor/utils/credential-masker.js.map +1 -1
- package/plugins/specweave/skills/github-sync/SKILL.md +28 -566
- package/plugins/specweave/skills/github-sync/evals/evals.json +3 -3
- package/plugins/specweave/skills/handoff/SKILL.md +59 -0
- package/dist/src/core/session/handoff-context.d.ts.map +0 -1
- package/dist/src/core/session/handoff-context.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-target-resolver.js","sourceRoot":"","sources":["../../../src/sync/sync-target-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sync-target-resolver.js","sourceRoot":"","sources":["../../../src/sync/sync-target-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-masker.d.ts","sourceRoot":"","sources":["../../../src/utils/credential-masker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"credential-masker.d.ts","sourceRoot":"","sources":["../../../src/utils/credential-masker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsCH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CAqB1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CA2C/E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,WAAgB,GAAG,GAAG,CAsC/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CAQpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE,WAAgB;mBAEtD,MAAM,WAAW,GAAG,EAAE;oBAQrB,MAAM,WAAW,GAAG,EAAE;qBAQrB,MAAM,UAAU,GAAG;oBAapB,MAAM;qBAKL,MAAM;EAK1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCvH"}
|
|
@@ -26,6 +26,7 @@ const SENSITIVE_PATTERNS = [
|
|
|
26
26
|
{ pattern: /\b(SUPABASE_KEY|SUPABASE_ANON_KEY|SUPABASE_SERVICE_KEY)=([^\s]+)/gi, name: 'Supabase Key' },
|
|
27
27
|
{ pattern: /\b(CF_API_TOKEN|CLOUDFLARE_API_TOKEN)=([^\s]+)/gi, name: 'Cloudflare Token' },
|
|
28
28
|
{ pattern: /\b(VERCEL_TOKEN)=([^\s]+)/gi, name: 'Vercel Token' },
|
|
29
|
+
{ pattern: /(--(?:token|api-token|api-key|pat|password|secret))=([^\s]+)/gi, name: 'CLI Secret Flag' },
|
|
29
30
|
// JSON-style credentials
|
|
30
31
|
{ pattern: /"(token|apiToken|api_token|accessToken|access_token|password|secret|apiKey|api_key)"\s*:\s*"([^"]{8,})"/gi, name: 'JSON Token' },
|
|
31
32
|
// URLs with credentials (http/https)
|
|
@@ -35,6 +36,7 @@ const SENSITIVE_PATTERNS = [
|
|
|
35
36
|
// Bearer tokens
|
|
36
37
|
{ pattern: /Bearer\s+([A-Za-z0-9\-_=]+\.[A-Za-z0-9\-_=]+\.[A-Za-z0-9\-_.+/=]+)/gi, name: 'Bearer JWT' },
|
|
37
38
|
{ pattern: /Bearer\s+([A-Za-z0-9_\-]{20,})/gi, name: 'Bearer Token' },
|
|
39
|
+
{ pattern: /Basic\s+([A-Za-z0-9+/=]{12,})/gi, name: 'Basic Auth' },
|
|
38
40
|
// Generic tokens (alphanumeric strings 32+ chars)
|
|
39
41
|
{ pattern: /\b([a-zA-Z0-9_\-]{40,})\b/g, name: 'Generic Token' },
|
|
40
42
|
];
|
|
@@ -109,6 +111,10 @@ export function maskCredentials(text, options = {}) {
|
|
|
109
111
|
if (match.toLowerCase().includes('bearer') && key && typeof key === 'string') {
|
|
110
112
|
return `Bearer ${maskValue(key, options)}`;
|
|
111
113
|
}
|
|
114
|
+
// Basic auth: Basic <base64>
|
|
115
|
+
if (match.toLowerCase().includes('basic') && key && typeof key === 'string') {
|
|
116
|
+
return `Basic ${maskValue(key, options)}`;
|
|
117
|
+
}
|
|
112
118
|
// Generic token (single capture group)
|
|
113
119
|
if (key && !value && typeof key === 'string') {
|
|
114
120
|
return maskValue(key, options);
|
|
@@ -141,7 +147,8 @@ export function maskCredentialsInData(data, options = {}) {
|
|
|
141
147
|
const isSensitiveKey = [
|
|
142
148
|
'token', 'password', 'secret', 'key', 'credential',
|
|
143
149
|
'apitoken', 'api_token', 'accesstoken', 'access_token',
|
|
144
|
-
'pat', 'apikey', 'api_key'
|
|
150
|
+
'pat', 'apikey', 'api_key', 'authorization', 'cookie',
|
|
151
|
+
'set-cookie', 'privatekey', 'private_key'
|
|
145
152
|
].some(sensitive => lowerKey.includes(sensitive));
|
|
146
153
|
if (isSensitiveKey && typeof value === 'string') {
|
|
147
154
|
masked[key] = maskValue(value, options);
|
|
@@ -149,6 +156,9 @@ export function maskCredentialsInData(data, options = {}) {
|
|
|
149
156
|
else if (typeof value === 'object') {
|
|
150
157
|
masked[key] = maskCredentialsInData(value, options);
|
|
151
158
|
}
|
|
159
|
+
else if (typeof value === 'string') {
|
|
160
|
+
masked[key] = maskCredentials(value, options);
|
|
161
|
+
}
|
|
152
162
|
else {
|
|
153
163
|
masked[key] = value;
|
|
154
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-masker.js","sourceRoot":"","sources":["../../../src/utils/credential-masker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,mCAAmC;IACnC,EAAE,OAAO,EAAE,sCAAsC,EAAE,IAAI,EAAE,cAAc,EAAE;IACzE,EAAE,OAAO,EAAE,0CAA0C,EAAE,IAAI,EAAE,YAAY,EAAE;IAC3E,EAAE,OAAO,EAAE,mCAAmC,EAAE,IAAI,EAAE,YAAY,EAAE;IACpE,EAAE,OAAO,EAAE,4DAA4D,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnG,EAAE,OAAO,EAAE,sCAAsC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC3E,EAAE,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACvE,EAAE,OAAO,EAAE,iDAAiD,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/E,EAAE,OAAO,EAAE,2DAA2D,EAAE,IAAI,EAAE,cAAc,EAAE;IAC9F,EAAE,OAAO,EAAE,oEAAoE,EAAE,IAAI,EAAE,cAAc,EAAE;IACvG,EAAE,OAAO,EAAE,kDAAkD,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACzF,EAAE,OAAO,EAAE,6BAA6B,EAAE,IAAI,EAAE,cAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"credential-masker.js","sourceRoot":"","sources":["../../../src/utils/credential-masker.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export interface StructureLevelConfig {
|
|
|
27
27
|
/** Detection reason for debugging */
|
|
28
28
|
detectionReason: string;
|
|
29
29
|
/** Source of configuration */
|
|
30
|
-
source: 'ado-area-path' | 'jira-board' | 'umbrella-teams' | 'multi-project' | 'single-project' | 'existing-folders';
|
|
30
|
+
source: 'ado-area-path' | 'jira-board' | 'workspace-repos' | 'umbrella-teams' | 'multi-project' | 'single-project' | 'existing-folders';
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Project information
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure-level-detector.d.ts","sourceRoot":"","sources":["../../../src/utils/structure-level-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAEb,6EAA6E;IAC7E,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9C,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IAExB,8BAA8B;IAC9B,MAAM,EAAE,eAAe,GAAG,YAAY,GAAG,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"structure-level-detector.d.ts","sourceRoot":"","sources":["../../../src/utils/structure-level-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAEb,6EAA6E;IAC7E,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9C,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IAExB,8BAA8B;IAC9B,MAAM,EAAE,eAAe,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;CACzI;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA4DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,GAAE,MAAsB,GAAG,oBAAoB,CAmV9F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAsB,GAClC,wBAAwB,CAgH1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,GAAE,MAAsB,GAAG;IAC1E,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CAC/C,CAmBA;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -150,7 +150,26 @@ export function detectStructureLevel(projectRoot = process.cwd()) {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
// Check 3:
|
|
153
|
+
// Check 3: Current workspace.repos schema (1-level structure)
|
|
154
|
+
if (config.workspace) {
|
|
155
|
+
const repos = config.workspace.repos ?? [];
|
|
156
|
+
const projects = repos.length > 0
|
|
157
|
+
? repos.map(repo => ({
|
|
158
|
+
id: repo.id,
|
|
159
|
+
name: repo.name || repo.id,
|
|
160
|
+
}))
|
|
161
|
+
: [{
|
|
162
|
+
id: normalizeId(config.workspace.name || 'workspace'),
|
|
163
|
+
name: config.workspace.name || 'Workspace',
|
|
164
|
+
}];
|
|
165
|
+
return {
|
|
166
|
+
level: 1,
|
|
167
|
+
projects,
|
|
168
|
+
detectionReason: 'Workspace repos configured',
|
|
169
|
+
source: 'workspace-repos'
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Check 4: GitHub sync profiles (1-level structure)
|
|
154
173
|
// For GitHub-based umbrellas, each sync profile = a project (no boards)
|
|
155
174
|
// This takes precedence over umbrella team detection for GitHub
|
|
156
175
|
if (config.sync?.profiles) {
|
|
@@ -171,7 +190,7 @@ export function detectStructureLevel(projectRoot = process.cwd()) {
|
|
|
171
190
|
};
|
|
172
191
|
}
|
|
173
192
|
}
|
|
174
|
-
// Check
|
|
193
|
+
// Check 5: Umbrella with teams (2-level structure)
|
|
175
194
|
// Only triggers for NON-GitHub setups (ADO/JIRA with team hierarchy)
|
|
176
195
|
if (config.umbrella?.enabled && config.umbrella?.childRepos?.length) {
|
|
177
196
|
const repos = config.umbrella.childRepos;
|
|
@@ -213,7 +232,7 @@ export function detectStructureLevel(projectRoot = process.cwd()) {
|
|
|
213
232
|
source: 'multi-project'
|
|
214
233
|
};
|
|
215
234
|
}
|
|
216
|
-
// Check
|
|
235
|
+
// Check 6: multiProject.projects (1-level structure)
|
|
217
236
|
if (config.multiProject?.enabled && config.multiProject?.projects) {
|
|
218
237
|
const projectEntries = Object.entries(config.multiProject.projects);
|
|
219
238
|
if (projectEntries.length >= 1) {
|
|
@@ -229,7 +248,7 @@ export function detectStructureLevel(projectRoot = process.cwd()) {
|
|
|
229
248
|
};
|
|
230
249
|
}
|
|
231
250
|
}
|
|
232
|
-
// Check
|
|
251
|
+
// Check 7: Existing folder structure
|
|
233
252
|
if (fs.existsSync(specsPath)) {
|
|
234
253
|
try {
|
|
235
254
|
const entries = fs.readdirSync(specsPath, { withFileTypes: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure-level-detector.js","sourceRoot":"","sources":["../../../src/utils/structure-level-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AAmHxB;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEpF,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,6BAA6B;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAAE,SAAS;YAEzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;YAE3C,+CAA+C;YAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAkB,CAAC;wBAC/B,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC;wBAC3B,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAgC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1C,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBAEhC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;oBAC9D,yDAAyD;oBACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBAC9B,SAAS;oBACX,CAAC;oBAED,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;wBAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBACzC,IAAI,EAAE,OAAO,CAAC,gBAAgB;wBAC9B,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,QAAQ;oBACR,eAAe;oBACf,eAAe,EAAE,kCAAkC;oBACnD,MAAM,EAAE,eAAe;iBACxB,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAkB,CAAC;wBAC/B,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC;wBAC3B,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAgC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1C,eAAe,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC/D,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;oBACnB,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,SAAS;oBACpB,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,QAAQ;oBACR,eAAe;oBACf,eAAe,EAAE,2BAA2B;oBAC5C,MAAM,EAAE,eAAe;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,8BAA8B;IAC9B,qEAAqE;IACrE,mFAAmF;IACnF,EAAE;IACF,gFAAgF;IAChF,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM;gBAAE,SAAS;YAE1C,IAAI,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;gBAClD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;gBAE9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC;oBACjE,sCAAsC;oBACtC,wFAAwF;oBACxF,MAAM,SAAS,GAAG,cAAc;wBAC9B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;wBAC7B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;oBAE1D,MAAM,QAAQ,GAAkB,CAAC;4BAC/B,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc;4BAChE,UAAU,EAAE,cAAc;yBAC3B,CAAC,CAAC;oBAEH,4CAA4C;oBAC5C,MAAM,eAAe,GAAgC,EAAE,CAAC;oBACxD,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;oBAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,uDAAuD;wBACvD,iEAAiE;wBACjE,0DAA0D;wBAC1D,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;4BAC5B,SAAS;wBACX,CAAC;wBAED,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;4BAC9B,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;4BACvC,IAAI,EAAE,KAAK,CAAC,gBAAgB;4BAC5B,SAAS,EAAE,SAAS;4BACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,WAAW,EAAE,KAAK,CAAC,EAAE;yBACtB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO;wBACL,KAAK,EAAE,CAAC;wBACR,QAAQ;wBACR,eAAe;wBACf,eAAe,EAAE,yCAAyC;wBAC1D,MAAM,EAAE,YAAY;qBACrB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aACxD,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAE1D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,+DAA+D;YAC/D,MAAM,QAAQ,GAAkB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE;gBACvD,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI;aACjC,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,QAAQ;gBACR,eAAe,EAAE,iCAAiC;gBAClD,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,qEAAqE;IACrE,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC;QAEnE,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnB,uCAAuC;YACvC,MAAM,QAAQ,GAAkB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC,CAAC;YAEJ,MAAM,eAAe,GAAgC,EAAE,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACjC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK;qBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;qBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACT,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;oBACpB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC,CAAC;YACR,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,QAAQ;gBACR,eAAe;gBACf,eAAe,EAAE,8BAA8B;gBAC/C,MAAM,EAAE,gBAAgB;aACzB,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,QAAQ,GAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;SACrB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ;YACR,eAAe,EAAE,8BAA8B;YAC/C,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAkB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/D,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;aACnB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,QAAQ;gBACR,eAAe,EAAE,4BAA4B;gBAC7C,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,WAAW,EAAE;gBACf,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAC5B,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,gDAAgD;gBAChD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,WAAW,EAAE;oBACf,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACvB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAC5B,CAAC;gBAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,+CAA+C;oBAC/C,MAAM,QAAQ,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAChD,EAAE,EAAE,CAAC,CAAC,IAAI;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;qBACb,CAAC,CAAC,CAAC;oBAEJ,MAAM,eAAe,GAAgC,EAAE,CAAC;oBACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAChD,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;wBAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,WAAW,EAAE;4BACf,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;4BACvB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAC5B,CAAC;wBAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gCAChD,EAAE,EAAE,CAAC,CAAC,IAAI;gCACV,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,SAAS,EAAE,MAAM,CAAC,IAAI;6BACvB,CAAC,CAAC,CAAC;wBACN,CAAC;oBACH,CAAC;oBAED,OAAO;wBACL,KAAK,EAAE,CAAC;wBACR,QAAQ;wBACR,eAAe;wBACf,eAAe,EAAE,mCAAmC;wBACpD,MAAM,EAAE,kBAAkB;qBAC3B,CAAC;gBACJ,CAAC;gBAED,oBAAoB;gBACpB,MAAM,QAAQ,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChD,EAAE,EAAE,CAAC,CAAC,IAAI;oBACV,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,QAAQ;oBACR,eAAe,EAAE,0BAA0B;oBAC3C,MAAM,EAAE,kBAAkB;iBAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,eAAe,EAAE,sDAAsD;QACvE,MAAM,EAAE,gBAAgB;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,yBAAyB;IACzB,IAAI,OAA2B,CAAC;IAChC,IAAI,KAAyB,CAAC;IAE9B,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,wBAAwB;QACxB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAChF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAChC,+BAA+B;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,oCAAoC;gBACpC,qDAAqD;gBACrD,uBAAuB,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,OAAQ,CAAC,CACjD,CAAC;YACF,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjE,QAAQ,CAAC,IAAI,CACX,YAAY,OAAO,gCAAgC;oBACnD,cAAc,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,iEAAiE;gBACjE,qDAAqD;gBACrD,uBAAuB,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrF,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjF,CAAC,CAAC,KAAK,CAAC;YAEV,MAAM,CAAC,IAAI,CACT,+DAA+D;gBAC/D,iDAAiD;gBACjD,qBAAqB,YAAY,EAAE,CACpC,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;YACtD,sCAAsC;YACtC,MAAM,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5E,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,KAAM,CAAC,CAC/C,CAAC;gBACF,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,IAAI,CACX,UAAU,KAAK,8BAA8B,OAAO,KAAK;wBACzD,cAAc,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,YAAgC,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACzC,YAAY,GAAG,kBAAkB,WAAW,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QACjF,CAAC;aAAM,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvC,YAAY,GAAG,kBAAkB,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ;QACR,cAAc,EAAE,eAAe,CAAC,KAAK;QACrC,OAAO;QACP,KAAK;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAOvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YACpC,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC;QACR,cAAc,EAAE,CAAC,SAAS,CAAC;QAC3B,cAAc,EAAE,CAAC,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"structure-level-detector.js","sourceRoot":"","sources":["../../../src/utils/structure-level-detector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.587",
|
|
4
4
|
"description": "100+ domain-expert AI skills — PM, Architect, Frontend, QA, Security and more. Skills learn your team's patterns permanently. Spec-first planning, autonomous execution, multi-agent teams, synced to GitHub/JIRA. Claude Code, Cursor, Copilot & more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sw",
|
|
3
3
|
"description": "SpecWeave unified plugin. Provides increment planning (PM, Architect, Tech Lead agents), specification generation, TDD workflow, living docs sync, brownfield support, GitHub/JIRA/ADO bidirectional sync, documentation generation, release management, architecture diagrams, and AI media generation.",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.586",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SpecWeave Team",
|
|
7
7
|
"url": "https://spec-weave.com"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Write a portable, secret-scrubbed work handoff doc so you can continue this work in any AI tool. Use when saying "handoff", "running out of tokens", "switch to Codex/OpenCode/Gemini/Cursor", "continue elsewhere", or "continue on another machine".
|
|
3
|
+
argument-hint: "[incrementId] [--reason ...] [--summary ...] [--next ...] [--gotcha ...] [--decision ...] [--inline]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Work Handoff (Cross-Tool)
|
|
7
|
+
|
|
8
|
+
Assemble the current work state into one portable, self-contained handoff document so the work can be picked up in another AI coding tool — Claude Code, Codex, OpenCode, Gemini, Antigravity, Cursor, Aider — picking up exactly where you left off, uncommitted edits and all.
|
|
9
|
+
|
|
10
|
+
The expensive, deterministic work (workspace detection, task/AC parsing, git capture, full-diff dump, secret scrub, rendering) is done by the `specweave handoff` CLI subcommand. This command is a thin wrapper that runs it and surfaces the output.
|
|
11
|
+
|
|
12
|
+
## When to use
|
|
13
|
+
|
|
14
|
+
- You are low on subscription tokens and want to continue in another tool.
|
|
15
|
+
- You want a durable artifact that survives a context crash.
|
|
16
|
+
- You are moving to another machine (`--inline` embeds the full doc in the paste-prompt).
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
### Step 1: Run the CLI
|
|
21
|
+
|
|
22
|
+
Pass through whatever short context the agent can supply cheaply. All flags are optional — the CLI derives everything it can from disk.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
specweave handoff $ARGUMENTS
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`$ARGUMENTS` forwards `[incrementId]` plus any `--reason`, `--summary`, `--next`, `--gotcha`, `--decision`, and `--inline` flags the user (or agent) provided.
|
|
29
|
+
|
|
30
|
+
- No `incrementId` and exactly one active increment → it is used automatically.
|
|
31
|
+
- No active increment → a git + interview handoff is written (still portable).
|
|
32
|
+
- 2+ active increments and no `incrementId` → the CLI errors listing the candidate ids; re-run with the chosen id.
|
|
33
|
+
|
|
34
|
+
### Step 2: Surface the output VERBATIM, in order
|
|
35
|
+
|
|
36
|
+
The CLI prints, in this exact order — present it to the user without reordering:
|
|
37
|
+
|
|
38
|
+
1. **The absolute doc path as plain text** (so it is copyable/clickable in any terminal).
|
|
39
|
+
2. A clickable markdown link to the doc.
|
|
40
|
+
3. The `.diff` path holding the exact uncommitted edits.
|
|
41
|
+
4. A fenced copy-paste **resume prompt** to drop into the next tool.
|
|
42
|
+
5. Per-tool "find your source session" tips (Claude `claude -r <uuid>`, Codex `codex resume <uuid>`, OpenCode `opencode -s <id>`, etc.).
|
|
43
|
+
|
|
44
|
+
Do NOT re-summarize or reformat the resume prompt — the user copies it as-is.
|
|
45
|
+
|
|
46
|
+
### Step 3: Note the safety defaults
|
|
47
|
+
|
|
48
|
+
The doc and diff are **secret-scrubbed and gitignored by default** (`.handoff/` or `.specweave/state/handoff-latest.*`). Scrubbing is heuristic — remind the user to review before sharing. Nothing is committed and no `git add` hint is printed.
|
|
49
|
+
|
|
50
|
+
## Related
|
|
51
|
+
|
|
52
|
+
- `sw:progress` — check increment status without writing a handoff.
|
|
53
|
+
- `sw:next` — close the current increment and suggest next work.
|
|
54
|
+
- The portable doc format and cross-tool resume matrix: see the `handoff` skill and `docs/guides/cross-tool-handoff.md`.
|
|
@@ -16,13 +16,17 @@ status: defaults
|
|
|
16
16
|
|
|
17
17
|
## Test Coverage
|
|
18
18
|
|
|
19
|
-
### R-D01: Unit test coverage meets project target [
|
|
19
|
+
### R-D01: Unit test coverage meets project target [advisory]
|
|
20
20
|
- **Source**: project-default
|
|
21
21
|
- **Evaluator**: coverage
|
|
22
|
-
- **Verify**: Coverage output on new/modified files
|
|
22
|
+
- **Verify**: Coverage output on new/modified files (authoritative gate: completion-validator validateCoverage, which blocks on real low coverage)
|
|
23
23
|
- **Threshold**: >= configured coverageTarget (default 90%) line coverage
|
|
24
24
|
- **Result**: [ ] PENDING
|
|
25
25
|
|
|
26
|
+
> Advisory because coverage is hard-gated separately by `validateCoverage`. The
|
|
27
|
+
> `coverage` rubric evaluator is not automated and would resolve to `skip`, which
|
|
28
|
+
> blocks closure; keeping it advisory avoids double-gating every increment.
|
|
29
|
+
|
|
26
30
|
---
|
|
27
31
|
|
|
28
32
|
## Code Quality
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
function isLikelyAccessError(raw) {
|
|
2
|
+
if (!raw) return false;
|
|
3
|
+
return /\bHTTP 4(0[134])\b|\b4(0[134])\b|not found|forbidden|resource not accessible|must have admin|permission/i.test(
|
|
4
|
+
raw
|
|
5
|
+
);
|
|
6
|
+
}
|
|
7
|
+
function explainGitHubAccessError(rawError, facts) {
|
|
8
|
+
if (!isLikelyAccessError(rawError)) return null;
|
|
9
|
+
const { login, canPush, owner, repo } = facts;
|
|
10
|
+
if (canPush === true) return null;
|
|
11
|
+
const who = login ? `The GitHub token in .env belongs to account '${login}', which has no write access to ${owner}/${repo}.` : `The GitHub token in .env is invalid or expired \u2014 its account could not be resolved.`;
|
|
12
|
+
return [
|
|
13
|
+
who,
|
|
14
|
+
`GitHub returns 404 (not 403) when a token's account cannot see a repo, which is why this looked like "Not Found".`,
|
|
15
|
+
`Fix: point GITHUB_TOKEN / GH_TOKEN in .env at a token whose account can write ${owner}/${repo}, or run \`gh auth login\` with the right account.`,
|
|
16
|
+
`Original error: ${rawError.trim()}`
|
|
17
|
+
].join("\n");
|
|
18
|
+
}
|
|
19
|
+
async function resolveGitHubAccessFacts(exec, env, owner, repo) {
|
|
20
|
+
let login = null;
|
|
21
|
+
try {
|
|
22
|
+
const u = await exec("gh", ["api", "user", "--jq", ".login"], { env });
|
|
23
|
+
if (u.exitCode === 0) login = u.stdout.trim() || null;
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
let canPush = null;
|
|
27
|
+
try {
|
|
28
|
+
const r = await exec(
|
|
29
|
+
"gh",
|
|
30
|
+
["api", `repos/${owner}/${repo}`, "--jq", ".permissions.push // false"],
|
|
31
|
+
{ env }
|
|
32
|
+
);
|
|
33
|
+
if (r.exitCode === 0) canPush = r.stdout.trim() === "true";
|
|
34
|
+
else canPush = false;
|
|
35
|
+
} catch {
|
|
36
|
+
}
|
|
37
|
+
return { login, canPush };
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
explainGitHubAccessError,
|
|
41
|
+
isLikelyAccessError,
|
|
42
|
+
resolveGitHubAccessFacts
|
|
43
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnose GitHub "create" failures that are really auth/access problems.
|
|
3
|
+
*
|
|
4
|
+
* GitHub returns **404 Not Found** (not 403) when a token's account cannot even
|
|
5
|
+
* SEE a repo — so a token in `.env` whose account lacks write access to the
|
|
6
|
+
* target repo surfaces as a confusing `gh: Not Found (HTTP 404)` at
|
|
7
|
+
* issue/milestone create. This module turns that into a clear, actionable error
|
|
8
|
+
* naming the token's account and the repo it can't write.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export interface GitHubAccessFacts {
|
|
12
|
+
/** Login of the account the token belongs to, or null if the token is invalid. */
|
|
13
|
+
login: string | null;
|
|
14
|
+
/** Whether that account can push to owner/repo; null when it couldn't be determined. */
|
|
15
|
+
canPush: boolean | null;
|
|
16
|
+
owner: string;
|
|
17
|
+
repo: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Minimal exec-result shape (matches execFileNoThrow / execWithBudget). */
|
|
21
|
+
export interface ExecResult {
|
|
22
|
+
stdout: string;
|
|
23
|
+
stderr: string;
|
|
24
|
+
exitCode: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type ExecFn = (
|
|
28
|
+
command: string,
|
|
29
|
+
args: string[],
|
|
30
|
+
options?: { env?: NodeJS.ProcessEnv },
|
|
31
|
+
) => Promise<ExecResult>;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* True if a gh CLI error string looks like an access/permission failure.
|
|
35
|
+
* 404 Not Found is included on purpose: GitHub masks "no access" as 404.
|
|
36
|
+
*/
|
|
37
|
+
export function isLikelyAccessError(raw: string | undefined): boolean {
|
|
38
|
+
if (!raw) return false;
|
|
39
|
+
return /\bHTTP 4(0[134])\b|\b4(0[134])\b|not found|forbidden|resource not accessible|must have admin|permission/i.test(
|
|
40
|
+
raw,
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Build a clear, actionable error message for a failed GitHub create, or null
|
|
46
|
+
* when the failure is not an auth/access problem (callers then fall back to the
|
|
47
|
+
* raw error). Returns null when the token's account demonstrably CAN push, so a
|
|
48
|
+
* genuine missing resource isn't misreported as an auth issue.
|
|
49
|
+
*/
|
|
50
|
+
export function explainGitHubAccessError(
|
|
51
|
+
rawError: string,
|
|
52
|
+
facts: GitHubAccessFacts,
|
|
53
|
+
): string | null {
|
|
54
|
+
if (!isLikelyAccessError(rawError)) return null;
|
|
55
|
+
const { login, canPush, owner, repo } = facts;
|
|
56
|
+
if (canPush === true) return null;
|
|
57
|
+
|
|
58
|
+
const who = login
|
|
59
|
+
? `The GitHub token in .env belongs to account '${login}', which has no write access to ${owner}/${repo}.`
|
|
60
|
+
: `The GitHub token in .env is invalid or expired — its account could not be resolved.`;
|
|
61
|
+
|
|
62
|
+
return [
|
|
63
|
+
who,
|
|
64
|
+
`GitHub returns 404 (not 403) when a token's account cannot see a repo, which is why this looked like "Not Found".`,
|
|
65
|
+
`Fix: point GITHUB_TOKEN / GH_TOKEN in .env at a token whose account can write ${owner}/${repo}, or run \`gh auth login\` with the right account.`,
|
|
66
|
+
`Original error: ${rawError.trim()}`,
|
|
67
|
+
].join('\n');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Resolve the token account's login + whether it can push to owner/repo, using
|
|
72
|
+
* the gh CLI with the same token env the failing call used. Best-effort: any
|
|
73
|
+
* probe that fails leaves its field null/false instead of throwing.
|
|
74
|
+
*/
|
|
75
|
+
export async function resolveGitHubAccessFacts(
|
|
76
|
+
exec: ExecFn,
|
|
77
|
+
env: NodeJS.ProcessEnv | undefined,
|
|
78
|
+
owner: string,
|
|
79
|
+
repo: string,
|
|
80
|
+
): Promise<{ login: string | null; canPush: boolean | null }> {
|
|
81
|
+
let login: string | null = null;
|
|
82
|
+
try {
|
|
83
|
+
const u = await exec('gh', ['api', 'user', '--jq', '.login'], { env });
|
|
84
|
+
if (u.exitCode === 0) login = u.stdout.trim() || null;
|
|
85
|
+
} catch {
|
|
86
|
+
/* leave login null */
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
let canPush: boolean | null = null;
|
|
90
|
+
try {
|
|
91
|
+
const r = await exec(
|
|
92
|
+
'gh',
|
|
93
|
+
['api', `repos/${owner}/${repo}`, '--jq', '.permissions.push // false'],
|
|
94
|
+
{ env },
|
|
95
|
+
);
|
|
96
|
+
if (r.exitCode === 0) canPush = r.stdout.trim() === 'true';
|
|
97
|
+
else canPush = false; // 404/403 on the repo itself → no access
|
|
98
|
+
} catch {
|
|
99
|
+
/* leave canPush null */
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return { login, canPush };
|
|
103
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execFileNoThrow } from "../../vendor/utils/execFileNoThrow.js";
|
|
2
|
+
import { explainGitHubAccessError, resolveGitHubAccessFacts } from "./github-access-error.js";
|
|
2
3
|
import { checkAndDecrement } from "../../../../../src/sync/github-rate-limit-budget.js";
|
|
3
4
|
import { findProjectRoot } from "../../../../../src/utils/find-project-root.js";
|
|
4
5
|
const _GitHubClientV2 = class _GitHubClientV2 {
|
|
@@ -29,6 +30,27 @@ const _GitHubClientV2 = class _GitHubClientV2 {
|
|
|
29
30
|
getGhEnv() {
|
|
30
31
|
return this.token ? { ...process.env, GH_TOKEN: this.token } : process.env;
|
|
31
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Turn a failed `gh` create result into a clear error.
|
|
35
|
+
*
|
|
36
|
+
* When the failure looks like an auth/access problem (notably a 404 masking a
|
|
37
|
+
* wrong-account token in .env), resolve the token's account + write access and
|
|
38
|
+
* explain exactly what to fix; otherwise fall back to the raw gh error.
|
|
39
|
+
*/
|
|
40
|
+
async buildCreateError(action, rawError) {
|
|
41
|
+
try {
|
|
42
|
+
const facts = await resolveGitHubAccessFacts(
|
|
43
|
+
execFileNoThrow,
|
|
44
|
+
this.getGhEnv(),
|
|
45
|
+
this.owner,
|
|
46
|
+
this.repo
|
|
47
|
+
);
|
|
48
|
+
const explained = explainGitHubAccessError(rawError, { ...facts, owner: this.owner, repo: this.repo });
|
|
49
|
+
if (explained) return new Error(`Failed to ${action}: ${explained}`);
|
|
50
|
+
} catch {
|
|
51
|
+
}
|
|
52
|
+
return new Error(`Failed to ${action}: ${rawError}`);
|
|
53
|
+
}
|
|
32
54
|
/**
|
|
33
55
|
* Set the project root for rate-limit budget tracking.
|
|
34
56
|
* When set, all API calls check the shared budget before executing.
|
|
@@ -153,7 +175,7 @@ const _GitHubClientV2 = class _GitHubClientV2 {
|
|
|
153
175
|
}
|
|
154
176
|
const result = await this.execWithBudget("gh", args, { env: this.getGhEnv() });
|
|
155
177
|
if (result.exitCode !== 0) {
|
|
156
|
-
throw
|
|
178
|
+
throw await this.buildCreateError("create milestone", result.stderr || result.stdout);
|
|
157
179
|
}
|
|
158
180
|
return JSON.parse(result.stdout);
|
|
159
181
|
}
|
|
@@ -324,9 +346,7 @@ FIX:
|
|
|
324
346
|
}
|
|
325
347
|
const createResult = await this.execWithBudget("gh", args, { env: this.getGhEnv() });
|
|
326
348
|
if (createResult.exitCode !== 0) {
|
|
327
|
-
throw
|
|
328
|
-
`Failed to create epic issue: ${createResult.stderr || createResult.stdout}`
|
|
329
|
-
);
|
|
349
|
+
throw await this.buildCreateError("create issue", createResult.stderr || createResult.stdout);
|
|
330
350
|
}
|
|
331
351
|
const issueUrl = createResult.stdout.trim();
|
|
332
352
|
const issueNumber = parseInt(issueUrl.split("/").pop() || "0", 10);
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { execFileNoThrow } from '../../vendor/utils/execFileNoThrow.js';
|
|
12
|
+
import { explainGitHubAccessError, resolveGitHubAccessFacts } from './github-access-error.js';
|
|
12
13
|
import { GitHubIssue, GitHubMilestone, GitHubExternalChange } from './types';
|
|
13
14
|
import { SyncProfile, GitHubConfig, TimeRangePreset } from '../../../../../src/core/types/sync-profile';
|
|
14
15
|
import { checkAndDecrement } from '../../../../../src/sync/github-rate-limit-budget.js';
|
|
@@ -58,6 +59,29 @@ export class GitHubClientV2 {
|
|
|
58
59
|
: process.env;
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Turn a failed `gh` create result into a clear error.
|
|
64
|
+
*
|
|
65
|
+
* When the failure looks like an auth/access problem (notably a 404 masking a
|
|
66
|
+
* wrong-account token in .env), resolve the token's account + write access and
|
|
67
|
+
* explain exactly what to fix; otherwise fall back to the raw gh error.
|
|
68
|
+
*/
|
|
69
|
+
private async buildCreateError(action: string, rawError: string): Promise<Error> {
|
|
70
|
+
try {
|
|
71
|
+
const facts = await resolveGitHubAccessFacts(
|
|
72
|
+
execFileNoThrow,
|
|
73
|
+
this.getGhEnv(),
|
|
74
|
+
this.owner,
|
|
75
|
+
this.repo,
|
|
76
|
+
);
|
|
77
|
+
const explained = explainGitHubAccessError(rawError, { ...facts, owner: this.owner, repo: this.repo });
|
|
78
|
+
if (explained) return new Error(`Failed to ${action}: ${explained}`);
|
|
79
|
+
} catch {
|
|
80
|
+
/* fall through to the raw error */
|
|
81
|
+
}
|
|
82
|
+
return new Error(`Failed to ${action}: ${rawError}`);
|
|
83
|
+
}
|
|
84
|
+
|
|
61
85
|
/**
|
|
62
86
|
* Set the project root for rate-limit budget tracking.
|
|
63
87
|
* When set, all API calls check the shared budget before executing.
|
|
@@ -221,7 +245,7 @@ export class GitHubClientV2 {
|
|
|
221
245
|
const result = await this.execWithBudget('gh', args, { env: this.getGhEnv() });
|
|
222
246
|
|
|
223
247
|
if (result.exitCode !== 0) {
|
|
224
|
-
throw
|
|
248
|
+
throw await this.buildCreateError('create milestone', result.stderr || result.stdout);
|
|
225
249
|
}
|
|
226
250
|
|
|
227
251
|
return JSON.parse(result.stdout);
|
|
@@ -435,9 +459,7 @@ export class GitHubClientV2 {
|
|
|
435
459
|
const createResult = await this.execWithBudget('gh', args, { env: this.getGhEnv() });
|
|
436
460
|
|
|
437
461
|
if (createResult.exitCode !== 0) {
|
|
438
|
-
throw
|
|
439
|
-
`Failed to create epic issue: ${createResult.stderr || createResult.stdout}`
|
|
440
|
-
);
|
|
462
|
+
throw await this.buildCreateError('create issue', createResult.stderr || createResult.stdout);
|
|
441
463
|
}
|
|
442
464
|
|
|
443
465
|
const issueUrl = createResult.stdout.trim();
|