@akagilnc/pi-workflow-roles 0.1.5321 → 0.1.5325
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/dist/acp-host/production-host.js +256 -310
- package/dist/engine-detour.js +1 -56
- package/dist/headless-host/production-host.js +203 -257
- package/dist/migrate-book-topology.js +119594 -102066
- package/package.json +3 -3
- package/src/engine-detour.ts +7 -88
package/dist/engine-detour.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
2
|
const ENGINE_DETOUR_TOOL_NAME = "ak_engine_detour";
|
|
6
3
|
const AK_ROLE_ENGINE_ENV = "AK_ROLE_ENGINE";
|
|
7
4
|
const ENGINE_FLAG_NAME = "ak-engine";
|
|
8
5
|
const ENGINE_MODEL_FLAG_NAME = "ak-engine-model";
|
|
9
|
-
const ENGINE_DETOUR_STAGED_PROMPT_TOKEN = "<<ak-engine-staged-prompt>>";
|
|
10
6
|
function normalizeEngineName(engine) {
|
|
11
7
|
if (engine === void 0) return void 0;
|
|
12
8
|
const trimmed = engine.trim();
|
|
@@ -32,21 +28,7 @@ function abortReasonError(signal) {
|
|
|
32
28
|
error.name = "AbortError";
|
|
33
29
|
return error;
|
|
34
30
|
}
|
|
35
|
-
function
|
|
36
|
-
let replaced = 0;
|
|
37
|
-
const out = argv.map((part) => {
|
|
38
|
-
if (part !== ENGINE_DETOUR_STAGED_PROMPT_TOKEN) return part;
|
|
39
|
-
replaced += 1;
|
|
40
|
-
return stagedPath;
|
|
41
|
-
});
|
|
42
|
-
if (replaced !== 1) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
`\u52B3\u52A1\u5F15\u64CE stagedPrompt \u9700\u8981 argv \u4E2D\u6070\u597D\u4E00\u4E2A ${ENGINE_DETOUR_STAGED_PROMPT_TOKEN}\uFF08\u5B9E\u9645 ${replaced}\uFF09`
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
return out;
|
|
48
|
-
}
|
|
49
|
-
async function spawnEngineDetourOnce(input) {
|
|
31
|
+
async function runEngineDetourOnce(input) {
|
|
50
32
|
if (input.argv.length === 0) {
|
|
51
33
|
throw new Error("\u52B3\u52A1\u5F15\u64CE argv \u4E0D\u5F97\u4E3A\u7A7A");
|
|
52
34
|
}
|
|
@@ -104,42 +86,6 @@ async function spawnEngineDetourOnce(input) {
|
|
|
104
86
|
});
|
|
105
87
|
});
|
|
106
88
|
}
|
|
107
|
-
async function runEngineDetourOnce(input) {
|
|
108
|
-
if (input.stagedPrompt === void 0) {
|
|
109
|
-
return spawnEngineDetourOnce(input);
|
|
110
|
-
}
|
|
111
|
-
const stagingDir = await mkdtemp(join(tmpdir(), "ak-engine-detour-"));
|
|
112
|
-
const stagedPath = join(stagingDir, "prompt.txt");
|
|
113
|
-
let result;
|
|
114
|
-
let runError;
|
|
115
|
-
try {
|
|
116
|
-
await writeFile(stagedPath, input.stagedPrompt, "utf8");
|
|
117
|
-
const argv = resolveArgvWithStagedPrompt(input.argv, stagedPath);
|
|
118
|
-
result = await spawnEngineDetourOnce({
|
|
119
|
-
argv,
|
|
120
|
-
cwd: input.cwd,
|
|
121
|
-
...input.env === void 0 ? {} : { env: input.env },
|
|
122
|
-
...input.signal === void 0 ? {} : { signal: input.signal }
|
|
123
|
-
});
|
|
124
|
-
} catch (error) {
|
|
125
|
-
runError = error;
|
|
126
|
-
}
|
|
127
|
-
try {
|
|
128
|
-
await rm(stagingDir, { recursive: true, force: true });
|
|
129
|
-
} catch (cleanupError) {
|
|
130
|
-
if (runError !== void 0) {
|
|
131
|
-
throw new Error(
|
|
132
|
-
`\u52B3\u52A1\u5F15\u64CE stagedPrompt \u6E05\u7406\u5931\u8D25\uFF08\u539F\u8FD0\u884C\u9519\u8BEF\u4FDD\u7559\u4E3A cause\uFF09: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`,
|
|
133
|
-
{ cause: runError }
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
|
-
throw cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError));
|
|
137
|
-
}
|
|
138
|
-
if (runError !== void 0) {
|
|
139
|
-
throw runError instanceof Error ? runError : new Error(String(runError));
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
89
|
function isEngineDetourFailure(result) {
|
|
144
90
|
return result.code !== 0 || result.stdout.trim() === "";
|
|
145
91
|
}
|
|
@@ -177,7 +123,6 @@ function resolveEngineModel(getFlag) {
|
|
|
177
123
|
export {
|
|
178
124
|
AK_ROLE_ENGINE_ENV,
|
|
179
125
|
ENGINE_DETOUR_EMPTY_STDOUT_DIAGNOSTIC,
|
|
180
|
-
ENGINE_DETOUR_STAGED_PROMPT_TOKEN,
|
|
181
126
|
ENGINE_DETOUR_TOOL_NAME,
|
|
182
127
|
ENGINE_FLAG_NAME,
|
|
183
128
|
ENGINE_MODEL_FLAG_NAME,
|