@actalk/inkos 1.3.1 → 1.3.2-canary.28.1
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/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +115 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -91
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/interact.js +1 -1
- package/dist/commands/interact.js.map +1 -1
- package/dist/commands/studio.d.ts +2 -0
- package/dist/commands/studio.d.ts.map +1 -1
- package/dist/commands/studio.js +28 -7
- package/dist/commands/studio.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +2 -6
- package/dist/program.js.map +1 -1
- package/dist/project-bootstrap.d.ts +7 -0
- package/dist/project-bootstrap.d.ts.map +1 -0
- package/dist/project-bootstrap.js +116 -0
- package/dist/project-bootstrap.js.map +1 -0
- package/dist/tui/app.d.ts +1 -1
- package/dist/tui/tools.d.ts +3 -1
- package/dist/tui/tools.d.ts.map +1 -1
- package/dist/tui/tools.js +2 -2
- package/dist/tui/tools.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
export declare function buildDoctorModelCandidates(preferredModel: string | undefined, discoveredModels: Array<{
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}>): string[];
|
|
6
|
+
export declare function resolveDoctorModelsBaseUrl(service: string | undefined, baseUrl: string, resolveServiceModelsBaseUrl: (service: string) => string | undefined): string;
|
|
2
7
|
export declare const doctorCommand: Command;
|
|
3
8
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,gBAAgB,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACpD,MAAM,EAAE,CAoBV;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,2BAA2B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACnE,MAAM,CAKR;AAoBD,eAAO,MAAM,aAAa,SAwRtB,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -3,6 +3,74 @@ import { readFile } from "node:fs/promises";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { findProjectRoot, log, GLOBAL_ENV_PATH } from "../utils.js";
|
|
5
5
|
import { ensureNodeRuntimePinFiles, evaluateSqliteMemorySupport, inspectNodeRuntimePinFiles, } from "../runtime-requirements.js";
|
|
6
|
+
function buildDoctorProbePlans(preferredApiFormat, preferredStream) {
|
|
7
|
+
const plans = [];
|
|
8
|
+
const seen = new Set();
|
|
9
|
+
const push = (apiFormat, stream) => {
|
|
10
|
+
const key = `${apiFormat}:${stream ? "1" : "0"}`;
|
|
11
|
+
if (seen.has(key))
|
|
12
|
+
return;
|
|
13
|
+
seen.add(key);
|
|
14
|
+
plans.push({ apiFormat, stream });
|
|
15
|
+
};
|
|
16
|
+
if (preferredApiFormat) {
|
|
17
|
+
push(preferredApiFormat, preferredStream ?? false);
|
|
18
|
+
push(preferredApiFormat, !(preferredStream ?? false));
|
|
19
|
+
}
|
|
20
|
+
const alternate = preferredApiFormat === "responses" ? "chat" : "responses";
|
|
21
|
+
push(alternate, false);
|
|
22
|
+
push(alternate, true);
|
|
23
|
+
push("chat", false);
|
|
24
|
+
push("chat", true);
|
|
25
|
+
push("responses", false);
|
|
26
|
+
push("responses", true);
|
|
27
|
+
return plans;
|
|
28
|
+
}
|
|
29
|
+
export function buildDoctorModelCandidates(preferredModel, discoveredModels) {
|
|
30
|
+
const seen = new Set();
|
|
31
|
+
const candidates = [];
|
|
32
|
+
const push = (value) => {
|
|
33
|
+
if (!value || value.trim().length === 0)
|
|
34
|
+
return;
|
|
35
|
+
const model = value.trim();
|
|
36
|
+
if (seen.has(model))
|
|
37
|
+
return;
|
|
38
|
+
seen.add(model);
|
|
39
|
+
candidates.push(model);
|
|
40
|
+
};
|
|
41
|
+
push(preferredModel);
|
|
42
|
+
for (const model of discoveredModels)
|
|
43
|
+
push(model.id);
|
|
44
|
+
push("gpt-5.4");
|
|
45
|
+
push("gpt-4o");
|
|
46
|
+
push("claude-sonnet-4-6");
|
|
47
|
+
push("MiniMax-M2.7");
|
|
48
|
+
push("kimi-k2.5");
|
|
49
|
+
push("gemini-2.5-flash");
|
|
50
|
+
return candidates;
|
|
51
|
+
}
|
|
52
|
+
export function resolveDoctorModelsBaseUrl(service, baseUrl, resolveServiceModelsBaseUrl) {
|
|
53
|
+
if (!service || service.length === 0) {
|
|
54
|
+
return baseUrl;
|
|
55
|
+
}
|
|
56
|
+
return resolveServiceModelsBaseUrl(service) ?? baseUrl;
|
|
57
|
+
}
|
|
58
|
+
async function fetchDoctorModels(modelsBaseUrl, apiKey) {
|
|
59
|
+
const modelsUrl = modelsBaseUrl.replace(/\/$/, "") + "/models";
|
|
60
|
+
try {
|
|
61
|
+
const res = await fetch(modelsUrl, {
|
|
62
|
+
headers: { Authorization: `Bearer ${apiKey}` },
|
|
63
|
+
signal: AbortSignal.timeout(10_000),
|
|
64
|
+
});
|
|
65
|
+
if (!res.ok)
|
|
66
|
+
return [];
|
|
67
|
+
const json = await res.json();
|
|
68
|
+
return (json.data ?? []).map((model) => ({ id: model.id, name: model.id }));
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
6
74
|
export const doctorCommand = new Command("doctor")
|
|
7
75
|
.description("Check environment and project health")
|
|
8
76
|
.option("--repair-node-runtime", "Write .nvmrc and .node-version pinned to Node 22 for this project")
|
|
@@ -142,7 +210,7 @@ export const doctorCommand = new Command("doctor")
|
|
|
142
210
|
}
|
|
143
211
|
// 6. API connectivity test
|
|
144
212
|
try {
|
|
145
|
-
const { createLLMClient, chatCompletion, LLMConfigSchema, isApiKeyOptionalForEndpoint } = await import("@actalk/inkos-core");
|
|
213
|
+
const { createLLMClient, chatCompletion, LLMConfigSchema, isApiKeyOptionalForEndpoint, resolveServiceModelsBaseUrl } = await import("@actalk/inkos-core");
|
|
146
214
|
const { loadConfig } = await import("../utils.js");
|
|
147
215
|
let llmConfig;
|
|
148
216
|
try {
|
|
@@ -180,16 +248,56 @@ export const doctorCommand = new Command("doctor")
|
|
|
180
248
|
ok: true,
|
|
181
249
|
detail: `provider=${llmConfig.provider} model=${llmConfig.model} stream=${llmConfig.stream ?? true} baseUrl=${llmConfig.baseUrl}`,
|
|
182
250
|
});
|
|
183
|
-
const client = createLLMClient(llmConfig);
|
|
184
251
|
log("\n [..] Testing API connectivity...");
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
252
|
+
let connected = false;
|
|
253
|
+
let detectedDetail = "";
|
|
254
|
+
let lastError = "Unknown error";
|
|
255
|
+
const modelsBaseUrl = resolveDoctorModelsBaseUrl(typeof llmConfig.service === "string" ? llmConfig.service : undefined, llmConfig.baseUrl, resolveServiceModelsBaseUrl);
|
|
256
|
+
const discoveredModels = (llmConfig.apiKey && modelsBaseUrl)
|
|
257
|
+
? await fetchDoctorModels(modelsBaseUrl, llmConfig.apiKey)
|
|
258
|
+
: [];
|
|
259
|
+
const modelCandidates = (llmConfig.provider === "openai" || discoveredModels.length > 0)
|
|
260
|
+
? buildDoctorModelCandidates(llmConfig.model, discoveredModels)
|
|
261
|
+
: [llmConfig.model];
|
|
262
|
+
const plans = llmConfig.provider === "openai"
|
|
263
|
+
? buildDoctorProbePlans(llmConfig.apiFormat, llmConfig.stream)
|
|
264
|
+
: [{ apiFormat: (llmConfig.apiFormat ?? "chat"), stream: llmConfig.stream ?? true }];
|
|
265
|
+
for (const model of modelCandidates) {
|
|
266
|
+
for (const plan of plans) {
|
|
267
|
+
try {
|
|
268
|
+
const client = createLLMClient({
|
|
269
|
+
...llmConfig,
|
|
270
|
+
model,
|
|
271
|
+
apiFormat: plan.apiFormat,
|
|
272
|
+
stream: plan.stream,
|
|
273
|
+
});
|
|
274
|
+
const response = await chatCompletion(client, model, [
|
|
275
|
+
{ role: "user", content: "Say OK" },
|
|
276
|
+
], { maxTokens: 16 });
|
|
277
|
+
connected = true;
|
|
278
|
+
detectedDetail = `OK (model: ${model}, apiFormat=${plan.apiFormat}, stream=${plan.stream}, tokens: ${response.usage.totalTokens})`;
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
lastError = error instanceof Error ? error.message : String(error);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (connected) {
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
188
289
|
checks.push({
|
|
189
290
|
name: "API Connectivity",
|
|
190
|
-
ok:
|
|
191
|
-
detail:
|
|
291
|
+
ok: connected,
|
|
292
|
+
detail: connected ? detectedDetail : lastError.split("\n")[0],
|
|
192
293
|
});
|
|
294
|
+
if (!connected && llmConfig.provider === "openai") {
|
|
295
|
+
checks.push({
|
|
296
|
+
name: " Hint",
|
|
297
|
+
ok: false,
|
|
298
|
+
detail: "当前已自动尝试 chat/responses 与流式开关组合;如果仍失败,问题更可能在模型名、baseUrl 路径或服务商兼容性本身。",
|
|
299
|
+
});
|
|
300
|
+
}
|
|
193
301
|
}
|
|
194
302
|
}
|
|
195
303
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAY,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,SAAS,qBAAqB,CAC5B,kBAAoD,EACpD,eAAoC;IAEpC,MAAM,KAAK,GAAgE,EAAE,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,SAA+B,EAAE,MAAe,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,eAAe,IAAI,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5E,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnB,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,cAAkC,EAClC,gBAAqD;IAErD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,KAAgC,EAAE,EAAE;QAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,gBAAgB;QAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,CAAC,CAAC;IAChB,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;IACrB,IAAI,CAAC,WAAW,CAAC,CAAC;IAClB,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAA2B,EAC3B,OAAe,EACf,2BAAoE;IAEpE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,2BAA2B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,aAAqB,EACrB,MAAc;IAEd,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;YACjC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YAC9C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KACpG,MAAM,CAAC,KAAK,EAAE,IAAqC,EAAE,EAAE;IACtD,MAAM,MAAM,GAAyD,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iCAAiC;YACvC,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,MAAM,CAAC,OAAO;gBACpB,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa;gBACjD,CAAC,CAAC,2BAA2B;SAChC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,KAAK,IAAI,EAAE;QACf,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,gCAAgC;QACtC,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,wBAAwB;QAC9B,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC;KAC1C,CAAC,CAAC;IAEH,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,yBAAyB;IACzB,CAAC;QACC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC/D,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3G,CAAC;QAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,eAAe,GAAG,CAAC,CAAC,CAAC,wCAAwC;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,CAAC;QACC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACtC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC9C,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC7C,MAAM,cAAc,GAAG,2BAA2B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,KAAK,mBAAmB,CAAC,CAAC;QACpG,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,cAAc;gBACpB,CAAC,CAAC,yCAAyC;gBAC3C,CAAC,CAAC,MAAM;oBACN,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,gEAAgE;SACvE,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,qCAAqC;IACrC,CAAC;QACC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW;oBAAE,WAAW,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG,WAAW,wHAAwH;iBAC/I,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,8BAA8B;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1J,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAClC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACxB,MAAM,cAAc,GAAG,2BAA2B,CAAC;gBACjD,QAAQ,EAAE,GAAG,CAAC,kBAAkB;gBAChC,OAAO,EAAE,GAAG,CAAC,kBAAkB;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBAC/F,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;oBAChC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,IAAI,QAAQ;oBAC5C,OAAO,EAAE,GAAG,CAAC,kBAAkB;oBAC/B,MAAM,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;oBACnC,KAAK,EAAE,GAAG,CAAC,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,4DAA4D;aACrE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,YAAY,SAAS,CAAC,QAAQ,UAAU,SAAS,CAAC,KAAK,WAAW,SAAS,CAAC,MAAM,IAAI,IAAI,YAAY,SAAS,CAAC,OAAO,EAAE;aAClI,CAAC,CAAC;YAEH,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAE5C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,SAAS,GAAG,eAAe,CAAC;YAChC,MAAM,aAAa,GAAG,0BAA0B,CAC9C,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACrE,SAAS,CAAC,OAAO,EACjB,2BAA2B,CAC5B,CAAC;YACF,MAAM,gBAAgB,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,aAAa,CAAC;gBAC1D,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtF,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC;gBAC/D,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ;gBAC3C,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC;gBAC9D,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,MAAM,CAAyB,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAE/G,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,eAAe,CAAC;4BAC7B,GAAG,SAAS;4BACZ,KAAK;4BACL,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB,CAAC,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;4BACnD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;yBACpC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;wBAEtB,SAAS,GAAG,IAAI,CAAC;wBACjB,cAAc,GAAG,cAAc,KAAK,eAAe,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,MAAM,aAAa,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC;wBACnI,MAAM;oBACR,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE;aAC/D,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,qEAAqE;iBAC9E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE;SAC/B,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS;IACT,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,WAAW,SAwCpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,103 +1,20 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { log, logError
|
|
5
|
-
|
|
6
|
-
try {
|
|
7
|
-
const content = await readFile(GLOBAL_ENV_PATH, "utf-8");
|
|
8
|
-
return content.includes("INKOS_LLM_API_KEY=") && !content.includes("your-api-key-here");
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
2
|
+
import { mkdir } from "node:fs/promises";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import { log, logError } from "../utils.js";
|
|
5
|
+
import { initializeProjectDirectory } from "../project-bootstrap.js";
|
|
14
6
|
export const initCommand = new Command("init")
|
|
15
7
|
.description("Initialize an InkOS project (current directory by default)")
|
|
16
8
|
.argument("[name]", "Project name (creates subdirectory). Omit to init current directory.")
|
|
17
9
|
.option("--lang <language>", "Default writing language: zh (Chinese) or en (English)", "zh")
|
|
18
10
|
.action(async (name, opts) => {
|
|
19
11
|
const projectDir = name ? resolve(process.cwd(), name) : process.cwd();
|
|
20
|
-
const projectName = basename(projectDir);
|
|
21
12
|
try {
|
|
22
13
|
await mkdir(projectDir, { recursive: true });
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
throw new Error(`inkos.json already exists in ${projectDir}. Use a different directory or delete the existing project.`);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
if (e instanceof Error && e.message.includes("already exists"))
|
|
31
|
-
throw e;
|
|
32
|
-
// File doesn't exist, good
|
|
33
|
-
}
|
|
34
|
-
await mkdir(join(projectDir, "books"), { recursive: true });
|
|
35
|
-
await mkdir(join(projectDir, "radar"), { recursive: true });
|
|
36
|
-
const config = {
|
|
37
|
-
name: projectName,
|
|
38
|
-
version: "0.1.0",
|
|
39
|
-
language: opts.lang ?? "zh",
|
|
40
|
-
llm: {
|
|
41
|
-
provider: process.env.INKOS_LLM_PROVIDER ?? "openai",
|
|
42
|
-
baseUrl: process.env.INKOS_LLM_BASE_URL ?? "",
|
|
43
|
-
model: process.env.INKOS_LLM_MODEL ?? "",
|
|
44
|
-
},
|
|
45
|
-
notify: [],
|
|
46
|
-
daemon: {
|
|
47
|
-
schedule: {
|
|
48
|
-
radarCron: "0 */6 * * *",
|
|
49
|
-
writeCron: "*/15 * * * *",
|
|
50
|
-
},
|
|
51
|
-
maxConcurrentBooks: 3,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
await writeFile(join(projectDir, "inkos.json"), JSON.stringify(config, null, 2), "utf-8");
|
|
55
|
-
await Promise.all([
|
|
56
|
-
writeFile(join(projectDir, ".nvmrc"), "22\n", "utf-8"),
|
|
57
|
-
writeFile(join(projectDir, ".node-version"), "22\n", "utf-8"),
|
|
58
|
-
]);
|
|
59
|
-
const global = await hasGlobalConfig();
|
|
60
|
-
if (global) {
|
|
61
|
-
await writeFile(join(projectDir, ".env"), [
|
|
62
|
-
"# Project-level LLM overrides (optional)",
|
|
63
|
-
"# Global config at ~/.inkos/.env will be used by default.",
|
|
64
|
-
"# Uncomment below to override for this project only:",
|
|
65
|
-
"# INKOS_LLM_PROVIDER=openai",
|
|
66
|
-
"# INKOS_LLM_BASE_URL=",
|
|
67
|
-
"# INKOS_LLM_API_KEY=",
|
|
68
|
-
"# INKOS_LLM_MODEL=",
|
|
69
|
-
"",
|
|
70
|
-
"# Web search (optional):",
|
|
71
|
-
"# TAVILY_API_KEY=tvly-xxxxx",
|
|
72
|
-
].join("\n"), "utf-8");
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
await writeFile(join(projectDir, ".env"), [
|
|
76
|
-
"# LLM Configuration",
|
|
77
|
-
"# Tip: Run 'inkos config set-global' to set once for all projects.",
|
|
78
|
-
"# Provider: openai (OpenAI / compatible proxy), anthropic (Anthropic native)",
|
|
79
|
-
"INKOS_LLM_PROVIDER=openai",
|
|
80
|
-
"INKOS_LLM_BASE_URL=",
|
|
81
|
-
"INKOS_LLM_API_KEY=",
|
|
82
|
-
"INKOS_LLM_MODEL=",
|
|
83
|
-
"",
|
|
84
|
-
"# Optional parameters (defaults shown):",
|
|
85
|
-
"# INKOS_LLM_TEMPERATURE=0.7",
|
|
86
|
-
"# INKOS_LLM_MAX_TOKENS=8192",
|
|
87
|
-
"# INKOS_LLM_THINKING_BUDGET=0 # Anthropic extended thinking budget",
|
|
88
|
-
"# INKOS_LLM_API_FORMAT=chat # chat (default) or responses (OpenAI Responses API)",
|
|
89
|
-
"",
|
|
90
|
-
"# Web search (optional, for auditor era-research):",
|
|
91
|
-
"# TAVILY_API_KEY=tvly-xxxxx # Free at tavily.com (1000 searches/month)",
|
|
92
|
-
"",
|
|
93
|
-
"# Anthropic example:",
|
|
94
|
-
"# INKOS_LLM_PROVIDER=anthropic",
|
|
95
|
-
"# INKOS_LLM_PROVIDER=anthropic",
|
|
96
|
-
"# INKOS_LLM_BASE_URL=",
|
|
97
|
-
"# INKOS_LLM_MODEL=",
|
|
98
|
-
].join("\n"), "utf-8");
|
|
99
|
-
}
|
|
100
|
-
await writeFile(join(projectDir, ".gitignore"), [".env", "node_modules/", ".DS_Store"].join("\n"), "utf-8");
|
|
14
|
+
await initializeProjectDirectory(projectDir, {
|
|
15
|
+
language: (opts.lang === "en" ? "en" : "zh"),
|
|
16
|
+
overwriteSupportFiles: true,
|
|
17
|
+
});
|
|
101
18
|
log(`Project initialized at ${projectDir}`);
|
|
102
19
|
log("");
|
|
103
20
|
const isEnglish = (opts.lang ?? "zh") === "en";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,4DAA4D,CAAC;KACzE,QAAQ,CAAC,QAAQ,EAAE,sEAAsE,CAAC;KAC1F,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,EAAE,IAAI,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,IAAuB,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,0BAA0B,CAAC,UAAU,EAAE;YAC3C,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QAC/C,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,2FAA2F;YAC7F,CAAC,CAAC,uEAAuE,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAChD,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,GAAG,CAAC,aAAa,CAAC,CAAC;YACnB,IAAI,IAAI;gBAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,aAAa,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,aAAa,CAAC,CAAC;YACnB,IAAI,IAAI;gBAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,0DAA0D,CAAC,CAAC;YAChE,GAAG,CAAC,iHAAiH,CAAC,CAAC;YACvH,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACrD,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,GAAG,CAAC,aAAa,CAAC,CAAC;QACrB,CAAC;QACD,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -42,7 +42,7 @@ export function createInteractCommand(hooks = {}) {
|
|
|
42
42
|
? await hooks.createTools(projectRoot)
|
|
43
43
|
: hooks.runInteraction
|
|
44
44
|
? {}
|
|
45
|
-
: await createInteractionTools(projectRoot);
|
|
45
|
+
: await createInteractionTools(projectRoot, undefined, { requireApiKey: false });
|
|
46
46
|
const runInteraction = hooks.runInteraction ?? processProjectInteractionInput;
|
|
47
47
|
const result = await runInteraction({
|
|
48
48
|
projectRoot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interact.js","sourceRoot":"","sources":["../../src/commands/interact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,8BAA8B,GAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAwBzD,KAAK,UAAU,oBAAoB,CACjC,IAA2B,EAC3B,eAAmC,EACnC,SAAiC;IAEjC,MAAM,QAAQ,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAA8B,EAAE;IACpE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SAC3B,WAAW,CAAC,uEAAuE,CAAC;SACpF,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SAC/D,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;SAC7E,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,WAAkC,EAAE,IAAI,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW;YAC7B,CAAC,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;YACtC,CAAC,CAAC,KAAK,CAAC,cAAc;gBACpB,CAAC,CAAE,EAA8B;gBACjC,CAAC,CAAC,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interact.js","sourceRoot":"","sources":["../../src/commands/interact.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,11 @@ export interface BrowserLaunchSpec {
|
|
|
11
11
|
export interface StudioCommandHooks {
|
|
12
12
|
readonly launchStudio?: (projectRoot: string, port: string) => Promise<void> | void;
|
|
13
13
|
}
|
|
14
|
+
export declare function toNodeImportSpecifier(path: string): string;
|
|
14
15
|
export declare function resolveBrowserLaunch(platform: NodeJS.Platform, url: string): BrowserLaunchSpec;
|
|
15
16
|
export declare function resolveStudioLaunch(root: string): Promise<StudioLaunchSpec | null>;
|
|
16
17
|
export declare function launchStudioWorkbench(root: string, port: string): Promise<void>;
|
|
18
|
+
export declare function launchStudioEntry(root: string, port: string, hooks?: StudioCommandHooks): Promise<void>;
|
|
17
19
|
export declare function createStudioCommand(hooks?: StudioCommandHooks): Command;
|
|
18
20
|
export declare const studioCommand: Command;
|
|
19
21
|
//# sourceMappingURL=studio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrF;AAqBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV,iBAAiB,CAQnB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqDxF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CrF;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAS3E;AAED,eAAO,MAAM,aAAa,SAAwB,CAAC"}
|
package/dist/commands/studio.js
CHANGED
|
@@ -4,6 +4,11 @@ import { spawn } from "node:child_process";
|
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
5
|
import { access } from "node:fs/promises";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { ensureProjectDirectoryInitialized } from "../project-bootstrap.js";
|
|
8
|
+
async function prepareStudioRoot(root) {
|
|
9
|
+
const initialized = await ensureProjectDirectoryInitialized(root, { language: "zh" });
|
|
10
|
+
return { root, initialized };
|
|
11
|
+
}
|
|
7
12
|
async function firstAccessiblePath(paths) {
|
|
8
13
|
for (const path of paths) {
|
|
9
14
|
try {
|
|
@@ -17,6 +22,12 @@ async function firstAccessiblePath(paths) {
|
|
|
17
22
|
return undefined;
|
|
18
23
|
}
|
|
19
24
|
const cliPackageRoot = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
25
|
+
export function toNodeImportSpecifier(path) {
|
|
26
|
+
if (/^[A-Za-z]:[\\/]/.test(path)) {
|
|
27
|
+
return `file:///${path.replace(/\\/g, "/")}`;
|
|
28
|
+
}
|
|
29
|
+
return path;
|
|
30
|
+
}
|
|
20
31
|
export function resolveBrowserLaunch(platform, url) {
|
|
21
32
|
if (platform === "darwin") {
|
|
22
33
|
return { command: "open", args: [url] };
|
|
@@ -41,7 +52,7 @@ export async function resolveStudioLaunch(root) {
|
|
|
41
52
|
return {
|
|
42
53
|
studioEntry: sourceEntry,
|
|
43
54
|
command: "node",
|
|
44
|
-
args: ["--import", localTsxLoader, sourceEntry, root],
|
|
55
|
+
args: ["--import", toNodeImportSpecifier(localTsxLoader), sourceEntry, root],
|
|
45
56
|
};
|
|
46
57
|
}
|
|
47
58
|
const localTsx = await firstAccessiblePath([
|
|
@@ -78,7 +89,10 @@ export async function resolveStudioLaunch(root) {
|
|
|
78
89
|
return null;
|
|
79
90
|
}
|
|
80
91
|
export async function launchStudioWorkbench(root, port) {
|
|
81
|
-
const
|
|
92
|
+
const prepared = await prepareStudioRoot(root);
|
|
93
|
+
const url = prepared.initialized
|
|
94
|
+
? `http://localhost:${port}#/services`
|
|
95
|
+
: `http://localhost:${port}`;
|
|
82
96
|
const launch = await resolveStudioLaunch(root);
|
|
83
97
|
if (!launch) {
|
|
84
98
|
logError("InkOS Studio not found. If you cloned the repo, run:\n" +
|
|
@@ -112,6 +126,17 @@ export async function launchStudioWorkbench(root, port) {
|
|
|
112
126
|
process.exit(code ?? 0);
|
|
113
127
|
});
|
|
114
128
|
}
|
|
129
|
+
export async function launchStudioEntry(root, port, hooks = {}) {
|
|
130
|
+
const prepared = await prepareStudioRoot(root);
|
|
131
|
+
if (prepared.initialized) {
|
|
132
|
+
log(`No inkos.json found in ${root}. Initialized a minimal InkOS project for Studio.`);
|
|
133
|
+
}
|
|
134
|
+
if (hooks.launchStudio) {
|
|
135
|
+
await hooks.launchStudio(prepared.root, port);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
await launchStudioWorkbench(prepared.root, port);
|
|
139
|
+
}
|
|
115
140
|
export function createStudioCommand(hooks = {}) {
|
|
116
141
|
return new Command("studio")
|
|
117
142
|
.description("Start InkOS Studio web workbench")
|
|
@@ -119,11 +144,7 @@ export function createStudioCommand(hooks = {}) {
|
|
|
119
144
|
.action(async (opts) => {
|
|
120
145
|
const root = findProjectRoot();
|
|
121
146
|
const port = opts.port;
|
|
122
|
-
|
|
123
|
-
await hooks.launchStudio(root, port);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
await launchStudioWorkbench(root, port);
|
|
147
|
+
await launchStudioEntry(root, port, hooks);
|
|
127
148
|
});
|
|
128
149
|
}
|
|
129
150
|
export const studioCommand = createStudioCommand();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACjE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAgB,aAAa,CAAC,KAAK,GAAE,YAAiB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACjE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAgB,aAAa,CAAC,KAAK,GAAE,YAAiB,GAAG,OAAO,CA6C/D;AAED,wBAAsB,UAAU,CAC9B,IAAI,GAAE,MAAM,EAAiB,EAC7B,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf"}
|
package/dist/program.js
CHANGED
|
@@ -24,7 +24,7 @@ import { analyticsCommand } from "./commands/analytics.js";
|
|
|
24
24
|
import { evalCommand } from "./commands/eval.js";
|
|
25
25
|
import { importCommand } from "./commands/import.js";
|
|
26
26
|
import { fanficCommand } from "./commands/fanfic.js";
|
|
27
|
-
import { createStudioCommand,
|
|
27
|
+
import { createStudioCommand, launchStudioEntry } from "./commands/studio.js";
|
|
28
28
|
import { consolidateCommand } from "./commands/consolidate.js";
|
|
29
29
|
import { createInteractCommand } from "./commands/interact.js";
|
|
30
30
|
import { createTuiCommand } from "./commands/tui.js";
|
|
@@ -37,11 +37,7 @@ export function createProgram(hooks = {}) {
|
|
|
37
37
|
.description("InkOS — Multi-agent novel production system")
|
|
38
38
|
.version(version)
|
|
39
39
|
.action(async () => {
|
|
40
|
-
|
|
41
|
-
await hooks.launchStudio(process.cwd(), "4567");
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
await launchStudioWorkbench(process.cwd(), "4567");
|
|
40
|
+
await launchStudioEntry(process.cwd(), "4567", { launchStudio: hooks.launchStudio });
|
|
45
41
|
});
|
|
46
42
|
program.addCommand(initCommand);
|
|
47
43
|
program.addCommand(configCommand);
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ProjectBootstrapOptions {
|
|
2
|
+
readonly language?: "zh" | "en";
|
|
3
|
+
readonly overwriteSupportFiles?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function initializeProjectDirectory(projectDir: string, options?: ProjectBootstrapOptions): Promise<void>;
|
|
6
|
+
export declare function ensureProjectDirectoryInitialized(projectDir: string, options?: Omit<ProjectBootstrapOptions, "overwriteSupportFiles">): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=project-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-bootstrap.d.ts","sourceRoot":"","sources":["../src/project-bootstrap.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAwFD,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CAAM,GACnE,OAAO,CAAC,OAAO,CAAC,CAWlB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { GLOBAL_ENV_PATH } from "./utils.js";
|
|
4
|
+
async function hasGlobalConfig() {
|
|
5
|
+
try {
|
|
6
|
+
const content = await readFile(GLOBAL_ENV_PATH, "utf-8");
|
|
7
|
+
return content.includes("INKOS_LLM_API_KEY=") && !content.includes("your-api-key-here");
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async function exists(path) {
|
|
14
|
+
try {
|
|
15
|
+
await access(path);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async function writeMaybe(path, content, overwrite) {
|
|
23
|
+
if (!overwrite && await exists(path)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
await writeFile(path, content, "utf-8");
|
|
27
|
+
}
|
|
28
|
+
function buildProjectConfig(projectDir, language) {
|
|
29
|
+
return {
|
|
30
|
+
name: basename(projectDir),
|
|
31
|
+
version: "0.1.0",
|
|
32
|
+
language,
|
|
33
|
+
llm: {
|
|
34
|
+
provider: "openai",
|
|
35
|
+
service: "custom",
|
|
36
|
+
configSource: "studio",
|
|
37
|
+
baseUrl: "",
|
|
38
|
+
model: "",
|
|
39
|
+
apiFormat: "chat",
|
|
40
|
+
stream: true,
|
|
41
|
+
},
|
|
42
|
+
notify: [],
|
|
43
|
+
inputGovernanceMode: "v2",
|
|
44
|
+
daemon: {
|
|
45
|
+
schedule: {
|
|
46
|
+
radarCron: "0 */6 * * *",
|
|
47
|
+
writeCron: "*/15 * * * *",
|
|
48
|
+
},
|
|
49
|
+
maxConcurrentBooks: 3,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function buildProjectEnvTemplate(globalConfigured) {
|
|
54
|
+
if (globalConfigured) {
|
|
55
|
+
return [
|
|
56
|
+
"# Project-level LLM overrides (optional)",
|
|
57
|
+
"# Global config at ~/.inkos/.env will be used by default.",
|
|
58
|
+
"# Switch Studio to '使用 Studio 配置' if you want per-project service settings.",
|
|
59
|
+
"# Uncomment below to override for this project only:",
|
|
60
|
+
"# INKOS_LLM_PROVIDER=openai",
|
|
61
|
+
"# INKOS_LLM_BASE_URL=",
|
|
62
|
+
"# INKOS_LLM_API_KEY=",
|
|
63
|
+
"# INKOS_LLM_MODEL=",
|
|
64
|
+
"",
|
|
65
|
+
"# Web search (optional):",
|
|
66
|
+
"# TAVILY_API_KEY=tvly-xxxxx",
|
|
67
|
+
"",
|
|
68
|
+
].join("\n");
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
"# Optional project-level LLM overrides",
|
|
72
|
+
"# Studio can manage provider / model / key without editing this file.",
|
|
73
|
+
"# Uncomment only if you want this directory to force env-based config:",
|
|
74
|
+
"# INKOS_LLM_PROVIDER=openai",
|
|
75
|
+
"# INKOS_LLM_BASE_URL=",
|
|
76
|
+
"# INKOS_LLM_API_KEY=",
|
|
77
|
+
"# INKOS_LLM_MODEL=",
|
|
78
|
+
"# INKOS_LLM_API_FORMAT=chat",
|
|
79
|
+
"# INKOS_LLM_STREAM=true",
|
|
80
|
+
"",
|
|
81
|
+
"# Web search (optional):",
|
|
82
|
+
"# TAVILY_API_KEY=tvly-xxxxx",
|
|
83
|
+
"",
|
|
84
|
+
].join("\n");
|
|
85
|
+
}
|
|
86
|
+
export async function initializeProjectDirectory(projectDir, options = {}) {
|
|
87
|
+
const language = options.language ?? "zh";
|
|
88
|
+
const overwriteSupportFiles = options.overwriteSupportFiles ?? true;
|
|
89
|
+
const configPath = join(projectDir, "inkos.json");
|
|
90
|
+
if (await exists(configPath)) {
|
|
91
|
+
throw new Error(`inkos.json already exists in ${projectDir}. Use a different directory or delete the existing project.`);
|
|
92
|
+
}
|
|
93
|
+
await mkdir(projectDir, { recursive: true });
|
|
94
|
+
await mkdir(join(projectDir, "books"), { recursive: true });
|
|
95
|
+
await mkdir(join(projectDir, "radar"), { recursive: true });
|
|
96
|
+
await writeFile(configPath, JSON.stringify(buildProjectConfig(projectDir, language), null, 2), "utf-8");
|
|
97
|
+
const globalConfigured = await hasGlobalConfig();
|
|
98
|
+
await Promise.all([
|
|
99
|
+
writeMaybe(join(projectDir, ".env"), buildProjectEnvTemplate(globalConfigured), overwriteSupportFiles),
|
|
100
|
+
writeMaybe(join(projectDir, ".gitignore"), [".env", "node_modules/", ".DS_Store"].join("\n"), overwriteSupportFiles),
|
|
101
|
+
writeMaybe(join(projectDir, ".nvmrc"), "22\n", overwriteSupportFiles),
|
|
102
|
+
writeMaybe(join(projectDir, ".node-version"), "22\n", overwriteSupportFiles),
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
export async function ensureProjectDirectoryInitialized(projectDir, options = {}) {
|
|
106
|
+
const configPath = join(projectDir, "inkos.json");
|
|
107
|
+
if (await exists(configPath)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
await initializeProjectDirectory(projectDir, {
|
|
111
|
+
language: options.language,
|
|
112
|
+
overwriteSupportFiles: false,
|
|
113
|
+
});
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=project-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-bootstrap.js","sourceRoot":"","sources":["../src/project-bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/app.d.ts
CHANGED
|
@@ -21,9 +21,9 @@ export declare function processTuiInput(projectRoot: string, input: string, tool
|
|
|
21
21
|
chapterNumber?: number | undefined;
|
|
22
22
|
}[];
|
|
23
23
|
messages: {
|
|
24
|
+
role: "system" | "user" | "assistant";
|
|
24
25
|
content: string;
|
|
25
26
|
timestamp: number;
|
|
26
|
-
role: "system" | "user" | "assistant";
|
|
27
27
|
thinking?: string | undefined;
|
|
28
28
|
toolExecutions?: {
|
|
29
29
|
status: "completed" | "error" | "running" | "processing";
|
package/dist/tui/tools.d.ts
CHANGED
|
@@ -12,5 +12,7 @@ type CliInteractionToolHooks = {
|
|
|
12
12
|
export declare function createCliInteractionToolsFromDeps(pipeline: CliPipelineLike, state: CliStateLike, hooks?: CliInteractionToolHooks): InteractionRuntimeTools;
|
|
13
13
|
export declare function createInteractionToolsFromDepsCompat(_projectRoot: string, pipeline: CliPipelineLike, state: CliStateLike, hooks?: CliInteractionToolHooks): InteractionRuntimeTools;
|
|
14
14
|
export { createInteractionToolsFromDepsCompat as createInteractionToolsFromDeps };
|
|
15
|
-
export declare function createInteractionTools(projectRoot: string, hooks?: CliInteractionToolHooks
|
|
15
|
+
export declare function createInteractionTools(projectRoot: string, hooks?: CliInteractionToolHooks, options?: {
|
|
16
|
+
readonly requireApiKey?: boolean;
|
|
17
|
+
}): Promise<InteractionRuntimeTools>;
|
|
16
18
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tui/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tui/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EAEZ,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAG5B,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC;AAChF,KAAK,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,WAAW,CAAC,CAAC;AACxJ,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM;QACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,uBAAuB,CAEzB;AAGD,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,uBAAuB,CAEzB;AAED,OAAO,EAAE,oCAAoC,IAAI,8BAA8B,EAAE,CAAC;AAElF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tui/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EAEZ,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAG5B,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC;AAChF,KAAK,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,wBAAwB,GAAG,SAAS,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,WAAW,CAAC,CAAC;AACxJ,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM;QACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,uBAAuB,CAEzB;AAGD,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,uBAAuB,CAEzB;AAED,OAAO,EAAE,oCAAoC,IAAI,8BAA8B,EAAE,CAAC;AAElF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,uBAAuB,CAAC,CAKlC"}
|
package/dist/tui/tools.js
CHANGED
|
@@ -8,8 +8,8 @@ export function createInteractionToolsFromDepsCompat(_projectRoot, pipeline, sta
|
|
|
8
8
|
return createInteractionToolsFromDeps(pipeline, state, hooks);
|
|
9
9
|
}
|
|
10
10
|
export { createInteractionToolsFromDepsCompat as createInteractionToolsFromDeps };
|
|
11
|
-
export async function createInteractionTools(projectRoot, hooks) {
|
|
12
|
-
const config = await loadConfig({ projectRoot });
|
|
11
|
+
export async function createInteractionTools(projectRoot, hooks, options) {
|
|
12
|
+
const config = await loadConfig({ projectRoot, requireApiKey: options?.requireApiKey });
|
|
13
13
|
const pipeline = new PipelineRunner(buildPipelineConfig(config, projectRoot));
|
|
14
14
|
const state = new StateManager(projectRoot);
|
|
15
15
|
return createInteractionToolsFromDeps(pipeline, state, hooks);
|
package/dist/tui/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tui/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,8BAA8B,GAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9D,MAAM,UAAU,iCAAiC,CAC/C,QAAyB,EACzB,KAAmB,EACnB,KAA+B;IAE/B,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oCAAoC,CAClD,YAAoB,EACpB,QAAyB,EACzB,KAAmB,EACnB,KAA+B;IAE/B,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,OAAO,EAAE,oCAAoC,IAAI,8BAA8B,EAAE,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,KAA+B
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tui/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,8BAA8B,GAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9D,MAAM,UAAU,iCAAiC,CAC/C,QAAyB,EACzB,KAAmB,EACnB,KAA+B;IAE/B,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oCAAoC,CAClD,YAAoB,EACpB,QAAyB,EACzB,KAAmB,EACnB,KAA+B;IAE/B,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,OAAO,EAAE,oCAAoC,IAAI,8BAA8B,EAAE,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,KAA+B,EAC/B,OAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actalk/inkos",
|
|
3
|
-
"version": "1.3.1",
|
|
3
|
+
"version": "1.3.2-canary.28.1",
|
|
4
4
|
"description": "Autonomous AI novel writing CLI agent — 10-agent pipeline that writes, audits, and revises novels with continuity tracking. Supports LitRPG, Progression Fantasy, Isekai, Romantasy, Sci-Fi and more.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-novel-writing",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"directory": "packages/cli"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@actalk/inkos-core": "1.3.1",
|
|
38
|
-
"@actalk/inkos-studio": "1.3.1",
|
|
37
|
+
"@actalk/inkos-core": "1.3.2-canary.28.1",
|
|
38
|
+
"@actalk/inkos-studio": "1.3.2-canary.28.1",
|
|
39
39
|
"commander": "^13.0.0",
|
|
40
40
|
"dotenv": "^16.4.0",
|
|
41
41
|
"epub-gen-memory": "^1.0.10",
|