@actalk/inkos-core 1.2.0 → 1.3.0

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.
Files changed (115) hide show
  1. package/dist/agent/agent-session.d.ts +48 -0
  2. package/dist/agent/agent-session.d.ts.map +1 -0
  3. package/dist/agent/agent-session.js +229 -0
  4. package/dist/agent/agent-session.js.map +1 -0
  5. package/dist/agent/agent-system-prompt.d.ts +2 -0
  6. package/dist/agent/agent-system-prompt.d.ts.map +1 -0
  7. package/dist/agent/agent-system-prompt.js +97 -0
  8. package/dist/agent/agent-system-prompt.js.map +1 -0
  9. package/dist/agent/agent-tools.d.ts +30 -0
  10. package/dist/agent/agent-tools.d.ts.map +1 -0
  11. package/dist/agent/agent-tools.js +280 -0
  12. package/dist/agent/agent-tools.js.map +1 -0
  13. package/dist/agent/index.d.ts +4 -0
  14. package/dist/agent/index.d.ts.map +1 -0
  15. package/dist/agent/index.js +4 -0
  16. package/dist/agent/index.js.map +1 -0
  17. package/dist/agents/architect.js +5 -5
  18. package/dist/agents/architect.js.map +1 -1
  19. package/dist/agents/chapter-analyzer.d.ts.map +1 -1
  20. package/dist/agents/chapter-analyzer.js +32 -4
  21. package/dist/agents/chapter-analyzer.js.map +1 -1
  22. package/dist/agents/consolidator.js +1 -1
  23. package/dist/agents/consolidator.js.map +1 -1
  24. package/dist/agents/continuity.js +1 -1
  25. package/dist/agents/continuity.js.map +1 -1
  26. package/dist/agents/fanfic-canon-importer.js +1 -1
  27. package/dist/agents/fanfic-canon-importer.js.map +1 -1
  28. package/dist/agents/foundation-reviewer.js +1 -1
  29. package/dist/agents/foundation-reviewer.js.map +1 -1
  30. package/dist/agents/radar.js +1 -1
  31. package/dist/agents/radar.js.map +1 -1
  32. package/dist/agents/settler-delta-parser.d.ts.map +1 -1
  33. package/dist/agents/settler-delta-parser.js +6 -1
  34. package/dist/agents/settler-delta-parser.js.map +1 -1
  35. package/dist/agents/state-validator.js +21 -3
  36. package/dist/agents/state-validator.js.map +1 -1
  37. package/dist/agents/writer-prompts.js +13 -13
  38. package/dist/agents/writer-prompts.js.map +1 -1
  39. package/dist/agents/writer.js +1 -1
  40. package/dist/agents/writer.js.map +1 -1
  41. package/dist/index.d.ts +9 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +10 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/interaction/book-session-store.d.ts +6 -0
  46. package/dist/interaction/book-session-store.d.ts.map +1 -0
  47. package/dist/interaction/book-session-store.js +59 -0
  48. package/dist/interaction/book-session-store.js.map +1 -0
  49. package/dist/interaction/draft-directive-parser.d.ts +38 -0
  50. package/dist/interaction/draft-directive-parser.d.ts.map +1 -0
  51. package/dist/interaction/draft-directive-parser.js +208 -0
  52. package/dist/interaction/draft-directive-parser.js.map +1 -0
  53. package/dist/interaction/nl-router.d.ts +1 -0
  54. package/dist/interaction/nl-router.d.ts.map +1 -1
  55. package/dist/interaction/nl-router.js +1 -1
  56. package/dist/interaction/nl-router.js.map +1 -1
  57. package/dist/interaction/project-session-store.d.ts +3 -1
  58. package/dist/interaction/project-session-store.d.ts.map +1 -1
  59. package/dist/interaction/project-session-store.js +19 -1
  60. package/dist/interaction/project-session-store.js.map +1 -1
  61. package/dist/interaction/project-tools.d.ts +2 -0
  62. package/dist/interaction/project-tools.d.ts.map +1 -1
  63. package/dist/interaction/project-tools.js +186 -126
  64. package/dist/interaction/project-tools.js.map +1 -1
  65. package/dist/interaction/runtime.d.ts.map +1 -1
  66. package/dist/interaction/runtime.js +14 -1
  67. package/dist/interaction/runtime.js.map +1 -1
  68. package/dist/interaction/session.d.ts +725 -6
  69. package/dist/interaction/session.d.ts.map +1 -1
  70. package/dist/interaction/session.js +65 -0
  71. package/dist/interaction/session.js.map +1 -1
  72. package/dist/llm/config-migration.d.ts +5 -0
  73. package/dist/llm/config-migration.d.ts.map +1 -0
  74. package/dist/llm/config-migration.js +51 -0
  75. package/dist/llm/config-migration.js.map +1 -0
  76. package/dist/llm/provider.d.ts +4 -4
  77. package/dist/llm/provider.d.ts.map +1 -1
  78. package/dist/llm/provider.js +472 -540
  79. package/dist/llm/provider.js.map +1 -1
  80. package/dist/llm/secrets.d.ts +9 -0
  81. package/dist/llm/secrets.d.ts.map +1 -0
  82. package/dist/llm/secrets.js +31 -0
  83. package/dist/llm/secrets.js.map +1 -0
  84. package/dist/llm/service-presets.d.ts +37 -0
  85. package/dist/llm/service-presets.d.ts.map +1 -0
  86. package/dist/llm/service-presets.js +123 -0
  87. package/dist/llm/service-presets.js.map +1 -0
  88. package/dist/llm/service-resolver.d.ts +10 -0
  89. package/dist/llm/service-resolver.d.ts.map +1 -0
  90. package/dist/llm/service-resolver.js +46 -0
  91. package/dist/llm/service-resolver.js.map +1 -0
  92. package/dist/models/project.d.ts +158 -30
  93. package/dist/models/project.d.ts.map +1 -1
  94. package/dist/models/project.js +13 -0
  95. package/dist/models/project.js.map +1 -1
  96. package/dist/pipeline/chapter-persistence.d.ts.map +1 -1
  97. package/dist/pipeline/chapter-persistence.js +5 -1
  98. package/dist/pipeline/chapter-persistence.js.map +1 -1
  99. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
  100. package/dist/pipeline/chapter-truth-validation.js +27 -1
  101. package/dist/pipeline/chapter-truth-validation.js.map +1 -1
  102. package/dist/pipeline/runner.d.ts.map +1 -1
  103. package/dist/pipeline/runner.js +9 -3
  104. package/dist/pipeline/runner.js.map +1 -1
  105. package/dist/state/manager.d.ts +2 -0
  106. package/dist/state/manager.d.ts.map +1 -1
  107. package/dist/state/manager.js +10 -3
  108. package/dist/state/manager.js.map +1 -1
  109. package/dist/state/state-validator.d.ts.map +1 -1
  110. package/dist/state/state-validator.js +44 -33
  111. package/dist/state/state-validator.js.map +1 -1
  112. package/dist/utils/config-loader.d.ts.map +1 -1
  113. package/dist/utils/config-loader.js +149 -32
  114. package/dist/utils/config-loader.js.map +1 -1
  115. package/package.json +4 -3
@@ -1,6 +1,6 @@
1
1
  import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
- import { chatCompletion } from "../index.js";
3
+ import { chatCompletion, chatWithTools } from "../index.js";
4
4
  import { executeEditTransaction } from "./edit-controller.js";
5
5
  function normalizePlatform(platform) {
6
6
  switch (platform) {
@@ -12,69 +12,6 @@ function normalizePlatform(platform) {
12
12
  return "other";
13
13
  }
14
14
  }
15
- function extractBalancedJsonObject(text) {
16
- const start = text.indexOf("{");
17
- if (start < 0) {
18
- return null;
19
- }
20
- let depth = 0;
21
- let inString = false;
22
- let escaped = false;
23
- for (let index = start; index < text.length; index += 1) {
24
- const char = text[index];
25
- if (inString) {
26
- if (escaped) {
27
- escaped = false;
28
- continue;
29
- }
30
- if (char === "\\") {
31
- escaped = true;
32
- continue;
33
- }
34
- if (char === "\"") {
35
- inString = false;
36
- }
37
- continue;
38
- }
39
- if (char === "\"") {
40
- inString = true;
41
- continue;
42
- }
43
- if (char === "{") {
44
- depth += 1;
45
- continue;
46
- }
47
- if (char === "}") {
48
- depth -= 1;
49
- if (depth === 0) {
50
- return text.slice(start, index + 1);
51
- }
52
- if (depth < 0) {
53
- return null;
54
- }
55
- }
56
- }
57
- return null;
58
- }
59
- function parseCreationDraftResult(text) {
60
- const candidate = extractBalancedJsonObject(text);
61
- if (!candidate) {
62
- return null;
63
- }
64
- try {
65
- const parsed = JSON.parse(candidate);
66
- if (!parsed.assistantReply || !parsed.draft) {
67
- return null;
68
- }
69
- return {
70
- assistantReply: parsed.assistantReply,
71
- draft: parsed.draft,
72
- };
73
- }
74
- catch {
75
- return null;
76
- }
77
- }
78
15
  function deriveBookId(title) {
79
16
  return title
80
17
  .toLowerCase()
@@ -324,67 +261,179 @@ async function withPipelineInteractionTelemetry(pipeline, bookId, executor) {
324
261
  }
325
262
  }
326
263
  }
264
+ const CREATE_BOOK_TOOL = {
265
+ name: "create_book",
266
+ description: "根据用户描述生成建书参数。系统会将参数渲染为可编辑表单,用户确认后建书。",
267
+ parameters: {
268
+ type: "object",
269
+ properties: {
270
+ title: { type: "string", description: "书名" },
271
+ genre: { type: "string", description: "题材标识,如 xuanhuan, urban, romance, scifi, mystery" },
272
+ platform: { type: "string", enum: ["tomato", "qidian", "feilu", "other"], description: "发布平台" },
273
+ targetChapters: { type: "number", description: "目标章数,默认 200" },
274
+ chapterWordCount: { type: "number", description: "每章字数,默认 3000" },
275
+ language: { type: "string", enum: ["zh", "en"], description: "写作语言,默认 zh" },
276
+ brief: { type: "string", description: "创意简述,会传给 Architect 智能体生成完整的世界观、主角、冲突等 foundation 文件。把用户提到的所有创意要素都写进这里。" },
277
+ },
278
+ required: ["title", "genre", "platform", "brief"],
279
+ },
280
+ };
281
+ const BOOK_DRAFT_SYSTEM_PROMPT = [
282
+ "你是 InkOS 的建书助手。用户会描述想写的书,你需要调用 create_book 工具来生成建书参数。",
283
+ "",
284
+ "规则:",
285
+ "1. 从用户描述中推断所有字段,大胆预填合理默认值。",
286
+ "2. brief 字段要详细——它会传给 Architect 智能体生成完整的世界观、主角、冲突等 foundation 文件。把用户提到的所有创意要素都写进 brief。",
287
+ "3. 如果用户后续要求修改某些字段,重新调用 create_book 工具,只更新被提到的字段,其余保持不变。",
288
+ "4. 不要只回复文字讨论——必须调用 create_book 工具输出结构化参数。",
289
+ ].join("\n");
290
+ /** Map directive field keys to BookCreationDraft property names. */
291
+ function applyFieldsToDraft(existing, fields, concept) {
292
+ const draft = {
293
+ concept,
294
+ missingFields: [],
295
+ readyToCreate: false,
296
+ ...(existing ?? {}),
297
+ };
298
+ for (const [key, value] of Object.entries(fields)) {
299
+ if (!value)
300
+ continue;
301
+ switch (key) {
302
+ case "title":
303
+ draft.title = value;
304
+ break;
305
+ case "genre":
306
+ draft.genre = value;
307
+ break;
308
+ case "platform":
309
+ draft.platform = value;
310
+ break;
311
+ case "language":
312
+ if (value === "zh" || value === "en")
313
+ draft.language = value;
314
+ break;
315
+ case "targetChapters": {
316
+ const n = parseInt(value, 10);
317
+ if (!Number.isNaN(n) && n > 0)
318
+ draft.targetChapters = n;
319
+ break;
320
+ }
321
+ case "chapterWordCount":
322
+ case "chapterLength": {
323
+ const n = parseInt(value, 10);
324
+ if (!Number.isNaN(n) && n > 0)
325
+ draft.chapterWordCount = n;
326
+ break;
327
+ }
328
+ case "blurb":
329
+ draft.blurb = value;
330
+ break;
331
+ case "worldPremise":
332
+ draft.worldPremise = value;
333
+ break;
334
+ case "settingNotes":
335
+ draft.settingNotes = value;
336
+ break;
337
+ case "protagonist":
338
+ draft.protagonist = value;
339
+ break;
340
+ case "supportingCast":
341
+ draft.supportingCast = value;
342
+ break;
343
+ case "conflictCore":
344
+ draft.conflictCore = value;
345
+ break;
346
+ case "volumeOutline":
347
+ draft.volumeOutline = value;
348
+ break;
349
+ case "constraints":
350
+ draft.constraints = value;
351
+ break;
352
+ case "authorIntent":
353
+ draft.authorIntent = value;
354
+ break;
355
+ case "currentFocus":
356
+ draft.currentFocus = value;
357
+ break;
358
+ // Unknown keys are silently ignored — the LLM may emit
359
+ // application-level keys we don't map to the draft struct.
360
+ }
361
+ }
362
+ return draft;
363
+ }
364
+ function formatDraftForUserMessage(existingDraft, userMessage) {
365
+ const parts = [];
366
+ if (existingDraft) {
367
+ parts.push("## 当前草案状态");
368
+ const entries = Object.entries(existingDraft).filter(([, v]) => v !== undefined && v !== "" && !(Array.isArray(v) && v.length === 0));
369
+ for (const [key, value] of entries) {
370
+ parts.push(`- **${key}**: ${typeof value === "object" ? JSON.stringify(value) : String(value)}`);
371
+ }
372
+ parts.push("");
373
+ }
374
+ parts.push("## 用户输入");
375
+ parts.push(userMessage);
376
+ return parts.join("\n");
377
+ }
327
378
  export function createInteractionToolsFromDeps(pipeline, state, hooks) {
328
379
  const instrumentedPipeline = pipeline;
329
380
  return {
330
381
  listBooks: () => state.listBooks(),
331
382
  developBookDraft: async (input, existingDraft) => {
383
+ const concept = existingDraft?.concept ?? input;
332
384
  if (!instrumentedPipeline.config?.client || !instrumentedPipeline.config?.model) {
333
- const concept = existingDraft?.concept ?? input;
385
+ // Fallback: no LLM configured
334
386
  return {
335
387
  __interaction: {
336
- responseText: "先把这本书的大概方向收住。你更想写长篇连载,还是十来章能收住的版本?",
388
+ responseText: "请先配置 LLM 模型,然后再创建书籍。",
337
389
  details: {
338
390
  creationDraft: {
339
391
  concept,
340
- title: existingDraft?.title,
341
- genre: existingDraft?.genre,
342
- platform: existingDraft?.platform,
343
- language: existingDraft?.language,
344
- targetChapters: existingDraft?.targetChapters,
345
- chapterWordCount: existingDraft?.chapterWordCount,
346
- blurb: existingDraft?.blurb,
347
- authorIntent: existingDraft?.authorIntent,
348
- currentFocus: existingDraft?.currentFocus,
349
- nextQuestion: "你更想写长篇连载,还是十来章能收住的版本?",
350
- missingFields: existingDraft?.missingFields ?? ["title", "genre", "targetChapters"],
351
- readyToCreate: existingDraft?.readyToCreate ?? false,
392
+ missingFields: ["title", "genre", "targetChapters"],
393
+ readyToCreate: false,
352
394
  },
353
395
  },
354
396
  },
355
397
  };
356
398
  }
357
- const response = await chatCompletion(instrumentedPipeline.config.client, instrumentedPipeline.config.model, [
358
- {
359
- role: "system",
360
- content: [
361
- "You are InkOS book ideation assistant.",
362
- "Turn the user's latest message and the current draft into a tighter book creation draft.",
363
- "Ask at most one sharp next question.",
364
- "Default to concise Chinese unless the draft language is clearly English.",
365
- "Return JSON only with keys assistantReply and draft.",
366
- "draft must include concept and may include title, genre, platform, language, targetChapters, chapterWordCount, blurb, worldPremise, settingNotes, protagonist, supportingCast, conflictCore, volumeOutline, constraints, authorIntent, currentFocus, nextQuestion, missingFields, readyToCreate.",
367
- "Help the user decide and revise worldview, setting, protagonist, supporting cast, core conflict, blurb, and volume direction.",
368
- "Be conservative: only mark readyToCreate=true when the draft already has a workable title, genre, targetChapters, chapterWordCount, and enough setting/conflict detail to generate a foundation.",
369
- ].join(" "),
370
- },
371
- {
372
- role: "user",
373
- content: JSON.stringify({
374
- currentDraft: existingDraft ?? null,
375
- latestMessage: input,
376
- }, null, 2),
377
- },
378
- ], { temperature: 0.4, maxTokens: 700 });
379
- const parsed = parseCreationDraftResult(response.content);
380
- if (!parsed) {
381
- throw new Error("Book draft assistant returned invalid JSON.");
399
+ // Build messages - include existing draft context if present
400
+ const userContent = existingDraft
401
+ ? `当前草案参数:${JSON.stringify(existingDraft, null, 2)}\n\n用户输入:${input}`
402
+ : input;
403
+ const result = await chatWithTools(instrumentedPipeline.config.client, instrumentedPipeline.config.model, [
404
+ { role: "system", content: BOOK_DRAFT_SYSTEM_PROMPT },
405
+ { role: "user", content: userContent },
406
+ ], [CREATE_BOOK_TOOL], { temperature: 0.4 });
407
+ // Extract tool call if present
408
+ const toolCall = result.toolCalls[0];
409
+ let parsedArgs = {};
410
+ if (toolCall) {
411
+ try {
412
+ parsedArgs = JSON.parse(toolCall.arguments);
413
+ }
414
+ catch {
415
+ // If parsing fails, use empty args
416
+ }
382
417
  }
418
+ // Build a draft from tool call arguments
419
+ const draft = {
420
+ concept,
421
+ title: parsedArgs.title ?? existingDraft?.title,
422
+ genre: parsedArgs.genre ?? existingDraft?.genre,
423
+ platform: parsedArgs.platform ?? existingDraft?.platform,
424
+ language: parsedArgs.language ?? existingDraft?.language,
425
+ targetChapters: parsedArgs.targetChapters ?? existingDraft?.targetChapters,
426
+ chapterWordCount: parsedArgs.chapterWordCount ?? existingDraft?.chapterWordCount,
427
+ blurb: parsedArgs.brief ?? existingDraft?.blurb,
428
+ missingFields: [],
429
+ readyToCreate: Boolean(parsedArgs.title && parsedArgs.genre && parsedArgs.platform),
430
+ };
383
431
  return {
384
432
  __interaction: {
385
- responseText: parsed.assistantReply,
433
+ responseText: result.content || "已生成建书参数,请确认或修改。",
386
434
  details: {
387
- creationDraft: parsed.draft,
435
+ creationDraft: draft,
436
+ toolCall: toolCall ? { name: toolCall.name, arguments: parsedArgs } : undefined,
388
437
  },
389
438
  },
390
439
  };
@@ -429,27 +478,38 @@ export function createInteractionToolsFromDeps(pipeline, state, hooks) {
429
478
  chat: async (input, options) => {
430
479
  const bookLabel = options.bookId ?? "none";
431
480
  const chatRequestOptions = hooks?.getChatRequestOptions?.() ?? {};
432
- const response = instrumentedPipeline.config?.client && instrumentedPipeline.config?.model
433
- ? await chatCompletion(instrumentedPipeline.config.client, instrumentedPipeline.config.model, [
434
- {
435
- role: "system",
436
- content: [
437
- "You are InkOS inside the terminal workbench.",
438
- "Respond conversationally and briefly.",
439
- "If there is no active book, help the user decide what to write next.",
440
- "If there is an active book, keep the answer grounded in that book context.",
441
- ].join(" "),
442
- },
443
- {
444
- role: "user",
445
- content: `activeBook=${bookLabel}\nautomationMode=${options.automationMode}\nmessage=${input}`,
446
- },
447
- ], {
448
- temperature: chatRequestOptions.temperature ?? 0.4,
449
- maxTokens: chatRequestOptions.maxTokens ?? 240,
450
- onTextDelta: hooks?.onChatTextDelta,
451
- })
452
- : undefined;
481
+ let response;
482
+ if (instrumentedPipeline.config?.client && instrumentedPipeline.config?.model) {
483
+ try {
484
+ response = await chatCompletion(instrumentedPipeline.config.client, instrumentedPipeline.config.model, [
485
+ {
486
+ role: "system",
487
+ content: [
488
+ "You are InkOS inside the terminal workbench.",
489
+ "Respond conversationally and briefly.",
490
+ "If there is no active book, help the user decide what to write next.",
491
+ "If there is an active book, keep the answer grounded in that book context.",
492
+ ].join(" "),
493
+ },
494
+ {
495
+ role: "user",
496
+ content: `activeBook=${bookLabel}\nautomationMode=${options.automationMode}\nmessage=${input}`,
497
+ },
498
+ ], {
499
+ temperature: chatRequestOptions.temperature ?? 0.4,
500
+ ...(chatRequestOptions.maxTokens !== undefined && { maxTokens: chatRequestOptions.maxTokens }),
501
+ onTextDelta: hooks?.onChatTextDelta,
502
+ });
503
+ }
504
+ catch (err) {
505
+ // Thinking models (e.g. kimi-k2.5) may return empty content for simple inputs.
506
+ // Only swallow empty-content errors; re-throw everything else (network, auth, etc.)
507
+ const msg = err instanceof Error ? err.message : "";
508
+ if (!msg.includes("empty") && !msg.includes("content")) {
509
+ throw err;
510
+ }
511
+ }
512
+ }
453
513
  return {
454
514
  __interaction: {
455
515
  responseText: response?.content?.trim()
@@ -1 +1 @@
1
- {"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/interaction/project-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/interaction/project-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/interaction/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/interaction/runtime.ts"],"names":[],"mappings":"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"}
@@ -236,7 +236,20 @@ async function handleDraftLifecycleRequest(params) {
236
236
  en: "Book-draft tool did not return draft data.",
237
237
  }));
238
238
  }
239
- const nextSession = appendToolEvents(updateCreationDraft(session, draft), metadata.events);
239
+ const newRound = {
240
+ roundId: (session.draftRounds?.length ?? 0) + 1,
241
+ userMessage: request.instruction ?? "",
242
+ assistantRaw: metadata.details?.draftRaw ?? "",
243
+ fieldsUpdated: metadata.details?.fieldsUpdated ?? [],
244
+ summary: metadata.details?.draftSummary ?? "",
245
+ timestamp: Date.now(),
246
+ };
247
+ const withDraft = updateCreationDraft(session, draft);
248
+ const withRounds = {
249
+ ...withDraft,
250
+ draftRounds: [...(withDraft.draftRounds ?? []), newRound],
251
+ };
252
+ const nextSession = appendToolEvents(withRounds, metadata.events);
240
253
  const completed = {
241
254
  ...markCompleted(nextSession),
242
255
  currentExecution: metadata.currentExecution ?? markCompleted(nextSession).currentExecution,