odai-dsh-agent 0.2.16 → 0.2.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/LICENSE +21 -21
- package/README.md +155 -155
- package/build/bin/odai-dsh-agent.mjs +36 -29
- package/build/bin/odai-dsh-agent.mjs.map +1 -1
- package/build/src/control-center-installer.d.mts +7 -2
- package/build/src/control-center-installer.d.mts.map +1 -1
- package/build/src/control-center-installer.mjs +251 -31
- package/build/src/control-center-installer.mjs.map +1 -1
- package/build/src/control-center-prompt.d.mts +1 -1
- package/build/src/control-center-prompt.d.mts.map +1 -1
- package/build/src/control-center-prompt.mjs +14 -2
- package/build/src/control-center-prompt.mjs.map +1 -1
- package/client/client.js +125 -32
- package/control-center.cordis.patch.yml +3 -3
- package/package.json +89 -89
- package/preset/odai/agent.cordis.yml +266 -266
- package/preset/odai/preset.yml +3 -3
- package/preset/odai/runtime/control-center-runtime.d.mts +2 -0
- package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/control-center-runtime.mjs +18 -9
- package/preset/odai/runtime/control-center-runtime.mjs.map +1 -1
- package/preset/odai/runtime/role-overlays.mjs +8 -8
- package/preset/odai/runtime/session-evidence.d.mts +1 -0
- package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
- package/preset/odai/runtime/session-evidence.mjs +14 -0
- package/preset/odai/runtime/session-evidence.mjs.map +1 -1
- package/preset/odai/skills/odai/SKILL.md +68 -68
- package/preset/odai/skills/odai/agents/openai.yaml +4 -4
- package/preset/odai/skills/odai/assets/claude-agents/agent.md +11 -11
- package/preset/odai/skills/odai/assets/codex-agents/config.toml +11 -11
- package/preset/odai/skills/odai/assets/codex-agents/role.toml +5 -5
- package/preset/odai/skills/odai/assets/copilot-agents/agent.md +13 -13
- package/preset/odai/skills/odai/assets/hooks-policy.example.json +24 -24
- package/preset/odai/skills/odai/assets/routing-roles/controller.md +15 -15
- package/preset/odai/skills/odai/assets/routing-roles/frontend.md +7 -7
- package/preset/odai/skills/odai/assets/routing-roles/planner.md +28 -28
- package/preset/odai/skills/odai/assets/routing-roles/researcher.md +6 -6
- package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +11 -11
- package/preset/odai/skills/odai/assets/task-state.md +14 -14
- package/preset/odai/skills/odai/manifest.json +52 -52
- package/preset/odai/skills/odai/references/craft.md +54 -54
- package/preset/odai/skills/odai/references/dao.md +31 -31
- package/preset/odai/skills/odai/references/leverage.md +50 -50
- package/preset/odai/skills/odai/references/planning.md +83 -83
- package/preset/odai/skills/odai/references/support.md +30 -30
- package/preset/odai/skills/odai/references/verification.md +24 -24
- package/preset/odai/skills/odai/scripts/build-hooks.mjs +273 -273
- package/preset/odai/skills/odai/scripts/build-routing.mjs +315 -315
- package/preset/odai/skills/odai/scripts/install-routing.mjs +393 -393
- package/preset/odai/skills/odai/scripts/odai-hook.mjs +457 -457
- package/preset/odai/skills/odai/scripts/run-role.mjs +285 -285
- package/preset/odai/skills/odai/scripts/verify-routing.mjs +103 -103
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { mkdir, readFile, realpath, rm, writeFile } from "node:fs/promises";
|
|
3
4
|
import { dirname, resolve, sep } from "node:path";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { parse as parseYaml } from "yaml";
|
|
5
7
|
import { resolveDshHome } from "./installer.mjs";
|
|
6
8
|
const moduleDirectory = dirname(fileURLToPath(import.meta.url));
|
|
7
9
|
const packageRoot = resolve(moduleDirectory, moduleDirectory.endsWith(`${sep}build${sep}src`) ? "../.." : "..");
|
|
@@ -10,26 +12,38 @@ if (!isRecord(parsedMetadata) || typeof parsedMetadata.name !== "string" || type
|
|
|
10
12
|
throw new Error("odai-dsh-agent package metadata is invalid for Control Center management");
|
|
11
13
|
}
|
|
12
14
|
const packageMetadata = { name: parsedMetadata.name, version: parsedMetadata.version };
|
|
15
|
+
const PROFILE_STATE_FILES = Object.freeze(["package.json", "pnpm-lock.yaml", "pnpm-workspace.yaml"]);
|
|
16
|
+
const EXACT_VERSION_PATTERN = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?$/u;
|
|
13
17
|
function isRecord(value) {
|
|
14
18
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15
19
|
}
|
|
20
|
+
function errorMessage(error) {
|
|
21
|
+
return error instanceof Error ? error.message : String(error);
|
|
22
|
+
}
|
|
23
|
+
function errorCode(error) {
|
|
24
|
+
return isRecord(error) && typeof error.code === "string" ? error.code : undefined;
|
|
25
|
+
}
|
|
16
26
|
function assertProfile(value) {
|
|
17
27
|
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(value)) {
|
|
18
28
|
throw new TypeError("profile must contain only letters, digits, dots, underscores, or hyphens");
|
|
19
29
|
}
|
|
20
30
|
return value;
|
|
21
31
|
}
|
|
22
|
-
async function
|
|
23
|
-
let source;
|
|
32
|
+
async function optionalFile(path) {
|
|
24
33
|
try {
|
|
25
|
-
|
|
34
|
+
return await readFile(path);
|
|
26
35
|
}
|
|
27
36
|
catch (error) {
|
|
28
|
-
if (
|
|
37
|
+
if (errorCode(error) === "ENOENT")
|
|
29
38
|
return undefined;
|
|
30
39
|
throw error;
|
|
31
40
|
}
|
|
32
|
-
|
|
41
|
+
}
|
|
42
|
+
async function profileMetadata(path) {
|
|
43
|
+
const source = await optionalFile(path);
|
|
44
|
+
if (!source)
|
|
45
|
+
return undefined;
|
|
46
|
+
const parsed = JSON.parse(source.toString("utf8"));
|
|
33
47
|
if (!isRecord(parsed))
|
|
34
48
|
throw new TypeError(`DSH profile package metadata ${path} must be an object`);
|
|
35
49
|
const dependencies = isRecord(parsed.dependencies)
|
|
@@ -42,30 +56,162 @@ async function profileMetadata(path) {
|
|
|
42
56
|
: undefined;
|
|
43
57
|
return { dependencies, dsh };
|
|
44
58
|
}
|
|
59
|
+
async function lockDependencyIssues(target, dependency) {
|
|
60
|
+
const source = await optionalFile(resolve(target, "pnpm-lock.yaml"));
|
|
61
|
+
if (!source)
|
|
62
|
+
return [];
|
|
63
|
+
let parsed;
|
|
64
|
+
try {
|
|
65
|
+
parsed = parseYaml(source.toString("utf8"));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return [`profile lockfile is invalid YAML: ${errorMessage(error)}`];
|
|
69
|
+
}
|
|
70
|
+
if (!isRecord(parsed) || !isRecord(parsed.importers) || !isRecord(parsed.importers["."])) {
|
|
71
|
+
return ["profile lockfile is missing the root importer"];
|
|
72
|
+
}
|
|
73
|
+
const importer = parsed.importers["."];
|
|
74
|
+
const dependencies = isRecord(importer.dependencies) ? importer.dependencies : undefined;
|
|
75
|
+
const entry = dependencies?.[packageMetadata.name];
|
|
76
|
+
if (!isRecord(entry))
|
|
77
|
+
return [`profile lockfile is missing ${packageMetadata.name}`];
|
|
78
|
+
const specifier = typeof entry.specifier === "string" ? entry.specifier : undefined;
|
|
79
|
+
const version = typeof entry.version === "string" ? entry.version : undefined;
|
|
80
|
+
const issues = [];
|
|
81
|
+
if (specifier !== dependency)
|
|
82
|
+
issues.push(`lockfile specifier ${specifier ?? "<missing>"} does not match dependency ${dependency}`);
|
|
83
|
+
if (!version || !version.startsWith(dependency)) {
|
|
84
|
+
issues.push(`lockfile version ${version ?? "<missing>"} does not resolve dependency ${dependency}`);
|
|
85
|
+
}
|
|
86
|
+
return issues;
|
|
87
|
+
}
|
|
88
|
+
function localDependency(dependency) {
|
|
89
|
+
return /^(?:file|link|workspace):/iu.test(dependency)
|
|
90
|
+
|| /^\.{0,2}[/\\]/u.test(dependency)
|
|
91
|
+
|| /^[A-Za-z]:[/\\]/u.test(dependency)
|
|
92
|
+
|| dependency.endsWith(".tgz");
|
|
93
|
+
}
|
|
94
|
+
function exactRegistryVersion(dependency) {
|
|
95
|
+
return EXACT_VERSION_PATTERN.test(dependency) ? dependency : undefined;
|
|
96
|
+
}
|
|
97
|
+
function compareVersions(left, right) {
|
|
98
|
+
const parse = (value) => {
|
|
99
|
+
const match = /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/u.exec(value);
|
|
100
|
+
if (!match)
|
|
101
|
+
throw new TypeError(`invalid exact package version ${value}`);
|
|
102
|
+
return [Number(match[1]), Number(match[2]), Number(match[3]), match[4]];
|
|
103
|
+
};
|
|
104
|
+
const a = parse(left);
|
|
105
|
+
const b = parse(right);
|
|
106
|
+
for (let index = 0; index < 3; index += 1) {
|
|
107
|
+
const difference = a[index] - b[index];
|
|
108
|
+
if (difference !== 0)
|
|
109
|
+
return difference;
|
|
110
|
+
}
|
|
111
|
+
if (a[3] === b[3])
|
|
112
|
+
return 0;
|
|
113
|
+
if (a[3] === undefined)
|
|
114
|
+
return 1;
|
|
115
|
+
if (b[3] === undefined)
|
|
116
|
+
return -1;
|
|
117
|
+
return a[3].localeCompare(b[3]);
|
|
118
|
+
}
|
|
119
|
+
async function resolvedPackage(target) {
|
|
120
|
+
const manifestPath = resolve(target, "node_modules", packageMetadata.name, "package.json");
|
|
121
|
+
const source = await optionalFile(manifestPath);
|
|
122
|
+
if (!source)
|
|
123
|
+
return undefined;
|
|
124
|
+
const issues = [];
|
|
125
|
+
let parsed;
|
|
126
|
+
try {
|
|
127
|
+
parsed = JSON.parse(source.toString("utf8"));
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return { complete: false, issues: [`resolved package metadata is invalid JSON: ${errorMessage(error)}`] };
|
|
131
|
+
}
|
|
132
|
+
if (!isRecord(parsed) || parsed.name !== packageMetadata.name || typeof parsed.version !== "string") {
|
|
133
|
+
return { complete: false, issues: ["resolved package metadata has the wrong name or version"] };
|
|
134
|
+
}
|
|
135
|
+
let root;
|
|
136
|
+
try {
|
|
137
|
+
root = await realpath(dirname(manifestPath));
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
issues.push(`cannot resolve installed package root: ${errorMessage(error)}`);
|
|
141
|
+
}
|
|
142
|
+
for (const relativePath of [
|
|
143
|
+
"build/src/installer.mjs",
|
|
144
|
+
"preset/odai/runtime/control-center-host.mjs",
|
|
145
|
+
"preset/odai/runtime/control-center-runtime.mjs",
|
|
146
|
+
"client/client.js",
|
|
147
|
+
]) {
|
|
148
|
+
if (!await optionalFile(resolve(dirname(manifestPath), relativePath))) {
|
|
149
|
+
issues.push(`resolved package is missing ${relativePath}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
...(root ? { root } : {}),
|
|
154
|
+
version: parsed.version,
|
|
155
|
+
complete: issues.length === 0,
|
|
156
|
+
issues,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
45
159
|
export async function inspectAgentControlCenter(options = {}) {
|
|
46
160
|
const dshHome = resolveDshHome(options.dshHome);
|
|
47
161
|
const profile = assertProfile(options.profile ?? "web");
|
|
48
162
|
const target = resolve(dshHome, "profiles", profile);
|
|
49
163
|
const metadata = await profileMetadata(resolve(target, "package.json"));
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return { status: "absent", issues: [], dshHome, profile, target };
|
|
164
|
+
const dependency = metadata?.dependencies?.[packageMetadata.name];
|
|
165
|
+
const bundleCount = metadata?.dsh?.profile?.bundles?.filter((entry) => entry === packageMetadata.name).length ?? 0;
|
|
166
|
+
const base = { dshHome, profile, target, targetVersion: packageMetadata.version };
|
|
167
|
+
if (!dependency && bundleCount === 0)
|
|
168
|
+
return { status: "absent", issues: [], ...base };
|
|
56
169
|
const issues = [];
|
|
57
170
|
if (!dependency)
|
|
58
171
|
issues.push(`missing ${packageMetadata.name} profile dependency`);
|
|
59
|
-
if (
|
|
172
|
+
if (bundleCount === 0)
|
|
60
173
|
issues.push(`missing ${packageMetadata.name} profile bundle entry`);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
profile
|
|
66
|
-
|
|
174
|
+
if (bundleCount > 1)
|
|
175
|
+
issues.push(`duplicate ${packageMetadata.name} profile bundle entries`);
|
|
176
|
+
const installed = await resolvedPackage(target);
|
|
177
|
+
if (!installed)
|
|
178
|
+
issues.push(`resolved ${packageMetadata.name} package is missing from the profile install tree`);
|
|
179
|
+
else
|
|
180
|
+
issues.push(...installed.issues);
|
|
181
|
+
const detail = {
|
|
182
|
+
...base,
|
|
67
183
|
...(dependency ? { dependency } : {}),
|
|
184
|
+
...(installed?.version ? { installedVersion: installed.version } : {}),
|
|
185
|
+
...(installed?.root ? { resolvedRoot: installed.root } : {}),
|
|
68
186
|
};
|
|
187
|
+
if (!dependency || bundleCount !== 1)
|
|
188
|
+
return { status: "partial-drift", issues, ...detail };
|
|
189
|
+
if (localDependency(dependency)) {
|
|
190
|
+
issues.unshift(`profile dependency uses local source ${dependency}`);
|
|
191
|
+
return { status: "local-link", issues, ...detail };
|
|
192
|
+
}
|
|
193
|
+
const declaredVersion = exactRegistryVersion(dependency);
|
|
194
|
+
if (!declaredVersion) {
|
|
195
|
+
issues.unshift(`profile dependency is not an exact registry version: ${dependency}`);
|
|
196
|
+
return { status: "unknown-source", issues, ...detail };
|
|
197
|
+
}
|
|
198
|
+
const lockIssues = await lockDependencyIssues(target, dependency);
|
|
199
|
+
if (lockIssues.length > 0)
|
|
200
|
+
return { status: "partial-drift", issues: [...lockIssues, ...issues], ...detail };
|
|
201
|
+
if (!installed?.version || !installed.complete)
|
|
202
|
+
return { status: "partial-drift", issues, ...detail };
|
|
203
|
+
if (installed.version !== declaredVersion) {
|
|
204
|
+
issues.unshift(`resolved package version ${installed.version} does not match dependency ${declaredVersion}`);
|
|
205
|
+
return { status: "partial-drift", issues, ...detail };
|
|
206
|
+
}
|
|
207
|
+
const order = compareVersions(installed.version, packageMetadata.version);
|
|
208
|
+
if (order < 0)
|
|
209
|
+
return { status: "registry-upgrade", issues, ...detail };
|
|
210
|
+
if (order > 0) {
|
|
211
|
+
issues.unshift(`installed registry version ${installed.version} is newer than this installer ${packageMetadata.version}`);
|
|
212
|
+
return { status: "newer", issues, ...detail };
|
|
213
|
+
}
|
|
214
|
+
return { status: "current", issues: [], ...detail };
|
|
69
215
|
}
|
|
70
216
|
function runPluginCommand(action, operand, options) {
|
|
71
217
|
const dsh = options.dshBin ?? process.env.DSH_BIN ?? "dsh";
|
|
@@ -77,30 +223,104 @@ function runPluginCommand(action, operand, options) {
|
|
|
77
223
|
env: { ...process.env, DSH_HOME: resolveDshHome(options.dshHome) },
|
|
78
224
|
...(platform === "win32" ? { shell: true } : {}),
|
|
79
225
|
};
|
|
80
|
-
|
|
226
|
+
const args = ["plugin", "--profile", assertProfile(options.profile ?? "web"), action, operand];
|
|
227
|
+
if (action === "add")
|
|
228
|
+
args.push("--save-exact");
|
|
229
|
+
execute(command, args, processOptions);
|
|
230
|
+
}
|
|
231
|
+
async function captureProfile(target) {
|
|
232
|
+
return Promise.all(PROFILE_STATE_FILES.map(async (relativePath) => ({
|
|
233
|
+
path: resolve(target, relativePath),
|
|
234
|
+
content: await optionalFile(resolve(target, relativePath)),
|
|
235
|
+
})));
|
|
236
|
+
}
|
|
237
|
+
async function restoreProfile(snapshot) {
|
|
238
|
+
for (const file of snapshot) {
|
|
239
|
+
if (file.content === undefined)
|
|
240
|
+
await rm(file.path, { force: true });
|
|
241
|
+
else {
|
|
242
|
+
await mkdir(dirname(file.path), { recursive: true });
|
|
243
|
+
await writeFile(file.path, file.content);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
function previousOperand(inspection) {
|
|
248
|
+
const dependency = inspection.dependency;
|
|
249
|
+
if (!dependency)
|
|
250
|
+
return undefined;
|
|
251
|
+
return localDependency(dependency) ? dependency : `${packageMetadata.name}@${dependency}`;
|
|
252
|
+
}
|
|
253
|
+
async function retainRollbackEvidence(dshHome, snapshot, failure) {
|
|
254
|
+
const root = resolve(dshHome, "odai", "control-center-backups", `${Date.now()}-${randomUUID()}`);
|
|
255
|
+
await mkdir(root, { recursive: true });
|
|
256
|
+
for (const file of snapshot) {
|
|
257
|
+
if (file.content !== undefined)
|
|
258
|
+
await writeFile(resolve(root, file.path.split(/[\\/]/u).at(-1) ?? "state"), file.content);
|
|
259
|
+
}
|
|
260
|
+
await writeFile(resolve(root, "failure.txt"), `${failure}\n`, "utf8");
|
|
261
|
+
return root;
|
|
262
|
+
}
|
|
263
|
+
async function rollbackProfile(before, snapshot, options) {
|
|
264
|
+
const operand = previousOperand(before);
|
|
265
|
+
if (operand)
|
|
266
|
+
runPluginCommand("add", operand, options);
|
|
267
|
+
else
|
|
268
|
+
runPluginCommand("remove", packageMetadata.name, options);
|
|
269
|
+
await restoreProfile(snapshot);
|
|
81
270
|
}
|
|
82
271
|
export async function installAgentControlCenter(options = {}) {
|
|
83
272
|
const current = await inspectAgentControlCenter(options);
|
|
84
|
-
if (current.status === "
|
|
85
|
-
|
|
273
|
+
if (current.status === "current") {
|
|
274
|
+
return Object.freeze({
|
|
275
|
+
operation: "unchanged",
|
|
276
|
+
target: current.target,
|
|
277
|
+
profile: current.profile,
|
|
278
|
+
dependency: current.dependency ?? "",
|
|
279
|
+
previousStatus: current.status,
|
|
280
|
+
});
|
|
86
281
|
}
|
|
87
|
-
if (current.status === "
|
|
88
|
-
|
|
282
|
+
if (current.status === "newer") {
|
|
283
|
+
throw new Error(`refusing to downgrade Agent Control Center at ${current.target}: ${current.issues.join("; ")}`);
|
|
89
284
|
}
|
|
285
|
+
const snapshot = await captureProfile(current.target);
|
|
90
286
|
const packageSpec = options.packageSpec ?? `${packageMetadata.name}@${packageMetadata.version}`;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
287
|
+
try {
|
|
288
|
+
runPluginCommand("add", packageSpec, options);
|
|
289
|
+
const installed = await inspectAgentControlCenter(options);
|
|
290
|
+
if (installed.status !== "current" || !installed.dependency) {
|
|
291
|
+
throw new Error(`DSH plugin manager did not install the exact Agent Control Center package: ${installed.issues.join("; ") || installed.status}`);
|
|
292
|
+
}
|
|
293
|
+
const operation = current.status === "absent"
|
|
294
|
+
? "installed"
|
|
295
|
+
: current.status === "registry-upgrade"
|
|
296
|
+
? "updated"
|
|
297
|
+
: "repaired";
|
|
298
|
+
return Object.freeze({
|
|
299
|
+
operation,
|
|
300
|
+
target: installed.target,
|
|
301
|
+
profile: installed.profile,
|
|
302
|
+
dependency: installed.dependency,
|
|
303
|
+
previousStatus: current.status,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
try {
|
|
308
|
+
await rollbackProfile(current, snapshot, options);
|
|
309
|
+
}
|
|
310
|
+
catch (rollbackError) {
|
|
311
|
+
const detail = `install failed: ${errorMessage(error)}\nrollback failed: ${errorMessage(rollbackError)}`;
|
|
312
|
+
const backupPath = await retainRollbackEvidence(current.dshHome, snapshot, detail);
|
|
313
|
+
throw new Error(`${detail}\nprofile recovery evidence retained at ${backupPath}`);
|
|
314
|
+
}
|
|
315
|
+
throw new Error(`${errorMessage(error)}; previous Control Center profile state was restored`);
|
|
95
316
|
}
|
|
96
|
-
return Object.freeze({ operation: "installed", target: installed.target, profile: installed.profile, dependency: installed.dependency });
|
|
97
317
|
}
|
|
98
318
|
export async function uninstallAgentControlCenter(options = {}) {
|
|
99
319
|
const current = await inspectAgentControlCenter(options);
|
|
100
320
|
if (current.status === "absent")
|
|
101
321
|
return Object.freeze({ operation: "absent", target: current.target, profile: current.profile });
|
|
102
|
-
if (current.status === "
|
|
103
|
-
throw new Error(`refusing to remove
|
|
322
|
+
if (current.status === "partial-drift") {
|
|
323
|
+
throw new Error(`refusing to remove partially owned Control Center profile state at ${current.target}: ${current.issues.join("; ")}`);
|
|
104
324
|
}
|
|
105
325
|
runPluginCommand("remove", packageMetadata.name, options);
|
|
106
326
|
const removed = await inspectAgentControlCenter(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-center-installer.mjs","sourceRoot":"","sources":["../../src/control-center-installer.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-center-installer.mjs","sourceRoot":"","sources":["../../src/control-center-installer.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Readable, Writable } from "node:stream";
|
|
2
2
|
export declare function acceptsControlCenterInstall(answer: string): boolean;
|
|
3
|
-
export declare function promptForControlCenterInstall(input?: Readable, output?: Writable, profile?: string): Promise<boolean>;
|
|
3
|
+
export declare function promptForControlCenterInstall(input?: Readable, output?: Writable, profile?: string, action?: string): Promise<boolean>;
|
|
4
4
|
//# sourceMappingURL=control-center-prompt.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-center-prompt.d.mts","sourceRoot":"","sources":["../../src/control-center-prompt.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"control-center-prompt.d.mts","sourceRoot":"","sources":["../../src/control-center-prompt.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAsB,6BAA6B,CACjD,KAAK,GAAE,QAAwB,EAC/B,MAAM,GAAE,QAAyB,EACjC,OAAO,SAAQ,EACf,MAAM,SAA4C,GACjD,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
|
+
import { once } from "node:events";
|
|
1
2
|
import { createInterface } from "node:readline/promises";
|
|
2
3
|
export function acceptsControlCenterInstall(answer) {
|
|
3
4
|
return /^(?:|y|yes)$/iu.test(answer.trim());
|
|
4
5
|
}
|
|
5
|
-
export async function promptForControlCenterInstall(input = process.stdin, output = process.stdout, profile = "web") {
|
|
6
|
+
export async function promptForControlCenterInstall(input = process.stdin, output = process.stdout, profile = "web", action = `把 Odai 控制中心安装到 DSH profile “${profile}”`) {
|
|
7
|
+
if (input.readableEnded)
|
|
8
|
+
return false;
|
|
6
9
|
const readline = createInterface({ input, output });
|
|
10
|
+
const eof = Symbol("control-center-prompt-eof");
|
|
7
11
|
try {
|
|
8
|
-
const answer = await
|
|
12
|
+
const answer = await Promise.race([
|
|
13
|
+
readline.question(`${action}?回车或 y/yes 确认,n/no 取消 [Y/n] `),
|
|
14
|
+
once(input, "end").then(() => eof),
|
|
15
|
+
]);
|
|
16
|
+
if (typeof answer !== "string")
|
|
17
|
+
return false;
|
|
9
18
|
return acceptsControlCenterInstall(answer);
|
|
10
19
|
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
11
23
|
finally {
|
|
12
24
|
readline.close();
|
|
13
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-center-prompt.mjs","sourceRoot":"","sources":["../../src/control-center-prompt.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACxD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAK,GAAa,OAAO,CAAC,KAAK,EAC/B,MAAM,GAAa,OAAO,CAAC,MAAM,EACjC,OAAO,GAAG,KAAK;
|
|
1
|
+
{"version":3,"file":"control-center-prompt.mjs","sourceRoot":"","sources":["../../src/control-center-prompt.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACxD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAK,GAAa,OAAO,CAAC,KAAK,EAC/B,MAAM,GAAa,OAAO,CAAC,MAAM,EACjC,OAAO,GAAG,KAAK,EACf,MAAM,GAAG,+BAA+B,OAAO,GAAG;IAElD,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,8BAA8B,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
|