snow-flow 8.35.8 → 8.35.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.
|
@@ -7,18 +7,26 @@ import { EnterpriseCredentials } from './types.js';
|
|
|
7
7
|
* Gather credentials from environment variables based on tool name
|
|
8
8
|
* @param toolName - Name of the tool being called (e.g., snow_jira_create_issue)
|
|
9
9
|
* @returns Credentials object with only relevant credentials populated
|
|
10
|
+
*
|
|
11
|
+
* Atlassian Credential Sharing:
|
|
12
|
+
* Jira and Confluence use the same Atlassian credentials (email + API token).
|
|
13
|
+
* If one is missing, we'll try to use the other as fallback.
|
|
10
14
|
*/
|
|
11
15
|
export declare function gatherCredentials(toolName: string): Partial<EnterpriseCredentials>;
|
|
12
16
|
/**
|
|
13
17
|
* Check if all required credentials are available for a tool
|
|
14
18
|
* @param toolName - Name of the tool
|
|
15
19
|
* @returns true if credentials are available, false otherwise
|
|
20
|
+
*
|
|
21
|
+
* Considers Atlassian credential sharing: returns true if fallback available.
|
|
16
22
|
*/
|
|
17
23
|
export declare function hasRequiredCredentials(toolName: string): boolean;
|
|
18
24
|
/**
|
|
19
25
|
* Get list of missing credential environment variables for a tool
|
|
20
26
|
* @param toolName - Name of the tool
|
|
21
27
|
* @returns Array of missing environment variable names
|
|
28
|
+
*
|
|
29
|
+
* Considers Atlassian credential sharing: won't report missing if fallback available.
|
|
22
30
|
*/
|
|
23
31
|
export declare function getMissingCredentials(toolName: string): string[];
|
|
24
32
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoDlF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgBhE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmChE"}
|
|
@@ -11,6 +11,10 @@ exports.getMissingCredentials = getMissingCredentials;
|
|
|
11
11
|
* Gather credentials from environment variables based on tool name
|
|
12
12
|
* @param toolName - Name of the tool being called (e.g., snow_jira_create_issue)
|
|
13
13
|
* @returns Credentials object with only relevant credentials populated
|
|
14
|
+
*
|
|
15
|
+
* Atlassian Credential Sharing:
|
|
16
|
+
* Jira and Confluence use the same Atlassian credentials (email + API token).
|
|
17
|
+
* If one is missing, we'll try to use the other as fallback.
|
|
14
18
|
*/
|
|
15
19
|
function gatherCredentials(toolName) {
|
|
16
20
|
const credentials = {};
|
|
@@ -23,6 +27,14 @@ function gatherCredentials(toolName) {
|
|
|
23
27
|
apiToken: process.env.JIRA_API_TOKEN,
|
|
24
28
|
};
|
|
25
29
|
}
|
|
30
|
+
// Fallback: Try Confluence credentials if Jira not set (Atlassian credential sharing)
|
|
31
|
+
else if (process.env.CONFLUENCE_HOST && process.env.CONFLUENCE_EMAIL && process.env.CONFLUENCE_API_TOKEN) {
|
|
32
|
+
credentials.jira = {
|
|
33
|
+
host: process.env.CONFLUENCE_HOST.replace('/wiki', '').replace('https://', '').replace('http://', ''),
|
|
34
|
+
email: process.env.CONFLUENCE_EMAIL,
|
|
35
|
+
apiToken: process.env.CONFLUENCE_API_TOKEN,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
26
38
|
}
|
|
27
39
|
// Azure DevOps tools (azure_* or snow_azure_*)
|
|
28
40
|
if (toolName.startsWith('azure_') || toolName.startsWith('snow_azure_')) {
|
|
@@ -42,6 +54,14 @@ function gatherCredentials(toolName) {
|
|
|
42
54
|
apiToken: process.env.CONFLUENCE_API_TOKEN,
|
|
43
55
|
};
|
|
44
56
|
}
|
|
57
|
+
// Fallback: Try Jira credentials if Confluence not set (Atlassian credential sharing)
|
|
58
|
+
else if (process.env.JIRA_HOST && process.env.JIRA_EMAIL && process.env.JIRA_API_TOKEN) {
|
|
59
|
+
credentials.confluence = {
|
|
60
|
+
host: process.env.JIRA_HOST.includes('://') ? process.env.JIRA_HOST : 'https://' + process.env.JIRA_HOST,
|
|
61
|
+
email: process.env.JIRA_EMAIL,
|
|
62
|
+
apiToken: process.env.JIRA_API_TOKEN,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
45
65
|
}
|
|
46
66
|
return credentials;
|
|
47
67
|
}
|
|
@@ -49,6 +69,8 @@ function gatherCredentials(toolName) {
|
|
|
49
69
|
* Check if all required credentials are available for a tool
|
|
50
70
|
* @param toolName - Name of the tool
|
|
51
71
|
* @returns true if credentials are available, false otherwise
|
|
72
|
+
*
|
|
73
|
+
* Considers Atlassian credential sharing: returns true if fallback available.
|
|
52
74
|
*/
|
|
53
75
|
function hasRequiredCredentials(toolName) {
|
|
54
76
|
const credentials = gatherCredentials(toolName);
|
|
@@ -67,16 +89,24 @@ function hasRequiredCredentials(toolName) {
|
|
|
67
89
|
* Get list of missing credential environment variables for a tool
|
|
68
90
|
* @param toolName - Name of the tool
|
|
69
91
|
* @returns Array of missing environment variable names
|
|
92
|
+
*
|
|
93
|
+
* Considers Atlassian credential sharing: won't report missing if fallback available.
|
|
70
94
|
*/
|
|
71
95
|
function getMissingCredentials(toolName) {
|
|
72
96
|
const missing = [];
|
|
73
97
|
if (toolName.startsWith('jira_') || toolName.startsWith('snow_jira_')) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (!
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
98
|
+
const hasJira = process.env.JIRA_HOST && process.env.JIRA_EMAIL && process.env.JIRA_API_TOKEN;
|
|
99
|
+
const hasConfluence = process.env.CONFLUENCE_HOST && process.env.CONFLUENCE_EMAIL && process.env.CONFLUENCE_API_TOKEN;
|
|
100
|
+
if (!hasJira && !hasConfluence) {
|
|
101
|
+
// No Atlassian credentials at all
|
|
102
|
+
if (!process.env.JIRA_HOST)
|
|
103
|
+
missing.push('JIRA_HOST');
|
|
104
|
+
if (!process.env.JIRA_EMAIL)
|
|
105
|
+
missing.push('JIRA_EMAIL');
|
|
106
|
+
if (!process.env.JIRA_API_TOKEN)
|
|
107
|
+
missing.push('JIRA_API_TOKEN');
|
|
108
|
+
}
|
|
109
|
+
// If Confluence credentials available, they'll be used as fallback (no warnings needed)
|
|
80
110
|
}
|
|
81
111
|
if (toolName.startsWith('azure_') || toolName.startsWith('snow_azure_')) {
|
|
82
112
|
if (!process.env.AZURE_DEVOPS_ORG)
|
|
@@ -85,12 +115,18 @@ function getMissingCredentials(toolName) {
|
|
|
85
115
|
missing.push('AZURE_DEVOPS_PAT');
|
|
86
116
|
}
|
|
87
117
|
if (toolName.startsWith('confluence_') || toolName.startsWith('snow_confluence_')) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (!
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
118
|
+
const hasConfluence = process.env.CONFLUENCE_HOST && process.env.CONFLUENCE_EMAIL && process.env.CONFLUENCE_API_TOKEN;
|
|
119
|
+
const hasJira = process.env.JIRA_HOST && process.env.JIRA_EMAIL && process.env.JIRA_API_TOKEN;
|
|
120
|
+
if (!hasConfluence && !hasJira) {
|
|
121
|
+
// No Atlassian credentials at all
|
|
122
|
+
if (!process.env.CONFLUENCE_HOST)
|
|
123
|
+
missing.push('CONFLUENCE_HOST');
|
|
124
|
+
if (!process.env.CONFLUENCE_EMAIL)
|
|
125
|
+
missing.push('CONFLUENCE_EMAIL');
|
|
126
|
+
if (!process.env.CONFLUENCE_API_TOKEN)
|
|
127
|
+
missing.push('CONFLUENCE_API_TOKEN');
|
|
128
|
+
}
|
|
129
|
+
// If Jira credentials available, they'll be used as fallback (no warnings needed)
|
|
94
130
|
}
|
|
95
131
|
return missing;
|
|
96
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snow-flow",
|
|
3
|
-
"version": "8.35.
|
|
3
|
+
"version": "8.35.9",
|
|
4
4
|
"description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 393 Optimized Tools • 2 MCP Servers • Multi-agent orchestration • Use ANY AI coding assistant (ML tools moved to Enterprise)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "commonjs",
|