@chenmk/superflow 0.5.6 → 0.5.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 +12 -0
- package/README.zh-CN.md +10 -0
- package/assets/scripts/superflow-managed-command-guard.py +52 -17
- package/assets/scripts/superflow-managed-work-check.mjs +286 -126
- package/assets/skills/superflow-pipeline/references/managed-work.md +5 -0
- package/assets/skills-en/superflow-pipeline/references/managed-work.md +7 -0
- package/dist/app/cli.js +12 -0
- package/dist/app/cli.js.map +1 -1
- package/dist/app/commands/cleanup.js +17 -0
- package/dist/app/commands/cleanup.js.map +1 -0
- package/dist/app/commands/pipeline.js +16 -5
- package/dist/app/commands/pipeline.js.map +1 -1
- package/dist/app/commands/status.js +7 -1
- package/dist/app/commands/status.js.map +1 -1
- package/dist/domains/config/cli-help.js +8 -0
- package/dist/domains/config/cli-help.js.map +1 -1
- package/dist/domains/managed-work/acceptance-contract.js +139 -0
- package/dist/domains/managed-work/acceptance-contract.js.map +1 -0
- package/dist/domains/managed-work/cleanup.js +247 -0
- package/dist/domains/managed-work/cleanup.js.map +1 -0
- package/dist/domains/managed-work/context-manifest.js +26 -0
- package/dist/domains/managed-work/context-manifest.js.map +1 -1
- package/dist/domains/managed-work/contract.js +40 -4
- package/dist/domains/managed-work/contract.js.map +1 -1
- package/dist/domains/managed-work/control.js +82 -5
- package/dist/domains/managed-work/control.js.map +1 -1
- package/dist/domains/managed-work/execution-contract.js +33 -4
- package/dist/domains/managed-work/execution-contract.js.map +1 -1
- package/dist/domains/managed-work/executor-policy.js +1 -0
- package/dist/domains/managed-work/executor-policy.js.map +1 -1
- package/dist/domains/managed-work/host-review.js +4 -0
- package/dist/domains/managed-work/host-review.js.map +1 -1
- package/dist/domains/managed-work/journal.js +3 -2
- package/dist/domains/managed-work/journal.js.map +1 -1
- package/dist/domains/managed-work/prompts.js +52 -0
- package/dist/domains/managed-work/prompts.js.map +1 -1
- package/dist/domains/managed-work/review-facts.js +85 -1
- package/dist/domains/managed-work/review-facts.js.map +1 -1
- package/dist/domains/managed-work/runner.js +17 -7
- package/dist/domains/managed-work/runner.js.map +1 -1
- package/dist/domains/managed-work/schemas.js +26 -1
- package/dist/domains/managed-work/schemas.js.map +1 -1
- package/dist/domains/managed-work/state.js +1 -0
- package/dist/domains/managed-work/state.js.map +1 -1
- package/dist/domains/managed-work/storage.js +68 -0
- package/dist/domains/managed-work/storage.js.map +1 -1
- package/dist/domains/managed-work/time-format.js +69 -0
- package/dist/domains/managed-work/time-format.js.map +1 -0
- package/dist/domains/managed-work/types.js.map +1 -1
- package/dist/mcp/server.js +42 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/platform/agent-process.js +21 -0
- package/dist/platform/agent-process.js.map +1 -1
- package/dist/platform/codex-config.js +91 -0
- package/dist/platform/codex-config.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "fs";
|
|
2
|
+
import os from "os";
|
|
3
|
+
import path from "path";
|
|
4
|
+
const REASONING_EFFORTS = new Set([
|
|
5
|
+
"minimal",
|
|
6
|
+
"low",
|
|
7
|
+
"medium",
|
|
8
|
+
"high",
|
|
9
|
+
"xhigh",
|
|
10
|
+
"max",
|
|
11
|
+
"ultra",
|
|
12
|
+
]);
|
|
13
|
+
export function resolveCodexExecutorConfig(env = process.env) {
|
|
14
|
+
const home = env.CODEX_HOME?.trim() || path.join(os.homedir(), ".codex");
|
|
15
|
+
const file = path.join(home, "config.toml");
|
|
16
|
+
if (!existsSync(file)) {
|
|
17
|
+
return {
|
|
18
|
+
model: null,
|
|
19
|
+
reasoningEffort: null,
|
|
20
|
+
provider: null,
|
|
21
|
+
source: "unknown",
|
|
22
|
+
confirmed: false,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
let content;
|
|
26
|
+
try {
|
|
27
|
+
content = readFileSync(file, "utf8");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return {
|
|
31
|
+
model: null,
|
|
32
|
+
reasoningEffort: null,
|
|
33
|
+
provider: null,
|
|
34
|
+
source: "unknown",
|
|
35
|
+
confirmed: false,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const model = tomlString(content, "model");
|
|
39
|
+
const reasoning = tomlString(content, "model_reasoning_effort");
|
|
40
|
+
const provider = tomlString(content, "model_provider");
|
|
41
|
+
return {
|
|
42
|
+
model,
|
|
43
|
+
reasoningEffort: reasoning && REASONING_EFFORTS.has(reasoning)
|
|
44
|
+
? reasoning
|
|
45
|
+
: null,
|
|
46
|
+
provider,
|
|
47
|
+
source: "codex_config",
|
|
48
|
+
confirmed: false,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function resolveClaudeExecutorConfig(env = process.env) {
|
|
52
|
+
const claudeHome = env.CLAUDE_CONFIG_DIR?.trim() || path.join(os.homedir(), ".claude");
|
|
53
|
+
const file = path.join(claudeHome, "settings.json");
|
|
54
|
+
let settings = {};
|
|
55
|
+
try {
|
|
56
|
+
settings = JSON.parse(readFileSync(file, "utf8"));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Claude supports environment-only configuration; absent or invalid local
|
|
60
|
+
// settings must remain visible as unknown instead of being guessed.
|
|
61
|
+
}
|
|
62
|
+
const settingsEnv = objectValue(settings.env);
|
|
63
|
+
const model = stringValue(env.ANTHROPIC_MODEL) ??
|
|
64
|
+
stringValue(settingsEnv.ANTHROPIC_MODEL) ??
|
|
65
|
+
stringValue(settings.model);
|
|
66
|
+
const effort = stringValue(env.CLAUDE_CODE_EFFORT_LEVEL) ??
|
|
67
|
+
stringValue(settingsEnv.CLAUDE_CODE_EFFORT_LEVEL);
|
|
68
|
+
return {
|
|
69
|
+
model,
|
|
70
|
+
reasoningEffort: effort && REASONING_EFFORTS.has(effort)
|
|
71
|
+
? effort
|
|
72
|
+
: null,
|
|
73
|
+
provider: stringValue(env.ANTHROPIC_BASE_URL) ??
|
|
74
|
+
stringValue(settingsEnv.ANTHROPIC_BASE_URL),
|
|
75
|
+
source: model || effort ? "claude_config" : "unknown",
|
|
76
|
+
confirmed: false,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function tomlString(content, key) {
|
|
80
|
+
const match = content.match(new RegExp(`^\\s*${key}\\s*=\\s*["']([^"']+)["']`, "m"));
|
|
81
|
+
return match?.[1]?.trim() || null;
|
|
82
|
+
}
|
|
83
|
+
function objectValue(value) {
|
|
84
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
85
|
+
? value
|
|
86
|
+
: {};
|
|
87
|
+
}
|
|
88
|
+
function stringValue(value) {
|
|
89
|
+
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=codex-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-config.js","sourceRoot":"","sources":["../../src/platform/codex-config.ts"],"names":[],"mappings":"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"}
|