specweave 0.24.8 → 0.24.9
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/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +3 -1
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +18 -2
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/core/repo-structure/git-error-handler.d.ts +1 -1
- package/dist/src/core/repo-structure/git-error-handler.d.ts.map +1 -1
- package/dist/src/core/repo-structure/git-provider.d.ts +1 -1
- package/dist/src/core/repo-structure/git-provider.d.ts.map +1 -1
- package/dist/src/core/repo-structure/platform-registry.d.ts.map +1 -1
- package/dist/src/core/repo-structure/platform-registry.js +20 -9
- package/dist/src/core/repo-structure/platform-registry.js.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts +13 -1
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +38 -5
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts +64 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js +263 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js.map +1 -0
- package/dist/src/core/repo-structure/providers/bitbucket-provider.d.ts +12 -11
- package/dist/src/core/repo-structure/providers/bitbucket-provider.d.ts.map +1 -1
- package/dist/src/core/repo-structure/providers/bitbucket-provider.js +164 -30
- package/dist/src/core/repo-structure/providers/bitbucket-provider.js.map +1 -1
- package/dist/src/core/repo-structure/providers/gitlab-provider.d.ts +10 -9
- package/dist/src/core/repo-structure/providers/gitlab-provider.d.ts.map +1 -1
- package/dist/src/core/repo-structure/providers/gitlab-provider.js +182 -28
- package/dist/src/core/repo-structure/providers/gitlab-provider.js.map +1 -1
- package/dist/src/core/repo-structure/providers/index.d.ts +3 -1
- package/dist/src/core/repo-structure/providers/index.d.ts.map +1 -1
- package/dist/src/core/repo-structure/providers/index.js +10 -2
- package/dist/src/core/repo-structure/providers/index.js.map +1 -1
- package/dist/src/core/repo-structure/providers/local-provider.d.ts +61 -0
- package/dist/src/core/repo-structure/providers/local-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/local-provider.js +148 -0
- package/dist/src/core/repo-structure/providers/local-provider.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +11 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +268 -84
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/agents/pm/AGENT.md.bak +1893 -0
- package/plugins/specweave/hooks/docs-changed.sh.backup +79 -0
- package/plugins/specweave/hooks/human-input-required.sh.backup +75 -0
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
- package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
- package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
- package/plugins/specweave/hooks/post-first-increment.sh.backup +61 -0
- package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
- package/plugins/specweave/hooks/post-increment-change.sh.backup +98 -0
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +231 -0
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +1048 -0
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +147 -0
- package/plugins/specweave/hooks/post-spec-update.sh.backup +158 -0
- package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
- package/plugins/specweave/hooks/post-task-completion.sh +69 -175
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +179 -0
- package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +83 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
- package/plugins/specweave/hooks/pre-implementation.sh.backup +67 -0
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +194 -0
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +133 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +386 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
- package/plugins/specweave/lib/hooks/auto-transition.js.bak +50 -0
- package/plugins/specweave/lib/hooks/auto-transition.ts.bak +84 -0
- package/plugins/specweave/lib/hooks/consolidated-sync.js +183 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.bak +89 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.js.bak +142 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.ts.bak +269 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.bak +60 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js.bak +155 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts.bak +264 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.bak +42 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.js.bak +110 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.ts.bak +178 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.bak +45 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.js.bak +92 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.ts.bak +156 -0
- package/plugins/specweave/lib/hooks/reflection-parser.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-parser.d.ts.bak +33 -0
- package/plugins/specweave/lib/hooks/reflection-parser.js.bak +301 -0
- package/plugins/specweave/lib/hooks/reflection-parser.ts.bak +484 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.bak +56 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.bak +182 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts.bak +306 -0
- package/plugins/specweave/lib/hooks/reflection-storage.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-storage.d.ts.bak +64 -0
- package/plugins/specweave/lib/hooks/reflection-storage.js.bak +231 -0
- package/plugins/specweave/lib/hooks/reflection-storage.ts.bak +369 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.bak +43 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.js.bak +132 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.ts.bak +258 -0
- package/plugins/specweave/lib/hooks/sync-cache.js.bak +294 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.d.js.bak +1 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.bak +27 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.js.bak +339 -0
- package/plugins/specweave/lib/hooks/sync-us-tasks.js.bak +476 -0
- package/plugins/specweave/lib/hooks/translate-file.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-file.d.ts.bak +59 -0
- package/plugins/specweave/lib/hooks/translate-file.js.bak +289 -0
- package/plugins/specweave/lib/hooks/translate-file.ts.bak +428 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.bak +13 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.js.bak +119 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.ts.bak +224 -0
- package/plugins/specweave/lib/hooks/update-ac-status.js.bak +51 -0
- package/plugins/specweave/lib/hooks/update-ac-status.ts.bak +103 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.d.js.bak +1 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.bak +29 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.js.bak +296 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.ts.bak +489 -0
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +353 -0
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +1 -0
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +424 -0
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +258 -0
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +540 -0
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +110 -0
|
@@ -44,13 +44,12 @@ export class GitPlatformRegistry {
|
|
|
44
44
|
selfHosted: false
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
-
// GitLab (
|
|
47
|
+
// GitLab (fully supported)
|
|
48
48
|
this.registerPlatform({
|
|
49
49
|
type: 'gitlab',
|
|
50
50
|
name: 'GitLab',
|
|
51
51
|
description: 'GitLab.com - DevOps platform',
|
|
52
|
-
supported:
|
|
53
|
-
status: 'Coming Soon',
|
|
52
|
+
supported: true,
|
|
54
53
|
config: {
|
|
55
54
|
type: 'gitlab',
|
|
56
55
|
name: 'GitLab',
|
|
@@ -59,13 +58,12 @@ export class GitPlatformRegistry {
|
|
|
59
58
|
selfHosted: false
|
|
60
59
|
}
|
|
61
60
|
});
|
|
62
|
-
// Bitbucket (
|
|
61
|
+
// Bitbucket (fully supported)
|
|
63
62
|
this.registerPlatform({
|
|
64
63
|
type: 'bitbucket',
|
|
65
64
|
name: 'Bitbucket',
|
|
66
65
|
description: 'Bitbucket.org - Atlassian Git hosting',
|
|
67
|
-
supported:
|
|
68
|
-
status: 'Coming Soon',
|
|
66
|
+
supported: true,
|
|
69
67
|
config: {
|
|
70
68
|
type: 'bitbucket',
|
|
71
69
|
name: 'Bitbucket',
|
|
@@ -74,13 +72,12 @@ export class GitPlatformRegistry {
|
|
|
74
72
|
selfHosted: false
|
|
75
73
|
}
|
|
76
74
|
});
|
|
77
|
-
// Azure DevOps (
|
|
75
|
+
// Azure DevOps (fully supported)
|
|
78
76
|
this.registerPlatform({
|
|
79
77
|
type: 'azure-devops',
|
|
80
78
|
name: 'Azure DevOps',
|
|
81
79
|
description: 'Azure DevOps Repos - Microsoft DevOps platform',
|
|
82
|
-
supported:
|
|
83
|
-
status: 'Coming Soon',
|
|
80
|
+
supported: true,
|
|
84
81
|
config: {
|
|
85
82
|
type: 'azure-devops',
|
|
86
83
|
name: 'Azure DevOps',
|
|
@@ -89,6 +86,20 @@ export class GitPlatformRegistry {
|
|
|
89
86
|
selfHosted: false
|
|
90
87
|
}
|
|
91
88
|
});
|
|
89
|
+
// Local Git (fully supported)
|
|
90
|
+
this.registerPlatform({
|
|
91
|
+
type: 'local',
|
|
92
|
+
name: 'Local Git',
|
|
93
|
+
description: 'Local-only Git repositories (no remote hosting)',
|
|
94
|
+
supported: true,
|
|
95
|
+
config: {
|
|
96
|
+
type: 'local',
|
|
97
|
+
name: 'Local Git',
|
|
98
|
+
host: 'localhost',
|
|
99
|
+
apiBaseUrl: '',
|
|
100
|
+
selfHosted: true
|
|
101
|
+
}
|
|
102
|
+
});
|
|
92
103
|
}
|
|
93
104
|
/**
|
|
94
105
|
* Register a platform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/platform-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqCH;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAK9B;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,wBAAwB;QAC9B,2BAA2B;QAC3B,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uCAAuC;YACpD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,wBAAwB;gBACpC,UAAU,EAAE,KAAK;aAClB;SACF,CAAC,CAAC;QAEH,
|
|
1
|
+
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/platform-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,9 +63,10 @@ export declare function getVisibilityPrompt(repoName: string): {
|
|
|
63
63
|
/**
|
|
64
64
|
* Get Git remote URL type prompt (SSH vs HTTPS)
|
|
65
65
|
*
|
|
66
|
+
* @param platform - Optional platform name for examples
|
|
66
67
|
* @returns URL type question and options
|
|
67
68
|
*/
|
|
68
|
-
export declare function getUrlTypePrompt(): {
|
|
69
|
+
export declare function getUrlTypePrompt(platform?: string): {
|
|
69
70
|
question: string;
|
|
70
71
|
options: Array<{
|
|
71
72
|
value: 'ssh' | 'https';
|
|
@@ -88,8 +89,19 @@ export declare function getPlatformSelectionPrompt(): {
|
|
|
88
89
|
*
|
|
89
90
|
* @param isOrganization - Whether creating repos in an organization
|
|
90
91
|
* @returns Formatted guidance message
|
|
92
|
+
* @deprecated Use getTokenGuidance() for platform-agnostic guidance
|
|
91
93
|
*/
|
|
92
94
|
export declare function getGitHubTokenGuidance(isOrganization?: boolean): string;
|
|
95
|
+
/**
|
|
96
|
+
* Get platform-specific token permission guidance
|
|
97
|
+
*
|
|
98
|
+
* @param platform - Platform type
|
|
99
|
+
* @param tokenUrl - URL to create token
|
|
100
|
+
* @param scopes - Required scopes/permissions
|
|
101
|
+
* @param isOrganization - Whether creating repos in an organization
|
|
102
|
+
* @returns Formatted guidance message
|
|
103
|
+
*/
|
|
104
|
+
export declare function getTokenGuidance(platform: string, tokenUrl: string, scopes: string[], isOrganization?: boolean): string;
|
|
93
105
|
/**
|
|
94
106
|
* Format architecture choice for display
|
|
95
107
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-consolidator.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/prompt-consolidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CAkCA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAwC9C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAYxF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B,CAiBA;AAED
|
|
1
|
+
{"version":3,"file":"prompt-consolidator.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/prompt-consolidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CAkCA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAwC9C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAYxF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B,CAiBA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,MAAqB,GAAG;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC;CAC1B,CAiBA;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAmBA;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,GAAE,OAAe,GAAG,MAAM,CAsB9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,GAAE,OAAe,GAC9B,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAS3E"}
|
|
@@ -140,21 +140,22 @@ export function getVisibilityPrompt(repoName) {
|
|
|
140
140
|
/**
|
|
141
141
|
* Get Git remote URL type prompt (SSH vs HTTPS)
|
|
142
142
|
*
|
|
143
|
+
* @param platform - Optional platform name for examples
|
|
143
144
|
* @returns URL type question and options
|
|
144
145
|
*/
|
|
145
|
-
export function getUrlTypePrompt() {
|
|
146
|
+
export function getUrlTypePrompt(platform = 'github.com') {
|
|
146
147
|
return {
|
|
147
148
|
question: 'Git remote URL format?',
|
|
148
149
|
options: [
|
|
149
150
|
{
|
|
150
151
|
value: 'ssh',
|
|
151
152
|
label: 'SSH (Recommended)',
|
|
152
|
-
description:
|
|
153
|
+
description: `git@${platform}:owner/repo.git - More secure, no password needed`
|
|
153
154
|
},
|
|
154
155
|
{
|
|
155
156
|
value: 'https',
|
|
156
157
|
label: 'HTTPS',
|
|
157
|
-
description:
|
|
158
|
+
description: `https://${platform}/owner/repo.git - Works everywhere, uses tokens`
|
|
158
159
|
}
|
|
159
160
|
],
|
|
160
161
|
default: 'ssh'
|
|
@@ -174,8 +175,14 @@ export function getPlatformSelectionPrompt() {
|
|
|
174
175
|
SpecWeave supports multiple Git hosting platforms.
|
|
175
176
|
Choose where your repositories will be hosted.
|
|
176
177
|
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
✅ Fully Supported Platforms:
|
|
179
|
+
• GitHub (github.com)
|
|
180
|
+
• GitLab (gitlab.com)
|
|
181
|
+
• Bitbucket (bitbucket.org)
|
|
182
|
+
• Azure DevOps (dev.azure.com)
|
|
183
|
+
• Local Git (local-only repositories)
|
|
184
|
+
|
|
185
|
+
All platforms include full repository validation, creation, and management capabilities.
|
|
179
186
|
`.trim()
|
|
180
187
|
};
|
|
181
188
|
}
|
|
@@ -184,6 +191,7 @@ Other platforms (GitLab, Bitbucket, Azure DevOps) are coming soon!
|
|
|
184
191
|
*
|
|
185
192
|
* @param isOrganization - Whether creating repos in an organization
|
|
186
193
|
* @returns Formatted guidance message
|
|
194
|
+
* @deprecated Use getTokenGuidance() for platform-agnostic guidance
|
|
187
195
|
*/
|
|
188
196
|
export function getGitHubTokenGuidance(isOrganization = false) {
|
|
189
197
|
const requiredScopes = [
|
|
@@ -206,6 +214,31 @@ ${requiredScopes.join('\n')}
|
|
|
206
214
|
- Keep your token secure
|
|
207
215
|
`.trim();
|
|
208
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Get platform-specific token permission guidance
|
|
219
|
+
*
|
|
220
|
+
* @param platform - Platform type
|
|
221
|
+
* @param tokenUrl - URL to create token
|
|
222
|
+
* @param scopes - Required scopes/permissions
|
|
223
|
+
* @param isOrganization - Whether creating repos in an organization
|
|
224
|
+
* @returns Formatted guidance message
|
|
225
|
+
*/
|
|
226
|
+
export function getTokenGuidance(platform, tokenUrl, scopes, isOrganization = false) {
|
|
227
|
+
const platformName = platform.charAt(0).toUpperCase() + platform.slice(1);
|
|
228
|
+
return `
|
|
229
|
+
📋 ${platformName} Access Token Requirements
|
|
230
|
+
|
|
231
|
+
Required Scopes/Permissions:
|
|
232
|
+
${scopes.map(s => `• ${s}`).join('\n')}
|
|
233
|
+
|
|
234
|
+
🔗 Create token at: ${tokenUrl}
|
|
235
|
+
|
|
236
|
+
⚠️ Important:
|
|
237
|
+
- Select all required scopes/permissions above
|
|
238
|
+
${isOrganization && platform === 'github' ? '- Select "admin:org" if creating in organization\n' : ''}- Token will be stored in .env (never committed)
|
|
239
|
+
- Keep your token secure
|
|
240
|
+
`.trim();
|
|
241
|
+
}
|
|
209
242
|
/**
|
|
210
243
|
* Format architecture choice for display
|
|
211
244
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-consolidator.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/prompt-consolidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB;IAInC,OAAO;QACL,QAAQ,EAAE,uCAAuC;QACjD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,4BAA4B;gBACzC,OAAO,EAAE;;;;;;SAMR,CAAC,IAAI,EAAE;aACT;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,iDAAiD;gBACxD,WAAW,EAAE,+DAA+D;gBAC5E,OAAO,EAAE;;;;;;;;;;SAUR,CAAC,IAAI,EAAE;aACT;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCN,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,SAAiB;IAC9E,MAAM,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,qCAAqC,KAAK;;MAE/C,SAAS,mBAAmB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc;;eAElE,KAAK,yCAAyC,CAAC;IAC5D,CAAC;IAED,OAAO,qCAAqC,KAAK,EAAE,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAKlD,OAAO;QACL,QAAQ,EAAE,8BAA8B,QAAQ,IAAI;QACpD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,oDAAoD;aAClE;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gCAAgC;aAC9C;SACF;QACD,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"prompt-consolidator.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/prompt-consolidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure DevOps Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements GitProvider interface for Azure DevOps Repos.
|
|
5
|
+
* Handles repository validation, creation, and management via Azure DevOps REST API.
|
|
6
|
+
*
|
|
7
|
+
* @module providers/azure-devops-provider
|
|
8
|
+
*/
|
|
9
|
+
import { BaseGitProvider, type PlatformConfig, type RepoValidationResult, type OwnerValidationResult, type CreateRepoOptions } from '../git-provider.js';
|
|
10
|
+
import type { UrlType } from '../url-generator.js';
|
|
11
|
+
/**
|
|
12
|
+
* Azure DevOps Provider
|
|
13
|
+
*
|
|
14
|
+
* Implements Git operations for Azure DevOps platform.
|
|
15
|
+
* Note: Azure DevOps uses organization/project/repository structure.
|
|
16
|
+
* The "owner" parameter typically represents "organization/project".
|
|
17
|
+
*/
|
|
18
|
+
export declare class AzureDevOpsProvider extends BaseGitProvider {
|
|
19
|
+
constructor(config?: Partial<PlatformConfig>);
|
|
20
|
+
/**
|
|
21
|
+
* Validate if a repository exists in Azure DevOps
|
|
22
|
+
* owner format: "organization/project"
|
|
23
|
+
*/
|
|
24
|
+
validateRepository(owner: string, repo: string, token?: string): Promise<RepoValidationResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Validate if an Azure DevOps organization/project exists
|
|
27
|
+
* owner format: "organization/project"
|
|
28
|
+
*/
|
|
29
|
+
validateOwner(owner: string, token?: string): Promise<OwnerValidationResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Create a new repository in Azure DevOps
|
|
32
|
+
*/
|
|
33
|
+
createRepository(options: CreateRepoOptions, token: string): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Check if account is an organization (always true for Azure DevOps)
|
|
36
|
+
*/
|
|
37
|
+
isOrganization(account: string, token?: string): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Get token creation URL
|
|
40
|
+
*/
|
|
41
|
+
getTokenUrl(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get required token scopes
|
|
44
|
+
*/
|
|
45
|
+
getRequiredScopes(isOrganization?: boolean): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Override getRemoteUrl for Azure DevOps-specific URL format
|
|
48
|
+
*/
|
|
49
|
+
getRemoteUrl(owner: string, repo: string, urlType: UrlType): string;
|
|
50
|
+
/**
|
|
51
|
+
* Override getAuthHeaders for Azure DevOps-specific auth (Basic Auth with PAT)
|
|
52
|
+
*/
|
|
53
|
+
protected getAuthHeaders(token: string): Record<string, string>;
|
|
54
|
+
/**
|
|
55
|
+
* Parse owner string into organization and project
|
|
56
|
+
* Format: "organization" or "organization/project"
|
|
57
|
+
*/
|
|
58
|
+
private parseOwner;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create an Azure DevOps provider instance
|
|
62
|
+
*/
|
|
63
|
+
export declare function createAzureDevOpsProvider(config?: Partial<PlatformConfig>): AzureDevOpsProvider;
|
|
64
|
+
//# sourceMappingURL=azure-devops-provider.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure DevOps Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements GitProvider interface for Azure DevOps Repos.
|
|
5
|
+
* Handles repository validation, creation, and management via Azure DevOps REST API.
|
|
6
|
+
*
|
|
7
|
+
* @module providers/azure-devops-provider
|
|
8
|
+
*/
|
|
9
|
+
import { BaseGitProvider } from '../git-provider.js';
|
|
10
|
+
import { getActionableError, formatActionableError } from '../git-error-handler.js';
|
|
11
|
+
/**
|
|
12
|
+
* Azure DevOps Provider
|
|
13
|
+
*
|
|
14
|
+
* Implements Git operations for Azure DevOps platform.
|
|
15
|
+
* Note: Azure DevOps uses organization/project/repository structure.
|
|
16
|
+
* The "owner" parameter typically represents "organization/project".
|
|
17
|
+
*/
|
|
18
|
+
export class AzureDevOpsProvider extends BaseGitProvider {
|
|
19
|
+
constructor(config) {
|
|
20
|
+
super({
|
|
21
|
+
type: 'azure-devops',
|
|
22
|
+
name: 'Azure DevOps',
|
|
23
|
+
host: config?.host || 'dev.azure.com',
|
|
24
|
+
apiBaseUrl: config?.apiBaseUrl || 'https://dev.azure.com',
|
|
25
|
+
selfHosted: config?.selfHosted || false,
|
|
26
|
+
customDomain: config?.customDomain
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Validate if a repository exists in Azure DevOps
|
|
31
|
+
* owner format: "organization/project"
|
|
32
|
+
*/
|
|
33
|
+
async validateRepository(owner, repo, token) {
|
|
34
|
+
try {
|
|
35
|
+
const [organization, project] = this.parseOwner(owner);
|
|
36
|
+
const headers = {
|
|
37
|
+
'Accept': 'application/json'
|
|
38
|
+
};
|
|
39
|
+
if (token) {
|
|
40
|
+
// Azure DevOps uses Basic Auth with PAT
|
|
41
|
+
const auth = Buffer.from(`:${token}`).toString('base64');
|
|
42
|
+
headers['Authorization'] = `Basic ${auth}`;
|
|
43
|
+
}
|
|
44
|
+
const response = await fetch(`${this.config.apiBaseUrl}/${organization}/${project}/_apis/git/repositories/${repo}?api-version=7.0`, { headers });
|
|
45
|
+
if (response.status === 404) {
|
|
46
|
+
// Repository does not exist (good for creation)
|
|
47
|
+
return { exists: false, valid: true };
|
|
48
|
+
}
|
|
49
|
+
if (response.status === 200) {
|
|
50
|
+
// Repository already exists
|
|
51
|
+
const data = await response.json();
|
|
52
|
+
return {
|
|
53
|
+
exists: true,
|
|
54
|
+
valid: true,
|
|
55
|
+
url: data.webUrl || data.remoteUrl
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (response.status === 401 || response.status === 403) {
|
|
59
|
+
// Authentication or permission error
|
|
60
|
+
const apiError = {
|
|
61
|
+
status: response.status,
|
|
62
|
+
message: response.statusText,
|
|
63
|
+
platform: 'azure-devops',
|
|
64
|
+
operation: 'validate_repo',
|
|
65
|
+
resourceType: 'repository',
|
|
66
|
+
resourceName: `${organization}/${project}/${repo}`
|
|
67
|
+
};
|
|
68
|
+
const actionable = getActionableError(apiError);
|
|
69
|
+
return { exists: false, valid: false, error: formatActionableError(actionable) };
|
|
70
|
+
}
|
|
71
|
+
// Other error
|
|
72
|
+
const apiError = {
|
|
73
|
+
status: response.status,
|
|
74
|
+
message: response.statusText,
|
|
75
|
+
platform: 'azure-devops',
|
|
76
|
+
operation: 'validate_repo',
|
|
77
|
+
resourceType: 'repository',
|
|
78
|
+
resourceName: `${organization}/${project}/${repo}`
|
|
79
|
+
};
|
|
80
|
+
const actionable = getActionableError(apiError);
|
|
81
|
+
return {
|
|
82
|
+
exists: false,
|
|
83
|
+
valid: false,
|
|
84
|
+
error: formatActionableError(actionable)
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return {
|
|
89
|
+
exists: false,
|
|
90
|
+
valid: false,
|
|
91
|
+
error: `Network error: ${error instanceof Error ? error.message : String(error)}`
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validate if an Azure DevOps organization/project exists
|
|
97
|
+
* owner format: "organization/project"
|
|
98
|
+
*/
|
|
99
|
+
async validateOwner(owner, token) {
|
|
100
|
+
const headers = {
|
|
101
|
+
'Accept': 'application/json'
|
|
102
|
+
};
|
|
103
|
+
if (token) {
|
|
104
|
+
const auth = Buffer.from(`:${token}`).toString('base64');
|
|
105
|
+
headers['Authorization'] = `Basic ${auth}`;
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const [organization, project] = this.parseOwner(owner);
|
|
109
|
+
// Validate organization exists by checking projects
|
|
110
|
+
const orgResponse = await fetch(`${this.config.apiBaseUrl}/${organization}/_apis/projects?api-version=7.0`, { headers });
|
|
111
|
+
if (orgResponse.status !== 200) {
|
|
112
|
+
const apiError = {
|
|
113
|
+
status: 404,
|
|
114
|
+
message: 'Organization not found',
|
|
115
|
+
platform: 'azure-devops',
|
|
116
|
+
operation: 'validate_owner',
|
|
117
|
+
resourceType: 'organization',
|
|
118
|
+
resourceName: organization
|
|
119
|
+
};
|
|
120
|
+
const actionable = getActionableError(apiError);
|
|
121
|
+
return { valid: false, error: formatActionableError(actionable) };
|
|
122
|
+
}
|
|
123
|
+
// If project specified, validate it exists
|
|
124
|
+
if (project) {
|
|
125
|
+
const projectResponse = await fetch(`${this.config.apiBaseUrl}/${organization}/_apis/projects/${project}?api-version=7.0`, { headers });
|
|
126
|
+
if (projectResponse.status !== 200) {
|
|
127
|
+
const apiError = {
|
|
128
|
+
status: 404,
|
|
129
|
+
message: 'Project not found',
|
|
130
|
+
platform: 'azure-devops',
|
|
131
|
+
operation: 'validate_owner',
|
|
132
|
+
resourceType: 'project',
|
|
133
|
+
resourceName: `${organization}/${project}`
|
|
134
|
+
};
|
|
135
|
+
const actionable = getActionableError(apiError);
|
|
136
|
+
return { valid: false, error: formatActionableError(actionable) };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Azure DevOps organizations are always "organization" type
|
|
140
|
+
return { valid: true, type: 'organization' };
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return {
|
|
144
|
+
valid: false,
|
|
145
|
+
error: `Network error: ${error instanceof Error ? error.message : String(error)}`
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Create a new repository in Azure DevOps
|
|
151
|
+
*/
|
|
152
|
+
async createRepository(options, token) {
|
|
153
|
+
const [organization, project] = this.parseOwner(options.owner);
|
|
154
|
+
if (!project) {
|
|
155
|
+
throw new Error('Azure DevOps requires a project. Use format: "organization/project"');
|
|
156
|
+
}
|
|
157
|
+
const payload = {
|
|
158
|
+
name: options.name,
|
|
159
|
+
project: {
|
|
160
|
+
name: project
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const auth = Buffer.from(`:${token}`).toString('base64');
|
|
164
|
+
const response = await fetch(`${this.config.apiBaseUrl}/${organization}/${project}/_apis/git/repositories?api-version=7.0`, {
|
|
165
|
+
method: 'POST',
|
|
166
|
+
headers: {
|
|
167
|
+
'Authorization': `Basic ${auth}`,
|
|
168
|
+
'Accept': 'application/json',
|
|
169
|
+
'Content-Type': 'application/json'
|
|
170
|
+
},
|
|
171
|
+
body: JSON.stringify(payload)
|
|
172
|
+
});
|
|
173
|
+
if (!response.ok) {
|
|
174
|
+
const error = await response.json();
|
|
175
|
+
// Handle "already exists" error
|
|
176
|
+
if (error.message?.includes('already exists') || error.typeKey === 'GitRepositoryNameAlreadyExistsException') {
|
|
177
|
+
// Repository already exists, return URL
|
|
178
|
+
const host = this.config.customDomain || this.config.host;
|
|
179
|
+
return `https://${host}/${organization}/${project}/_git/${options.name}`;
|
|
180
|
+
}
|
|
181
|
+
// Handle other errors with actionable messages
|
|
182
|
+
const apiError = {
|
|
183
|
+
status: response.status,
|
|
184
|
+
message: error.message || response.statusText,
|
|
185
|
+
platform: 'azure-devops',
|
|
186
|
+
operation: 'create_repo',
|
|
187
|
+
resourceType: 'repository',
|
|
188
|
+
resourceName: `${organization}/${project}/${options.name}`
|
|
189
|
+
};
|
|
190
|
+
const actionable = getActionableError(apiError);
|
|
191
|
+
throw new Error(formatActionableError(actionable));
|
|
192
|
+
}
|
|
193
|
+
const data = await response.json();
|
|
194
|
+
return data.webUrl || data.remoteUrl;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Check if account is an organization (always true for Azure DevOps)
|
|
198
|
+
*/
|
|
199
|
+
async isOrganization(account, token) {
|
|
200
|
+
// Azure DevOps always uses organizations
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Get token creation URL
|
|
205
|
+
*/
|
|
206
|
+
getTokenUrl() {
|
|
207
|
+
if (this.config.selfHosted) {
|
|
208
|
+
return `https://${this.config.customDomain || this.config.host}/_usersSettings/tokens`;
|
|
209
|
+
}
|
|
210
|
+
return 'https://dev.azure.com/_usersSettings/tokens';
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get required token scopes
|
|
214
|
+
*/
|
|
215
|
+
getRequiredScopes(isOrganization) {
|
|
216
|
+
return ['vso.code_write', 'vso.code_manage', 'vso.project'];
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Override getRemoteUrl for Azure DevOps-specific URL format
|
|
220
|
+
*/
|
|
221
|
+
getRemoteUrl(owner, repo, urlType) {
|
|
222
|
+
const [organization, project] = this.parseOwner(owner);
|
|
223
|
+
const host = this.config.customDomain || this.config.host;
|
|
224
|
+
if (!project) {
|
|
225
|
+
throw new Error('Azure DevOps requires a project. Use format: "organization/project"');
|
|
226
|
+
}
|
|
227
|
+
if (urlType === 'ssh') {
|
|
228
|
+
return `git@ssh.${host}:v3/${organization}/${project}/${repo}`;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
return `https://${host}/${organization}/${project}/_git/${repo}`;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Override getAuthHeaders for Azure DevOps-specific auth (Basic Auth with PAT)
|
|
236
|
+
*/
|
|
237
|
+
getAuthHeaders(token) {
|
|
238
|
+
const auth = Buffer.from(`:${token}`).toString('base64');
|
|
239
|
+
return {
|
|
240
|
+
'Authorization': `Basic ${auth}`,
|
|
241
|
+
'Accept': 'application/json',
|
|
242
|
+
'Content-Type': 'application/json'
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Parse owner string into organization and project
|
|
247
|
+
* Format: "organization" or "organization/project"
|
|
248
|
+
*/
|
|
249
|
+
parseOwner(owner) {
|
|
250
|
+
const parts = owner.split('/');
|
|
251
|
+
if (parts.length === 1) {
|
|
252
|
+
return [parts[0], null];
|
|
253
|
+
}
|
|
254
|
+
return [parts[0], parts[1]];
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Create an Azure DevOps provider instance
|
|
259
|
+
*/
|
|
260
|
+
export function createAzureDevOpsProvider(config) {
|
|
261
|
+
return new AzureDevOpsProvider(config);
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=azure-devops-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bitbucket Provider Implementation
|
|
2
|
+
* Bitbucket Provider Implementation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Implements GitProvider interface for Bitbucket.org and Bitbucket Server/Data Center.
|
|
5
|
+
* Handles repository validation, creation, and management via Bitbucket API 2.0.
|
|
6
6
|
*
|
|
7
7
|
* @module providers/bitbucket-provider
|
|
8
8
|
*/
|
|
9
9
|
import { BaseGitProvider, type PlatformConfig, type RepoValidationResult, type OwnerValidationResult, type CreateRepoOptions } from '../git-provider.js';
|
|
10
10
|
/**
|
|
11
|
-
* Bitbucket Provider
|
|
11
|
+
* Bitbucket Provider
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* Implements Git operations for Bitbucket platform.
|
|
14
|
+
* Supports both Bitbucket.org and Bitbucket Server/Data Center.
|
|
14
15
|
*/
|
|
15
16
|
export declare class BitbucketProvider extends BaseGitProvider {
|
|
16
17
|
constructor(config?: Partial<PlatformConfig>);
|
|
17
18
|
/**
|
|
18
|
-
* Validate repository
|
|
19
|
+
* Validate if a repository exists on Bitbucket
|
|
19
20
|
*/
|
|
20
21
|
validateRepository(owner: string, repo: string, token?: string): Promise<RepoValidationResult>;
|
|
21
22
|
/**
|
|
22
|
-
* Validate
|
|
23
|
+
* Validate if a Bitbucket workspace (user or team) exists
|
|
23
24
|
*/
|
|
24
25
|
validateOwner(owner: string, token?: string): Promise<OwnerValidationResult>;
|
|
25
26
|
/**
|
|
26
|
-
* Create repository
|
|
27
|
+
* Create a new repository on Bitbucket
|
|
27
28
|
*/
|
|
28
29
|
createRepository(options: CreateRepoOptions, token: string): Promise<string>;
|
|
29
30
|
/**
|
|
30
|
-
* Check if
|
|
31
|
+
* Check if a workspace is a team (organization)
|
|
31
32
|
*/
|
|
32
33
|
isOrganization(account: string, token?: string): Promise<boolean>;
|
|
33
34
|
/**
|
|
@@ -39,11 +40,11 @@ export declare class BitbucketProvider extends BaseGitProvider {
|
|
|
39
40
|
*/
|
|
40
41
|
getRequiredScopes(isOrganization?: boolean): string[];
|
|
41
42
|
/**
|
|
42
|
-
* Override SSH user for Bitbucket
|
|
43
|
+
* Override SSH user for Bitbucket
|
|
43
44
|
*/
|
|
44
45
|
protected getSSHUser(): string;
|
|
45
46
|
/**
|
|
46
|
-
* Override getAuthHeaders for Bitbucket-specific auth
|
|
47
|
+
* Override getAuthHeaders for Bitbucket-specific auth (Bearer token)
|
|
47
48
|
*/
|
|
48
49
|
protected getAuthHeaders(token: string): Record<string, string>;
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket-provider.d.ts","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/bitbucket-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;
|
|
1
|
+
{"version":3,"file":"bitbucket-provider.d.ts","sourceRoot":"","sources":["../../../../../src/core/repo-structure/providers/bitbucket-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;AAGzJ;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAW5C;;OAEG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;IAuEhC;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IAsDjC;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAoDlB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBvE;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACH,iBAAiB,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE;IAIrD;;OAEG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAOhE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAE3F"}
|