@sireai/optimus 0.1.5 → 0.1.7
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 +98 -86
- 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 +102 -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 -271
- package/dist/integrations/jira/jira-client.js.map +1 -1
- package/dist/problem-solving-core/codex/codex-runner.d.ts +4 -0
- package/dist/problem-solving-core/codex/codex-runner.js +49 -3
- package/dist/problem-solving-core/codex/codex-runner.js.map +1 -1
- package/dist/task-environment/delivery/feishu-card-renderer.js +9 -0
- package/dist/task-environment/delivery/feishu-card-renderer.js.map +1 -1
- package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.d.ts +1 -0
- package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js +5 -0
- package/dist/task-environment/delivery/feishu-content/feishu-content-renderer.js.map +1 -1
- package/dist/task-environment/delivery/feishu-notifier.js +1 -0
- package/dist/task-environment/delivery/feishu-notifier.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/analysis-message-template.js +4 -0
- package/dist/task-environment/delivery/feishu-templates/analysis-message-template.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/bugfix-message-template.js +4 -0
- package/dist/task-environment/delivery/feishu-templates/bugfix-message-template.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/default-message-template.js +4 -0
- package/dist/task-environment/delivery/feishu-templates/default-message-template.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/patch-message-template.js +4 -0
- package/dist/task-environment/delivery/feishu-templates/patch-message-template.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/sentry-bugfix-message-template.js +4 -0
- package/dist/task-environment/delivery/feishu-templates/sentry-bugfix-message-template.js.map +1 -1
- package/dist/task-environment/delivery/feishu-templates/template-types.d.ts +1 -0
- package/dist/task-environment/delivery/sentry-feishu-card-renderer.js +5 -0
- package/dist/task-environment/delivery/sentry-feishu-card-renderer.js.map +1 -1
- package/dist/task-environment/delivery/task-delivery-service.js +4 -1
- package/dist/task-environment/delivery/task-delivery-service.js.map +1 -1
- package/dist/task-environment/delivery/task-publication-service.d.ts +3 -8
- package/dist/task-environment/delivery/task-publication-service.js +0 -43
- package/dist/task-environment/delivery/task-publication-service.js.map +1 -1
- package/dist/task-environment/execution-addresses.d.ts +1 -0
- package/dist/task-environment/execution-addresses.js +82 -1
- package/dist/task-environment/execution-addresses.js.map +1 -1
- package/dist/task-environment/observability/execution-metrics.d.ts +11 -0
- package/dist/task-environment/observability/execution-metrics.js +110 -0
- package/dist/task-environment/observability/execution-metrics.js.map +1 -0
- package/dist/task-environment/observability/runtime-panel.d.ts +1 -0
- package/dist/task-environment/observability/runtime-panel.js +32 -2
- package/dist/task-environment/observability/runtime-panel.js.map +1 -1
- package/dist/task-environment/storage/sqlite-task-store.d.ts +5 -1
- package/dist/task-environment/storage/sqlite-task-store.js +65 -6
- package/dist/task-environment/storage/sqlite-task-store.js.map +1 -1
- package/dist/types.d.ts +17 -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,178 +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
|
-
sessionId;
|
|
143
|
-
initialized = false;
|
|
144
|
-
nextId = 1;
|
|
145
|
-
constructor(options) {
|
|
146
|
-
this.options = options;
|
|
147
|
-
if (!options.fetchImpl) {
|
|
148
|
-
throw new Error("Global fetch is unavailable. Use Node 18+ or pass a fetch implementation.");
|
|
149
|
-
}
|
|
150
|
-
this.fetchImpl = options.fetchImpl;
|
|
151
|
-
}
|
|
152
|
-
async searchIssues(input) {
|
|
153
|
-
const effectiveJql = applyProjectsFilter(input.jql, input.projectsFilter);
|
|
154
|
-
const payload = await this.callTool("jira_search", {
|
|
155
|
-
jql: effectiveJql,
|
|
156
|
-
...(input.fields && input.fields.length > 0 ? { fields: input.fields.join(",") } : {}),
|
|
157
|
-
...(typeof input.limit === "number" ? { limit: input.limit } : {}),
|
|
158
|
-
...(typeof input.startAt === "number" ? { start_at: input.startAt } : {}),
|
|
159
|
-
...(input.projectsFilter && input.projectsFilter.length > 0 ? { projects_filter: input.projectsFilter.join(",") } : {}),
|
|
160
|
-
...(input.expand && input.expand.length > 0 ? { expand: input.expand.join(",") } : {})
|
|
161
|
-
});
|
|
162
|
-
return normalizeSearchResult(payload, effectiveJql, input.limit ?? 50);
|
|
163
|
-
}
|
|
164
|
-
async getIssue(input) {
|
|
165
|
-
const payload = await this.callTool("jira_get_issue", {
|
|
166
|
-
issue_key: input.issueKey,
|
|
167
|
-
...(input.fields && input.fields.length > 0 ? { fields: input.fields.join(",") } : {}),
|
|
168
|
-
...(input.expand && input.expand.length > 0 ? { expand: input.expand.join(",") } : {}),
|
|
169
|
-
...(typeof input.commentLimit === "number" ? { comment_limit: input.commentLimit } : {}),
|
|
170
|
-
...(input.properties && input.properties.length > 0 ? { properties: input.properties.join(",") } : {}),
|
|
171
|
-
...(typeof input.updateHistory === "boolean" ? { update_history: input.updateHistory } : {})
|
|
172
|
-
});
|
|
173
|
-
return mapIssueDetail(payload);
|
|
174
|
-
}
|
|
175
|
-
async addComment(input) {
|
|
176
|
-
const payload = await this.callTool("jira_add_comment", {
|
|
177
|
-
issue_key: input.issueKey,
|
|
178
|
-
comment: input.body
|
|
179
|
-
});
|
|
180
|
-
if (Object.keys(payload).length === 0) {
|
|
181
|
-
return { body: input.body };
|
|
182
|
-
}
|
|
183
|
-
return mapComment(payload);
|
|
184
|
-
}
|
|
185
|
-
async createIssue(input) {
|
|
186
|
-
const payload = await this.callTool("jira_create_issue", {
|
|
187
|
-
project_key: input.projectKey,
|
|
188
|
-
summary: input.summary,
|
|
189
|
-
description: input.description,
|
|
190
|
-
...(input.issueType?.trim() ? { issue_type: input.issueType.trim() } : {}),
|
|
191
|
-
...(input.labels && input.labels.length > 0 ? { labels: input.labels.join(",") } : {})
|
|
192
|
-
});
|
|
193
|
-
return mapCreatedIssue(payload);
|
|
194
|
-
}
|
|
195
|
-
async callTool(name, args) {
|
|
196
|
-
await this.ensureInitialized();
|
|
197
|
-
const response = await this.sendRequest({
|
|
198
|
-
jsonrpc: "2.0",
|
|
199
|
-
id: this.consumeRequestId(),
|
|
200
|
-
method: "tools/call",
|
|
201
|
-
params: {
|
|
202
|
-
name,
|
|
203
|
-
arguments: args
|
|
204
|
-
}
|
|
205
|
-
}, true);
|
|
206
|
-
if (response.error) {
|
|
207
|
-
throw new Error(`Jira MCP tool call failed: ${response.error.message ?? "unknown error"}`);
|
|
208
|
-
}
|
|
209
|
-
return extractToolPayload(response.result ?? {});
|
|
210
|
-
}
|
|
211
|
-
async ensureInitialized() {
|
|
212
|
-
if (this.initialized) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
const response = await this.sendRequest({
|
|
216
|
-
jsonrpc: "2.0",
|
|
217
|
-
id: this.consumeRequestId(),
|
|
218
|
-
method: "initialize",
|
|
219
|
-
params: {
|
|
220
|
-
protocolVersion: "2024-11-05",
|
|
221
|
-
capabilities: {},
|
|
222
|
-
clientInfo: {
|
|
223
|
-
name: "optimus-jira-client",
|
|
224
|
-
version: "0.1.0"
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}, false);
|
|
228
|
-
if (response.error) {
|
|
229
|
-
throw new Error(`Jira MCP initialize failed: ${response.error.message ?? "unknown error"}`);
|
|
230
|
-
}
|
|
231
|
-
if (!this.sessionId) {
|
|
232
|
-
throw new Error("Jira MCP initialize did not return a session id.");
|
|
233
|
-
}
|
|
234
|
-
await this.sendRequest({
|
|
235
|
-
jsonrpc: "2.0",
|
|
236
|
-
method: "notifications/initialized"
|
|
237
|
-
}, true);
|
|
238
|
-
this.initialized = true;
|
|
239
|
-
}
|
|
240
|
-
consumeRequestId() {
|
|
241
|
-
const current = this.nextId;
|
|
242
|
-
this.nextId += 1;
|
|
243
|
-
return current;
|
|
244
|
-
}
|
|
245
|
-
async sendRequest(request, includeSession) {
|
|
246
|
-
const requestHeaders = {
|
|
247
|
-
accept: "application/json, text/event-stream",
|
|
248
|
-
"content-type": "application/json",
|
|
249
|
-
...this.options.httpHeaders,
|
|
250
|
-
...(includeSession && this.sessionId ? { "mcp-session-id": this.sessionId } : {})
|
|
251
|
-
};
|
|
252
|
-
const response = await this.executeFetch(this.options.mcpUrl, {
|
|
253
|
-
method: "POST",
|
|
254
|
-
headers: requestHeaders,
|
|
255
|
-
body: JSON.stringify(request)
|
|
256
|
-
}, {
|
|
257
|
-
mcpUrl: this.options.mcpUrl,
|
|
258
|
-
httpHeaders: requestHeaders
|
|
259
|
-
});
|
|
260
|
-
const responseText = await response.text();
|
|
261
|
-
if (!response.ok) {
|
|
262
|
-
throw new JiraIntegrationError(`Jira MCP request failed: ${response.status} ${response.statusText} ${responseText.slice(0, 300)}`.trim(), {
|
|
263
|
-
category: "request_error",
|
|
264
|
-
summary: `Jira MCP request failed: ${response.status} ${response.statusText}`.trim(),
|
|
265
|
-
...(responseText.slice(0, 300) ? { detail: responseText.slice(0, 300) } : {}),
|
|
266
|
-
mcpUrl: this.options.mcpUrl
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
const sessionId = response.headers.get("mcp-session-id") ?? response.headers.get("Mcp-Session-Id");
|
|
270
|
-
if (sessionId && !this.sessionId) {
|
|
271
|
-
this.sessionId = sessionId;
|
|
272
|
-
}
|
|
273
|
-
if (!responseText.trim()) {
|
|
274
|
-
return {};
|
|
275
|
-
}
|
|
276
|
-
return parseJsonRpcEnvelope(responseText);
|
|
277
|
-
}
|
|
278
|
-
async executeFetch(url, requestInit, context) {
|
|
279
|
-
try {
|
|
280
|
-
return await this.fetchImpl(url, requestInit);
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
throw this.wrapFetchError(error, context);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
wrapFetchError(error, context) {
|
|
287
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
288
|
-
const causeCode = typeof error === "object" && error && "code" in error && typeof error.code === "string"
|
|
289
|
-
? error.code
|
|
290
|
-
: undefined;
|
|
291
|
-
const missingHeaders = context.httpHeaders ? resolveMissingJiraMcpHeaders(context.httpHeaders) : [];
|
|
292
|
-
if (missingHeaders.length > 0) {
|
|
293
|
-
return new JiraIntegrationError(`Jira MCP auth headers are missing: ${missingHeaders.join(", ")}.`, {
|
|
294
|
-
category: "auth_header_missing",
|
|
295
|
-
summary: `Jira MCP auth headers are missing: ${missingHeaders.join(", ")}.`,
|
|
296
|
-
...(context.mcpUrl ? { mcpUrl: context.mcpUrl } : {}),
|
|
297
|
-
missingHeaders
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
return new JiraIntegrationError(`Jira request network failure: ${message}`, {
|
|
301
|
-
category: "network_error",
|
|
302
|
-
summary: `Jira request network failure: ${message}`,
|
|
303
|
-
detail: message,
|
|
304
|
-
...(context.mcpUrl ? { mcpUrl: context.mcpUrl } : {}),
|
|
305
|
-
...(context.baseUrl ? { baseUrl: context.baseUrl } : {}),
|
|
306
|
-
...(causeCode ? { causeCode } : {})
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
157
|
export function resolveJiraClientFromEnv(processEnv = process.env, fetchImpl = fetch) {
|
|
311
158
|
const baseUrl = processEnv.JIRA_BASE_URL?.trim();
|
|
312
159
|
if (!baseUrl) {
|
|
@@ -315,58 +162,97 @@ export function resolveJiraClientFromEnv(processEnv = process.env, fetchImpl = f
|
|
|
315
162
|
return new JiraClient({
|
|
316
163
|
baseUrl,
|
|
317
164
|
authHeader: resolveJiraAuthHeader(processEnv),
|
|
165
|
+
...(processEnv.JIRA_CUSTOM_HEADERS?.trim() ? { customHeaders: processEnv.JIRA_CUSTOM_HEADERS.trim() } : {}),
|
|
318
166
|
fetchImpl
|
|
319
167
|
});
|
|
320
168
|
}
|
|
321
169
|
export function createJiraClientFromConfig(config, fetchImpl = fetch) {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
326
|
-
return new JiraMcpClient({
|
|
327
|
-
mcpUrl: config.mcpUrl,
|
|
328
|
-
httpHeaders: config.httpHeaders,
|
|
329
|
-
fetchImpl
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
if (config.authType === "bearer" && config.bearerToken) {
|
|
333
|
-
return new JiraClient({
|
|
334
|
-
baseUrl: config.baseUrl,
|
|
335
|
-
authHeader: `Bearer ${config.bearerToken}`,
|
|
336
|
-
fetchImpl
|
|
337
|
-
});
|
|
170
|
+
const personalToken = config.personalToken?.trim();
|
|
171
|
+
if (!personalToken) {
|
|
172
|
+
throw new Error("Jira config is missing personalToken.");
|
|
338
173
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
fetchImpl
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
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
|
+
});
|
|
349
180
|
}
|
|
350
181
|
function buildRequestHeaders(options) {
|
|
351
|
-
|
|
352
|
-
return options.httpHeaders;
|
|
353
|
-
}
|
|
182
|
+
const headers = {};
|
|
354
183
|
if (options.authHeader) {
|
|
355
|
-
|
|
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;
|
|
356
191
|
}
|
|
357
192
|
throw new Error("Jira client is missing authentication headers.");
|
|
358
193
|
}
|
|
359
194
|
function resolveJiraAuthHeader(processEnv) {
|
|
360
|
-
const
|
|
361
|
-
if (
|
|
362
|
-
return `Bearer ${
|
|
195
|
+
const personalToken = processEnv.JIRA_PERSONAL_TOKEN?.trim();
|
|
196
|
+
if (personalToken) {
|
|
197
|
+
return `Bearer ${personalToken}`;
|
|
198
|
+
}
|
|
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 {};
|
|
205
|
+
}
|
|
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;
|
|
363
243
|
}
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
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}`;
|
|
368
254
|
}
|
|
369
|
-
|
|
255
|
+
return text.slice(0, 300);
|
|
370
256
|
}
|
|
371
257
|
function normalizeSearchResult(raw, effectiveJql, defaultLimit) {
|
|
372
258
|
const issues = readArray(raw.issues);
|
|
@@ -379,50 +265,6 @@ function normalizeSearchResult(raw, effectiveJql, defaultLimit) {
|
|
|
379
265
|
rawResponse: raw
|
|
380
266
|
};
|
|
381
267
|
}
|
|
382
|
-
function extractToolPayload(result) {
|
|
383
|
-
const structuredContent = readObject(result.structuredContent);
|
|
384
|
-
if (Object.keys(structuredContent).length > 0) {
|
|
385
|
-
return structuredContent;
|
|
386
|
-
}
|
|
387
|
-
const contentItems = readArray(result.content);
|
|
388
|
-
const textItem = contentItems.find((item) => readString(item.type) === "text" && readString(item.text));
|
|
389
|
-
const text = textItem ? readString(textItem.text) : undefined;
|
|
390
|
-
if (!text) {
|
|
391
|
-
return result;
|
|
392
|
-
}
|
|
393
|
-
return parseJsonResponse(text, "Jira MCP tool returned non-JSON text.");
|
|
394
|
-
}
|
|
395
|
-
function parseJsonRpcEnvelope(raw) {
|
|
396
|
-
const trimmed = raw.trim();
|
|
397
|
-
if (trimmed.startsWith("data:") || trimmed.startsWith("event:")) {
|
|
398
|
-
const eventBlocks = trimmed
|
|
399
|
-
.split(/\r?\n\r?\n/)
|
|
400
|
-
.map((block) => block.trim())
|
|
401
|
-
.filter(Boolean);
|
|
402
|
-
for (let index = eventBlocks.length - 1; index >= 0; index -= 1) {
|
|
403
|
-
const block = eventBlocks[index];
|
|
404
|
-
if (!block) {
|
|
405
|
-
continue;
|
|
406
|
-
}
|
|
407
|
-
const payload = extractSseDataPayload(block);
|
|
408
|
-
if (!payload) {
|
|
409
|
-
continue;
|
|
410
|
-
}
|
|
411
|
-
return parseJsonResponse(payload, "Jira MCP returned invalid SSE JSON.");
|
|
412
|
-
}
|
|
413
|
-
throw new Error("Jira MCP returned SSE without a data payload.");
|
|
414
|
-
}
|
|
415
|
-
return parseJsonResponse(trimmed, "Jira MCP returned invalid JSON-RPC JSON.");
|
|
416
|
-
}
|
|
417
|
-
function extractSseDataPayload(block) {
|
|
418
|
-
const dataLines = block
|
|
419
|
-
.split(/\r?\n/)
|
|
420
|
-
.map((line) => line.trim())
|
|
421
|
-
.filter((line) => line.startsWith("data:"))
|
|
422
|
-
.map((line) => line.slice(5).trim())
|
|
423
|
-
.filter(Boolean);
|
|
424
|
-
return dataLines.length > 0 ? dataLines.join("\n") : undefined;
|
|
425
|
-
}
|
|
426
268
|
function parseJsonResponse(raw, fallbackMessage) {
|
|
427
269
|
try {
|
|
428
270
|
return JSON.parse(raw);
|
|
@@ -466,7 +308,7 @@ function mapSearchIssue(issue) {
|
|
|
466
308
|
...(updated ? { updated } : {})
|
|
467
309
|
};
|
|
468
310
|
}
|
|
469
|
-
function mapIssueDetail(issue) {
|
|
311
|
+
function mapIssueDetail(issue, includeRawResponse = false) {
|
|
470
312
|
const summary = mapSearchIssue(issue);
|
|
471
313
|
const fields = readIssueFields(issue);
|
|
472
314
|
const comments = readArray(readObject(fields.comment).comments).map((comment) => mapComment(comment));
|
|
@@ -483,7 +325,7 @@ function mapIssueDetail(issue) {
|
|
|
483
325
|
...(reporterAccountId ? { reporterAccountId } : {}),
|
|
484
326
|
...(environment ? { environment } : {}),
|
|
485
327
|
comments,
|
|
486
|
-
rawResponse: issue
|
|
328
|
+
...(includeRawResponse ? { rawResponse: issue } : {})
|
|
487
329
|
};
|
|
488
330
|
}
|
|
489
331
|
function mapComment(comment) {
|
|
@@ -614,12 +456,4 @@ function readPrincipalAccountId(value) {
|
|
|
614
456
|
function isLoginIdentifier(value) {
|
|
615
457
|
return /^[a-zA-Z0-9._-]+$/u.test(value) && !value.includes("@");
|
|
616
458
|
}
|
|
617
|
-
function resolveMissingJiraMcpHeaders(headers) {
|
|
618
|
-
const requiredHeaders = [
|
|
619
|
-
"X-Atlassian-Jira-Url",
|
|
620
|
-
"X-Atlassian-Username",
|
|
621
|
-
"X-Atlassian-Jira-Personal-Token"
|
|
622
|
-
];
|
|
623
|
-
return requiredHeaders.filter((name) => !headers[name]?.trim());
|
|
624
|
-
}
|
|
625
459
|
//# sourceMappingURL=jira-client.js.map
|