@sireai/optimus 0.1.6 → 0.1.8
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/README.md +8 -1
- package/dist/cli/optimus.js +44 -66
- package/dist/cli/optimus.js.map +1 -1
- package/dist/cli/self-update.js +19 -4
- package/dist/cli/self-update.js.map +1 -1
- package/dist/config/load-config.js +9 -46
- package/dist/config/load-config.js.map +1 -1
- package/dist/integrations/jira/jira-auth-refresh.d.ts +15 -0
- package/dist/integrations/jira/jira-auth-refresh.js +131 -0
- package/dist/integrations/jira/jira-auth-refresh.js.map +1 -0
- package/dist/integrations/jira/jira-cli.js +107 -19
- package/dist/integrations/jira/jira-cli.js.map +1 -1
- package/dist/integrations/jira/jira-client.d.ts +6 -11
- package/dist/integrations/jira/jira-client.js +105 -279
- package/dist/integrations/jira/jira-client.js.map +1 -1
- package/dist/task-environment/delivery/feishu-card-renderer.js +8 -6
- package/dist/task-environment/delivery/feishu-card-renderer.js.map +1 -1
- package/dist/task-environment/delivery/sentry-feishu-card-renderer.js +6 -4
- package/dist/task-environment/delivery/sentry-feishu-card-renderer.js.map +1 -1
- package/dist/task-environment/delivery/task-publication-service.d.ts +8 -7
- package/dist/task-environment/delivery/task-publication-service.js +97 -8
- package/dist/task-environment/delivery/task-publication-service.js.map +1 -1
- package/dist/task-environment/observability/execution-metrics.js +1 -1
- package/dist/task-environment/observability/execution-metrics.js.map +1 -1
- package/dist/task-environment/storage/sqlite-task-store.js +1 -0
- package/dist/task-environment/storage/sqlite-task-store.js.map +1 -1
- package/dist/types.d.ts +3 -7
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-cli.js","sourceRoot":"","sources":["../../../src/integrations/jira/jira-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jira-cli.js","sourceRoot":"","sources":["../../../src/integrations/jira/jira-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,7 @@ export interface JiraGetIssueInput {
|
|
|
58
58
|
commentLimit?: number;
|
|
59
59
|
properties?: string[];
|
|
60
60
|
updateHistory?: boolean;
|
|
61
|
+
includeRawResponse?: boolean;
|
|
61
62
|
}
|
|
62
63
|
export interface JiraIssueDetail extends JiraSearchItem {
|
|
63
64
|
reporter?: string;
|
|
@@ -71,7 +72,7 @@ export interface JiraIssueDetail extends JiraSearchItem {
|
|
|
71
72
|
export interface JiraClientOptions {
|
|
72
73
|
baseUrl: string;
|
|
73
74
|
authHeader?: string;
|
|
74
|
-
|
|
75
|
+
customHeaders?: string;
|
|
75
76
|
fetchImpl?: typeof fetch;
|
|
76
77
|
}
|
|
77
78
|
interface JiraRequestOptions {
|
|
@@ -87,12 +88,10 @@ export interface JiraIssueClient extends JiraIssueReader {
|
|
|
87
88
|
createIssue(input: JiraCreateIssueInput): Promise<JiraCreatedIssue>;
|
|
88
89
|
}
|
|
89
90
|
export interface JiraErrorDiagnostics {
|
|
90
|
-
category: "network_error" | "auth_header_missing" | "request_error" | "response_error";
|
|
91
|
+
category: "network_error" | "auth_header_missing" | "request_error" | "response_error" | "cas_auth_required";
|
|
91
92
|
summary: string;
|
|
92
93
|
detail?: string;
|
|
93
|
-
mcpUrl?: string;
|
|
94
94
|
baseUrl?: string;
|
|
95
|
-
missingHeaders?: string[];
|
|
96
95
|
causeCode?: string;
|
|
97
96
|
}
|
|
98
97
|
export declare class JiraIntegrationError extends Error {
|
|
@@ -115,12 +114,8 @@ export declare class JiraClient implements JiraIssueClient {
|
|
|
115
114
|
export declare function resolveJiraClientFromEnv(processEnv?: NodeJS.ProcessEnv, fetchImpl?: typeof fetch): JiraIssueClient;
|
|
116
115
|
export declare function createJiraClientFromConfig(config: {
|
|
117
116
|
baseUrl: string;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
httpHeaders: Record<string, string>;
|
|
121
|
-
bearerToken?: string;
|
|
122
|
-
username?: string;
|
|
123
|
-
apiToken?: string;
|
|
124
|
-
password?: string;
|
|
117
|
+
personalToken?: string;
|
|
118
|
+
customHeaders?: string;
|
|
125
119
|
}, fetchImpl?: typeof fetch): JiraIssueClient;
|
|
120
|
+
export declare function parseJiraCustomHeaders(raw: string): Record<string, string>;
|
|
126
121
|
export {};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
// Jira integration exposes the
|
|
2
|
-
//
|
|
3
|
-
// Current project config uses the MCP gateway path because the auth material came from the Jira MCP setup.
|
|
4
|
-
import { Buffer } from "node:buffer";
|
|
1
|
+
// Jira integration exposes the read/write capabilities we need through direct Jira REST.
|
|
2
|
+
// CAS-protected Jira deployments require both a personal token and a refreshed CAS cookie header.
|
|
5
3
|
export class JiraIntegrationError extends Error {
|
|
6
4
|
diagnostics;
|
|
7
5
|
constructor(message, diagnostics) {
|
|
@@ -10,7 +8,6 @@ export class JiraIntegrationError extends Error {
|
|
|
10
8
|
this.diagnostics = diagnostics;
|
|
11
9
|
}
|
|
12
10
|
}
|
|
13
|
-
// JiraRestClient keeps the plain Jira REST path available for future basic/bearer auth setups.
|
|
14
11
|
export class JiraClient {
|
|
15
12
|
options;
|
|
16
13
|
fetchImpl;
|
|
@@ -61,7 +58,7 @@ export class JiraClient {
|
|
|
61
58
|
const suffix = query.toString();
|
|
62
59
|
const path = `/rest/api/2/issue/${encodeURIComponent(input.issueKey)}${suffix ? `?${suffix}` : ""}`;
|
|
63
60
|
const response = await this.request(path);
|
|
64
|
-
return mapIssueDetail(response);
|
|
61
|
+
return mapIssueDetail(response, input.includeRawResponse ?? false);
|
|
65
62
|
}
|
|
66
63
|
async addComment(input) {
|
|
67
64
|
const response = await this.request(`/rest/api/2/issue/${encodeURIComponent(input.issueKey)}/comment`, {
|
|
@@ -95,6 +92,7 @@ export class JiraClient {
|
|
|
95
92
|
const url = `${this.options.baseUrl.replace(/\/$/, "")}${path}`;
|
|
96
93
|
const requestInit = {
|
|
97
94
|
method: options.method ?? "GET",
|
|
95
|
+
redirect: "manual",
|
|
98
96
|
headers: {
|
|
99
97
|
accept: "application/json",
|
|
100
98
|
...buildRequestHeaders(this.options),
|
|
@@ -106,6 +104,14 @@ export class JiraClient {
|
|
|
106
104
|
}
|
|
107
105
|
const response = await this.executeFetch(url, requestInit, { baseUrl: this.options.baseUrl });
|
|
108
106
|
const text = await response.text();
|
|
107
|
+
if (isJiraCasResponse(response, text)) {
|
|
108
|
+
throw new JiraIntegrationError("Jira CAS authentication is required. Refresh Jira auth and retry.", {
|
|
109
|
+
category: "cas_auth_required",
|
|
110
|
+
summary: "Jira CAS authentication is required.",
|
|
111
|
+
detail: readCasResponseDetail(response, text),
|
|
112
|
+
baseUrl: this.options.baseUrl
|
|
113
|
+
});
|
|
114
|
+
}
|
|
109
115
|
if (!response.ok) {
|
|
110
116
|
throw new JiraIntegrationError(`Jira request failed: ${response.status} ${response.statusText} ${text.slice(0, 300)}`.trim(), {
|
|
111
117
|
category: "request_error",
|
|
@@ -114,7 +120,20 @@ export class JiraClient {
|
|
|
114
120
|
baseUrl: this.options.baseUrl
|
|
115
121
|
});
|
|
116
122
|
}
|
|
117
|
-
|
|
123
|
+
try {
|
|
124
|
+
return parseJsonResponse(text, "Jira REST returned a non-JSON response. This usually means the request hit a web page or login page instead of the API.");
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (looksLikeCasLoginBody(text)) {
|
|
128
|
+
throw new JiraIntegrationError("Jira CAS authentication is required. Refresh Jira auth and retry.", {
|
|
129
|
+
category: "cas_auth_required",
|
|
130
|
+
summary: "Jira CAS authentication is required.",
|
|
131
|
+
detail: text.slice(0, 300),
|
|
132
|
+
baseUrl: this.options.baseUrl
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
118
137
|
}
|
|
119
138
|
async executeFetch(url, requestInit, context) {
|
|
120
139
|
try {
|
|
@@ -135,186 +154,6 @@ export class JiraClient {
|
|
|
135
154
|
}
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
|
-
// JiraMcpClient talks to the configured Jira MCP gateway using the minimal JSON-RPC handshake and tool calls.
|
|
139
|
-
class JiraMcpClient {
|
|
140
|
-
options;
|
|
141
|
-
fetchImpl;
|
|
142
|
-
mcpUrl;
|
|
143
|
-
sessionId;
|
|
144
|
-
initialized = false;
|
|
145
|
-
nextId = 1;
|
|
146
|
-
constructor(options) {
|
|
147
|
-
this.options = options;
|
|
148
|
-
if (!options.fetchImpl) {
|
|
149
|
-
throw new Error("Global fetch is unavailable. Use Node 18+ or pass a fetch implementation.");
|
|
150
|
-
}
|
|
151
|
-
this.fetchImpl = options.fetchImpl;
|
|
152
|
-
this.mcpUrl = normalizeMcpEndpointUrl(options.mcpUrl);
|
|
153
|
-
}
|
|
154
|
-
async searchIssues(input) {
|
|
155
|
-
const effectiveJql = applyProjectsFilter(input.jql, input.projectsFilter);
|
|
156
|
-
const payload = await this.callTool("jira_search", {
|
|
157
|
-
jql: effectiveJql,
|
|
158
|
-
...(input.fields && input.fields.length > 0 ? { fields: input.fields.join(",") } : {}),
|
|
159
|
-
...(typeof input.limit === "number" ? { limit: input.limit } : {}),
|
|
160
|
-
...(typeof input.startAt === "number" ? { start_at: input.startAt } : {}),
|
|
161
|
-
...(input.projectsFilter && input.projectsFilter.length > 0 ? { projects_filter: input.projectsFilter.join(",") } : {}),
|
|
162
|
-
...(input.expand && input.expand.length > 0 ? { expand: input.expand.join(",") } : {})
|
|
163
|
-
});
|
|
164
|
-
return normalizeSearchResult(payload, effectiveJql, input.limit ?? 50);
|
|
165
|
-
}
|
|
166
|
-
async getIssue(input) {
|
|
167
|
-
const payload = await this.callTool("jira_get_issue", {
|
|
168
|
-
issue_key: input.issueKey,
|
|
169
|
-
...(input.fields && input.fields.length > 0 ? { fields: input.fields.join(",") } : {}),
|
|
170
|
-
...(input.expand && input.expand.length > 0 ? { expand: input.expand.join(",") } : {}),
|
|
171
|
-
...(typeof input.commentLimit === "number" ? { comment_limit: input.commentLimit } : {}),
|
|
172
|
-
...(input.properties && input.properties.length > 0 ? { properties: input.properties.join(",") } : {}),
|
|
173
|
-
...(typeof input.updateHistory === "boolean" ? { update_history: input.updateHistory } : {})
|
|
174
|
-
});
|
|
175
|
-
return mapIssueDetail(payload);
|
|
176
|
-
}
|
|
177
|
-
async addComment(input) {
|
|
178
|
-
const payload = await this.callTool("jira_add_comment", {
|
|
179
|
-
issue_key: input.issueKey,
|
|
180
|
-
comment: input.body
|
|
181
|
-
});
|
|
182
|
-
if (Object.keys(payload).length === 0) {
|
|
183
|
-
return { body: input.body };
|
|
184
|
-
}
|
|
185
|
-
return mapComment(payload);
|
|
186
|
-
}
|
|
187
|
-
async createIssue(input) {
|
|
188
|
-
const payload = await this.callTool("jira_create_issue", {
|
|
189
|
-
project_key: input.projectKey,
|
|
190
|
-
summary: input.summary,
|
|
191
|
-
description: input.description,
|
|
192
|
-
...(input.issueType?.trim() ? { issue_type: input.issueType.trim() } : {}),
|
|
193
|
-
...(input.labels && input.labels.length > 0 ? { labels: input.labels.join(",") } : {})
|
|
194
|
-
});
|
|
195
|
-
return mapCreatedIssue(payload);
|
|
196
|
-
}
|
|
197
|
-
async callTool(name, args) {
|
|
198
|
-
await this.ensureInitialized();
|
|
199
|
-
const response = await this.sendRequest({
|
|
200
|
-
jsonrpc: "2.0",
|
|
201
|
-
id: this.consumeRequestId(),
|
|
202
|
-
method: "tools/call",
|
|
203
|
-
params: {
|
|
204
|
-
name,
|
|
205
|
-
arguments: args
|
|
206
|
-
}
|
|
207
|
-
}, true);
|
|
208
|
-
if (response.error) {
|
|
209
|
-
throw new Error(`Jira MCP tool call failed: ${response.error.message ?? "unknown error"}`);
|
|
210
|
-
}
|
|
211
|
-
return extractToolPayload(response.result ?? {});
|
|
212
|
-
}
|
|
213
|
-
async ensureInitialized() {
|
|
214
|
-
if (this.initialized) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
const response = await this.sendRequest({
|
|
218
|
-
jsonrpc: "2.0",
|
|
219
|
-
id: this.consumeRequestId(),
|
|
220
|
-
method: "initialize",
|
|
221
|
-
params: {
|
|
222
|
-
protocolVersion: "2024-11-05",
|
|
223
|
-
capabilities: {},
|
|
224
|
-
clientInfo: {
|
|
225
|
-
name: "optimus-jira-client",
|
|
226
|
-
version: "0.1.0"
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}, false);
|
|
230
|
-
if (response.error) {
|
|
231
|
-
throw new Error(`Jira MCP initialize failed: ${response.error.message ?? "unknown error"}`);
|
|
232
|
-
}
|
|
233
|
-
if (!this.sessionId) {
|
|
234
|
-
throw new Error("Jira MCP initialize did not return a session id.");
|
|
235
|
-
}
|
|
236
|
-
await this.sendRequest({
|
|
237
|
-
jsonrpc: "2.0",
|
|
238
|
-
method: "notifications/initialized",
|
|
239
|
-
params: {}
|
|
240
|
-
}, true);
|
|
241
|
-
this.initialized = true;
|
|
242
|
-
}
|
|
243
|
-
consumeRequestId() {
|
|
244
|
-
const current = this.nextId;
|
|
245
|
-
this.nextId += 1;
|
|
246
|
-
return current;
|
|
247
|
-
}
|
|
248
|
-
async sendRequest(request, includeSession) {
|
|
249
|
-
const requestHeaders = {
|
|
250
|
-
accept: "application/json, text/event-stream",
|
|
251
|
-
"content-type": "application/json",
|
|
252
|
-
"user-agent": "optimus-jira-client/0.1.0",
|
|
253
|
-
...this.options.httpHeaders,
|
|
254
|
-
...(includeSession && this.sessionId ? { "Mcp-Session-Id": this.sessionId } : {})
|
|
255
|
-
};
|
|
256
|
-
const response = await this.executeFetch(this.mcpUrl, {
|
|
257
|
-
method: "POST",
|
|
258
|
-
headers: requestHeaders,
|
|
259
|
-
body: JSON.stringify(request)
|
|
260
|
-
}, {
|
|
261
|
-
mcpUrl: this.mcpUrl,
|
|
262
|
-
httpHeaders: requestHeaders
|
|
263
|
-
});
|
|
264
|
-
const responseText = await response.text();
|
|
265
|
-
if (!response.ok) {
|
|
266
|
-
throw new JiraIntegrationError(`Jira MCP request failed: ${response.status} ${response.statusText} ${responseText.slice(0, 300)}`.trim(), {
|
|
267
|
-
category: "request_error",
|
|
268
|
-
summary: `Jira MCP request failed: ${response.status} ${response.statusText}`.trim(),
|
|
269
|
-
...(responseText.slice(0, 300) ? { detail: responseText.slice(0, 300) } : {}),
|
|
270
|
-
mcpUrl: this.mcpUrl
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
const sessionId = response.headers.get("mcp-session-id") ?? response.headers.get("Mcp-Session-Id");
|
|
274
|
-
if (sessionId && !this.sessionId) {
|
|
275
|
-
this.sessionId = sessionId;
|
|
276
|
-
}
|
|
277
|
-
if (!responseText.trim()) {
|
|
278
|
-
return {};
|
|
279
|
-
}
|
|
280
|
-
return parseJsonRpcEnvelope(responseText);
|
|
281
|
-
}
|
|
282
|
-
async executeFetch(url, requestInit, context) {
|
|
283
|
-
try {
|
|
284
|
-
return await this.fetchImpl(url, requestInit);
|
|
285
|
-
}
|
|
286
|
-
catch (error) {
|
|
287
|
-
throw this.wrapFetchError(error, context);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
wrapFetchError(error, context) {
|
|
291
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
292
|
-
const causeCode = typeof error === "object" && error && "code" in error && typeof error.code === "string"
|
|
293
|
-
? error.code
|
|
294
|
-
: undefined;
|
|
295
|
-
const missingHeaders = context.httpHeaders ? resolveMissingJiraMcpHeaders(context.httpHeaders) : [];
|
|
296
|
-
if (missingHeaders.length > 0) {
|
|
297
|
-
return new JiraIntegrationError(`Jira MCP auth headers are missing: ${missingHeaders.join(", ")}.`, {
|
|
298
|
-
category: "auth_header_missing",
|
|
299
|
-
summary: `Jira MCP auth headers are missing: ${missingHeaders.join(", ")}.`,
|
|
300
|
-
...(context.mcpUrl ? { mcpUrl: context.mcpUrl } : {}),
|
|
301
|
-
missingHeaders
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
return new JiraIntegrationError(`Jira request network failure: ${message}`, {
|
|
305
|
-
category: "network_error",
|
|
306
|
-
summary: `Jira request network failure: ${message}`,
|
|
307
|
-
detail: message,
|
|
308
|
-
...(context.mcpUrl ? { mcpUrl: context.mcpUrl } : {}),
|
|
309
|
-
...(context.baseUrl ? { baseUrl: context.baseUrl } : {}),
|
|
310
|
-
...(causeCode ? { causeCode } : {})
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
function normalizeMcpEndpointUrl(url) {
|
|
315
|
-
const trimmed = url.trim();
|
|
316
|
-
return trimmed.endsWith("/") ? trimmed : `${trimmed}/`;
|
|
317
|
-
}
|
|
318
157
|
export function resolveJiraClientFromEnv(processEnv = process.env, fetchImpl = fetch) {
|
|
319
158
|
const baseUrl = processEnv.JIRA_BASE_URL?.trim();
|
|
320
159
|
if (!baseUrl) {
|
|
@@ -323,58 +162,97 @@ export function resolveJiraClientFromEnv(processEnv = process.env, fetchImpl = f
|
|
|
323
162
|
return new JiraClient({
|
|
324
163
|
baseUrl,
|
|
325
164
|
authHeader: resolveJiraAuthHeader(processEnv),
|
|
165
|
+
...(processEnv.JIRA_CUSTOM_HEADERS?.trim() ? { customHeaders: processEnv.JIRA_CUSTOM_HEADERS.trim() } : {}),
|
|
326
166
|
fetchImpl
|
|
327
167
|
});
|
|
328
168
|
}
|
|
329
169
|
export function createJiraClientFromConfig(config, fetchImpl = fetch) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
}
|
|
334
|
-
return new JiraMcpClient({
|
|
335
|
-
mcpUrl: config.mcpUrl,
|
|
336
|
-
httpHeaders: config.httpHeaders,
|
|
337
|
-
fetchImpl
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
if (config.authType === "bearer" && config.bearerToken) {
|
|
341
|
-
return new JiraClient({
|
|
342
|
-
baseUrl: config.baseUrl,
|
|
343
|
-
authHeader: `Bearer ${config.bearerToken}`,
|
|
344
|
-
fetchImpl
|
|
345
|
-
});
|
|
170
|
+
const personalToken = config.personalToken?.trim();
|
|
171
|
+
if (!personalToken) {
|
|
172
|
+
throw new Error("Jira config is missing personalToken.");
|
|
346
173
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
fetchImpl
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
throw new Error("Jira config is missing required auth material.");
|
|
174
|
+
return new JiraClient({
|
|
175
|
+
baseUrl: config.baseUrl,
|
|
176
|
+
authHeader: `Bearer ${personalToken}`,
|
|
177
|
+
...(config.customHeaders ? { customHeaders: config.customHeaders } : {}),
|
|
178
|
+
fetchImpl
|
|
179
|
+
});
|
|
357
180
|
}
|
|
358
181
|
function buildRequestHeaders(options) {
|
|
359
|
-
|
|
360
|
-
return options.httpHeaders;
|
|
361
|
-
}
|
|
182
|
+
const headers = {};
|
|
362
183
|
if (options.authHeader) {
|
|
363
|
-
|
|
184
|
+
headers.authorization = options.authHeader;
|
|
185
|
+
}
|
|
186
|
+
if (options.customHeaders?.trim()) {
|
|
187
|
+
Object.assign(headers, parseJiraCustomHeaders(options.customHeaders));
|
|
188
|
+
}
|
|
189
|
+
if (Object.keys(headers).length > 0) {
|
|
190
|
+
return headers;
|
|
364
191
|
}
|
|
365
192
|
throw new Error("Jira client is missing authentication headers.");
|
|
366
193
|
}
|
|
367
194
|
function resolveJiraAuthHeader(processEnv) {
|
|
368
|
-
const
|
|
369
|
-
if (
|
|
370
|
-
return `Bearer ${
|
|
195
|
+
const personalToken = processEnv.JIRA_PERSONAL_TOKEN?.trim();
|
|
196
|
+
if (personalToken) {
|
|
197
|
+
return `Bearer ${personalToken}`;
|
|
371
198
|
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
199
|
+
throw new Error("Missing Jira auth. Set JIRA_PERSONAL_TOKEN.");
|
|
200
|
+
}
|
|
201
|
+
export function parseJiraCustomHeaders(raw) {
|
|
202
|
+
const trimmed = raw.trim();
|
|
203
|
+
if (!trimmed) {
|
|
204
|
+
return {};
|
|
376
205
|
}
|
|
377
|
-
|
|
206
|
+
try {
|
|
207
|
+
const parsed = JSON.parse(trimmed);
|
|
208
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
209
|
+
return Object.fromEntries(Object.entries(parsed)
|
|
210
|
+
.filter((entry) => typeof entry[1] === "string" && entry[1].trim().length > 0));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Fall through to raw header parsing.
|
|
215
|
+
}
|
|
216
|
+
if (/^cookie\s*[:=]/i.test(trimmed)) {
|
|
217
|
+
return { Cookie: trimmed.replace(/^cookie\s*[:=]\s*/i, "") };
|
|
218
|
+
}
|
|
219
|
+
const headers = {};
|
|
220
|
+
for (const line of trimmed.split(/\r?\n/)) {
|
|
221
|
+
const header = line.trim();
|
|
222
|
+
if (!header) {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
const separator = header.includes(":") ? ":" : header.includes("=") ? "=" : "";
|
|
226
|
+
if (!separator) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
const index = header.indexOf(separator);
|
|
230
|
+
const name = header.slice(0, index).trim();
|
|
231
|
+
const value = header.slice(index + 1).trim();
|
|
232
|
+
if (name && value) {
|
|
233
|
+
headers[name] = value;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return headers;
|
|
237
|
+
}
|
|
238
|
+
function isJiraCasResponse(response, text) {
|
|
239
|
+
const headers = response.headers;
|
|
240
|
+
const location = typeof headers?.get === "function" ? headers.get("location") ?? "" : "";
|
|
241
|
+
if (response.status >= 300 && response.status < 400 && /cas\.mioffice\.cn\/login/i.test(location)) {
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
const contentType = typeof headers?.get === "function" ? headers.get("content-type") ?? "" : "";
|
|
245
|
+
return /text\/html/i.test(contentType) && looksLikeCasLoginBody(text);
|
|
246
|
+
}
|
|
247
|
+
function looksLikeCasLoginBody(text) {
|
|
248
|
+
return /cas\.mioffice\.cn|<html|<!doctype html|login/i.test(text) && /cas|login/i.test(text);
|
|
249
|
+
}
|
|
250
|
+
function readCasResponseDetail(response, text) {
|
|
251
|
+
const location = typeof response.headers?.get === "function" ? response.headers.get("location") : undefined;
|
|
252
|
+
if (location) {
|
|
253
|
+
return `Redirected to ${location}`;
|
|
254
|
+
}
|
|
255
|
+
return text.slice(0, 300);
|
|
378
256
|
}
|
|
379
257
|
function normalizeSearchResult(raw, effectiveJql, defaultLimit) {
|
|
380
258
|
const issues = readArray(raw.issues);
|
|
@@ -387,50 +265,6 @@ function normalizeSearchResult(raw, effectiveJql, defaultLimit) {
|
|
|
387
265
|
rawResponse: raw
|
|
388
266
|
};
|
|
389
267
|
}
|
|
390
|
-
function extractToolPayload(result) {
|
|
391
|
-
const structuredContent = readObject(result.structuredContent);
|
|
392
|
-
if (Object.keys(structuredContent).length > 0) {
|
|
393
|
-
return structuredContent;
|
|
394
|
-
}
|
|
395
|
-
const contentItems = readArray(result.content);
|
|
396
|
-
const textItem = contentItems.find((item) => readString(item.type) === "text" && readString(item.text));
|
|
397
|
-
const text = textItem ? readString(textItem.text) : undefined;
|
|
398
|
-
if (!text) {
|
|
399
|
-
return result;
|
|
400
|
-
}
|
|
401
|
-
return parseJsonResponse(text, "Jira MCP tool returned non-JSON text.");
|
|
402
|
-
}
|
|
403
|
-
function parseJsonRpcEnvelope(raw) {
|
|
404
|
-
const trimmed = raw.trim();
|
|
405
|
-
if (trimmed.startsWith("data:") || trimmed.startsWith("event:")) {
|
|
406
|
-
const eventBlocks = trimmed
|
|
407
|
-
.split(/\r?\n\r?\n/)
|
|
408
|
-
.map((block) => block.trim())
|
|
409
|
-
.filter(Boolean);
|
|
410
|
-
for (let index = eventBlocks.length - 1; index >= 0; index -= 1) {
|
|
411
|
-
const block = eventBlocks[index];
|
|
412
|
-
if (!block) {
|
|
413
|
-
continue;
|
|
414
|
-
}
|
|
415
|
-
const payload = extractSseDataPayload(block);
|
|
416
|
-
if (!payload) {
|
|
417
|
-
continue;
|
|
418
|
-
}
|
|
419
|
-
return parseJsonResponse(payload, "Jira MCP returned invalid SSE JSON.");
|
|
420
|
-
}
|
|
421
|
-
throw new Error("Jira MCP returned SSE without a data payload.");
|
|
422
|
-
}
|
|
423
|
-
return parseJsonResponse(trimmed, "Jira MCP returned invalid JSON-RPC JSON.");
|
|
424
|
-
}
|
|
425
|
-
function extractSseDataPayload(block) {
|
|
426
|
-
const dataLines = block
|
|
427
|
-
.split(/\r?\n/)
|
|
428
|
-
.map((line) => line.trim())
|
|
429
|
-
.filter((line) => line.startsWith("data:"))
|
|
430
|
-
.map((line) => line.slice(5).trim())
|
|
431
|
-
.filter(Boolean);
|
|
432
|
-
return dataLines.length > 0 ? dataLines.join("\n") : undefined;
|
|
433
|
-
}
|
|
434
268
|
function parseJsonResponse(raw, fallbackMessage) {
|
|
435
269
|
try {
|
|
436
270
|
return JSON.parse(raw);
|
|
@@ -474,7 +308,7 @@ function mapSearchIssue(issue) {
|
|
|
474
308
|
...(updated ? { updated } : {})
|
|
475
309
|
};
|
|
476
310
|
}
|
|
477
|
-
function mapIssueDetail(issue) {
|
|
311
|
+
function mapIssueDetail(issue, includeRawResponse = false) {
|
|
478
312
|
const summary = mapSearchIssue(issue);
|
|
479
313
|
const fields = readIssueFields(issue);
|
|
480
314
|
const comments = readArray(readObject(fields.comment).comments).map((comment) => mapComment(comment));
|
|
@@ -491,7 +325,7 @@ function mapIssueDetail(issue) {
|
|
|
491
325
|
...(reporterAccountId ? { reporterAccountId } : {}),
|
|
492
326
|
...(environment ? { environment } : {}),
|
|
493
327
|
comments,
|
|
494
|
-
rawResponse: issue
|
|
328
|
+
...(includeRawResponse ? { rawResponse: issue } : {})
|
|
495
329
|
};
|
|
496
330
|
}
|
|
497
331
|
function mapComment(comment) {
|
|
@@ -622,12 +456,4 @@ function readPrincipalAccountId(value) {
|
|
|
622
456
|
function isLoginIdentifier(value) {
|
|
623
457
|
return /^[a-zA-Z0-9._-]+$/u.test(value) && !value.includes("@");
|
|
624
458
|
}
|
|
625
|
-
function resolveMissingJiraMcpHeaders(headers) {
|
|
626
|
-
const requiredHeaders = [
|
|
627
|
-
"X-Atlassian-Jira-Url",
|
|
628
|
-
"X-Atlassian-Username",
|
|
629
|
-
"X-Atlassian-Jira-Personal-Token"
|
|
630
|
-
];
|
|
631
|
-
return requiredHeaders.filter((name) => !headers[name]?.trim());
|
|
632
|
-
}
|
|
633
459
|
//# sourceMappingURL=jira-client.js.map
|