@sireai/optimus 0.1.7 → 0.1.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.
Files changed (74) hide show
  1. package/README.md +2 -1
  2. package/dist/cli/optimus.js +145 -81
  3. package/dist/cli/optimus.js.map +1 -1
  4. package/dist/config/load-config.js +3 -0
  5. package/dist/config/load-config.js.map +1 -1
  6. package/dist/integrations/feishu/feishu-auth-config.d.ts +7 -0
  7. package/dist/integrations/feishu/feishu-auth-config.js +37 -0
  8. package/dist/integrations/feishu/feishu-auth-config.js.map +1 -0
  9. package/dist/integrations/feishu/feishu-auth-service.d.ts +71 -0
  10. package/dist/integrations/feishu/feishu-auth-service.js +399 -0
  11. package/dist/integrations/feishu/feishu-auth-service.js.map +1 -0
  12. package/dist/integrations/feishu/feishu-auth-store.d.ts +29 -0
  13. package/dist/integrations/feishu/feishu-auth-store.js +113 -0
  14. package/dist/integrations/feishu/feishu-auth-store.js.map +1 -0
  15. package/dist/integrations/feishu/feishu-client.d.ts +52 -0
  16. package/dist/integrations/feishu/feishu-client.js +217 -0
  17. package/dist/integrations/feishu/feishu-client.js.map +1 -0
  18. package/dist/integrations/feishu/feishu-doc-service.d.ts +46 -0
  19. package/dist/integrations/feishu/feishu-doc-service.js +281 -0
  20. package/dist/integrations/feishu/feishu-doc-service.js.map +1 -0
  21. package/dist/integrations/feishu/feishu-token-store.d.ts +17 -0
  22. package/dist/integrations/feishu/feishu-token-store.js +34 -0
  23. package/dist/integrations/feishu/feishu-token-store.js.map +1 -0
  24. package/dist/integrations/feishu/feishu-user-service.d.ts +14 -0
  25. package/dist/integrations/feishu/feishu-user-service.js +60 -0
  26. package/dist/integrations/feishu/feishu-user-service.js.map +1 -0
  27. package/dist/integrations/jira/jira-cli.js +30 -11
  28. package/dist/integrations/jira/jira-cli.js.map +1 -1
  29. package/dist/integrations/jira/jira-client.d.ts +26 -0
  30. package/dist/integrations/jira/jira-client.js +111 -0
  31. package/dist/integrations/jira/jira-client.js.map +1 -1
  32. package/dist/integrations/jira/jira-submit.d.ts +5 -5
  33. package/dist/integrations/jira/jira-submit.js +97 -66
  34. package/dist/integrations/jira/jira-submit.js.map +1 -1
  35. package/dist/problem-solving-core/codex/codex-runner.d.ts +2 -0
  36. package/dist/problem-solving-core/codex/codex-runner.js +65 -0
  37. package/dist/problem-solving-core/codex/codex-runner.js.map +1 -1
  38. package/dist/task-environment/delivery/feishu-analysis-doc-service.d.ts +7 -25
  39. package/dist/task-environment/delivery/feishu-analysis-doc-service.js +32 -337
  40. package/dist/task-environment/delivery/feishu-analysis-doc-service.js.map +1 -1
  41. package/dist/task-environment/delivery/feishu-card-renderer.js +8 -6
  42. package/dist/task-environment/delivery/feishu-card-renderer.js.map +1 -1
  43. package/dist/task-environment/delivery/sentry-feishu-card-renderer.js +6 -4
  44. package/dist/task-environment/delivery/sentry-feishu-card-renderer.js.map +1 -1
  45. package/dist/task-environment/delivery/task-publication-service.d.ts +9 -0
  46. package/dist/task-environment/delivery/task-publication-service.js +147 -8
  47. package/dist/task-environment/delivery/task-publication-service.js.map +1 -1
  48. package/dist/task-environment/evidence/evidence-preparation-service.d.ts +36 -0
  49. package/dist/task-environment/evidence/evidence-preparation-service.js +341 -0
  50. package/dist/task-environment/evidence/evidence-preparation-service.js.map +1 -0
  51. package/dist/task-environment/intake/manual-problem-intake.js +15 -0
  52. package/dist/task-environment/intake/manual-problem-intake.js.map +1 -1
  53. package/dist/task-environment/observability/execution-metrics.js +1 -1
  54. package/dist/task-environment/observability/execution-metrics.js.map +1 -1
  55. package/dist/task-environment/observability/logger.js +21 -0
  56. package/dist/task-environment/observability/logger.js.map +1 -1
  57. package/dist/task-environment/orchestration/task-orchestrator.d.ts +3 -0
  58. package/dist/task-environment/orchestration/task-orchestrator.js +87 -1
  59. package/dist/task-environment/orchestration/task-orchestrator.js.map +1 -1
  60. package/dist/task-environment/orchestration/triage-runner.d.ts +2 -0
  61. package/dist/task-environment/orchestration/triage-runner.js +27 -1
  62. package/dist/task-environment/orchestration/triage-runner.js.map +1 -1
  63. package/dist/task-environment/runtime/optimus-runtime.js +4 -3
  64. package/dist/task-environment/runtime/optimus-runtime.js.map +1 -1
  65. package/dist/task-environment/storage/sqlite-task-store.js +1 -0
  66. package/dist/task-environment/storage/sqlite-task-store.js.map +1 -1
  67. package/dist/types.d.ts +3 -0
  68. package/embedded-skills/shared/video-keyframe-analyzer/SKILL.md +88 -0
  69. package/embedded-skills/shared/video-keyframe-analyzer/references/encountered-problems.md +12 -0
  70. package/embedded-skills/shared/video-keyframe-analyzer/references/triage-checklist.md +48 -0
  71. package/embedded-skills/shared/video-keyframe-analyzer/scripts/extract-keyframes.mjs +614 -0
  72. package/embedded-skills/shared/{repo-inspection → video-keyframe-analyzer}/skill.json +1 -1
  73. package/package.json +6 -2
  74. package/embedded-skills/shared/repo-inspection/SKILL.md +0 -9
@@ -12,12 +12,17 @@ export interface JiraSearchItem {
12
12
  description?: string;
13
13
  status?: string;
14
14
  priority?: string;
15
+ resolution?: string;
15
16
  assignee?: string;
16
17
  assigneeLogin?: string;
17
18
  assigneeEmail?: string;
18
19
  assigneeAccountId?: string;
19
20
  issueType?: string;
20
21
  labels: string[];
22
+ affectsVersions?: string[];
23
+ fixVersions?: string[];
24
+ components?: string[];
25
+ created?: string;
21
26
  updated?: string;
22
27
  }
23
28
  export interface JiraSearchResult {
@@ -35,6 +40,16 @@ export interface JiraComment {
35
40
  created?: string;
36
41
  updated?: string;
37
42
  }
43
+ export interface JiraAttachment {
44
+ id?: string;
45
+ filename?: string;
46
+ mimeType?: string;
47
+ size?: number;
48
+ author?: string;
49
+ created?: string;
50
+ content?: string;
51
+ thumbnail?: string;
52
+ }
38
53
  export interface JiraAddCommentInput {
39
54
  issueKey: string;
40
55
  body: string;
@@ -65,8 +80,17 @@ export interface JiraIssueDetail extends JiraSearchItem {
65
80
  reporterLogin?: string;
66
81
  reporterEmail?: string;
67
82
  reporterAccountId?: string;
83
+ cc?: string[];
84
+ votes?: number;
85
+ watchers?: number;
68
86
  environment?: string;
87
+ requiredVersion?: string[];
88
+ miCarModel?: string;
89
+ appBugCategory?: string;
90
+ appBugModule?: string;
91
+ bugDetailDescription?: string;
69
92
  comments: JiraComment[];
93
+ attachments: JiraAttachment[];
70
94
  rawResponse?: Record<string, unknown>;
71
95
  }
72
96
  export interface JiraClientOptions {
@@ -86,6 +110,7 @@ export interface JiraIssueReader {
86
110
  export interface JiraIssueClient extends JiraIssueReader {
87
111
  addComment(input: JiraAddCommentInput): Promise<JiraComment>;
88
112
  createIssue(input: JiraCreateIssueInput): Promise<JiraCreatedIssue>;
113
+ downloadAttachment(attachment: JiraAttachment): Promise<Buffer>;
89
114
  }
90
115
  export interface JiraErrorDiagnostics {
91
116
  category: "network_error" | "auth_header_missing" | "request_error" | "response_error" | "cas_auth_required";
@@ -106,6 +131,7 @@ export declare class JiraClient implements JiraIssueClient {
106
131
  getIssue(input: JiraGetIssueInput): Promise<JiraIssueDetail>;
107
132
  addComment(input: JiraAddCommentInput): Promise<JiraComment>;
108
133
  createIssue(input: JiraCreateIssueInput): Promise<JiraCreatedIssue>;
134
+ downloadAttachment(attachment: JiraAttachment): Promise<Buffer>;
109
135
  request(path: string, options?: JiraRequestOptions): Promise<Record<string, unknown>>;
110
136
  executeFetch(url: string, requestInit: RequestInit, context: {
111
137
  baseUrl: string;
@@ -88,6 +88,44 @@ export class JiraClient {
88
88
  });
89
89
  return mapCreatedIssue(response, this.options.baseUrl);
90
90
  }
91
+ async downloadAttachment(attachment) {
92
+ if (!attachment.content?.trim()) {
93
+ throw new JiraIntegrationError("Jira attachment is missing a download URL.", {
94
+ category: "request_error",
95
+ summary: "Jira attachment is missing a download URL.",
96
+ baseUrl: this.options.baseUrl
97
+ });
98
+ }
99
+ const url = attachment.content.startsWith("http")
100
+ ? attachment.content
101
+ : `${this.options.baseUrl.replace(/\/$/, "")}/${attachment.content.replace(/^\//, "")}`;
102
+ const response = await this.executeFetch(url, {
103
+ method: "GET",
104
+ redirect: "manual",
105
+ headers: {
106
+ accept: "*/*",
107
+ ...buildRequestHeaders(this.options)
108
+ }
109
+ }, { baseUrl: this.options.baseUrl });
110
+ const contentType = response.headers.get("content-type") ?? "";
111
+ if (isJiraCasResponse(response, contentType) || contentType.includes("text/html")) {
112
+ throw new JiraIntegrationError("Jira CAS authentication is required. Refresh Jira auth and retry.", {
113
+ category: "cas_auth_required",
114
+ summary: "Jira CAS authentication is required.",
115
+ detail: readCasResponseDetail(response, contentType),
116
+ baseUrl: this.options.baseUrl
117
+ });
118
+ }
119
+ if (!response.ok) {
120
+ throw new JiraIntegrationError(`Jira attachment download failed: ${response.status} ${response.statusText}`.trim(), {
121
+ category: "request_error",
122
+ summary: `Jira attachment download failed: ${response.status} ${response.statusText}`.trim(),
123
+ baseUrl: this.options.baseUrl
124
+ });
125
+ }
126
+ const bytes = await response.arrayBuffer();
127
+ return Buffer.from(bytes);
128
+ }
91
129
  async request(path, options = {}) {
92
130
  const url = `${this.options.baseUrl.replace(/\/$/, "")}${path}`;
93
131
  const requestInit = {
@@ -287,11 +325,16 @@ function mapSearchIssue(issue) {
287
325
  const description = normalizeJiraText(fields.description);
288
326
  const status = readNestedName(fields.status);
289
327
  const priority = readNestedName(fields.priority);
328
+ const resolution = readNestedName(fields.resolution);
290
329
  const assignee = readPrincipalName(fields.assignee);
291
330
  const assigneeLogin = readPrincipalLogin(fields.assignee);
292
331
  const assigneeEmail = readPrincipalEmail(fields.assignee);
293
332
  const assigneeAccountId = readPrincipalAccountId(fields.assignee);
294
333
  const issueType = readNestedName(fields.issuetype) ?? readNestedName(fields.issueType);
334
+ const affectsVersions = readFieldStrings(fields.versions);
335
+ const fixVersions = readFieldStrings(fields.fixVersions);
336
+ const components = readFieldStrings(fields.components);
337
+ const created = readString(fields.created);
295
338
  const updated = readString(fields.updated);
296
339
  return {
297
340
  issueKey: readString(issue.key) ?? readString(issue.issueKey) ?? "",
@@ -299,12 +342,17 @@ function mapSearchIssue(issue) {
299
342
  ...(description ? { description } : {}),
300
343
  ...(status ? { status } : {}),
301
344
  ...(priority ? { priority } : {}),
345
+ ...(resolution ? { resolution } : {}),
302
346
  ...(assignee ? { assignee } : {}),
303
347
  ...(assigneeLogin ? { assigneeLogin } : {}),
304
348
  ...(assigneeEmail ? { assigneeEmail } : {}),
305
349
  ...(assigneeAccountId ? { assigneeAccountId } : {}),
306
350
  ...(issueType ? { issueType } : {}),
307
351
  labels: readStringArray(fields.labels),
352
+ ...(affectsVersions.length > 0 ? { affectsVersions } : {}),
353
+ ...(fixVersions.length > 0 ? { fixVersions } : {}),
354
+ ...(components.length > 0 ? { components } : {}),
355
+ ...(created ? { created } : {}),
308
356
  ...(updated ? { updated } : {})
309
357
  };
310
358
  }
@@ -312,19 +360,37 @@ function mapIssueDetail(issue, includeRawResponse = false) {
312
360
  const summary = mapSearchIssue(issue);
313
361
  const fields = readIssueFields(issue);
314
362
  const comments = readArray(readObject(fields.comment).comments).map((comment) => mapComment(comment));
363
+ const attachments = readArray(fields.attachment).map((attachment) => mapAttachment(attachment));
315
364
  const reporter = readPrincipalName(fields.reporter);
316
365
  const reporterLogin = readPrincipalLogin(fields.reporter);
317
366
  const reporterEmail = readPrincipalEmail(fields.reporter);
318
367
  const reporterAccountId = readPrincipalAccountId(fields.reporter);
368
+ const cc = readFieldStrings(fields.customfield_11407);
369
+ const votes = readNumber(readObject(fields.votes).votes) ?? readNumber(fields.votes);
370
+ const watchers = readNumber(readObject(fields.watches).watchCount) ?? readNumber(readObject(fields.watchers).watchCount);
319
371
  const environment = normalizeJiraText(fields.environment);
372
+ const requiredVersion = readFieldStrings(fields.customfield_38400);
373
+ const miCarModel = readFieldText(fields.customfield_29800) ?? readFieldText(fields.customfield_37900);
374
+ const appBugCategory = readFieldText(fields.customfield_38116);
375
+ const appBugModule = readFieldText(fields.customfield_38115);
376
+ const bugDetailDescription = readFieldText(fields.customfield_38117);
320
377
  return {
321
378
  ...summary,
322
379
  ...(reporter ? { reporter } : {}),
323
380
  ...(reporterLogin ? { reporterLogin } : {}),
324
381
  ...(reporterEmail ? { reporterEmail } : {}),
325
382
  ...(reporterAccountId ? { reporterAccountId } : {}),
383
+ ...(cc.length > 0 ? { cc } : {}),
384
+ ...(votes !== undefined ? { votes } : {}),
385
+ ...(watchers !== undefined ? { watchers } : {}),
326
386
  ...(environment ? { environment } : {}),
387
+ ...(requiredVersion.length > 0 ? { requiredVersion } : {}),
388
+ ...(miCarModel ? { miCarModel } : {}),
389
+ ...(appBugCategory ? { appBugCategory } : {}),
390
+ ...(appBugModule ? { appBugModule } : {}),
391
+ ...(bugDetailDescription ? { bugDetailDescription } : {}),
327
392
  comments,
393
+ attachments,
328
394
  ...(includeRawResponse ? { rawResponse: issue } : {})
329
395
  };
330
396
  }
@@ -342,6 +408,26 @@ function mapComment(comment) {
342
408
  ...(updated ? { updated } : {})
343
409
  };
344
410
  }
411
+ function mapAttachment(attachment) {
412
+ const id = readString(attachment.id);
413
+ const filename = readString(attachment.filename) ?? readString(attachment.name);
414
+ const mimeType = readString(attachment.mimeType) ?? readString(attachment.mime_type);
415
+ const size = readNumber(attachment.size);
416
+ const author = readPrincipalName(attachment.author);
417
+ const created = readString(attachment.created);
418
+ const content = readString(attachment.content);
419
+ const thumbnail = readString(attachment.thumbnail);
420
+ return {
421
+ ...(id ? { id } : {}),
422
+ ...(filename ? { filename } : {}),
423
+ ...(mimeType ? { mimeType } : {}),
424
+ ...(size !== undefined ? { size } : {}),
425
+ ...(author ? { author } : {}),
426
+ ...(created ? { created } : {}),
427
+ ...(content ? { content } : {}),
428
+ ...(thumbnail ? { thumbnail } : {})
429
+ };
430
+ }
345
431
  function mapCreatedIssue(issue, baseUrl) {
346
432
  const issueKey = readString(issue.key) ?? readString(issue.issueKey) ?? readString(issue.issue_key);
347
433
  if (!issueKey) {
@@ -413,6 +499,31 @@ function readStringArray(value) {
413
499
  ? value.filter((item) => typeof item === "string" && item.trim().length > 0).map((item) => item.trim())
414
500
  : [];
415
501
  }
502
+ function readFieldStrings(value) {
503
+ if (Array.isArray(value)) {
504
+ return value
505
+ .flatMap((item) => readFieldStrings(item))
506
+ .filter((item, index, array) => array.indexOf(item) === index);
507
+ }
508
+ const direct = readString(value);
509
+ if (direct) {
510
+ return [direct];
511
+ }
512
+ const record = readObject(value);
513
+ const nested = record.value !== undefined ? readFieldStrings(record.value) : [];
514
+ const named = readString(record.name) ?? readString(record.displayName) ?? readString(record.display_name) ?? readString(record.key);
515
+ return [
516
+ ...nested,
517
+ ...(named ? [named] : [])
518
+ ].filter((item, index, array) => array.indexOf(item) === index);
519
+ }
520
+ function readFieldText(value) {
521
+ const values = readFieldStrings(value);
522
+ if (values.length > 0) {
523
+ return values.join(", ");
524
+ }
525
+ return normalizeJiraText(value);
526
+ }
416
527
  function readNestedName(value) {
417
528
  const record = readObject(value);
418
529
  return readString(record.name);
@@ -1 +1 @@
1
- {"version":3,"file":"jira-client.js","sourceRoot":"","sources":["../../../src/integrations/jira/jira-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jira-client.js","sourceRoot":"","sources":["../../../src/integrations/jira/jira-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { FeishuAssigneeIdentity } from "../../types.js";
2
+ import type { EvidencePreparationSummary } from "../../task-environment/evidence/evidence-preparation-service.js";
3
+ import { FeishuUserService } from "../feishu/feishu-user-service.js";
2
4
  import type { JiraIssueDetail, JiraIssueReader } from "./jira-client.js";
3
5
  interface JiraAssigneeResolveLogger {
4
6
  info?: (event: string, context?: Record<string, unknown>) => unknown;
@@ -40,6 +42,7 @@ export interface JiraSubmitDependencies {
40
42
  client: JiraIssueReader;
41
43
  submitIssue: (issue: JiraIssueDetail, submitArgs: string[]) => Promise<string>;
42
44
  resolveAssigneeIdentity?: (issue: JiraIssueDetail) => Promise<FeishuAssigneeIdentity | undefined>;
45
+ prepareEvidence?: (issue: JiraIssueDetail) => Promise<EvidencePreparationSummary | undefined>;
43
46
  }
44
47
  export interface JiraPollLoopOptions extends JiraSubmitOptions {
45
48
  intervalMs: number;
@@ -52,7 +55,7 @@ export interface JiraPollLoopController {
52
55
  export declare function buildAssignedOpenJql(assignee?: string): string;
53
56
  export declare function buildJiraSubmitTitle(issue: JiraIssueDetail): string;
54
57
  export declare function buildJiraSubmitDescription(issue: JiraIssueDetail): string;
55
- export declare function buildJiraSubmitArgs(issue: JiraIssueDetail, options: JiraSubmitOptions, assigneeIdentity?: FeishuAssigneeIdentity): string[];
58
+ export declare function buildJiraSubmitArgs(issue: JiraIssueDetail, options: JiraSubmitOptions, assigneeIdentity?: FeishuAssigneeIdentity, evidence?: EvidencePreparationSummary): string[];
56
59
  export declare function submitAssignedOpenIssues(dependencies: JiraSubmitDependencies, options?: JiraSubmitOptions): Promise<JiraSubmitResult>;
57
60
  export declare function submitSingleIssue(dependencies: JiraSubmitDependencies, issueKey: string, options?: JiraSubmitOptions): Promise<JiraSubmitResult>;
58
61
  export declare function resolveJiraAssigneeIdentity(issue: JiraIssueDetail, options?: {
@@ -61,10 +64,7 @@ export declare function resolveJiraAssigneeIdentity(issue: JiraIssueDetail, opti
61
64
  displayName?: string;
62
65
  email?: string;
63
66
  }>;
64
- execFileImpl?: (file: string, args: string[]) => Promise<{
65
- stdout: string;
66
- stderr: string;
67
- }>;
67
+ userService?: Pick<FeishuUserService, "isConfigured" | "resolveOpenId">;
68
68
  logger?: JiraAssigneeResolveLogger;
69
69
  }): Promise<FeishuAssigneeIdentity | undefined>;
70
70
  export declare function startAssignedOpenPolling(dependencies: JiraSubmitDependencies, options: JiraPollLoopOptions): JiraPollLoopController;
@@ -1,10 +1,35 @@
1
1
  // Jira submit orchestration keeps the connector logic outside runtime.
2
2
  // It normalizes Jira issues into the existing submit CLI contract: title + description + sourceRef.
3
- import { execFile } from "node:child_process";
4
- import { promisify } from "node:util";
5
- const execFileAsync = promisify(execFile);
3
+ import { FeishuUserService } from "../feishu/feishu-user-service.js";
6
4
  const DEFAULT_SEARCH_FIELDS = ["summary", "status", "priority", "assignee", "issuetype", "labels", "updated"];
7
- const DEFAULT_DETAIL_FIELDS = ["summary", "description", "status", "priority", "assignee", "issuetype", "labels", "updated", "reporter", "environment", "comment"];
5
+ const DEFAULT_DETAIL_FIELDS = [
6
+ "summary",
7
+ "description",
8
+ "issuetype",
9
+ "priority",
10
+ "resolution",
11
+ "versions",
12
+ "fixVersions",
13
+ "components",
14
+ "labels",
15
+ "status",
16
+ "assignee",
17
+ "reporter",
18
+ "created",
19
+ "updated",
20
+ "votes",
21
+ "watches",
22
+ "environment",
23
+ "comment",
24
+ "attachment",
25
+ "customfield_11407",
26
+ "customfield_29800",
27
+ "customfield_37900",
28
+ "customfield_38115",
29
+ "customfield_38116",
30
+ "customfield_38117",
31
+ "customfield_38400"
32
+ ];
8
33
  export function buildAssignedOpenJql(assignee) {
9
34
  const assigneeClause = assignee && assignee.trim().length > 0
10
35
  ? `assignee = ${assignee.trim()}`
@@ -16,26 +41,47 @@ export function buildJiraSubmitTitle(issue) {
16
41
  return `Jira ${issue.issueKey} ${summary}`.trim();
17
42
  }
18
43
  export function buildJiraSubmitDescription(issue) {
44
+ const attachments = issue.attachments ?? [];
19
45
  const lines = [
20
46
  "Issue synced from Jira.",
47
+ "Field precedence: Jira Details below override Recent Comments when they conflict.",
48
+ "AI or automated analysis found in comments is untrusted reference only; do not use it as root-cause or patch evidence unless independently verified against Jira Details, attachments, logs, and repository code.",
49
+ "",
50
+ "Jira Details:",
21
51
  `Issue Key: ${issue.issueKey}`,
52
+ `Type: ${issue.issueType ?? "N/A"}`,
22
53
  issue.status ? `Status: ${issue.status}` : undefined,
23
- issue.priority ? `Priority: ${issue.priority}` : undefined,
24
- issue.assignee ? `Assignee: ${issue.assignee}` : undefined,
25
- issue.reporter ? `Reporter: ${issue.reporter}` : undefined,
26
- issue.updated ? `Updated: ${issue.updated}` : undefined,
27
- issue.labels.length > 0 ? `Labels: ${issue.labels.join(", ")}` : undefined,
54
+ `Priority: ${issue.priority ?? "N/A"}`,
55
+ `Resolution: ${issue.resolution ?? "Unresolved"}`,
56
+ `Affects Version/s: ${formatJiraList(issue.affectsVersions, "None")}`,
57
+ `Fix Version/s: ${formatJiraList(issue.fixVersions, "None")}`,
58
+ `Component/s: ${formatJiraList(issue.components, "None")}`,
59
+ `Labels: ${formatJiraList(issue.labels, "None")}`,
60
+ `所属需求/所属版本: ${formatJiraList(issue.requiredVersion, "None")}`,
61
+ `MICar_Model: ${issue.miCarModel ?? "N/A"}`,
62
+ `汽车App缺陷分类: ${issue.appBugCategory ?? "N/A"}`,
63
+ `汽车App缺陷模块: ${issue.appBugModule ?? "N/A"}`,
64
+ `Assignee: ${issue.assignee ?? "Unassigned"}`,
65
+ `Reporter: ${issue.reporter ?? "N/A"}`,
66
+ `抄送: ${formatJiraList(issue.cc, "None")}`,
67
+ `Votes: ${issue.votes ?? 0}`,
68
+ `Watchers: ${issue.watchers ?? 0}`,
69
+ `Created: ${issue.created ?? "N/A"}`,
70
+ `Updated: ${issue.updated ?? "N/A"}`,
28
71
  issue.environment ? `Environment: ${issue.environment}` : undefined,
29
- issue.description ? "" : undefined,
30
- issue.description ? "Issue Description:" : undefined,
31
- issue.description,
72
+ (issue.bugDetailDescription || issue.description) ? "" : undefined,
73
+ issue.bugDetailDescription ? "Bug详细描述:" : issue.description ? "Issue Description:" : undefined,
74
+ issue.bugDetailDescription ?? issue.description,
75
+ attachments.length > 0 ? "" : undefined,
76
+ attachments.length > 0 ? "Attachments:" : undefined,
77
+ ...attachments.map((attachment, index) => formatAttachmentLine(attachment, index + 1)),
32
78
  issue.comments.length > 0 ? "" : undefined,
33
79
  issue.comments.length > 0 ? "Recent Comments:" : undefined,
34
80
  ...issue.comments.map((comment, index) => formatCommentLine(comment, index + 1))
35
81
  ].filter((line) => typeof line === "string" && line.trim().length > 0);
36
82
  return lines.join("\n").trim();
37
83
  }
38
- export function buildJiraSubmitArgs(issue, options, assigneeIdentity) {
84
+ export function buildJiraSubmitArgs(issue, options, assigneeIdentity, evidence) {
39
85
  const args = [
40
86
  "submit",
41
87
  "--title",
@@ -58,6 +104,9 @@ export function buildJiraSubmitArgs(issue, options, assigneeIdentity) {
58
104
  if (options.allowDuplicate === true) {
59
105
  args.push("--allow-duplicate");
60
106
  }
107
+ if (evidence) {
108
+ args.push("--evidence-json", JSON.stringify(evidence));
109
+ }
61
110
  if (assigneeIdentity?.displayName) {
62
111
  args.push("--q-assignee-display-name", assigneeIdentity.displayName);
63
112
  }
@@ -110,7 +159,8 @@ async function submitResolvedIssues(issues, jql, dependencies, options) {
110
159
  let submittedCount = 0;
111
160
  for (const issue of issues) {
112
161
  const assigneeIdentity = await dependencies.resolveAssigneeIdentity?.(issue);
113
- const submitArgs = buildJiraSubmitArgs(issue, options, assigneeIdentity);
162
+ const evidence = options.dryRun ? undefined : await dependencies.prepareEvidence?.(issue);
163
+ const submitArgs = buildJiraSubmitArgs(issue, options, assigneeIdentity, evidence);
114
164
  const title = submitArgs[2] ?? buildJiraSubmitTitle(issue);
115
165
  if (options.dryRun) {
116
166
  items.push({
@@ -168,16 +218,19 @@ export async function resolveJiraAssigneeIdentity(issue, options = {}) {
168
218
  });
169
219
  return base;
170
220
  }
171
- const execImpl = options.execFileImpl ?? (async (file, args) => {
172
- const result = await execFileAsync(file, args, { encoding: "utf8" });
173
- return {
174
- stdout: typeof result.stdout === "string" ? result.stdout : String(result.stdout),
175
- stderr: typeof result.stderr === "string" ? result.stderr : String(result.stderr)
176
- };
177
- });
221
+ const userService = options.userService ?? new FeishuUserService();
222
+ if (!userService.isConfigured()) {
223
+ await options.logger?.warn?.("jira.assignee_identity.degraded", {
224
+ issueKey: issue.issueKey,
225
+ assignee: base.login ?? base.displayName ?? base.email ?? issue.assignee ?? "unknown",
226
+ identifier,
227
+ reason: "feishu_auth_not_configured",
228
+ hasOpenId: false
229
+ });
230
+ return base;
231
+ }
178
232
  try {
179
- const { stdout } = await execImpl("feishu", ["user", "resolve", identifier]);
180
- const resolved = parseResolvedOpenId(stdout);
233
+ const resolved = await userService.resolveOpenId(identifier);
181
234
  if (resolved) {
182
235
  const resolvedIdentity = {
183
236
  ...base,
@@ -263,48 +316,6 @@ function resolveMappedAssignee(base, mappings) {
263
316
  }
264
317
  return undefined;
265
318
  }
266
- function parseResolvedOpenId(stdout) {
267
- const trimmed = stdout.trim();
268
- if (!trimmed) {
269
- return undefined;
270
- }
271
- try {
272
- const parsed = JSON.parse(trimmed);
273
- return extractOpenId(parsed);
274
- }
275
- catch {
276
- return undefined;
277
- }
278
- }
279
- function extractOpenId(value) {
280
- if (!value) {
281
- return undefined;
282
- }
283
- if (typeof value === "string") {
284
- return /^ou_[a-zA-Z0-9_-]+$/u.test(value) ? value : undefined;
285
- }
286
- if (Array.isArray(value)) {
287
- for (const item of value) {
288
- const openId = extractOpenId(item);
289
- if (openId) {
290
- return openId;
291
- }
292
- }
293
- return undefined;
294
- }
295
- if (typeof value !== "object") {
296
- return undefined;
297
- }
298
- const record = value;
299
- return extractOpenId(record.open_id)
300
- ?? extractOpenId(record.openId)
301
- ?? extractOpenId(record.id)
302
- ?? extractOpenId(record.user)
303
- ?? extractOpenId(record.data)
304
- ?? extractOpenId(record.items)
305
- ?? extractOpenId(record.users)
306
- ?? extractOpenId(record.results);
307
- }
308
319
  function buildPreview(issue, submitArgs) {
309
320
  return {
310
321
  issueKey: issue.issueKey,
@@ -317,7 +328,27 @@ function buildPreview(issue, submitArgs) {
317
328
  function formatCommentLine(comment, index) {
318
329
  const author = comment.author ? `${comment.author}: ` : "";
319
330
  const body = comment.body?.trim() || "(empty)";
320
- return `${index}. ${author}${body}`;
331
+ const trustPrefix = isAutomatedAnalysisComment(comment) ? "[UNTRUSTED_AUTO_ANALYSIS] " : "";
332
+ return `${index}. ${trustPrefix}${author}${body}`;
333
+ }
334
+ function formatJiraList(values, fallback) {
335
+ return values && values.length > 0 ? values.join(", ") : fallback;
336
+ }
337
+ function isAutomatedAnalysisComment(comment) {
338
+ const haystack = `${comment.author ?? ""}\n${comment.body ?? ""}`;
339
+ return /agent-swarm|auto-analysis|automated analysis|AI analysis|日志分析工具|机器分析|智能分析/iu.test(haystack);
340
+ }
341
+ function formatAttachmentLine(attachment, index) {
342
+ const filename = attachment.filename ?? attachment.id ?? "unnamed attachment";
343
+ const details = [
344
+ attachment.mimeType,
345
+ attachment.size !== undefined ? `${attachment.size} bytes` : undefined,
346
+ attachment.created,
347
+ attachment.author ? `by ${attachment.author}` : undefined
348
+ ].filter((item) => Boolean(item && item.trim().length > 0));
349
+ const suffix = details.length > 0 ? ` (${details.join(", ")})` : "";
350
+ const link = attachment.content ? ` ${attachment.content}` : "";
351
+ return `${index}. ${filename}${suffix}${link}`.trim();
321
352
  }
322
353
  export function startAssignedOpenPolling(dependencies, options) {
323
354
  let stopped = false;