@sireai/optimus 0.1.16 → 0.1.18
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 +12 -0
- package/dist/cli/feedback-delivery.d.ts +24 -2
- package/dist/cli/feedback-delivery.js +203 -113
- package/dist/cli/feedback-delivery.js.map +1 -1
- package/dist/cli/feedback.d.ts +14 -0
- package/dist/cli/feedback.js +72 -14
- package/dist/cli/feedback.js.map +1 -1
- package/dist/cli/optimus.js +10 -11
- package/dist/cli/optimus.js.map +1 -1
- package/dist/config/load-config.js +1 -1
- package/dist/config/load-config.js.map +1 -1
- package/dist/integrations/feishu/feishu-client.d.ts +1 -0
- package/dist/integrations/feishu/feishu-client.js +3 -0
- package/dist/integrations/feishu/feishu-client.js.map +1 -1
- package/dist/integrations/feishu/feishu-doc-service.d.ts +16 -1
- package/dist/integrations/feishu/feishu-doc-service.js +106 -1
- package/dist/integrations/feishu/feishu-doc-service.js.map +1 -1
- package/dist/integrations/jira/jira-cli.js +13 -1
- package/dist/integrations/jira/jira-cli.js.map +1 -1
- package/dist/integrations/jira/jira-client.d.ts +3 -0
- package/dist/integrations/jira/jira-client.js +27 -1
- package/dist/integrations/jira/jira-client.js.map +1 -1
- package/dist/integrations/jira/jira-submit.js +14 -7
- package/dist/integrations/jira/jira-submit.js.map +1 -1
- package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.d.ts +1 -1
- package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.js +14 -3
- package/dist/task-environment/delivery/commit-message/bugfix-commit-message-template.js.map +1 -1
- package/dist/task-environment/delivery/task-publication-service.js +1 -0
- package/dist/task-environment/delivery/task-publication-service.js.map +1 -1
- package/dist/task-environment/evidence/evidence-preparation-service.d.ts +5 -1
- package/dist/task-environment/evidence/evidence-preparation-service.js +170 -21
- package/dist/task-environment/evidence/evidence-preparation-service.js.map +1 -1
- package/dist/task-environment/observability/logger.d.ts +1 -0
- package/dist/task-environment/observability/logger.js +31 -1
- package/dist/task-environment/observability/logger.js.map +1 -1
- package/dist/task-environment/orchestration/execution-context-assembler.js +1 -1
- package/dist/task-environment/orchestration/execution-context-assembler.js.map +1 -1
- package/optimus.config.template.json +1 -1
- package/package.json +1 -1
package/dist/cli/feedback.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { copyFile, stat } from "node:fs/promises";
|
|
1
|
+
import { copyFile, readdir, readFile, stat } from "node:fs/promises";
|
|
2
2
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
3
|
-
import { join } from "node:path";
|
|
3
|
+
import { basename, join } from "node:path";
|
|
4
4
|
import { execFile } from "node:child_process";
|
|
5
|
+
import { hostname, userInfo } from "node:os";
|
|
5
6
|
import { promisify } from "node:util";
|
|
6
7
|
import { platform } from "node:process";
|
|
7
8
|
import { resolveDefaultFeedbackRootDir, resolveDefaultRuntimeRootDir } from "../config/optimus-paths.js";
|
|
@@ -50,6 +51,7 @@ function renderFeedbackMarkdown(input) {
|
|
|
50
51
|
"## Environment",
|
|
51
52
|
`Version: v${input.version}`,
|
|
52
53
|
`Submitted At: ${input.submittedAt}`,
|
|
54
|
+
`Submitted By: ${input.submitter.username}@${input.submitter.host}`,
|
|
53
55
|
`Platform: ${platform}`,
|
|
54
56
|
`Install Source: ${input.installSource}`,
|
|
55
57
|
"",
|
|
@@ -71,6 +73,10 @@ export async function createFeedbackReport(input) {
|
|
|
71
73
|
const archivePath = join(feedbackDir, `${feedbackId}.tar.gz`);
|
|
72
74
|
const runtimeRootDir = resolveDefaultRuntimeRootDir();
|
|
73
75
|
const installSource = await detectInstallSource(input.packageRoot);
|
|
76
|
+
const submitter = {
|
|
77
|
+
username: resolveSubmitterUsername(),
|
|
78
|
+
host: resolveSubmitterHost()
|
|
79
|
+
};
|
|
74
80
|
await mkdir(feedbackDir, { recursive: true });
|
|
75
81
|
const selectedLogs = resolveRuntimeLogsForTimestamp(runtimeRootDir, submittedAt);
|
|
76
82
|
const files = [];
|
|
@@ -91,6 +97,7 @@ export async function createFeedbackReport(input) {
|
|
|
91
97
|
version: input.currentVersion,
|
|
92
98
|
platform,
|
|
93
99
|
installSource,
|
|
100
|
+
submitter,
|
|
94
101
|
files: files.map((file) => ({
|
|
95
102
|
kind: file.kind,
|
|
96
103
|
fileName: file.fileName,
|
|
@@ -105,6 +112,7 @@ export async function createFeedbackReport(input) {
|
|
|
105
112
|
submittedAt,
|
|
106
113
|
version: input.currentVersion,
|
|
107
114
|
installSource,
|
|
115
|
+
submitter,
|
|
108
116
|
files
|
|
109
117
|
})}\n`, "utf8");
|
|
110
118
|
await writeFile(reportJsonPath, `${JSON.stringify(reportJson, null, 2)}\n`, "utf8");
|
|
@@ -116,18 +124,10 @@ export async function createFeedbackReport(input) {
|
|
|
116
124
|
reportJsonPath,
|
|
117
125
|
archivePath
|
|
118
126
|
}, null, 2)}\n`, "utf8");
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
"meta.json",
|
|
123
|
-
...files
|
|
124
|
-
.filter((file) => file.found)
|
|
125
|
-
.map((file) => file.fileName)
|
|
126
|
-
];
|
|
127
|
-
await execFileAsync("tar", ["-czf", archivePath, "-C", feedbackDir, ...archiveInputs], {
|
|
128
|
-
encoding: "utf8"
|
|
127
|
+
const archiveResult = await refreshFeedbackArchive({
|
|
128
|
+
feedbackDir,
|
|
129
|
+
archivePath
|
|
129
130
|
});
|
|
130
|
-
const archiveStats = await stat(archivePath);
|
|
131
131
|
return {
|
|
132
132
|
id: feedbackId,
|
|
133
133
|
feedbackDir,
|
|
@@ -135,9 +135,67 @@ export async function createFeedbackReport(input) {
|
|
|
135
135
|
reportJsonPath,
|
|
136
136
|
metaPath,
|
|
137
137
|
archivePath,
|
|
138
|
-
archiveSizeBytes:
|
|
138
|
+
archiveSizeBytes: archiveResult.archiveSizeBytes,
|
|
139
139
|
submittedAt,
|
|
140
|
+
submitter,
|
|
140
141
|
files
|
|
141
142
|
};
|
|
142
143
|
}
|
|
144
|
+
function resolveSubmitterUsername() {
|
|
145
|
+
try {
|
|
146
|
+
const username = userInfo().username?.trim();
|
|
147
|
+
if (username) {
|
|
148
|
+
return username;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// ignore and fall back to env
|
|
153
|
+
}
|
|
154
|
+
return process.env.USER?.trim() || process.env.LOGNAME?.trim() || "unknown";
|
|
155
|
+
}
|
|
156
|
+
function resolveSubmitterHost() {
|
|
157
|
+
try {
|
|
158
|
+
const value = hostname().trim();
|
|
159
|
+
if (value) {
|
|
160
|
+
return value;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// ignore and fall back to env
|
|
165
|
+
}
|
|
166
|
+
return process.env.HOSTNAME?.trim() || "unknown-host";
|
|
167
|
+
}
|
|
168
|
+
export async function updateFeedbackMeta(report, patch) {
|
|
169
|
+
let current = {};
|
|
170
|
+
try {
|
|
171
|
+
const raw = await readFile(report.metaPath, "utf8");
|
|
172
|
+
const parsed = JSON.parse(raw);
|
|
173
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
174
|
+
current = parsed;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
current = {};
|
|
179
|
+
}
|
|
180
|
+
await writeFile(report.metaPath, `${JSON.stringify({
|
|
181
|
+
...current,
|
|
182
|
+
...patch
|
|
183
|
+
}, null, 2)}\n`, "utf8");
|
|
184
|
+
}
|
|
185
|
+
export async function refreshFeedbackArchive(input) {
|
|
186
|
+
const entries = (await readdir(input.feedbackDir, { withFileTypes: true }))
|
|
187
|
+
.filter((entry) => entry.isFile())
|
|
188
|
+
.map((entry) => entry.name)
|
|
189
|
+
.filter((name) => name !== basename(input.archivePath))
|
|
190
|
+
.sort();
|
|
191
|
+
await execFileAsync("tar", ["-czf", input.archivePath, "-C", input.feedbackDir, ...entries], {
|
|
192
|
+
encoding: "utf8"
|
|
193
|
+
});
|
|
194
|
+
const archiveStats = await stat(input.archivePath);
|
|
195
|
+
return {
|
|
196
|
+
archivePath: input.archivePath,
|
|
197
|
+
archiveSizeBytes: archiveStats.size,
|
|
198
|
+
includedFiles: entries
|
|
199
|
+
};
|
|
200
|
+
}
|
|
143
201
|
//# sourceMappingURL=feedback.js.map
|
package/dist/cli/feedback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/cli/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/cli/feedback.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/optimus.js
CHANGED
|
@@ -32,7 +32,7 @@ import { TaskPublicationService } from "../task-environment/delivery/task-public
|
|
|
32
32
|
import { FeishuClient } from "../integrations/feishu/feishu-client.js";
|
|
33
33
|
import { FeishuUserService } from "../integrations/feishu/feishu-user-service.js";
|
|
34
34
|
import { createFeedbackReport } from "./feedback.js";
|
|
35
|
-
import { DEFAULT_FEEDBACK_RECIPIENT_EMAIL, FeishuFeedbackDeliveryService, resolveDefaultFeedbackRecipientFallbackOpenId } from "./feedback-delivery.js";
|
|
35
|
+
import { DEFAULT_FEEDBACK_RECIPIENT_EMAIL, FeishuFeedbackDeliveryService, persistFeedbackDeliveryResult, resolveDefaultFeedbackRecipientFallbackOpenId } from "./feedback-delivery.js";
|
|
36
36
|
import { resolveDefaultConfigPath, resolveDefaultEnvPath, resolveOptimusHomeDir } from "../config/optimus-paths.js";
|
|
37
37
|
import { checkForSelfUpdate, installSelfUpdate, recordSkippedSelfUpdate, readSelfUpdateState, shouldPromptForCachedStartupUpdate } from "./self-update.js";
|
|
38
38
|
const CLI_ROOT_DIR = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
@@ -2124,18 +2124,13 @@ async function main() {
|
|
|
2124
2124
|
process.exitCode = 1;
|
|
2125
2125
|
return;
|
|
2126
2126
|
}
|
|
2127
|
+
console.log("[optimus] submitting feedback...");
|
|
2127
2128
|
const result = await createFeedbackReport({
|
|
2128
2129
|
title,
|
|
2129
2130
|
description,
|
|
2130
2131
|
currentVersion,
|
|
2131
2132
|
packageRoot: CLI_ROOT_DIR
|
|
2132
2133
|
});
|
|
2133
|
-
console.log("[optimus] feedback saved locally");
|
|
2134
|
-
console.log(`id: ${result.id}`);
|
|
2135
|
-
console.log(`path: ${result.feedbackDir}`);
|
|
2136
|
-
console.log(`report: ${result.reportPath}`);
|
|
2137
|
-
console.log(`archive: ${result.archivePath}`);
|
|
2138
|
-
console.log(`logs: ${result.files.filter((file) => file.found).length}/${result.files.length}`);
|
|
2139
2134
|
const feedbackDelivery = new FeishuFeedbackDeliveryService({
|
|
2140
2135
|
config
|
|
2141
2136
|
});
|
|
@@ -2145,10 +2140,14 @@ async function main() {
|
|
|
2145
2140
|
currentVersion,
|
|
2146
2141
|
report: result
|
|
2147
2142
|
});
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2143
|
+
await persistFeedbackDeliveryResult(result, deliveryResult);
|
|
2144
|
+
const hasWarning = deliveryResult.document.status !== "created" || deliveryResult.notification.status !== "sent";
|
|
2145
|
+
if (hasWarning) {
|
|
2146
|
+
console.log(`[optimus] feedback finished with warnings. doc=${deliveryResult.document.status}, notify=${deliveryResult.notification.status}`);
|
|
2147
|
+
}
|
|
2148
|
+
else {
|
|
2149
|
+
console.log("[optimus] feedback submitted.");
|
|
2150
|
+
}
|
|
2152
2151
|
return;
|
|
2153
2152
|
}
|
|
2154
2153
|
if (command === "retry-task") {
|