@zwbigi/ink-xy 0.1.2 → 0.1.4

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 (598) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -2
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/api/inkos/route.js.nft.json +1 -1
  21. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  22. package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
  23. package/.next/server/app/index.html +1 -1
  24. package/.next/server/app/index.rsc +1 -1
  25. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  27. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  28. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  29. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  30. package/.next/server/app-paths-manifest.json +2 -2
  31. package/.next/server/chunks/162.js +1 -1
  32. package/.next/server/middleware-build-manifest.js +1 -1
  33. package/.next/server/pages/404.html +1 -1
  34. package/.next/server/pages/500.html +1 -1
  35. package/.next/trace +4 -4
  36. package/.next/trace-build +1 -1
  37. package/bin/pi-web.js +4 -1
  38. package/inkos/.env.example +20 -0
  39. package/inkos/.node-version +1 -0
  40. package/inkos/.nvmrc +1 -0
  41. package/inkos/CHANGELOG.md +787 -0
  42. package/inkos/CONTRIBUTING.md +89 -0
  43. package/inkos/LICENSE +661 -0
  44. package/inkos/README.en.md +483 -0
  45. package/inkos/README.ja.md +461 -0
  46. package/inkos/README.md +272 -0
  47. package/inkos/assets/15qun.jpg +0 -0
  48. package/inkos/assets/41777702961_.pic.jpg +0 -0
  49. package/inkos/assets/inkos-short-demo-cover.png +0 -0
  50. package/inkos/assets/inkos-text.svg +40 -0
  51. package/inkos/assets/logo.svg +47 -0
  52. package/inkos/assets/screenshot-chapters.png +0 -0
  53. package/inkos/assets/screenshot-pipeline.png +0 -0
  54. package/inkos/assets/screenshot-state.png +0 -0
  55. package/inkos/assets/screenshot-terminal.png +0 -0
  56. package/inkos/assets/wechat-group-v8.jpg +0 -0
  57. package/inkos/package.json +42 -0
  58. package/inkos/packages/cli/package.json +74 -0
  59. package/inkos/packages/cli/src/__tests__/analytics.test.ts +154 -0
  60. package/inkos/packages/cli/src/__tests__/cli-integration.test.ts +1031 -0
  61. package/inkos/packages/cli/src/__tests__/daemon.test.ts +93 -0
  62. package/inkos/packages/cli/src/__tests__/doctor.test.ts +36 -0
  63. package/inkos/packages/cli/src/__tests__/interact-command.test.ts +142 -0
  64. package/inkos/packages/cli/src/__tests__/interaction-tools.test.ts +107 -0
  65. package/inkos/packages/cli/src/__tests__/llm-overrides.test.ts +25 -0
  66. package/inkos/packages/cli/src/__tests__/localization.test.ts +121 -0
  67. package/inkos/packages/cli/src/__tests__/progress-text.test.ts +92 -0
  68. package/inkos/packages/cli/src/__tests__/project-bootstrap.test.ts +71 -0
  69. package/inkos/packages/cli/src/__tests__/publish-package.test.ts +272 -0
  70. package/inkos/packages/cli/src/__tests__/revision-command.test.ts +82 -0
  71. package/inkos/packages/cli/src/__tests__/runtime-requirements.test.ts +89 -0
  72. package/inkos/packages/cli/src/__tests__/short-fiction-command.test.ts +48 -0
  73. package/inkos/packages/cli/src/__tests__/studio-runtime.test.ts +142 -0
  74. package/inkos/packages/cli/src/__tests__/studio.test.ts +87 -0
  75. package/inkos/packages/cli/src/__tests__/tui-activity-state.test.ts +20 -0
  76. package/inkos/packages/cli/src/__tests__/tui-agent-session.test.ts +213 -0
  77. package/inkos/packages/cli/src/__tests__/tui-chat-depth.test.ts +27 -0
  78. package/inkos/packages/cli/src/__tests__/tui-chat-draft.test.ts +44 -0
  79. package/inkos/packages/cli/src/__tests__/tui-command.test.ts +86 -0
  80. package/inkos/packages/cli/src/__tests__/tui-composer-caret.test.ts +46 -0
  81. package/inkos/packages/cli/src/__tests__/tui-composer-display.test.ts +40 -0
  82. package/inkos/packages/cli/src/__tests__/tui-dashboard.test.tsx +219 -0
  83. package/inkos/packages/cli/src/__tests__/tui-effects-i18n.test.ts +29 -0
  84. package/inkos/packages/cli/src/__tests__/tui-i18n.test.ts +22 -0
  85. package/inkos/packages/cli/src/__tests__/tui-input-chrome.test.ts +10 -0
  86. package/inkos/packages/cli/src/__tests__/tui-input-history.test.ts +40 -0
  87. package/inkos/packages/cli/src/__tests__/tui-layout.test.ts +55 -0
  88. package/inkos/packages/cli/src/__tests__/tui-local-commands.test.ts +47 -0
  89. package/inkos/packages/cli/src/__tests__/tui-session-store.test.ts +81 -0
  90. package/inkos/packages/cli/src/__tests__/tui-setup-i18n.test.ts +31 -0
  91. package/inkos/packages/cli/src/__tests__/tui-slash-autocomplete.test.ts +33 -0
  92. package/inkos/packages/cli/src/commands/agent.ts +65 -0
  93. package/inkos/packages/cli/src/commands/analytics.ts +77 -0
  94. package/inkos/packages/cli/src/commands/audit.ts +52 -0
  95. package/inkos/packages/cli/src/commands/book.ts +260 -0
  96. package/inkos/packages/cli/src/commands/compose.ts +50 -0
  97. package/inkos/packages/cli/src/commands/config.ts +328 -0
  98. package/inkos/packages/cli/src/commands/consolidate.ts +50 -0
  99. package/inkos/packages/cli/src/commands/daemon.ts +121 -0
  100. package/inkos/packages/cli/src/commands/detect.ts +125 -0
  101. package/inkos/packages/cli/src/commands/doctor.ts +391 -0
  102. package/inkos/packages/cli/src/commands/draft.ts +43 -0
  103. package/inkos/packages/cli/src/commands/eval.ts +217 -0
  104. package/inkos/packages/cli/src/commands/export.ts +45 -0
  105. package/inkos/packages/cli/src/commands/fanfic.ts +183 -0
  106. package/inkos/packages/cli/src/commands/genre.ts +160 -0
  107. package/inkos/packages/cli/src/commands/import.ts +158 -0
  108. package/inkos/packages/cli/src/commands/init.ts +47 -0
  109. package/inkos/packages/cli/src/commands/interact.ts +109 -0
  110. package/inkos/packages/cli/src/commands/plan.ts +54 -0
  111. package/inkos/packages/cli/src/commands/radar.ts +60 -0
  112. package/inkos/packages/cli/src/commands/review.ts +253 -0
  113. package/inkos/packages/cli/src/commands/revise.ts +58 -0
  114. package/inkos/packages/cli/src/commands/short-fiction.ts +294 -0
  115. package/inkos/packages/cli/src/commands/status.ts +138 -0
  116. package/inkos/packages/cli/src/commands/studio.ts +194 -0
  117. package/inkos/packages/cli/src/commands/style.ts +99 -0
  118. package/inkos/packages/cli/src/commands/tui.ts +18 -0
  119. package/inkos/packages/cli/src/commands/update.ts +45 -0
  120. package/inkos/packages/cli/src/commands/write.ts +324 -0
  121. package/inkos/packages/cli/src/index.ts +5 -0
  122. package/inkos/packages/cli/src/interaction/tools.ts +49 -0
  123. package/inkos/packages/cli/src/localization.ts +215 -0
  124. package/inkos/packages/cli/src/program.ts +106 -0
  125. package/inkos/packages/cli/src/progress-text.ts +85 -0
  126. package/inkos/packages/cli/src/project-bootstrap.ts +175 -0
  127. package/inkos/packages/cli/src/runtime-requirements.ts +135 -0
  128. package/inkos/packages/cli/src/tui/__tests__/markdown.test.ts +64 -0
  129. package/inkos/packages/cli/src/tui/activity-state.ts +41 -0
  130. package/inkos/packages/cli/src/tui/agent-input.ts +264 -0
  131. package/inkos/packages/cli/src/tui/ansi.ts +72 -0
  132. package/inkos/packages/cli/src/tui/app.ts +130 -0
  133. package/inkos/packages/cli/src/tui/chat-depth.ts +22 -0
  134. package/inkos/packages/cli/src/tui/chat-draft.ts +42 -0
  135. package/inkos/packages/cli/src/tui/composer-caret.ts +22 -0
  136. package/inkos/packages/cli/src/tui/composer-display.ts +26 -0
  137. package/inkos/packages/cli/src/tui/dashboard-model.ts +164 -0
  138. package/inkos/packages/cli/src/tui/dashboard.tsx +544 -0
  139. package/inkos/packages/cli/src/tui/effects.ts +542 -0
  140. package/inkos/packages/cli/src/tui/i18n.ts +278 -0
  141. package/inkos/packages/cli/src/tui/input-history.ts +69 -0
  142. package/inkos/packages/cli/src/tui/local-commands.ts +55 -0
  143. package/inkos/packages/cli/src/tui/markdown.ts +64 -0
  144. package/inkos/packages/cli/src/tui/session-store.ts +6 -0
  145. package/inkos/packages/cli/src/tui/setup.ts +397 -0
  146. package/inkos/packages/cli/src/tui/slash-autocomplete.ts +62 -0
  147. package/inkos/packages/cli/src/tui/theme.ts +17 -0
  148. package/inkos/packages/cli/src/utils.ts +222 -0
  149. package/inkos/packages/cli/tsconfig.json +9 -0
  150. package/inkos/packages/core/genres/cozy.md +43 -0
  151. package/inkos/packages/core/genres/cultivation.md +42 -0
  152. package/inkos/packages/core/genres/dungeon-core.md +40 -0
  153. package/inkos/packages/core/genres/horror.md +51 -0
  154. package/inkos/packages/core/genres/isekai.md +43 -0
  155. package/inkos/packages/core/genres/litrpg.md +43 -0
  156. package/inkos/packages/core/genres/other.md +24 -0
  157. package/inkos/packages/core/genres/progression.md +41 -0
  158. package/inkos/packages/core/genres/romantasy.md +45 -0
  159. package/inkos/packages/core/genres/sci-fi.md +42 -0
  160. package/inkos/packages/core/genres/system-apocalypse.md +40 -0
  161. package/inkos/packages/core/genres/tower-climber.md +41 -0
  162. package/inkos/packages/core/genres/urban.md +53 -0
  163. package/inkos/packages/core/genres/xianxia.md +46 -0
  164. package/inkos/packages/core/genres/xuanhuan.md +64 -0
  165. package/inkos/packages/core/package.json +61 -0
  166. package/inkos/packages/core/src/__tests__/agent-max-tokens-policy.test.ts +29 -0
  167. package/inkos/packages/core/src/__tests__/agent-session.test.ts +866 -0
  168. package/inkos/packages/core/src/__tests__/agent-system-prompt.test.ts +167 -0
  169. package/inkos/packages/core/src/__tests__/agent-tools-params.test.ts +197 -0
  170. package/inkos/packages/core/src/__tests__/agent-tools.test.ts +421 -0
  171. package/inkos/packages/core/src/__tests__/ai-tells.test.ts +90 -0
  172. package/inkos/packages/core/src/__tests__/architect-phase5-consolidated.test.ts +445 -0
  173. package/inkos/packages/core/src/__tests__/architect-phase5.test.ts +455 -0
  174. package/inkos/packages/core/src/__tests__/architect-phase7.test.ts +210 -0
  175. package/inkos/packages/core/src/__tests__/architect.test.ts +859 -0
  176. package/inkos/packages/core/src/__tests__/audit-parse.test.ts +78 -0
  177. package/inkos/packages/core/src/__tests__/book-id.test.ts +26 -0
  178. package/inkos/packages/core/src/__tests__/book-session-store.test.ts +447 -0
  179. package/inkos/packages/core/src/__tests__/book-session.test.ts +113 -0
  180. package/inkos/packages/core/src/__tests__/chapter-analyzer.test.ts +574 -0
  181. package/inkos/packages/core/src/__tests__/chapter-memo-parser.test.ts +247 -0
  182. package/inkos/packages/core/src/__tests__/chapter-persistence.test.ts +198 -0
  183. package/inkos/packages/core/src/__tests__/chapter-review-cycle.test.ts +294 -0
  184. package/inkos/packages/core/src/__tests__/chapter-splitter.test.ts +156 -0
  185. package/inkos/packages/core/src/__tests__/chapter-state-recovery.test.ts +235 -0
  186. package/inkos/packages/core/src/__tests__/chapter-truth-validation.test.ts +253 -0
  187. package/inkos/packages/core/src/__tests__/composer.test.ts +627 -0
  188. package/inkos/packages/core/src/__tests__/config-loader.test.ts +325 -0
  189. package/inkos/packages/core/src/__tests__/config-migration.test.ts +102 -0
  190. package/inkos/packages/core/src/__tests__/consolidator.test.ts +32 -0
  191. package/inkos/packages/core/src/__tests__/context-filter.test.ts +60 -0
  192. package/inkos/packages/core/src/__tests__/context-transform.test.ts +108 -0
  193. package/inkos/packages/core/src/__tests__/continuity.test.ts +391 -0
  194. package/inkos/packages/core/src/__tests__/detection-insights.test.ts +59 -0
  195. package/inkos/packages/core/src/__tests__/detector.test.ts +86 -0
  196. package/inkos/packages/core/src/__tests__/draft-directive-parser.test.ts +386 -0
  197. package/inkos/packages/core/src/__tests__/edit-controller.test.ts +190 -0
  198. package/inkos/packages/core/src/__tests__/effective-llm-config.test.ts +486 -0
  199. package/inkos/packages/core/src/__tests__/fanfic-dimensions.test.ts +58 -0
  200. package/inkos/packages/core/src/__tests__/fanfic-models.test.ts +69 -0
  201. package/inkos/packages/core/src/__tests__/governed-working-set.test.ts +155 -0
  202. package/inkos/packages/core/src/__tests__/hook-arbiter.test.ts +124 -0
  203. package/inkos/packages/core/src/__tests__/hook-governance.test.ts +228 -0
  204. package/inkos/packages/core/src/__tests__/hook-health.test.ts +166 -0
  205. package/inkos/packages/core/src/__tests__/hook-ledger-validator.test.ts +236 -0
  206. package/inkos/packages/core/src/__tests__/hook-promotion.test.ts +192 -0
  207. package/inkos/packages/core/src/__tests__/hook-stale-detection.test.ts +136 -0
  208. package/inkos/packages/core/src/__tests__/index-notify-lazy.test.ts +20 -0
  209. package/inkos/packages/core/src/__tests__/interaction-chat-tokens.test.ts +170 -0
  210. package/inkos/packages/core/src/__tests__/interaction-models.test.ts +155 -0
  211. package/inkos/packages/core/src/__tests__/interaction-nl-router.test.ts +223 -0
  212. package/inkos/packages/core/src/__tests__/interaction-runtime.test.ts +633 -0
  213. package/inkos/packages/core/src/__tests__/interaction-tools.test.ts +343 -0
  214. package/inkos/packages/core/src/__tests__/length-metrics.test.ts +82 -0
  215. package/inkos/packages/core/src/__tests__/length-normalizer.test.ts +331 -0
  216. package/inkos/packages/core/src/__tests__/list-models.test.ts +109 -0
  217. package/inkos/packages/core/src/__tests__/llm-env.test.ts +31 -0
  218. package/inkos/packages/core/src/__tests__/logger.test.ts +175 -0
  219. package/inkos/packages/core/src/__tests__/long-span-fatigue.test.ts +160 -0
  220. package/inkos/packages/core/src/__tests__/memory-retrieval.test.ts +1303 -0
  221. package/inkos/packages/core/src/__tests__/models.test.ts +918 -0
  222. package/inkos/packages/core/src/__tests__/outline-paths.test.ts +97 -0
  223. package/inkos/packages/core/src/__tests__/path-safety.test.ts +22 -0
  224. package/inkos/packages/core/src/__tests__/persisted-governed-plan.test.ts +134 -0
  225. package/inkos/packages/core/src/__tests__/phase5-cleanup.test.ts +393 -0
  226. package/inkos/packages/core/src/__tests__/phase5-hotfix.test.ts +288 -0
  227. package/inkos/packages/core/src/__tests__/phase7-hotfix.test.ts +614 -0
  228. package/inkos/packages/core/src/__tests__/pipeline-agent.test.ts +354 -0
  229. package/inkos/packages/core/src/__tests__/pipeline-runner-memory-sync.test.ts +317 -0
  230. package/inkos/packages/core/src/__tests__/pipeline-runner.test.ts +5200 -0
  231. package/inkos/packages/core/src/__tests__/planner-context.test.ts +137 -0
  232. package/inkos/packages/core/src/__tests__/planner-prompts-ratio.test.ts +11 -0
  233. package/inkos/packages/core/src/__tests__/planner-prompts.test.ts +171 -0
  234. package/inkos/packages/core/src/__tests__/planner.test.ts +362 -0
  235. package/inkos/packages/core/src/__tests__/planning-materials.test.ts +90 -0
  236. package/inkos/packages/core/src/__tests__/polisher.test.ts +189 -0
  237. package/inkos/packages/core/src/__tests__/post-write-validator.test.ts +291 -0
  238. package/inkos/packages/core/src/__tests__/probe.test.ts +77 -0
  239. package/inkos/packages/core/src/__tests__/project-interaction.test.ts +241 -0
  240. package/inkos/packages/core/src/__tests__/provider.test.ts +953 -0
  241. package/inkos/packages/core/src/__tests__/providers-group.test.ts +34 -0
  242. package/inkos/packages/core/src/__tests__/providers-lookup.test.ts +81 -0
  243. package/inkos/packages/core/src/__tests__/providers-schema.test.ts +158 -0
  244. package/inkos/packages/core/src/__tests__/proxy-fetch.test.ts +75 -0
  245. package/inkos/packages/core/src/__tests__/revise-foundation.test.ts +514 -0
  246. package/inkos/packages/core/src/__tests__/reviser.test.ts +859 -0
  247. package/inkos/packages/core/src/__tests__/runtime-state-store.test.ts +388 -0
  248. package/inkos/packages/core/src/__tests__/scheduler.test.ts +123 -0
  249. package/inkos/packages/core/src/__tests__/secrets-migration.test.ts +71 -0
  250. package/inkos/packages/core/src/__tests__/secrets.test.ts +95 -0
  251. package/inkos/packages/core/src/__tests__/sensitive-words.test.ts +88 -0
  252. package/inkos/packages/core/src/__tests__/service-presets-regression.test.ts +73 -0
  253. package/inkos/packages/core/src/__tests__/service-resolver-regression.test.ts +75 -0
  254. package/inkos/packages/core/src/__tests__/service-resolver.test.ts +228 -0
  255. package/inkos/packages/core/src/__tests__/session-transcript-restore.test.ts +1311 -0
  256. package/inkos/packages/core/src/__tests__/session-transcript.test.ts +195 -0
  257. package/inkos/packages/core/src/__tests__/settler-delta-parser.test.ts +133 -0
  258. package/inkos/packages/core/src/__tests__/short-fiction-public.test.ts +241 -0
  259. package/inkos/packages/core/src/__tests__/spot-fix-patches.test.ts +104 -0
  260. package/inkos/packages/core/src/__tests__/state-manager.test.ts +1298 -0
  261. package/inkos/packages/core/src/__tests__/state-projections.test.ts +130 -0
  262. package/inkos/packages/core/src/__tests__/state-reducer.test.ts +372 -0
  263. package/inkos/packages/core/src/__tests__/state-validator-agent.test.ts +165 -0
  264. package/inkos/packages/core/src/__tests__/state-validator.test.ts +122 -0
  265. package/inkos/packages/core/src/__tests__/style-analyzer.test.ts +61 -0
  266. package/inkos/packages/core/src/__tests__/temperature-constraints.test.ts +57 -0
  267. package/inkos/packages/core/src/__tests__/v13-hotfix-round4.test.ts +343 -0
  268. package/inkos/packages/core/src/__tests__/verify-service.test.ts +77 -0
  269. package/inkos/packages/core/src/__tests__/webhook.test.ts +91 -0
  270. package/inkos/packages/core/src/__tests__/writer-parser.test.ts +348 -0
  271. package/inkos/packages/core/src/__tests__/writer-prompts.test.ts +269 -0
  272. package/inkos/packages/core/src/__tests__/writer.test.ts +1360 -0
  273. package/inkos/packages/core/src/agent/agent-session.ts +737 -0
  274. package/inkos/packages/core/src/agent/agent-system-prompt.ts +199 -0
  275. package/inkos/packages/core/src/agent/agent-tools.ts +835 -0
  276. package/inkos/packages/core/src/agent/context-transform.ts +85 -0
  277. package/inkos/packages/core/src/agent/index.ts +14 -0
  278. package/inkos/packages/core/src/agents/ai-tells.ts +161 -0
  279. package/inkos/packages/core/src/agents/architect.ts +1291 -0
  280. package/inkos/packages/core/src/agents/base.ts +100 -0
  281. package/inkos/packages/core/src/agents/chapter-analyzer.ts +634 -0
  282. package/inkos/packages/core/src/agents/composer.ts +469 -0
  283. package/inkos/packages/core/src/agents/consolidator.ts +218 -0
  284. package/inkos/packages/core/src/agents/continuity.ts +824 -0
  285. package/inkos/packages/core/src/agents/detection-insights.ts +72 -0
  286. package/inkos/packages/core/src/agents/detector.ts +224 -0
  287. package/inkos/packages/core/src/agents/en-prompt-sections.ts +129 -0
  288. package/inkos/packages/core/src/agents/fanfic-canon-importer.ts +146 -0
  289. package/inkos/packages/core/src/agents/fanfic-dimensions.ts +87 -0
  290. package/inkos/packages/core/src/agents/fanfic-prompt-sections.ts +109 -0
  291. package/inkos/packages/core/src/agents/foundation-reviewer.ts +204 -0
  292. package/inkos/packages/core/src/agents/length-normalizer.ts +218 -0
  293. package/inkos/packages/core/src/agents/observer-prompts.ts +127 -0
  294. package/inkos/packages/core/src/agents/planner-context.ts +297 -0
  295. package/inkos/packages/core/src/agents/planner-prompts.ts +404 -0
  296. package/inkos/packages/core/src/agents/planner.ts +783 -0
  297. package/inkos/packages/core/src/agents/polisher.ts +153 -0
  298. package/inkos/packages/core/src/agents/post-write-validator.ts +873 -0
  299. package/inkos/packages/core/src/agents/radar-source.ts +123 -0
  300. package/inkos/packages/core/src/agents/radar.ts +120 -0
  301. package/inkos/packages/core/src/agents/reviser.ts +701 -0
  302. package/inkos/packages/core/src/agents/rules-reader.ts +155 -0
  303. package/inkos/packages/core/src/agents/sensitive-words.ts +142 -0
  304. package/inkos/packages/core/src/agents/settler-delta-parser.ts +53 -0
  305. package/inkos/packages/core/src/agents/settler-parser.ts +38 -0
  306. package/inkos/packages/core/src/agents/settler-prompts.ts +230 -0
  307. package/inkos/packages/core/src/agents/short-fiction.ts +429 -0
  308. package/inkos/packages/core/src/agents/state-validator.ts +322 -0
  309. package/inkos/packages/core/src/agents/style-analyzer.ts +93 -0
  310. package/inkos/packages/core/src/agents/writer-parser.ts +178 -0
  311. package/inkos/packages/core/src/agents/writer-prompts.ts +899 -0
  312. package/inkos/packages/core/src/agents/writer.ts +1450 -0
  313. package/inkos/packages/core/src/index.ts +392 -0
  314. package/inkos/packages/core/src/interaction/book-session-store.ts +226 -0
  315. package/inkos/packages/core/src/interaction/draft-directive-parser.ts +266 -0
  316. package/inkos/packages/core/src/interaction/edit-controller.ts +270 -0
  317. package/inkos/packages/core/src/interaction/events.ts +41 -0
  318. package/inkos/packages/core/src/interaction/export-artifact.ts +151 -0
  319. package/inkos/packages/core/src/interaction/intents.ts +63 -0
  320. package/inkos/packages/core/src/interaction/modes.ts +13 -0
  321. package/inkos/packages/core/src/interaction/nl-router.ts +258 -0
  322. package/inkos/packages/core/src/interaction/project-control.ts +150 -0
  323. package/inkos/packages/core/src/interaction/project-session-store.ts +81 -0
  324. package/inkos/packages/core/src/interaction/project-tools.ts +704 -0
  325. package/inkos/packages/core/src/interaction/request-router.ts +5 -0
  326. package/inkos/packages/core/src/interaction/runtime.ts +1167 -0
  327. package/inkos/packages/core/src/interaction/session-transcript-legacy.ts +113 -0
  328. package/inkos/packages/core/src/interaction/session-transcript-restore.ts +607 -0
  329. package/inkos/packages/core/src/interaction/session-transcript-schema.ts +76 -0
  330. package/inkos/packages/core/src/interaction/session-transcript.ts +189 -0
  331. package/inkos/packages/core/src/interaction/session.ts +226 -0
  332. package/inkos/packages/core/src/interaction/truth-authority.ts +45 -0
  333. package/inkos/packages/core/src/llm/config-migration.ts +58 -0
  334. package/inkos/packages/core/src/llm/cover-providers.ts +45 -0
  335. package/inkos/packages/core/src/llm/provider.ts +1331 -0
  336. package/inkos/packages/core/src/llm/providers/endpoints/ai360.ts +42 -0
  337. package/inkos/packages/core/src/llm/providers/endpoints/anthropic.ts +82 -0
  338. package/inkos/packages/core/src/llm/providers/endpoints/astronCodingPlan.ts +30 -0
  339. package/inkos/packages/core/src/llm/providers/endpoints/baichuan.ts +28 -0
  340. package/inkos/packages/core/src/llm/providers/endpoints/bailian.ts +65 -0
  341. package/inkos/packages/core/src/llm/providers/endpoints/bailianCodingPlan.ts +30 -0
  342. package/inkos/packages/core/src/llm/providers/endpoints/custom.ts +22 -0
  343. package/inkos/packages/core/src/llm/providers/endpoints/deepseek.ts +35 -0
  344. package/inkos/packages/core/src/llm/providers/endpoints/giteeai.ts +41 -0
  345. package/inkos/packages/core/src/llm/providers/endpoints/githubCopilot.ts +43 -0
  346. package/inkos/packages/core/src/llm/providers/endpoints/glmCodingPlan.ts +28 -0
  347. package/inkos/packages/core/src/llm/providers/endpoints/google.ts +51 -0
  348. package/inkos/packages/core/src/llm/providers/endpoints/hunyuan.ts +42 -0
  349. package/inkos/packages/core/src/llm/providers/endpoints/infiniai.ts +72 -0
  350. package/inkos/packages/core/src/llm/providers/endpoints/internlm.ts +28 -0
  351. package/inkos/packages/core/src/llm/providers/endpoints/kimiCode.ts +23 -0
  352. package/inkos/packages/core/src/llm/providers/endpoints/kimiCodingPlan.ts +24 -0
  353. package/inkos/packages/core/src/llm/providers/endpoints/kkaiapi.ts +56 -0
  354. package/inkos/packages/core/src/llm/providers/endpoints/longcat.ts +25 -0
  355. package/inkos/packages/core/src/llm/providers/endpoints/minimax.ts +39 -0
  356. package/inkos/packages/core/src/llm/providers/endpoints/minimaxCodingPlan.ts +28 -0
  357. package/inkos/packages/core/src/llm/providers/endpoints/mistral.ts +40 -0
  358. package/inkos/packages/core/src/llm/providers/endpoints/modelscope.ts +30 -0
  359. package/inkos/packages/core/src/llm/providers/endpoints/moonshot.ts +39 -0
  360. package/inkos/packages/core/src/llm/providers/endpoints/newapi.ts +21 -0
  361. package/inkos/packages/core/src/llm/providers/endpoints/ollama.ts +73 -0
  362. package/inkos/packages/core/src/llm/providers/endpoints/openai.ts +77 -0
  363. package/inkos/packages/core/src/llm/providers/endpoints/opencodeCodingPlan.ts +30 -0
  364. package/inkos/packages/core/src/llm/providers/endpoints/openrouter.ts +87 -0
  365. package/inkos/packages/core/src/llm/providers/endpoints/ppio.ts +86 -0
  366. package/inkos/packages/core/src/llm/providers/endpoints/qiniu.ts +32 -0
  367. package/inkos/packages/core/src/llm/providers/endpoints/sensenova.ts +45 -0
  368. package/inkos/packages/core/src/llm/providers/endpoints/siliconcloud.ts +126 -0
  369. package/inkos/packages/core/src/llm/providers/endpoints/spark.ts +33 -0
  370. package/inkos/packages/core/src/llm/providers/endpoints/stepfun.ts +35 -0
  371. package/inkos/packages/core/src/llm/providers/endpoints/tencentcloud.ts +25 -0
  372. package/inkos/packages/core/src/llm/providers/endpoints/volcengine.ts +52 -0
  373. package/inkos/packages/core/src/llm/providers/endpoints/volcengineCodingPlan.ts +42 -0
  374. package/inkos/packages/core/src/llm/providers/endpoints/wenxin.ts +106 -0
  375. package/inkos/packages/core/src/llm/providers/endpoints/xai.ts +34 -0
  376. package/inkos/packages/core/src/llm/providers/endpoints/xiaomimimo.ts +26 -0
  377. package/inkos/packages/core/src/llm/providers/endpoints/zeroone.ts +34 -0
  378. package/inkos/packages/core/src/llm/providers/endpoints/zhipu.ts +61 -0
  379. package/inkos/packages/core/src/llm/providers/index.ts +71 -0
  380. package/inkos/packages/core/src/llm/providers/lookup.ts +70 -0
  381. package/inkos/packages/core/src/llm/providers/probe.ts +35 -0
  382. package/inkos/packages/core/src/llm/providers/types.ts +89 -0
  383. package/inkos/packages/core/src/llm/providers/verify.ts +104 -0
  384. package/inkos/packages/core/src/llm/secrets.ts +77 -0
  385. package/inkos/packages/core/src/llm/service-presets.ts +215 -0
  386. package/inkos/packages/core/src/llm/service-resolver.ts +91 -0
  387. package/inkos/packages/core/src/models/book-rules.ts +126 -0
  388. package/inkos/packages/core/src/models/book.ts +70 -0
  389. package/inkos/packages/core/src/models/chapter.ts +42 -0
  390. package/inkos/packages/core/src/models/detection.ts +25 -0
  391. package/inkos/packages/core/src/models/genre-profile.ts +36 -0
  392. package/inkos/packages/core/src/models/input-governance.ts +99 -0
  393. package/inkos/packages/core/src/models/length-governance.ts +46 -0
  394. package/inkos/packages/core/src/models/project.ts +161 -0
  395. package/inkos/packages/core/src/models/runtime-state.ts +144 -0
  396. package/inkos/packages/core/src/models/state.ts +52 -0
  397. package/inkos/packages/core/src/models/style-profile.ts +15 -0
  398. package/inkos/packages/core/src/notify/dispatcher.ts +96 -0
  399. package/inkos/packages/core/src/notify/feishu.ts +34 -0
  400. package/inkos/packages/core/src/notify/telegram.ts +25 -0
  401. package/inkos/packages/core/src/notify/webhook.ts +58 -0
  402. package/inkos/packages/core/src/notify/wechat-work.ts +22 -0
  403. package/inkos/packages/core/src/pipeline/agent.ts +691 -0
  404. package/inkos/packages/core/src/pipeline/chapter-persistence.ts +79 -0
  405. package/inkos/packages/core/src/pipeline/chapter-review-cycle.ts +324 -0
  406. package/inkos/packages/core/src/pipeline/chapter-state-recovery.ts +236 -0
  407. package/inkos/packages/core/src/pipeline/chapter-truth-validation.ts +145 -0
  408. package/inkos/packages/core/src/pipeline/detection-runner.ts +164 -0
  409. package/inkos/packages/core/src/pipeline/persisted-governed-plan.ts +216 -0
  410. package/inkos/packages/core/src/pipeline/runner.ts +3438 -0
  411. package/inkos/packages/core/src/pipeline/scheduler.ts +411 -0
  412. package/inkos/packages/core/src/pipeline/short-fiction-runner.ts +801 -0
  413. package/inkos/packages/core/src/prompts/index.ts +1 -0
  414. package/inkos/packages/core/src/prompts/short-fiction.ts +273 -0
  415. package/inkos/packages/core/src/state/manager.ts +560 -0
  416. package/inkos/packages/core/src/state/memory-db.ts +359 -0
  417. package/inkos/packages/core/src/state/runtime-state-store.ts +164 -0
  418. package/inkos/packages/core/src/state/state-bootstrap.ts +657 -0
  419. package/inkos/packages/core/src/state/state-projections.ts +255 -0
  420. package/inkos/packages/core/src/state/state-reducer.ts +260 -0
  421. package/inkos/packages/core/src/state/state-validator.ts +117 -0
  422. package/inkos/packages/core/src/utils/analytics.ts +92 -0
  423. package/inkos/packages/core/src/utils/book-id.ts +31 -0
  424. package/inkos/packages/core/src/utils/cadence-policy.ts +46 -0
  425. package/inkos/packages/core/src/utils/chapter-cadence.ts +211 -0
  426. package/inkos/packages/core/src/utils/chapter-memo-parser.ts +157 -0
  427. package/inkos/packages/core/src/utils/chapter-splitter.ts +80 -0
  428. package/inkos/packages/core/src/utils/config-loader.ts +29 -0
  429. package/inkos/packages/core/src/utils/context-assembly.ts +98 -0
  430. package/inkos/packages/core/src/utils/context-filter.ts +190 -0
  431. package/inkos/packages/core/src/utils/effective-llm-config.ts +529 -0
  432. package/inkos/packages/core/src/utils/governed-context.ts +101 -0
  433. package/inkos/packages/core/src/utils/governed-working-set.ts +395 -0
  434. package/inkos/packages/core/src/utils/hook-arbiter.ts +332 -0
  435. package/inkos/packages/core/src/utils/hook-governance.ts +199 -0
  436. package/inkos/packages/core/src/utils/hook-health.ts +189 -0
  437. package/inkos/packages/core/src/utils/hook-ledger-validator.ts +277 -0
  438. package/inkos/packages/core/src/utils/hook-lifecycle.ts +224 -0
  439. package/inkos/packages/core/src/utils/hook-policy.ts +115 -0
  440. package/inkos/packages/core/src/utils/hook-promotion.ts +313 -0
  441. package/inkos/packages/core/src/utils/hook-stale-detection.ts +168 -0
  442. package/inkos/packages/core/src/utils/length-metrics.ts +123 -0
  443. package/inkos/packages/core/src/utils/llm-endpoint-auth.ts +40 -0
  444. package/inkos/packages/core/src/utils/llm-env.ts +74 -0
  445. package/inkos/packages/core/src/utils/logger.ts +123 -0
  446. package/inkos/packages/core/src/utils/long-span-fatigue.ts +545 -0
  447. package/inkos/packages/core/src/utils/memory-retrieval.ts +527 -0
  448. package/inkos/packages/core/src/utils/narrative-control.ts +177 -0
  449. package/inkos/packages/core/src/utils/outline-paths.ts +275 -0
  450. package/inkos/packages/core/src/utils/path-safety.ts +11 -0
  451. package/inkos/packages/core/src/utils/planning-materials.ts +185 -0
  452. package/inkos/packages/core/src/utils/pov-filter.ts +149 -0
  453. package/inkos/packages/core/src/utils/proxy-fetch.ts +44 -0
  454. package/inkos/packages/core/src/utils/runtime-writer.ts +41 -0
  455. package/inkos/packages/core/src/utils/spot-fix-patches.ts +189 -0
  456. package/inkos/packages/core/src/utils/story-markdown.ts +346 -0
  457. package/inkos/packages/core/src/utils/web-search.ts +82 -0
  458. package/inkos/packages/core/src/utils/writing-methodology.ts +164 -0
  459. package/inkos/packages/core/tsconfig.json +8 -0
  460. package/inkos/packages/core/vitest.config.ts +7 -0
  461. package/inkos/packages/studio/components.json +25 -0
  462. package/inkos/packages/studio/index.html +13 -0
  463. package/inkos/packages/studio/package.json +72 -0
  464. package/inkos/packages/studio/postcss.config.js +3 -0
  465. package/inkos/packages/studio/src/App.test.ts +25 -0
  466. package/inkos/packages/studio/src/App.tsx +280 -0
  467. package/inkos/packages/studio/src/api/__tests__/normalize-base-url.test.ts +40 -0
  468. package/inkos/packages/studio/src/api/book-create.test.ts +104 -0
  469. package/inkos/packages/studio/src/api/book-create.ts +94 -0
  470. package/inkos/packages/studio/src/api/errors.ts +17 -0
  471. package/inkos/packages/studio/src/api/index.ts +30 -0
  472. package/inkos/packages/studio/src/api/lib/run-store.ts +177 -0
  473. package/inkos/packages/studio/src/api/lib/sse.ts +50 -0
  474. package/inkos/packages/studio/src/api/phase5-hotfix.test.ts +335 -0
  475. package/inkos/packages/studio/src/api/safety.ts +6 -0
  476. package/inkos/packages/studio/src/api/server.test.ts +3162 -0
  477. package/inkos/packages/studio/src/api/server.ts +3666 -0
  478. package/inkos/packages/studio/src/api/v13-hotfix-round4.test.ts +226 -0
  479. package/inkos/packages/studio/src/app-state.test.ts +8 -0
  480. package/inkos/packages/studio/src/app-state.ts +1 -0
  481. package/inkos/packages/studio/src/components/ConfirmDialog.tsx +95 -0
  482. package/inkos/packages/studio/src/components/ServiceConfigSourceCard.tsx +139 -0
  483. package/inkos/packages/studio/src/components/ServiceQuickLinks.tsx +65 -0
  484. package/inkos/packages/studio/src/components/Sidebar.tsx +652 -0
  485. package/inkos/packages/studio/src/components/ai-elements/code-block.tsx +562 -0
  486. package/inkos/packages/studio/src/components/ai-elements/confirmation.tsx +174 -0
  487. package/inkos/packages/studio/src/components/ai-elements/message.tsx +360 -0
  488. package/inkos/packages/studio/src/components/ai-elements/prompt-input.tsx +1457 -0
  489. package/inkos/packages/studio/src/components/ai-elements/reasoning.tsx +226 -0
  490. package/inkos/packages/studio/src/components/ai-elements/shimmer.tsx +77 -0
  491. package/inkos/packages/studio/src/components/ai-elements/tool.tsx +173 -0
  492. package/inkos/packages/studio/src/components/chat/BookSidebar.tsx +291 -0
  493. package/inkos/packages/studio/src/components/chat/ChatMessage.tsx +39 -0
  494. package/inkos/packages/studio/src/components/chat/QuickActions.tsx +73 -0
  495. package/inkos/packages/studio/src/components/chat/ToolExecutionSteps.tsx +320 -0
  496. package/inkos/packages/studio/src/components/chat/__tests__/ToolExecutionSteps.test.ts +114 -0
  497. package/inkos/packages/studio/src/components/chat-utils.ts +56 -0
  498. package/inkos/packages/studio/src/components/chatbar-state.test.ts +69 -0
  499. package/inkos/packages/studio/src/components/sidebar/ChaptersSection.tsx +66 -0
  500. package/inkos/packages/studio/src/components/sidebar/CharacterSection.tsx +129 -0
  501. package/inkos/packages/studio/src/components/sidebar/FoundationSection.tsx +61 -0
  502. package/inkos/packages/studio/src/components/sidebar/ProgressSection.tsx +124 -0
  503. package/inkos/packages/studio/src/components/sidebar/SidebarCard.tsx +30 -0
  504. package/inkos/packages/studio/src/components/sidebar/SummarySection.tsx +89 -0
  505. package/inkos/packages/studio/src/components/ui/alert.tsx +76 -0
  506. package/inkos/packages/studio/src/components/ui/badge.tsx +52 -0
  507. package/inkos/packages/studio/src/components/ui/button-group.tsx +87 -0
  508. package/inkos/packages/studio/src/components/ui/button.tsx +58 -0
  509. package/inkos/packages/studio/src/components/ui/collapsible.tsx +19 -0
  510. package/inkos/packages/studio/src/components/ui/command.tsx +194 -0
  511. package/inkos/packages/studio/src/components/ui/dialog.tsx +158 -0
  512. package/inkos/packages/studio/src/components/ui/dropdown-menu.tsx +266 -0
  513. package/inkos/packages/studio/src/components/ui/hover-card.tsx +51 -0
  514. package/inkos/packages/studio/src/components/ui/input-group.tsx +158 -0
  515. package/inkos/packages/studio/src/components/ui/input.tsx +20 -0
  516. package/inkos/packages/studio/src/components/ui/select.tsx +199 -0
  517. package/inkos/packages/studio/src/components/ui/separator.tsx +23 -0
  518. package/inkos/packages/studio/src/components/ui/spinner.tsx +10 -0
  519. package/inkos/packages/studio/src/components/ui/textarea.tsx +18 -0
  520. package/inkos/packages/studio/src/components/ui/tooltip.tsx +66 -0
  521. package/inkos/packages/studio/src/constants/service-groups.ts +29 -0
  522. package/inkos/packages/studio/src/hooks/use-api.test.ts +93 -0
  523. package/inkos/packages/studio/src/hooks/use-api.ts +189 -0
  524. package/inkos/packages/studio/src/hooks/use-book-activity.test.ts +129 -0
  525. package/inkos/packages/studio/src/hooks/use-book-activity.ts +180 -0
  526. package/inkos/packages/studio/src/hooks/use-colors.ts +27 -0
  527. package/inkos/packages/studio/src/hooks/use-hash-route.test.ts +101 -0
  528. package/inkos/packages/studio/src/hooks/use-hash-route.ts +89 -0
  529. package/inkos/packages/studio/src/hooks/use-i18n.ts +289 -0
  530. package/inkos/packages/studio/src/hooks/use-session-events.ts +64 -0
  531. package/inkos/packages/studio/src/hooks/use-sse.test.ts +52 -0
  532. package/inkos/packages/studio/src/hooks/use-sse.ts +92 -0
  533. package/inkos/packages/studio/src/hooks/use-theme.test.ts +31 -0
  534. package/inkos/packages/studio/src/hooks/use-theme.ts +75 -0
  535. package/inkos/packages/studio/src/index.css +323 -0
  536. package/inkos/packages/studio/src/lib/error-copy.test.ts +34 -0
  537. package/inkos/packages/studio/src/lib/error-copy.ts +37 -0
  538. package/inkos/packages/studio/src/lib/utils.ts +6 -0
  539. package/inkos/packages/studio/src/main.tsx +10 -0
  540. package/inkos/packages/studio/src/pages/Analytics.tsx +80 -0
  541. package/inkos/packages/studio/src/pages/BookCreate.tsx +895 -0
  542. package/inkos/packages/studio/src/pages/BookDetail.tsx +652 -0
  543. package/inkos/packages/studio/src/pages/ChapterReader.tsx +266 -0
  544. package/inkos/packages/studio/src/pages/ChatPage.tsx +521 -0
  545. package/inkos/packages/studio/src/pages/DaemonControl.tsx +116 -0
  546. package/inkos/packages/studio/src/pages/Dashboard.tsx +379 -0
  547. package/inkos/packages/studio/src/pages/DoctorView.tsx +82 -0
  548. package/inkos/packages/studio/src/pages/GenreManager.tsx +464 -0
  549. package/inkos/packages/studio/src/pages/ImportManager.tsx +216 -0
  550. package/inkos/packages/studio/src/pages/LanguageSelector.tsx +74 -0
  551. package/inkos/packages/studio/src/pages/LogViewer.tsx +82 -0
  552. package/inkos/packages/studio/src/pages/RadarView.tsx +157 -0
  553. package/inkos/packages/studio/src/pages/ServiceDetailPage.tsx +393 -0
  554. package/inkos/packages/studio/src/pages/ServiceListPage.tsx +463 -0
  555. package/inkos/packages/studio/src/pages/StyleManager.tsx +225 -0
  556. package/inkos/packages/studio/src/pages/TruthFiles.tsx +194 -0
  557. package/inkos/packages/studio/src/pages/chat-page-state.test.ts +206 -0
  558. package/inkos/packages/studio/src/pages/chat-page-state.ts +112 -0
  559. package/inkos/packages/studio/src/pages/page-state.test.ts +258 -0
  560. package/inkos/packages/studio/src/pages/service-detail-state.test.ts +294 -0
  561. package/inkos/packages/studio/src/pages/service-detail-state.ts +234 -0
  562. package/inkos/packages/studio/src/pages/style-manager-state.test.ts +22 -0
  563. package/inkos/packages/studio/src/pages/truth-files-state.test.ts +61 -0
  564. package/inkos/packages/studio/src/shared/contracts.ts +143 -0
  565. package/inkos/packages/studio/src/store/chat/__tests__/message-parts.test.ts +172 -0
  566. package/inkos/packages/studio/src/store/chat/index.ts +3 -0
  567. package/inkos/packages/studio/src/store/chat/initialState.ts +8 -0
  568. package/inkos/packages/studio/src/store/chat/message-policy.test.ts +16 -0
  569. package/inkos/packages/studio/src/store/chat/message-policy.ts +5 -0
  570. package/inkos/packages/studio/src/store/chat/parts-builder.ts +187 -0
  571. package/inkos/packages/studio/src/store/chat/selectors.ts +13 -0
  572. package/inkos/packages/studio/src/store/chat/slices/create/action.ts +10 -0
  573. package/inkos/packages/studio/src/store/chat/slices/create/initialState.ts +9 -0
  574. package/inkos/packages/studio/src/store/chat/slices/message/action.ts +417 -0
  575. package/inkos/packages/studio/src/store/chat/slices/message/initialState.ts +10 -0
  576. package/inkos/packages/studio/src/store/chat/slices/message/runtime.test.ts +21 -0
  577. package/inkos/packages/studio/src/store/chat/slices/message/runtime.ts +233 -0
  578. package/inkos/packages/studio/src/store/chat/slices/message/stream-events.ts +272 -0
  579. package/inkos/packages/studio/src/store/chat/store.ts +11 -0
  580. package/inkos/packages/studio/src/store/chat/types.ts +169 -0
  581. package/inkos/packages/studio/src/store/service/index.ts +2 -0
  582. package/inkos/packages/studio/src/store/service/store.ts +123 -0
  583. package/inkos/packages/studio/src/store/service/types.ts +50 -0
  584. package/inkos/packages/studio/tsconfig.json +24 -0
  585. package/inkos/packages/studio/tsconfig.server.json +11 -0
  586. package/inkos/packages/studio/vite.config.ts +34 -0
  587. package/inkos/packages/studio/vitest.config.ts +14 -0
  588. package/inkos/pnpm-lock.yaml +9569 -0
  589. package/inkos/pnpm-workspace.yaml +2 -0
  590. package/inkos/scripts/prepare-package-for-publish.mjs +135 -0
  591. package/inkos/scripts/restore-package-json.mjs +31 -0
  592. package/inkos/scripts/set-package-versions.mjs +74 -0
  593. package/inkos/scripts/verify-no-workspace-protocol.mjs +140 -0
  594. package/inkos/skills/SKILL.md +654 -0
  595. package/inkos/tsconfig.json +19 -0
  596. package/package.json +4 -3
  597. /package/.next/static/{F2hMZMf1IyCVAWpkbtRz7 → -3vIrBZXdQ0rp7Wa3Kz40}/_buildManifest.js +0 -0
  598. /package/.next/static/{F2hMZMf1IyCVAWpkbtRz7 → -3vIrBZXdQ0rp7Wa3Kz40}/_ssgManifest.js +0 -0
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: Cozy Fantasy
3
+ id: cozy
4
+ language: en
5
+ chapterTypes: ["Slice-of-Life", "Community", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: false
9
+ eraResearch: false
10
+ pacingRule: "Slow, meditative pacing. Each chapter advances an emotional arc or community bond. Seasonal/cyclical structure works well."
11
+ satisfactionTypes: ["Relationship Deepened", "Community Problem Solved", "Emotional Breakthrough", "Craft Mastered", "Found Family Moment", "Small Wonder Discovered"]
12
+ auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Genre bait-and-switch — if you promise cozy, never introduce world-ending threats or graphic violence
18
+ - Conflict resolution without work — problems must not solve themselves
19
+ - Manic pixie dream characters who exist only to change the protagonist
20
+ - Nostalgic falseness — romanticizing a "simpler time" without substance
21
+ - Cruel humor — humor must be gentle, never at someone's expense
22
+ - Existential stakes masquerading as low-stakes — keep threats emotional, not apocalyptic
23
+ - Purple prose describing food/nature without advancing character or community arc
24
+
25
+ ## Emotional Arc Rules
26
+
27
+ - Stakes are high emotionally but not existentially — characters care, the world doesn't end
28
+ - Conflict types: personal growth, community problems, relationship tension, small dangers, moral dilemmas
29
+ - Community is a character — setting and relationships are as important as the individual protagonist
30
+ - Hope must always be present — even sad moments don't end in despair
31
+ - Found family bonds drive the emotional core
32
+ - Character arcs follow: isolation/grief -> small interactions -> gradual opening -> emotional breakthrough -> integration
33
+ - Comforting sensory details matter: tea, baked goods, warm spaces, seasonal textures
34
+
35
+ ## Pacing Guidance
36
+
37
+ - Chapter length: 2-3k words with space for reflection
38
+ - Chapter structure: quiet opening -> small event or interaction -> internal response/growth -> gentle transition -> soft ending (not cliffhanger)
39
+ - No cliffhangers — chapters end with peace, hope, or gentle anticipation
40
+ - Seasonal/cyclical structure works well (calendar-based chapter rhythm)
41
+ - Downtime scenes must still plant hooks, advance relationships, or build contrast
42
+ - Slice-of-life texture woven with an emotional throughline — pure plotless chapters risk feeling static
43
+ - Every quiet scene must shift something: a realization, a decision, an intimacy, a small loss
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: English Cultivation
3
+ id: cultivation
4
+ language: en
5
+ chapterTypes: ["Training", "Breakthrough", "Combat", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Training/meditation alternates with application/combat. Breakthrough every 5-10 chapters early, every 15-25 late. Each stage must feel earned through discipline."
11
+ satisfactionTypes: ["Stage Breakthrough", "Technique Mastery", "Tribulation Survived", "Martial Victory", "Philosophical Insight", "Core Formation"]
12
+ auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Cultivation that feels instant or effortless — it must read like genuine labor
18
+ - Breakthrough scenes treated as throwaway moments — each tier transition deserves a full dramatic scene
19
+ - Ignoring philosophical/spiritual depth — meditation and inner balance matter as much as combat power
20
+ - Adopting full Chinese cultural trappings without adaptation — this is Western cultivation, use accessible naming (Copper/Iron/Jade/Gold, not Qi Condensation/Core Formation unless earned)
21
+ - Power gains disconnected from training, sacrifice, or problem-solving
22
+ - Cultivation stages with no meaningful difference in capability between them
23
+
24
+ ## Cultivation Rules
25
+
26
+ - Typical Western cultivation stages: Qi Foundation / Energy Gathering -> Core Formation -> Immortal Ascension -> Tribulation / Transcendence (or custom equivalents)
27
+ - Each stage represents meaningful power transformation — characters at different stages should not compete directly without explanation
28
+ - Cultivation must feel like work: meditation scenes with five-sense description, not abstract philosophy lectures
29
+ - Breakthrough scenes show struggle, transformation, and cost — not instant "ding" level-ups
30
+ - Martial integration: cultivation combines with physical combat training, not just sitting and meditating
31
+ - Philosophical elements add depth but must emerge through experience, not exposition
32
+ - Spiritual attribute development: sensitivity to energy, intuition, capacity increases are valid non-numerical progression markers
33
+
34
+ ## Pacing Guidance
35
+
36
+ - Mix detailed training scenes (showing struggle, failure, epiphanies) with montages covering longer periods
37
+ - 1-2 detailed breakthrough scenes per cultivation stage — these are the genre's peak moments
38
+ - Combat tests what was learned in training — progression and action feed each other
39
+ - Internal struggle escalates with power: pride, responsibility, temptation, and enemies grow alongside cultivation
40
+ - Sect/academy politics and mentorship relationships provide non-combat tension
41
+ - Early: frequent small gains. Mid: longer plateaus with harder breakthroughs. Late: rare, climactic stage transitions
42
+ - The journey of cultivation is the story — readers came for the grind, not just the destination
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: Dungeon Core
3
+ id: dungeon-core
4
+ language: en
5
+ chapterTypes: ["Strategy", "Adventurer POV", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: true
8
+ powerScaling: false
9
+ eraResearch: false
10
+ pacingRule: "Alternate dungeon POV (planning/building) with adventurer POV (exploration/combat) every 1-2 chapters. Expansion milestone every 5-8 chapters."
11
+ satisfactionTypes: ["Trap Success", "Floor Expansion", "Minion Evolution", "Adventurer Defeated", "Resource Milestone", "Core Upgrade"]
12
+ auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Dungeon leaving its location — immobility is the core constraint, not a bug
18
+ - No consequence for poor trap design or weak minions — adventurers must punish strategic failure
19
+ - Overemphasis on adventurer POV (>70%) — this is dungeon core, not dungeon crawl
20
+ - Lone-wolf dungeon with zero NPC dialogue or relationships
21
+ - Resource management without scarcity — dungeon must make meaningful choices between defense, expansion, and treasure
22
+ - Dungeon core invulnerable or never at risk — core vulnerability is the central tension
23
+
24
+ ## Non-Human POV Rules
25
+
26
+ - Establish dungeon's sensory and cognitive limitations clearly — it "feels" through mana flows, vibrations, minion senses
27
+ - Split POV works best: dungeon core chapters (strategic, omniscient within dungeon) alternating with adventurer/NPC chapters (ground-level human perspective)
28
+ - Dungeon may think differently: slower consciousness, different time perception, alien emotional range
29
+ - Dungeon learns about the outside world through adventurers, scouts, or other filtered means
30
+ - Show the dungeon learning and adapting: "Adventurers bypassed arrow trap by..." leads to next iteration improvements
31
+
32
+ ## Pacing Guidance
33
+
34
+ - Early: Simple dungeon (3-4 rooms, basic traps, weak monsters). Dungeon learns the system
35
+ - Mid: Expanding territory, specialized rooms, sophisticated trap combinations, creature breeding
36
+ - Late: Sprawling complex, hundreds of minions, political relationships with other dungeons/factions, regional economic impact
37
+ - Dungeon POV chapters (2-3k words): internal monologue, planning, resource management, strategy
38
+ - Adventurer POV chapters (2-3k words): exploration, discovery, combat, adaptation
39
+ - End dungeon chapters on suspense (adventurers approaching); end adventurer chapters revealing dungeon's plan
40
+ - Each room/trap/creature must feel purposeful — readers enjoy creative dungeon design with clear strategic reasoning
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: 恐怖
3
+ id: horror
4
+ chapterTypes: ["氛围章", "事件章", "揭示章", "过渡章", "回收章"]
5
+ fatigueWords: ["毛骨悚然", "不寒而栗", "浑身发冷", "头皮发麻", "鸡皮疙瘩", "心跳加速", "仿佛", "不禁", "宛如", "竟然"]
6
+ numericalSystem: false
7
+ powerScaling: false
8
+ eraResearch: false
9
+ pacingRule: "氛围递进:安全感→微妙不适→确认异常→恐惧升级→高潮→喘息,循环推进"
10
+ satisfactionTypes: ["真相揭示", "成功逃脱", "反杀怪物", "谜团解开", "同伴获救", "规则发现"]
11
+ auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
12
+ ---
13
+
14
+ ## 题材禁忌
15
+
16
+ - 恐怖源头过早完全暴露(未知才恐怖)
17
+ - 主角无脑刚正面解决一切
18
+ - 用打脸/升级等爽文套路替代恐怖氛围
19
+ - 恐怖元素与日常场景割裂(好的恐怖来自日常的扭曲)
20
+ - 角色面对恐怖事件完全不害怕
21
+ - 用大量血腥描写替代心理恐惧
22
+
23
+ ## 恐惧层级
24
+
25
+ - 第一层:不适感(微妙的错位、违和)
26
+ - 第二层:不安(确认有异常,但看不清全貌)
27
+ - 第三层:恐惧(威胁明确化,逃生本能启动)
28
+ - 第四层:绝望(规则被打破,安全感彻底崩塌)
29
+ - 不要跳过层级直达高潮,递进才有力量
30
+
31
+ ## 语言铁律
32
+
33
+ - 恐怖用事实传达,不用情绪标签。✗"他感到一阵恐惧" → ✓"他后颈的汗毛一根根立起来"
34
+ - 禁止过度解释恐怖。异常现象只需呈现,不需叙述者出来总结"这一切都太不正常了"
35
+ - 克制叙事:越恐怖越冷静。句子随恐惧升级而变短,但叙述者语气始终平稳
36
+ - 被淘汰/伤害的配角必须有至少一个暗示其个人故事的细节(书包里的补习班收据、手机壳上的贴纸),让淘汰有重量
37
+
38
+ ## 叙事指导
39
+
40
+ 氛围是第一生产力。用五感细节(声音、气味、温度、触感)建立不安。
41
+ 恐怖来自对未知的恐惧,信息揭示要克制。
42
+ "看不见的"永远比"看见的"更可怕。
43
+
44
+ 角色的恐惧反应必须真实:颤抖、口干、思维混乱、判断力下降。
45
+ 求生本能驱动行为,不是英雄主义。
46
+ 每个安全区都是暂时的,喘息之后是更深的恐惧。
47
+
48
+ 规则感:恐怖世界有自己的规则,发现规则是生存的关键。
49
+ 信息管理:读者知道的和角色知道的之间的差距制造悬念。
50
+ 日常的扭曲比凭空出现的怪物更恐怖。
51
+ 每3章必须打破一次已建立的模式(规则矛盾、可信来源说谎、安全区失效),避免机械重复。
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: Isekai / Portal Fantasy
3
+ id: isekai
4
+ language: en
5
+ chapterTypes: ["Exploration", "Adaptation", "Setup", "Transition", "Payoff", "Combat"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Establish new world rules by chapter 3. Cultural adaptation and fish-out-of-water moments every 2-3 chapters early. Skip tutorial-town syndrome — no 50 pages hitting rats."
11
+ satisfactionTypes: ["World Rule Discovered", "Cultural Clash Resolved", "Real-World Skill Applied", "New Ability Gained", "Relationship Formed", "Identity Established in New World"]
12
+ auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - "Tutorial town" syndrome — 50+ pages of killing rats or low-stakes grinding before the real story starts
18
+ - New world that feels identical to Earth with a fantasy skin
19
+ - MC treating new world's culture as quaint or inferior without narrative consequence
20
+ - No real consequences for cultural misunderstandings — fish-out-of-water must have stakes
21
+ - Pacing too slow in the "culture learning" phase — drip-feed rules through action, not lectures
22
+ - MC's origin world becoming irrelevant after chapter 3 — the contrast is the genre's engine
23
+ - Isekai truck or summoning ritual with zero personality — make the transportation event matter
24
+
25
+ ## World Transition Rules
26
+
27
+ - Transportation event (summoning, reincarnation, portal) must be distinct and memorable
28
+ - Brief real-world grounding: who was MC before? What skills, knowledge, relationships do they carry?
29
+ - Arrival scene: disorientation is real — sensory overload, language barriers, physical discomfort
30
+ - First guide/NPC explains world basics through interaction, not monologue
31
+ - By chapter 3, readers must understand the new world's basic operating system
32
+ - MC's real-world knowledge creates both advantages and dangerous blind spots
33
+ - New world must feel real: consistent geography, politics, cultures, economics — not a game lobby
34
+
35
+ ## Pacing Guidance
36
+
37
+ - Opening: transportation event -> brief real-world grounding -> arrival and disorientation -> first guide -> first concrete goal
38
+ - Early chapters: cultural fish-out-of-water drives comedy and drama (every 2-3 chapters)
39
+ - MC bringing real-world skills that apply in surprising ways is a core satisfaction — seed these early
40
+ - Learning the new world's magic/power system should feel like genuine discovery, not tutorial text
41
+ - Relationship building with new world characters grounds the MC emotionally
42
+ - Clash between home culture and new world values creates natural conflict without needing a villain
43
+ - Mid-to-late story: MC's identity shifts from "outsider" to "participant" — track this arc explicitly
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: LitRPG
3
+ id: litrpg
4
+ language: en
5
+ chapterTypes: ["Progression", "Setup", "Transition", "Payoff", "Combat"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: true
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Every 1-3 chapters early: level-up or stat gain. Mid-story every 5-10 chapters. Late story: tier transitions spaced far apart."
11
+ satisfactionTypes: ["Level Up", "Skill Unlock", "Loot Drop", "Boss Kill", "Tier Breakthrough", "System Secret Revealed"]
12
+ auditDimensions: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - System rules changing arbitrarily after being established — readers track every number
18
+ - Unexplained power jumps — growth must follow established system logic
19
+ - "Blue Box Madness" — stat dumps every chapter or pages-long stat sheets
20
+ - Instant mastery — acquiring a skill and immediately excelling at it
21
+ - Overpowered MC from the start — removes all tension
22
+ - System message overload interrupting action scenes
23
+ - Female characters reduced to "perfect girlfriend" or "sickly daughter" tropes
24
+
25
+ ## System Design Rules
26
+
27
+ - Once stats, skills, and system rules are established, they cannot be contradicted
28
+ - Stat blocks punctuate achievement moments, not routine actions
29
+ - Derivative stats (HP, Mana) must depend logically on primary stats
30
+ - Skill unlocks must feel earned — tied to risk, sacrifice, or problem-solving
31
+ - Same-type resource absorption must show diminishing returns, not flat gains
32
+ - System UI (blue boxes) appears after action/revelation, never mid-combat
33
+ - Give the system a consistent voice/personality — formal, archaic, playful, or clinical
34
+
35
+ ## Pacing Guidance
36
+
37
+ - Chapter length sweet spot: 2.8k-3.5k words depending on stat density
38
+ - Chapter structure: Hook/recap -> Action/exploration -> System interaction/stat gain -> Cliffhanger
39
+ - Early chapters: frequent level-ups to hook readers (every 1-3 chapters)
40
+ - Mid-story: harder gains, every 5-10 chapters; narrative tension rises
41
+ - Late story: tier/rank transitions are rare and climactic
42
+ - Test pacing: Book 3 MC decisively defeats Book 1 version, but challenges never feel trivial
43
+ - Describe stats in narration first (audiobook-friendly), then include stat sheet for detail readers
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: 通用
3
+ id: other
4
+ chapterTypes: ["推进章", "布局章", "过渡章", "回收章"]
5
+ fatigueWords: ["震惊", "不可思议", "难以置信", "深吸一口气", "仿佛", "不禁", "宛如", "竟然"]
6
+ numericalSystem: false
7
+ powerScaling: false
8
+ eraResearch: false
9
+ pacingRule: "每2-3章有一个明确的进展或反馈"
10
+ satisfactionTypes: ["目标达成", "困难克服", "真相揭示", "关系转变"]
11
+ auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
12
+ ---
13
+
14
+ ## 题材禁忌
15
+
16
+ - 无逻辑的巧合推进剧情
17
+ - 配角降智配合主角
18
+ - 无铺垫的高潮
19
+
20
+ ## 叙事指导
21
+
22
+ 根据具体题材调整叙事重心。
23
+ 保持因果逻辑链完整。
24
+ 人物行为由动机驱动,不由剧情需要驱动。
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Progression Fantasy
3
+ id: progression
4
+ language: en
5
+ chapterTypes: ["Training", "Breakthrough", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Tier advancement every 2-4 chapters early, every 8-15 mid-story, every 20+ late-story. Each tier must feel fundamentally different."
11
+ satisfactionTypes: ["Tier Breakthrough", "Technique Mastery", "Rival Surpassed", "Mentor Transcended", "Power Combination Discovered", "Impossible Challenge Overcome"]
12
+ auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Power loss without extraordinary justification — progress loss drives readers away faster than anything
18
+ - Instant power-ups from found items or bloodline awakenings without buildup
19
+ - Training montages only — readers want detailed training scenes showing struggle and epiphany
20
+ - Arbitrary advancement blocks that feel like artificial gates rather than organic difficulty
21
+ - Tier progression that contradicts established power hierarchy
22
+ - Characters at different tiers competing directly without explanation
23
+
24
+ ## Power System Rules
25
+
26
+ - Progress must be quantifiable — even without explicit numbers, use measurable tiers (Stage 3 cultivator, Master swordsman)
27
+ - Clear power tiers with meaningful differences between each (Color, Metal, Letter, or custom)
28
+ - Each tier should represent meaningful power difference — not just cosmetic upgrades
29
+ - Earned growth only — power gains connect to effort, sacrifice, or problem-solving
30
+ - Book-to-book comparison: Book 3 MC decisively defeats Book 1 version
31
+ - Mix training montages (covering weeks) with 1-2 detailed breakthrough scenes per tier
32
+ - Physical transformations can signal tier transitions: eye color, aura, physical presence
33
+
34
+ ## Pacing Guidance
35
+
36
+ - Chapter structure: Training/learning -> Application/testing -> Breakthrough trigger -> Advancement or cliffhanger
37
+ - Maintain tension as MC grows: introduce enemies/challenges that scale differently or present new threat types
38
+ - Internal struggle must escalate with power — new power unlocks pride, responsibility, temptation, enemies
39
+ - Strongest threats need not be physical: political, magical, spiritual, temporal
40
+ - Early: MC is underdog among peers. Mid: MC formidable but others advance too. Late: MC among strongest but faces tier-transcending threats
41
+ - Rivalry with a peer who also progresses keeps tension alive across the full arc
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: Romantasy
3
+ id: romantasy
4
+ language: en
5
+ chapterTypes: ["Romance", "Action", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: false
9
+ eraResearch: false
10
+ pacingRule: "Romance beats at every act break. Chemistry scenes every 2-3 chapters. Fantasy romance: consummation at 60-75%. Romantic fantasy: romance resolution aligned with plot resolution."
11
+ satisfactionTypes: ["Chemistry Moment", "Vulnerability Shared", "Obstacle Overcome Together", "First Kiss", "Relationship Defined", "HEA/HFN Achieved"]
12
+ auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Chemistry that isn't earned — readers must understand why characters care for each other
18
+ - Love interest who doesn't drive protagonist's transformation
19
+ - Easy romance without real conflict — tension is mandatory
20
+ - Fantasy romance without HEA/HFN ending — readers feel betrayed
21
+ - Mislabeling heat level — communicate clearly in story setup; readers self-select
22
+ - World-building that feels like afterthought to romance — setting must complicate or enable the relationship
23
+ - Love triangles dragged out without decisive resolution
24
+ - "Tell" emotions instead of showing them — inner feelings shown through action, not declaration
25
+
26
+ ## Romance Rules
27
+
28
+ - Show attraction subtly: physical detail notices, lingering touches, involuntary reactions (heartbeat, breath catching)
29
+ - Banter and wit: clever dialogue showing mutual understanding and intellectual challenge
30
+ - Vulnerability moments: characters sharing weakness, fear, secrets, past trauma
31
+ - Shared goals reveal compatibility: working together toward a goal shows how the partner handles conflict
32
+ - Conflict must be real — external barriers (class, species, faction, magic) or internal barriers (fear, trust, past wounds)
33
+ - Fantasy setting complicates romance: magic bonds, soul connections, species differences, political marriages
34
+ - Action scenes show relationship dynamics — fighting together reveals trust and compatibility
35
+ - Heat level must be consistent throughout — don't escalate or pull back without narrative reason
36
+
37
+ ## Pacing Guidance
38
+
39
+ - Fantasy romance: heavy romance focus early, building to consummation around 60-75%, resolution after romance established
40
+ - Romantic fantasy: romance subplot woven through action plot, key romantic moments at act breaks, romance resolution aligned with plot resolution
41
+ - Chemistry scenes every 2-3 chapters minimum — readers came for the relationship
42
+ - Sexual tension can heighten during/after action (adrenaline, relief, protective instincts)
43
+ - Break up long dialogue-heavy romance scenes with physical action or setting detail
44
+ - Enemies-to-lovers needs slow burn: opposition -> forced proximity -> grudging respect -> attraction -> surrender
45
+ - Second-chance romance: history adds depth and pain; show how characters have changed
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: Science Fiction
3
+ id: sci-fi
4
+ language: en
5
+ chapterTypes: ["Exploration", "Combat", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: false
9
+ eraResearch: true
10
+ pacingRule: "Worldbuilding emerges through action, not exposition. Tech reveals tied to plot-critical moments. Political/exploration arcs alternate with action every 2-4 chapters."
11
+ satisfactionTypes: ["Discovery", "Tech Breakthrough", "Political Victory", "First Contact", "Mystery Solved", "Survival Against Odds"]
12
+ auditDimensions: [1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Tech rules changing to serve plot convenience — once physics/tech is established, it must stay consistent
18
+ - Technology solving everything — every tech must have limitations; introduce problems tech cannot fix (corruption, emotion, human greed)
19
+ - Info-dumping science/tech explanations outside of plot-critical moments
20
+ - Ignoring logical consequences of technology — FTL, AI, biotech all have societal implications
21
+ - Hand-waving hard-science concepts in hard sci-fi without clear intent to treat science as soft
22
+ - Characters behaving as if from present day when story is set centuries ahead — cultural/linguistic adaptation matters
23
+
24
+ ## Tech Consistency Rules
25
+
26
+ - Every technology must have defined limitations and side effects
27
+ - New technologies create new problems — they don't just solve old ones
28
+ - If the story uses FTL, hyperdrives, or teleportation, establish rules and stick to them
29
+ - Hard sci-fi: explain the science, make it plausible, build consequences. Readers will check
30
+ - Space opera: science can be soft, but internal rules must be consistent across the narrative
31
+ - Show technology through character interaction, not textbook entries
32
+ - Era research required: reference real science correctly, extrapolate plausibly
33
+
34
+ ## Pacing Guidance
35
+
36
+ - Hard sci-fi: logical problem-solving drives pacing — each chapter should advance understanding or create new constraints
37
+ - Space opera: epic scale requires political/interpersonal arcs between action sequences
38
+ - Exploration chapters establish wonder and worldbuilding through character experience
39
+ - Political complexity: factions with competing interests, diplomacy alongside combat
40
+ - Tech reveals at plot-critical moments only — never dump specs for their own sake
41
+ - Action scenes grounded in established physics/tech rules — no surprise capabilities
42
+ - Settings spanning star systems need clear spatial orientation for readers
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: System Apocalypse
3
+ id: system-apocalypse
4
+ language: en
5
+ chapterTypes: ["Survival", "Combat", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: true
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Early (ch 1-15): survival pressure every chapter. Mid (ch 15-50): power-up + faction politics every 3-5 chapters. Late: expansion and existential threats."
11
+ satisfactionTypes: ["Survival Against Odds", "Level Up", "Territory Claimed", "Faction Victory", "System Secret Revealed", "Societal Rebuild Milestone"]
12
+ auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Day Zero that doesn't permanently change the world — no reverting to normal
18
+ - Early chapters without genuine survival danger — readers demand real stakes from page one
19
+ - System arrival with no in-world explanation (even a vague one)
20
+ - Ignoring real-world geography and consequences when set on Earth
21
+ - Factions that are binary good/evil — competing interests, not cartoon villainy
22
+ - MC becoming unstoppable too fast — power fantasy must be earned through survival
23
+ - Tech usage without addressing fuel, ammo, and infrastructure collapse
24
+
25
+ ## World Rules
26
+
27
+ - Day Zero must establish in chapters 1-3: how a normal person reacts, first death or near-death, and that old rules are gone
28
+ - Infrastructure failure is real: food, water, electricity, medicine stop working
29
+ - Resource scarcity drives conflict: water, ammunition, medical supplies, safe shelter
30
+ - Factions form quickly: government remnants, criminal networks, cults, survival communities, warlords
31
+ - Real-world grounding: name real locations, acknowledge real infrastructure, maintain daylight cycles and weather
32
+ - System mechanics integrate logically — show why old-world tech fails or doesn't in a magical world
33
+
34
+ ## Pacing Guidance
35
+
36
+ - Early (ch 1-15): Survival, confusion, learning system. MC is weak, struggles with low-tier threats. Shorter chapters (2-3k words)
37
+ - Mid (ch 15-50): Growing stronger, claiming territory, faction politics. Power fantasy increases; survival becomes strategic
38
+ - Late: Expansion, faction wars, world-scale threats. MC powerful but not unstoppable; challenges are existential/political
39
+ - Introduce new threat types as MC grows — defeating zombies leads to intelligent predators, rival factions, interdimensional invasions
40
+ - Balance survival pressure with power progression — desperation early, strategy mid, leadership late
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Tower Climbing
3
+ id: tower-climber
4
+ language: en
5
+ chapterTypes: ["Floor Challenge", "Progression", "Setup", "Transition", "Payoff"]
6
+ fatigueWords: ["delve", "tapestry", "testament", "intricate", "pivotal", "vibrant", "comprehensive", "nuanced", "embark", "foster", "underscore", "bolstered", "crucial"]
7
+ numericalSystem: false
8
+ powerScaling: true
9
+ eraResearch: false
10
+ pacingRule: "Each floor arc spans 3-8 chapters: introduction, exploration, confrontation, advancement. Difficulty must escalate visibly between floors."
11
+ satisfactionTypes: ["Floor Cleared", "Boss Defeated", "New Ability Gained", "Floor Secret Discovered", "Rival Surpassed", "Summit Progress"]
12
+ auditDimensions: [1,2,3,4,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]
13
+ ---
14
+
15
+ ## Genre Prohibitions
16
+
17
+ - Floors that are cosmetic reskins of each other — each floor must present materially different challenges
18
+ - Floor difficulty that doesn't escalate predictably — readers must understand power requirements
19
+ - No clear summit goal — readers need to know what success at the top looks like
20
+ - Horizontal progression (going sideways) instead of vertical climbing
21
+ - Skipping floors without earned justification
22
+ - Boss fights that are won through deus ex machina instead of preparation and growth
23
+
24
+ ## Floor Design Rules
25
+
26
+ - Each floor must introduce a distinct biome, challenge type, or rule set
27
+ - Floor transitions are natural progression checkpoints — use them for stat gains, ability unlocks, or narrative reveals
28
+ - Environmental detail matters: readers experience each floor as a new world
29
+ - Floor bosses or trials must test something the climber learned on that floor
30
+ - Difficulty tiers should be transparent to readers — they should anticipate what the next floor demands
31
+ - Allow brief rest/preparation between floors for character moments and strategic planning
32
+
33
+ ## Pacing Guidance
34
+
35
+ - Floor introduction: establish new environment, threats, and rules (1-2 chapters)
36
+ - Exploration and problem-solving: MC adapts to floor's unique challenges (1-3 chapters)
37
+ - Confrontation: floor boss, puzzle, or trial that tests everything learned (1-2 chapters)
38
+ - Advancement: reward, brief respite, foreshadowing of next floor (0.5-1 chapter)
39
+ - Early floors move fast (2-3 chapters each) to hook readers with progression
40
+ - Later floors slow down (5-8 chapters) as complexity and stakes increase
41
+ - The summit should feel like a destination worth the climb — seed hints about what awaits throughout
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: 都市
3
+ id: urban
4
+ chapterTypes: ["商战章", "社交章", "布局章", "过渡章", "回收章"]
5
+ fatigueWords: ["冷笑", "不可思议", "震惊", "难以置信", "深吸一口气", "眼中闪过一丝", "仿佛", "不禁", "宛如", "竟然", "核心动机", "信息边界"]
6
+ numericalSystem: false
7
+ powerScaling: false
8
+ eraResearch: true
9
+ pacingRule: "每2-3章一个小回报:商业收益、人脉拓展、对手受挫、信息优势"
10
+ satisfactionTypes: ["商战碾压", "身份揭示", "人脉兑现", "对手打脸", "资源收割", "地位跃升"]
11
+ auditDimensions: [1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,24,25,26]
12
+ ---
13
+
14
+ ## 题材禁忌
15
+
16
+ - 无逻辑的商业奇迹(没有铺垫的暴富)
17
+ - 反派降智配合主角表演
18
+ - 无视现实法律和商业规则
19
+ - 用"一个电话搞定"跳过具体操作过程
20
+ - 女性角色沦为花瓶或奖励
21
+ - 混入玄幻/仙侠战力体系
22
+
23
+ ## 年代与现实约束
24
+
25
+ - 涉及法律、政策、商业规则必须符合设定年代
26
+ - 金融操作、公司运营必须有基本可信度
27
+ - 人物身份、职位、权限不能超出现实合理范围
28
+ - 地名、机构名、行业术语必须准确
29
+ - 物价、收入、生活水平符合时代设定
30
+
31
+ ## 语言铁律
32
+
33
+ - 人物内心独白必须口语化、直觉化,禁止商业分析/博弈论术语渗入叙事
34
+ - ✗"他迅速分析了当前的债务状况" → ✓"他把那叠皱巴巴的白条翻了三遍"
35
+ - ✗"信息落差就在这儿" → ✓"他们不知道的,他知道"
36
+ - ✗"以这种人的性格,这时候不会撕破脸" → ✓直接写对方的行为反应
37
+ - 法律/商业术语必须匹配设定年代的真实语感:2003年民间借条不会写"逾期处置授权",而是"到期没还,房子归乙方处理"
38
+ - 主角的判断通过行动和对话体现,不通过上帝视角的分析段落
39
+
40
+ ## 叙事指导
41
+
42
+ 以商战、社交博弈和信息差驱动剧情。
43
+ 权力来自人脉、资本、信息和制度位置,不来自武力。
44
+ 冲突解决靠谈判、交易、威慑、法律手段和利益交换。
45
+
46
+ 钱权必须落地,通过物、势、地位变化和小人物反应兑现爽点。
47
+ 人物关系网是核心资产,每次社交互动都应有利益计算。
48
+ 主角需要保留非功能性时刻:思考、犹豫、社交润滑。
49
+ 主角不是全知全能,必须在前5章内至少出现一次判断失误或信息偏差。
50
+
51
+ 时代厚重感、人情债与制度摩擦是都市文的灵魂。
52
+ 用场面、气味、动作、交易、压迫感切入,不要历史课件式开头。
53
+ 嵌入1-2个时代锚点(物价、新闻事件、流行用语)增强年代沉浸感。
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: 仙侠
3
+ id: xianxia
4
+ chapterTypes: ["战斗章", "悟道章", "布局章", "过渡章", "回收章"]
5
+ fatigueWords: ["冷笑", "蝼蚁", "倒吸凉气", "瞳孔骤缩", "天道", "大道", "因果", "气运", "仿佛", "不禁", "宛如", "竟然"]
6
+ numericalSystem: true
7
+ powerScaling: true
8
+ eraResearch: false
9
+ pacingRule: "修炼/悟道与战斗交替,每3-5章一次小突破或关键收获"
10
+ satisfactionTypes: ["悟道突破", "斗法碾压", "法宝收获", "身份揭示", "天劫渡过", "因果了结"]
11
+ auditDimensions: [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]
12
+ ---
13
+
14
+ ## 题材禁忌
15
+
16
+ - 主角为推剧情突然仁慈、犯蠢
17
+ - 修为无铺垫跳跃式突破
18
+ - 法宝凭空出现解决危机
19
+ - 天道规则前后矛盾
20
+ - 用"大道无形""天道感应"跳过具体修炼过程
21
+ - 同质资源不写衰减默认全额结算
22
+ - 风格混入都市腔、游戏系统播报腔
23
+
24
+ ## 修炼规则
25
+
26
+ - 境界突破必须有积累过程:悟道、丹药、战斗领悟、机缘
27
+ - 同质资源重复炼化必须写明衰减
28
+ - 法宝体系分品级,使用有代价(灵力、寿元、因果)
29
+ - 金手指/功法四维约束:
30
+ - 能力上限:有明确的境界/品阶天花板
31
+ - 附加代价:修炼/使用伴随代价(寿元、因果、心魔)
32
+ - 触发条件:突破/觉醒需要特定条件(悟道、机缘、天劫)
33
+ - 成长路径:功法随修为递进,不可跳阶获得
34
+ - 天道规则一旦设定不可违反,除非有明确的特殊机制
35
+ - 期初修为/资源从账本取,增量逐笔列出
36
+ - 跨大境界突破需要天劫或特殊条件
37
+
38
+ ## 叙事指导
39
+
40
+ 修炼与悟道是叙事核心,但必须融入剧情而非独立说教。
41
+ 悟道场景用五感描写,不用抽象哲理灌输。
42
+ 仙侠世界的规则感要强:因果、天劫、气运都是叙事工具。
43
+
44
+ 人情债与道义约束是仙侠特有的驱动力。
45
+ 门派政治、宗门博弈是重要的布局手段。
46
+ 战斗以法术、法宝、阵法为核心,注重空间感和规模感。