@kienmatu/inkos-core 0.1.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.
- package/LICENSE +661 -0
- package/dist/agent/agent-session.d.ts +100 -0
- package/dist/agent/agent-session.d.ts.map +1 -0
- package/dist/agent/agent-session.js +1102 -0
- package/dist/agent/agent-session.js.map +1 -0
- package/dist/agent/agent-system-prompt.d.ts +12 -0
- package/dist/agent/agent-system-prompt.d.ts.map +1 -0
- package/dist/agent/agent-system-prompt.js +596 -0
- package/dist/agent/agent-system-prompt.js.map +1 -0
- package/dist/agent/agent-tools.d.ts +508 -0
- package/dist/agent/agent-tools.d.ts.map +1 -0
- package/dist/agent/agent-tools.js +3083 -0
- package/dist/agent/agent-tools.js.map +1 -0
- package/dist/agent/chapter-import-source.d.ts +16 -0
- package/dist/agent/chapter-import-source.d.ts.map +1 -0
- package/dist/agent/chapter-import-source.js +48 -0
- package/dist/agent/chapter-import-source.js.map +1 -0
- package/dist/agent/context-transform.d.ts +13 -0
- package/dist/agent/context-transform.d.ts.map +1 -0
- package/dist/agent/context-transform.js +183 -0
- package/dist/agent/context-transform.js.map +1 -0
- package/dist/agent/film-authoring-tools.d.ts +98 -0
- package/dist/agent/film-authoring-tools.d.ts.map +1 -0
- package/dist/agent/film-authoring-tools.js +405 -0
- package/dist/agent/film-authoring-tools.js.map +1 -0
- package/dist/agent/forecast-tools.d.ts +22 -0
- package/dist/agent/forecast-tools.d.ts.map +1 -0
- package/dist/agent/forecast-tools.js +153 -0
- package/dist/agent/forecast-tools.js.map +1 -0
- package/dist/agent/index.d.ts +8 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +8 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/llm-stub.d.ts +19 -0
- package/dist/agent/llm-stub.d.ts.map +1 -0
- package/dist/agent/llm-stub.js +134 -0
- package/dist/agent/llm-stub.js.map +1 -0
- package/dist/agent/pi-stream.d.ts +8 -0
- package/dist/agent/pi-stream.d.ts.map +1 -0
- package/dist/agent/pi-stream.js +31 -0
- package/dist/agent/pi-stream.js.map +1 -0
- package/dist/agent/skill-tool.d.ts +42 -0
- package/dist/agent/skill-tool.d.ts.map +1 -0
- package/dist/agent/skill-tool.js +279 -0
- package/dist/agent/skill-tool.js.map +1 -0
- package/dist/agent/worker-agent.d.ts +24 -0
- package/dist/agent/worker-agent.d.ts.map +1 -0
- package/dist/agent/worker-agent.js +288 -0
- package/dist/agent/worker-agent.js.map +1 -0
- package/dist/agents/ai-tells.d.ts +26 -0
- package/dist/agents/ai-tells.d.ts.map +1 -0
- package/dist/agents/ai-tells.js +140 -0
- package/dist/agents/ai-tells.js.map +1 -0
- package/dist/agents/architect.d.ts +78 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +1184 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/base.d.ts +42 -0
- package/dist/agents/base.d.ts.map +1 -0
- package/dist/agents/base.js +123 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/chapter-analyzer.d.ts +30 -0
- package/dist/agents/chapter-analyzer.d.ts.map +1 -0
- package/dist/agents/chapter-analyzer.js +509 -0
- package/dist/agents/chapter-analyzer.js.map +1 -0
- package/dist/agents/composer.d.ts +67 -0
- package/dist/agents/composer.d.ts.map +1 -0
- package/dist/agents/composer.js +936 -0
- package/dist/agents/composer.js.map +1 -0
- package/dist/agents/consolidator.d.ts +39 -0
- package/dist/agents/consolidator.d.ts.map +1 -0
- package/dist/agents/consolidator.js +179 -0
- package/dist/agents/consolidator.js.map +1 -0
- package/dist/agents/continuity.d.ts +45 -0
- package/dist/agents/continuity.d.ts.map +1 -0
- package/dist/agents/continuity.js +722 -0
- package/dist/agents/continuity.js.map +1 -0
- package/dist/agents/detection-insights.d.ts +9 -0
- package/dist/agents/detection-insights.d.ts.map +1 -0
- package/dist/agents/detection-insights.js +54 -0
- package/dist/agents/detection-insights.js.map +1 -0
- package/dist/agents/detector.d.ts +17 -0
- package/dist/agents/detector.d.ts.map +1 -0
- package/dist/agents/detector.js +77 -0
- package/dist/agents/detector.js.map +1 -0
- package/dist/agents/en-prompt-sections.d.ts +4 -0
- package/dist/agents/en-prompt-sections.d.ts.map +1 -0
- package/dist/agents/en-prompt-sections.js +9 -0
- package/dist/agents/en-prompt-sections.js.map +1 -0
- package/dist/agents/fanfic-canon-importer.d.ts +16 -0
- package/dist/agents/fanfic-canon-importer.d.ts.map +1 -0
- package/dist/agents/fanfic-canon-importer.js +164 -0
- package/dist/agents/fanfic-canon-importer.js.map +1 -0
- package/dist/agents/fanfic-dimensions.d.ts +14 -0
- package/dist/agents/fanfic-dimensions.d.ts.map +1 -0
- package/dist/agents/fanfic-dimensions.js +63 -0
- package/dist/agents/fanfic-dimensions.js.map +1 -0
- package/dist/agents/fanfic-prompt-sections.d.ts +5 -0
- package/dist/agents/fanfic-prompt-sections.d.ts.map +1 -0
- package/dist/agents/fanfic-prompt-sections.js +85 -0
- package/dist/agents/fanfic-prompt-sections.js.map +1 -0
- package/dist/agents/foundation-reviewer.d.ts +34 -0
- package/dist/agents/foundation-reviewer.d.ts.map +1 -0
- package/dist/agents/foundation-reviewer.js +174 -0
- package/dist/agents/foundation-reviewer.js.map +1 -0
- package/dist/agents/observer-prompts.d.ts +10 -0
- package/dist/agents/observer-prompts.d.ts.map +1 -0
- package/dist/agents/observer-prompts.js +113 -0
- package/dist/agents/observer-prompts.js.map +1 -0
- package/dist/agents/planner-context.d.ts +53 -0
- package/dist/agents/planner-context.d.ts.map +1 -0
- package/dist/agents/planner-context.js +238 -0
- package/dist/agents/planner-context.js.map +1 -0
- package/dist/agents/planner-prompts.d.ts +45 -0
- package/dist/agents/planner-prompts.d.ts.map +1 -0
- package/dist/agents/planner-prompts.js +391 -0
- package/dist/agents/planner-prompts.js.map +1 -0
- package/dist/agents/planner.d.ts +90 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/planner.js +715 -0
- package/dist/agents/planner.js.map +1 -0
- package/dist/agents/polisher.d.ts +33 -0
- package/dist/agents/polisher.d.ts.map +1 -0
- package/dist/agents/polisher.js +122 -0
- package/dist/agents/polisher.js.map +1 -0
- package/dist/agents/post-write-validator.d.ts +35 -0
- package/dist/agents/post-write-validator.d.ts.map +1 -0
- package/dist/agents/post-write-validator.js +758 -0
- package/dist/agents/post-write-validator.js.map +1 -0
- package/dist/agents/radar-source.d.ts +38 -0
- package/dist/agents/radar-source.d.ts.map +1 -0
- package/dist/agents/radar-source.js +92 -0
- package/dist/agents/radar-source.js.map +1 -0
- package/dist/agents/radar.d.ts +24 -0
- package/dist/agents/radar.d.ts.map +1 -0
- package/dist/agents/radar.js +85 -0
- package/dist/agents/radar.js.map +1 -0
- package/dist/agents/researcher.d.ts +38 -0
- package/dist/agents/researcher.d.ts.map +1 -0
- package/dist/agents/researcher.js +164 -0
- package/dist/agents/researcher.js.map +1 -0
- package/dist/agents/reviser.d.ts +35 -0
- package/dist/agents/reviser.d.ts.map +1 -0
- package/dist/agents/reviser.js +496 -0
- package/dist/agents/reviser.js.map +1 -0
- package/dist/agents/rules-reader.d.ts +32 -0
- package/dist/agents/rules-reader.d.ts.map +1 -0
- package/dist/agents/rules-reader.js +129 -0
- package/dist/agents/rules-reader.js.map +1 -0
- package/dist/agents/script-storyboard.d.ts +66 -0
- package/dist/agents/script-storyboard.d.ts.map +1 -0
- package/dist/agents/script-storyboard.js +657 -0
- package/dist/agents/script-storyboard.js.map +1 -0
- package/dist/agents/sensitive-words.d.ts +24 -0
- package/dist/agents/sensitive-words.d.ts.map +1 -0
- package/dist/agents/sensitive-words.js +103 -0
- package/dist/agents/sensitive-words.js.map +1 -0
- package/dist/agents/settler-delta-parser.d.ts +7 -0
- package/dist/agents/settler-delta-parser.d.ts.map +1 -0
- package/dist/agents/settler-delta-parser.js +40 -0
- package/dist/agents/settler-delta-parser.js.map +1 -0
- package/dist/agents/settler-parser.d.ts +13 -0
- package/dist/agents/settler-parser.d.ts.map +1 -0
- package/dist/agents/settler-parser.js +20 -0
- package/dist/agents/settler-parser.js.map +1 -0
- package/dist/agents/settler-prompts.d.ts +22 -0
- package/dist/agents/settler-prompts.d.ts.map +1 -0
- package/dist/agents/settler-prompts.js +195 -0
- package/dist/agents/settler-prompts.js.map +1 -0
- package/dist/agents/short-fiction.d.ts +120 -0
- package/dist/agents/short-fiction.d.ts.map +1 -0
- package/dist/agents/short-fiction.js +353 -0
- package/dist/agents/short-fiction.js.map +1 -0
- package/dist/agents/state-validator.d.ts +33 -0
- package/dist/agents/state-validator.d.ts.map +1 -0
- package/dist/agents/state-validator.js +262 -0
- package/dist/agents/state-validator.js.map +1 -0
- package/dist/agents/style-analyzer.d.ts +11 -0
- package/dist/agents/style-analyzer.d.ts.map +1 -0
- package/dist/agents/style-analyzer.js +98 -0
- package/dist/agents/style-analyzer.js.map +1 -0
- package/dist/agents/writer-parser.d.ts +17 -0
- package/dist/agents/writer-parser.d.ts.map +1 -0
- package/dist/agents/writer-parser.js +131 -0
- package/dist/agents/writer-parser.js.map +1 -0
- package/dist/agents/writer-prompts.d.ts +12 -0
- package/dist/agents/writer-prompts.d.ts.map +1 -0
- package/dist/agents/writer-prompts.js +495 -0
- package/dist/agents/writer-prompts.js.map +1 -0
- package/dist/agents/writer.d.ts +102 -0
- package/dist/agents/writer.d.ts.map +1 -0
- package/dist/agents/writer.js +882 -0
- package/dist/agents/writer.js.map +1 -0
- package/dist/forecast/agent.d.ts +22 -0
- package/dist/forecast/agent.d.ts.map +1 -0
- package/dist/forecast/agent.js +48 -0
- package/dist/forecast/agent.js.map +1 -0
- package/dist/forecast/context-builder.d.ts +35 -0
- package/dist/forecast/context-builder.d.ts.map +1 -0
- package/dist/forecast/context-builder.js +214 -0
- package/dist/forecast/context-builder.js.map +1 -0
- package/dist/forecast/prompts.d.ts +12 -0
- package/dist/forecast/prompts.d.ts.map +1 -0
- package/dist/forecast/prompts.js +114 -0
- package/dist/forecast/prompts.js.map +1 -0
- package/dist/forecast/render.d.ts +9 -0
- package/dist/forecast/render.d.ts.map +1 -0
- package/dist/forecast/render.js +154 -0
- package/dist/forecast/render.js.map +1 -0
- package/dist/forecast/runner.d.ts +51 -0
- package/dist/forecast/runner.d.ts.map +1 -0
- package/dist/forecast/runner.js +115 -0
- package/dist/forecast/runner.js.map +1 -0
- package/dist/forecast/schema.d.ts +767 -0
- package/dist/forecast/schema.d.ts.map +1 -0
- package/dist/forecast/schema.js +115 -0
- package/dist/forecast/schema.js.map +1 -0
- package/dist/forecast/store.d.ts +32 -0
- package/dist/forecast/store.d.ts.map +1 -0
- package/dist/forecast/store.js +129 -0
- package/dist/forecast/store.js.map +1 -0
- package/dist/index.d.ts +160 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +172 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/action-envelope.d.ts +1493 -0
- package/dist/interaction/action-envelope.d.ts.map +1 -0
- package/dist/interaction/action-envelope.js +257 -0
- package/dist/interaction/action-envelope.js.map +1 -0
- package/dist/interaction/book-session-store.d.ts +29 -0
- package/dist/interaction/book-session-store.d.ts.map +1 -0
- package/dist/interaction/book-session-store.js +185 -0
- package/dist/interaction/book-session-store.js.map +1 -0
- package/dist/interaction/draft-directive-parser.d.ts +38 -0
- package/dist/interaction/draft-directive-parser.d.ts.map +1 -0
- package/dist/interaction/draft-directive-parser.js +208 -0
- package/dist/interaction/draft-directive-parser.js.map +1 -0
- package/dist/interaction/edit-controller.d.ts +62 -0
- package/dist/interaction/edit-controller.d.ts.map +1 -0
- package/dist/interaction/edit-controller.js +381 -0
- package/dist/interaction/edit-controller.js.map +1 -0
- package/dist/interaction/events.d.ts +45 -0
- package/dist/interaction/events.d.ts.map +1 -0
- package/dist/interaction/events.js +32 -0
- package/dist/interaction/events.js.map +1 -0
- package/dist/interaction/export-artifact.d.ts +32 -0
- package/dist/interaction/export-artifact.d.ts.map +1 -0
- package/dist/interaction/export-artifact.js +103 -0
- package/dist/interaction/export-artifact.js.map +1 -0
- package/dist/interaction/intents.d.ts +99 -0
- package/dist/interaction/intents.d.ts.map +1 -0
- package/dist/interaction/intents.js +59 -0
- package/dist/interaction/intents.js.map +1 -0
- package/dist/interaction/modes.d.ts +5 -0
- package/dist/interaction/modes.d.ts.map +1 -0
- package/dist/interaction/modes.js +7 -0
- package/dist/interaction/modes.js.map +1 -0
- package/dist/interaction/project-control.d.ts +45 -0
- package/dist/interaction/project-control.d.ts.map +1 -0
- package/dist/interaction/project-control.js +71 -0
- package/dist/interaction/project-control.js.map +1 -0
- package/dist/interaction/project-session-store.d.ts +9 -0
- package/dist/interaction/project-session-store.d.ts.map +1 -0
- package/dist/interaction/project-session-store.js +64 -0
- package/dist/interaction/project-session-store.js.map +1 -0
- package/dist/interaction/project-tools.d.ts +23 -0
- package/dist/interaction/project-tools.d.ts.map +1 -0
- package/dist/interaction/project-tools.js +408 -0
- package/dist/interaction/project-tools.js.map +1 -0
- package/dist/interaction/request-router.d.ts +3 -0
- package/dist/interaction/request-router.d.ts.map +1 -0
- package/dist/interaction/request-router.js +5 -0
- package/dist/interaction/request-router.js.map +1 -0
- package/dist/interaction/runtime.d.ts +54 -0
- package/dist/interaction/runtime.d.ts.map +1 -0
- package/dist/interaction/runtime.js +919 -0
- package/dist/interaction/runtime.js.map +1 -0
- package/dist/interaction/session-transcript-legacy.d.ts +4 -0
- package/dist/interaction/session-transcript-legacy.d.ts.map +1 -0
- package/dist/interaction/session-transcript-legacy.js +102 -0
- package/dist/interaction/session-transcript-legacy.js.map +1 -0
- package/dist/interaction/session-transcript-restore.d.ts +18 -0
- package/dist/interaction/session-transcript-restore.d.ts.map +1 -0
- package/dist/interaction/session-transcript-restore.js +746 -0
- package/dist/interaction/session-transcript-restore.js.map +1 -0
- package/dist/interaction/session-transcript-schema.d.ts +435 -0
- package/dist/interaction/session-transcript-schema.d.ts.map +1 -0
- package/dist/interaction/session-transcript-schema.js +65 -0
- package/dist/interaction/session-transcript-schema.js.map +1 -0
- package/dist/interaction/session-transcript.d.ts +21 -0
- package/dist/interaction/session-transcript.d.ts.map +1 -0
- package/dist/interaction/session-transcript.js +164 -0
- package/dist/interaction/session-transcript.js.map +1 -0
- package/dist/interaction/session.d.ts +1194 -0
- package/dist/interaction/session.d.ts.map +1 -0
- package/dist/interaction/session.js +194 -0
- package/dist/interaction/session.js.map +1 -0
- package/dist/interaction/truth-authority.d.ts +4 -0
- package/dist/interaction/truth-authority.d.ts.map +1 -0
- package/dist/interaction/truth-authority.js +37 -0
- package/dist/interaction/truth-authority.js.map +1 -0
- package/dist/interactive-film/authoring-store.d.ts +35 -0
- package/dist/interactive-film/authoring-store.d.ts.map +1 -0
- package/dist/interactive-film/authoring-store.js +114 -0
- package/dist/interactive-film/authoring-store.js.map +1 -0
- package/dist/interactive-film/authoring-tools.d.ts +9 -0
- package/dist/interactive-film/authoring-tools.d.ts.map +1 -0
- package/dist/interactive-film/authoring-tools.js +19 -0
- package/dist/interactive-film/authoring-tools.js.map +1 -0
- package/dist/interactive-film/delta.d.ts +591 -0
- package/dist/interactive-film/delta.d.ts.map +1 -0
- package/dist/interactive-film/delta.js +54 -0
- package/dist/interactive-film/delta.js.map +1 -0
- package/dist/interactive-film/emotion.d.ts +20 -0
- package/dist/interactive-film/emotion.d.ts.map +1 -0
- package/dist/interactive-film/emotion.js +57 -0
- package/dist/interactive-film/emotion.js.map +1 -0
- package/dist/interactive-film/evaluator.d.ts +7 -0
- package/dist/interactive-film/evaluator.d.ts.map +1 -0
- package/dist/interactive-film/evaluator.js +40 -0
- package/dist/interactive-film/evaluator.js.map +1 -0
- package/dist/interactive-film/export-html.d.ts +6 -0
- package/dist/interactive-film/export-html.d.ts.map +1 -0
- package/dist/interactive-film/export-html.js +84 -0
- package/dist/interactive-film/export-html.js.map +1 -0
- package/dist/interactive-film/export-ink.d.ts +3 -0
- package/dist/interactive-film/export-ink.d.ts.map +1 -0
- package/dist/interactive-film/export-ink.js +51 -0
- package/dist/interactive-film/export-ink.js.map +1 -0
- package/dist/interactive-film/film-context.d.ts +4 -0
- package/dist/interactive-film/film-context.d.ts.map +1 -0
- package/dist/interactive-film/film-context.js +30 -0
- package/dist/interactive-film/film-context.js.map +1 -0
- package/dist/interactive-film/generate.d.ts +15 -0
- package/dist/interactive-film/generate.d.ts.map +1 -0
- package/dist/interactive-film/generate.js +51 -0
- package/dist/interactive-film/generate.js.map +1 -0
- package/dist/interactive-film/graph-schema.d.ts +819 -0
- package/dist/interactive-film/graph-schema.d.ts.map +1 -0
- package/dist/interactive-film/graph-schema.js +84 -0
- package/dist/interactive-film/graph-schema.js.map +1 -0
- package/dist/interactive-film/graph-store.d.ts +5 -0
- package/dist/interactive-film/graph-store.d.ts.map +1 -0
- package/dist/interactive-film/graph-store.js +24 -0
- package/dist/interactive-film/graph-store.js.map +1 -0
- package/dist/interactive-film/memory-link.d.ts +9 -0
- package/dist/interactive-film/memory-link.d.ts.map +1 -0
- package/dist/interactive-film/memory-link.js +15 -0
- package/dist/interactive-film/memory-link.js.map +1 -0
- package/dist/interactive-film/node-image.d.ts +29 -0
- package/dist/interactive-film/node-image.d.ts.map +1 -0
- package/dist/interactive-film/node-image.js +52 -0
- package/dist/interactive-film/node-image.js.map +1 -0
- package/dist/interactive-film/paths.d.ts +14 -0
- package/dist/interactive-film/paths.d.ts.map +1 -0
- package/dist/interactive-film/paths.js +60 -0
- package/dist/interactive-film/paths.js.map +1 -0
- package/dist/interactive-film/tool-schemas.d.ts +182 -0
- package/dist/interactive-film/tool-schemas.d.ts.map +1 -0
- package/dist/interactive-film/tool-schemas.js +125 -0
- package/dist/interactive-film/tool-schemas.js.map +1 -0
- package/dist/interactive-film/validation.d.ts +14 -0
- package/dist/interactive-film/validation.d.ts.map +1 -0
- package/dist/interactive-film/validation.js +292 -0
- package/dist/interactive-film/validation.js.map +1 -0
- package/dist/llm/agent-trajectory.d.ts +27 -0
- package/dist/llm/agent-trajectory.d.ts.map +1 -0
- package/dist/llm/agent-trajectory.js +74 -0
- package/dist/llm/agent-trajectory.js.map +1 -0
- package/dist/llm/config-migration.d.ts +5 -0
- package/dist/llm/config-migration.d.ts.map +1 -0
- package/dist/llm/config-migration.js +51 -0
- package/dist/llm/config-migration.js.map +1 -0
- package/dist/llm/cover-providers.d.ts +14 -0
- package/dist/llm/cover-providers.d.ts.map +1 -0
- package/dist/llm/cover-providers.js +51 -0
- package/dist/llm/cover-providers.js.map +1 -0
- package/dist/llm/long-form-completion.d.ts +16 -0
- package/dist/llm/long-form-completion.d.ts.map +1 -0
- package/dist/llm/long-form-completion.js +62 -0
- package/dist/llm/long-form-completion.js.map +1 -0
- package/dist/llm/provider.d.ts +110 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/provider.js +1405 -0
- package/dist/llm/provider.js.map +1 -0
- package/dist/llm/providers/endpoints/ai360.d.ts +10 -0
- package/dist/llm/providers/endpoints/ai360.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/ai360.js +34 -0
- package/dist/llm/providers/endpoints/ai360.js.map +1 -0
- package/dist/llm/providers/endpoints/anthropic.d.ts +12 -0
- package/dist/llm/providers/endpoints/anthropic.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/anthropic.js +72 -0
- package/dist/llm/providers/endpoints/anthropic.js.map +1 -0
- package/dist/llm/providers/endpoints/astronCodingPlan.d.ts +16 -0
- package/dist/llm/providers/endpoints/astronCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/astronCodingPlan.js +16 -0
- package/dist/llm/providers/endpoints/astronCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/baichuan.d.ts +10 -0
- package/dist/llm/providers/endpoints/baichuan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/baichuan.js +20 -0
- package/dist/llm/providers/endpoints/baichuan.js.map +1 -0
- package/dist/llm/providers/endpoints/bailian.d.ts +25 -0
- package/dist/llm/providers/endpoints/bailian.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/bailian.js +42 -0
- package/dist/llm/providers/endpoints/bailian.js.map +1 -0
- package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts +10 -0
- package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/bailianCodingPlan.js +22 -0
- package/dist/llm/providers/endpoints/bailianCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/custom.d.ts +16 -0
- package/dist/llm/providers/endpoints/custom.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/custom.js +15 -0
- package/dist/llm/providers/endpoints/custom.js.map +1 -0
- package/dist/llm/providers/endpoints/deepseek.d.ts +17 -0
- package/dist/llm/providers/endpoints/deepseek.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/deepseek.js +20 -0
- package/dist/llm/providers/endpoints/deepseek.js.map +1 -0
- package/dist/llm/providers/endpoints/giteeai.d.ts +10 -0
- package/dist/llm/providers/endpoints/giteeai.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/giteeai.js +33 -0
- package/dist/llm/providers/endpoints/giteeai.js.map +1 -0
- package/dist/llm/providers/endpoints/githubCopilot.d.ts +10 -0
- package/dist/llm/providers/endpoints/githubCopilot.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/githubCopilot.js +35 -0
- package/dist/llm/providers/endpoints/githubCopilot.js.map +1 -0
- package/dist/llm/providers/endpoints/glmCodingPlan.d.ts +9 -0
- package/dist/llm/providers/endpoints/glmCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/glmCodingPlan.js +21 -0
- package/dist/llm/providers/endpoints/glmCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/google.d.ts +12 -0
- package/dist/llm/providers/endpoints/google.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/google.js +41 -0
- package/dist/llm/providers/endpoints/google.js.map +1 -0
- package/dist/llm/providers/endpoints/hunyuan.d.ts +10 -0
- package/dist/llm/providers/endpoints/hunyuan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/hunyuan.js +34 -0
- package/dist/llm/providers/endpoints/hunyuan.js.map +1 -0
- package/dist/llm/providers/endpoints/infiniai.d.ts +10 -0
- package/dist/llm/providers/endpoints/infiniai.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/infiniai.js +64 -0
- package/dist/llm/providers/endpoints/infiniai.js.map +1 -0
- package/dist/llm/providers/endpoints/internlm.d.ts +10 -0
- package/dist/llm/providers/endpoints/internlm.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/internlm.js +20 -0
- package/dist/llm/providers/endpoints/internlm.js.map +1 -0
- package/dist/llm/providers/endpoints/kimiCode.d.ts +9 -0
- package/dist/llm/providers/endpoints/kimiCode.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/kimiCode.js +16 -0
- package/dist/llm/providers/endpoints/kimiCode.js.map +1 -0
- package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts +9 -0
- package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/kimiCodingPlan.js +17 -0
- package/dist/llm/providers/endpoints/kimiCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/kkaiapi.d.ts +14 -0
- package/dist/llm/providers/endpoints/kkaiapi.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/kkaiapi.js +44 -0
- package/dist/llm/providers/endpoints/kkaiapi.js.map +1 -0
- package/dist/llm/providers/endpoints/lmstudio.d.ts +10 -0
- package/dist/llm/providers/endpoints/lmstudio.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/lmstudio.js +15 -0
- package/dist/llm/providers/endpoints/lmstudio.js.map +1 -0
- package/dist/llm/providers/endpoints/longcat.d.ts +9 -0
- package/dist/llm/providers/endpoints/longcat.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/longcat.js +18 -0
- package/dist/llm/providers/endpoints/longcat.js.map +1 -0
- package/dist/llm/providers/endpoints/minimax.d.ts +15 -0
- package/dist/llm/providers/endpoints/minimax.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/minimax.js +27 -0
- package/dist/llm/providers/endpoints/minimax.js.map +1 -0
- package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts +9 -0
- package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/minimaxCodingPlan.js +21 -0
- package/dist/llm/providers/endpoints/minimaxCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/mistral.d.ts +11 -0
- package/dist/llm/providers/endpoints/mistral.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/mistral.js +31 -0
- package/dist/llm/providers/endpoints/mistral.js.map +1 -0
- package/dist/llm/providers/endpoints/modelscope.d.ts +10 -0
- package/dist/llm/providers/endpoints/modelscope.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/modelscope.js +22 -0
- package/dist/llm/providers/endpoints/modelscope.js.map +1 -0
- package/dist/llm/providers/endpoints/moonshot.d.ts +12 -0
- package/dist/llm/providers/endpoints/moonshot.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/moonshot.js +29 -0
- package/dist/llm/providers/endpoints/moonshot.js.map +1 -0
- package/dist/llm/providers/endpoints/newapi.d.ts +14 -0
- package/dist/llm/providers/endpoints/newapi.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/newapi.js +14 -0
- package/dist/llm/providers/endpoints/newapi.js.map +1 -0
- package/dist/llm/providers/endpoints/ollama.d.ts +12 -0
- package/dist/llm/providers/endpoints/ollama.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/ollama.js +63 -0
- package/dist/llm/providers/endpoints/ollama.js.map +1 -0
- package/dist/llm/providers/endpoints/openai.d.ts +12 -0
- package/dist/llm/providers/endpoints/openai.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/openai.js +67 -0
- package/dist/llm/providers/endpoints/openai.js.map +1 -0
- package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts +9 -0
- package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/opencodeCodingPlan.js +23 -0
- package/dist/llm/providers/endpoints/opencodeCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/openrouter.d.ts +15 -0
- package/dist/llm/providers/endpoints/openrouter.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/openrouter.js +75 -0
- package/dist/llm/providers/endpoints/openrouter.js.map +1 -0
- package/dist/llm/providers/endpoints/ppio.d.ts +15 -0
- package/dist/llm/providers/endpoints/ppio.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/ppio.js +73 -0
- package/dist/llm/providers/endpoints/ppio.js.map +1 -0
- package/dist/llm/providers/endpoints/qiniu.d.ts +10 -0
- package/dist/llm/providers/endpoints/qiniu.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/qiniu.js +24 -0
- package/dist/llm/providers/endpoints/qiniu.js.map +1 -0
- package/dist/llm/providers/endpoints/sensenova.d.ts +10 -0
- package/dist/llm/providers/endpoints/sensenova.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/sensenova.js +37 -0
- package/dist/llm/providers/endpoints/sensenova.js.map +1 -0
- package/dist/llm/providers/endpoints/siliconcloud.d.ts +14 -0
- package/dist/llm/providers/endpoints/siliconcloud.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/siliconcloud.js +114 -0
- package/dist/llm/providers/endpoints/siliconcloud.js.map +1 -0
- package/dist/llm/providers/endpoints/spark.d.ts +14 -0
- package/dist/llm/providers/endpoints/spark.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/spark.js +21 -0
- package/dist/llm/providers/endpoints/spark.js.map +1 -0
- package/dist/llm/providers/endpoints/stepfun.d.ts +10 -0
- package/dist/llm/providers/endpoints/stepfun.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/stepfun.js +27 -0
- package/dist/llm/providers/endpoints/stepfun.js.map +1 -0
- package/dist/llm/providers/endpoints/tencentcloud.d.ts +10 -0
- package/dist/llm/providers/endpoints/tencentcloud.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/tencentcloud.js +17 -0
- package/dist/llm/providers/endpoints/tencentcloud.js.map +1 -0
- package/dist/llm/providers/endpoints/volcengine.d.ts +10 -0
- package/dist/llm/providers/endpoints/volcengine.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/volcengine.js +44 -0
- package/dist/llm/providers/endpoints/volcengine.js.map +1 -0
- package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts +19 -0
- package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/volcengineCodingPlan.js +25 -0
- package/dist/llm/providers/endpoints/volcengineCodingPlan.js.map +1 -0
- package/dist/llm/providers/endpoints/wenxin.d.ts +10 -0
- package/dist/llm/providers/endpoints/wenxin.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/wenxin.js +98 -0
- package/dist/llm/providers/endpoints/wenxin.js.map +1 -0
- package/dist/llm/providers/endpoints/xai.d.ts +11 -0
- package/dist/llm/providers/endpoints/xai.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/xai.js +25 -0
- package/dist/llm/providers/endpoints/xai.js.map +1 -0
- package/dist/llm/providers/endpoints/xiaomimimo.d.ts +12 -0
- package/dist/llm/providers/endpoints/xiaomimimo.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/xiaomimimo.js +16 -0
- package/dist/llm/providers/endpoints/xiaomimimo.js.map +1 -0
- package/dist/llm/providers/endpoints/zeroone.d.ts +10 -0
- package/dist/llm/providers/endpoints/zeroone.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/zeroone.js +26 -0
- package/dist/llm/providers/endpoints/zeroone.js.map +1 -0
- package/dist/llm/providers/endpoints/zhipu.d.ts +12 -0
- package/dist/llm/providers/endpoints/zhipu.d.ts.map +1 -0
- package/dist/llm/providers/endpoints/zhipu.js +51 -0
- package/dist/llm/providers/endpoints/zhipu.js.map +1 -0
- package/dist/llm/providers/index.d.ts +5 -0
- package/dist/llm/providers/index.d.ts.map +1 -0
- package/dist/llm/providers/index.js +64 -0
- package/dist/llm/providers/index.js.map +1 -0
- package/dist/llm/providers/lookup.d.ts +16 -0
- package/dist/llm/providers/lookup.d.ts.map +1 -0
- package/dist/llm/providers/lookup.js +68 -0
- package/dist/llm/providers/lookup.js.map +1 -0
- package/dist/llm/providers/probe.d.ts +11 -0
- package/dist/llm/providers/probe.d.ts.map +1 -0
- package/dist/llm/providers/probe.js +24 -0
- package/dist/llm/providers/probe.js.map +1 -0
- package/dist/llm/providers/types.d.ts +71 -0
- package/dist/llm/providers/types.d.ts.map +1 -0
- package/dist/llm/providers/types.js +9 -0
- package/dist/llm/providers/types.js.map +1 -0
- package/dist/llm/providers/verify.d.ts +27 -0
- package/dist/llm/providers/verify.d.ts.map +1 -0
- package/dist/llm/providers/verify.js +77 -0
- package/dist/llm/providers/verify.js.map +1 -0
- package/dist/llm/secrets.d.ts +9 -0
- package/dist/llm/secrets.d.ts.map +1 -0
- package/dist/llm/secrets.js +56 -0
- package/dist/llm/secrets.js.map +1 -0
- package/dist/llm/service-presets.d.ts +45 -0
- package/dist/llm/service-presets.d.ts.map +1 -0
- package/dist/llm/service-presets.js +180 -0
- package/dist/llm/service-presets.js.map +1 -0
- package/dist/llm/service-resolver.d.ts +10 -0
- package/dist/llm/service-resolver.d.ts.map +1 -0
- package/dist/llm/service-resolver.js +62 -0
- package/dist/llm/service-resolver.js.map +1 -0
- package/dist/llm/think-tag-stripper.d.ts +15 -0
- package/dist/llm/think-tag-stripper.d.ts.map +1 -0
- package/dist/llm/think-tag-stripper.js +60 -0
- package/dist/llm/think-tag-stripper.js.map +1 -0
- package/dist/materials/ingest.d.ts +31 -0
- package/dist/materials/ingest.d.ts.map +1 -0
- package/dist/materials/ingest.js +224 -0
- package/dist/materials/ingest.js.map +1 -0
- package/dist/materials/retrieve.d.ts +20 -0
- package/dist/materials/retrieve.d.ts.map +1 -0
- package/dist/materials/retrieve.js +109 -0
- package/dist/materials/retrieve.js.map +1 -0
- package/dist/models/book-rules.d.ts +142 -0
- package/dist/models/book-rules.d.ts.map +1 -0
- package/dist/models/book-rules.js +286 -0
- package/dist/models/book-rules.js.map +1 -0
- package/dist/models/book.d.ts +94 -0
- package/dist/models/book.d.ts.map +1 -0
- package/dist/models/book.js +79 -0
- package/dist/models/book.js.map +1 -0
- package/dist/models/chapter.d.ts +131 -0
- package/dist/models/chapter.d.ts.map +1 -0
- package/dist/models/chapter.js +38 -0
- package/dist/models/chapter.js.map +1 -0
- package/dist/models/context-compression.d.ts +13 -0
- package/dist/models/context-compression.d.ts.map +1 -0
- package/dist/models/context-compression.js +2 -0
- package/dist/models/context-compression.js.map +1 -0
- package/dist/models/detection.d.ts +25 -0
- package/dist/models/detection.d.ts.map +1 -0
- package/dist/models/detection.js +2 -0
- package/dist/models/detection.js.map +1 -0
- package/dist/models/genre-profile.d.ts +45 -0
- package/dist/models/genre-profile.d.ts.map +1 -0
- package/dist/models/genre-profile.js +26 -0
- package/dist/models/genre-profile.js.map +1 -0
- package/dist/models/input-governance.d.ts +437 -0
- package/dist/models/input-governance.d.ts.map +1 -0
- package/dist/models/input-governance.js +104 -0
- package/dist/models/input-governance.js.map +1 -0
- package/dist/models/length-governance.d.ts +85 -0
- package/dist/models/length-governance.d.ts.map +1 -0
- package/dist/models/length-governance.js +31 -0
- package/dist/models/length-governance.js.map +1 -0
- package/dist/models/play.d.ts +530 -0
- package/dist/models/play.d.ts.map +1 -0
- package/dist/models/play.js +318 -0
- package/dist/models/play.js.map +1 -0
- package/dist/models/project.d.ts +797 -0
- package/dist/models/project.d.ts.map +1 -0
- package/dist/models/project.js +152 -0
- package/dist/models/project.js.map +1 -0
- package/dist/models/runtime-state.d.ts +708 -0
- package/dist/models/runtime-state.d.ts.map +1 -0
- package/dist/models/runtime-state.js +105 -0
- package/dist/models/runtime-state.js.map +1 -0
- package/dist/models/state.d.ts +48 -0
- package/dist/models/state.d.ts.map +1 -0
- package/dist/models/state.js +6 -0
- package/dist/models/state.js.map +1 -0
- package/dist/models/style-profile.d.ts +16 -0
- package/dist/models/style-profile.d.ts.map +1 -0
- package/dist/models/style-profile.js +2 -0
- package/dist/models/style-profile.js.map +1 -0
- package/dist/notify/dispatcher.d.ts +10 -0
- package/dist/notify/dispatcher.d.ts.map +1 -0
- package/dist/notify/dispatcher.js +67 -0
- package/dist/notify/dispatcher.js.map +1 -0
- package/dist/notify/feishu.d.ts +6 -0
- package/dist/notify/feishu.d.ts.map +1 -0
- package/dist/notify/feishu.js +32 -0
- package/dist/notify/feishu.js.map +1 -0
- package/dist/notify/format.d.ts +12 -0
- package/dist/notify/format.d.ts.map +1 -0
- package/dist/notify/format.js +11 -0
- package/dist/notify/format.js.map +1 -0
- package/dist/notify/telegram.d.ts +7 -0
- package/dist/notify/telegram.d.ts.map +1 -0
- package/dist/notify/telegram.js +18 -0
- package/dist/notify/telegram.js.map +1 -0
- package/dist/notify/webhook.d.ts +15 -0
- package/dist/notify/webhook.d.ts.map +1 -0
- package/dist/notify/webhook.js +28 -0
- package/dist/notify/webhook.js.map +1 -0
- package/dist/notify/wechat-work.d.ts +6 -0
- package/dist/notify/wechat-work.d.ts.map +1 -0
- package/dist/notify/wechat-work.js +15 -0
- package/dist/notify/wechat-work.js.map +1 -0
- package/dist/pipeline/chapter-persistence.d.ts +33 -0
- package/dist/pipeline/chapter-persistence.d.ts.map +1 -0
- package/dist/pipeline/chapter-persistence.js +39 -0
- package/dist/pipeline/chapter-persistence.js.map +1 -0
- package/dist/pipeline/chapter-review-cycle.d.ts +81 -0
- package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -0
- package/dist/pipeline/chapter-review-cycle.js +190 -0
- package/dist/pipeline/chapter-review-cycle.js.map +1 -0
- package/dist/pipeline/chapter-state-recovery.d.ts +61 -0
- package/dist/pipeline/chapter-state-recovery.d.ts.map +1 -0
- package/dist/pipeline/chapter-state-recovery.js +135 -0
- package/dist/pipeline/chapter-state-recovery.js.map +1 -0
- package/dist/pipeline/chapter-truth-validation.d.ts +42 -0
- package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -0
- package/dist/pipeline/chapter-truth-validation.js +93 -0
- package/dist/pipeline/chapter-truth-validation.js.map +1 -0
- package/dist/pipeline/detection-runner.d.ts +31 -0
- package/dist/pipeline/detection-runner.d.ts.map +1 -0
- package/dist/pipeline/detection-runner.js +109 -0
- package/dist/pipeline/detection-runner.js.map +1 -0
- package/dist/pipeline/persisted-governed-plan.d.ts +5 -0
- package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -0
- package/dist/pipeline/persisted-governed-plan.js +249 -0
- package/dist/pipeline/persisted-governed-plan.js.map +1 -0
- package/dist/pipeline/runner.d.ts +334 -0
- package/dist/pipeline/runner.d.ts.map +1 -0
- package/dist/pipeline/runner.js +2974 -0
- package/dist/pipeline/runner.js.map +1 -0
- package/dist/pipeline/scheduler.d.ts +58 -0
- package/dist/pipeline/scheduler.d.ts.map +1 -0
- package/dist/pipeline/scheduler.js +322 -0
- package/dist/pipeline/scheduler.js.map +1 -0
- package/dist/pipeline/script-storyboard-runner.d.ts +130 -0
- package/dist/pipeline/script-storyboard-runner.d.ts.map +1 -0
- package/dist/pipeline/script-storyboard-runner.js +532 -0
- package/dist/pipeline/script-storyboard-runner.js.map +1 -0
- package/dist/pipeline/short-fiction-runner.d.ts +110 -0
- package/dist/pipeline/short-fiction-runner.d.ts.map +1 -0
- package/dist/pipeline/short-fiction-runner.js +864 -0
- package/dist/pipeline/short-fiction-runner.js.map +1 -0
- package/dist/play/play-agents.d.ts +72 -0
- package/dist/play/play-agents.d.ts.map +1 -0
- package/dist/play/play-agents.js +580 -0
- package/dist/play/play-agents.js.map +1 -0
- package/dist/play/play-db-factory.d.ts +9 -0
- package/dist/play/play-db-factory.d.ts.map +1 -0
- package/dist/play/play-db-factory.js +18 -0
- package/dist/play/play-db-factory.js.map +1 -0
- package/dist/play/play-db.d.ts +22 -0
- package/dist/play/play-db.d.ts.map +1 -0
- package/dist/play/play-db.js +248 -0
- package/dist/play/play-db.js.map +1 -0
- package/dist/play/play-file-db.d.ts +32 -0
- package/dist/play/play-file-db.d.ts.map +1 -0
- package/dist/play/play-file-db.js +156 -0
- package/dist/play/play-file-db.js.map +1 -0
- package/dist/play/play-image.d.ts +58 -0
- package/dist/play/play-image.d.ts.map +1 -0
- package/dist/play/play-image.js +142 -0
- package/dist/play/play-image.js.map +1 -0
- package/dist/play/play-reducer.d.ts +31 -0
- package/dist/play/play-reducer.d.ts.map +1 -0
- package/dist/play/play-reducer.js +261 -0
- package/dist/play/play-reducer.js.map +1 -0
- package/dist/play/play-runner.d.ts +116 -0
- package/dist/play/play-runner.d.ts.map +1 -0
- package/dist/play/play-runner.js +582 -0
- package/dist/play/play-runner.js.map +1 -0
- package/dist/play/play-store.d.ts +113 -0
- package/dist/play/play-store.d.ts.map +1 -0
- package/dist/play/play-store.js +314 -0
- package/dist/play/play-store.js.map +1 -0
- package/dist/production/harness.d.ts +57 -0
- package/dist/production/harness.d.ts.map +1 -0
- package/dist/production/harness.js +51 -0
- package/dist/production/harness.js.map +1 -0
- package/dist/prompts/builtin-prompts.d.ts +10 -0
- package/dist/prompts/builtin-prompts.d.ts.map +1 -0
- package/dist/prompts/builtin-prompts.js +157 -0
- package/dist/prompts/builtin-prompts.js.map +1 -0
- package/dist/prompts/index.d.ts +5 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +5 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/prompt-pack.d.ts +33 -0
- package/dist/prompts/prompt-pack.d.ts.map +1 -0
- package/dist/prompts/prompt-pack.js +82 -0
- package/dist/prompts/prompt-pack.js.map +1 -0
- package/dist/prompts/short-fiction.d.ts +58 -0
- package/dist/prompts/short-fiction.d.ts.map +1 -0
- package/dist/prompts/short-fiction.js +480 -0
- package/dist/prompts/short-fiction.js.map +1 -0
- package/dist/prompts/types.d.ts +22 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +9 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/references/book-references.d.ts +40 -0
- package/dist/references/book-references.d.ts.map +1 -0
- package/dist/references/book-references.js +207 -0
- package/dist/references/book-references.js.map +1 -0
- package/dist/references/reference-context.d.ts +26 -0
- package/dist/references/reference-context.d.ts.map +1 -0
- package/dist/references/reference-context.js +120 -0
- package/dist/references/reference-context.js.map +1 -0
- package/dist/retrieval/local-search.d.ts +38 -0
- package/dist/retrieval/local-search.d.ts.map +1 -0
- package/dist/retrieval/local-search.js +232 -0
- package/dist/retrieval/local-search.js.map +1 -0
- package/dist/skills/builtin-loader.d.ts +9 -0
- package/dist/skills/builtin-loader.d.ts.map +1 -0
- package/dist/skills/builtin-loader.js +24 -0
- package/dist/skills/builtin-loader.js.map +1 -0
- package/dist/skills/external-loader.d.ts +26 -0
- package/dist/skills/external-loader.d.ts.map +1 -0
- package/dist/skills/external-loader.js +186 -0
- package/dist/skills/external-loader.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +6 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/production-bindings.d.ts +18 -0
- package/dist/skills/production-bindings.d.ts.map +1 -0
- package/dist/skills/production-bindings.js +37 -0
- package/dist/skills/production-bindings.js.map +1 -0
- package/dist/skills/registry.d.ts +6 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +68 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +42 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +10 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/state/chapter-delete.d.ts +30 -0
- package/dist/state/chapter-delete.d.ts.map +1 -0
- package/dist/state/chapter-delete.js +78 -0
- package/dist/state/chapter-delete.js.map +1 -0
- package/dist/state/chapter-word-sync.d.ts +30 -0
- package/dist/state/chapter-word-sync.d.ts.map +1 -0
- package/dist/state/chapter-word-sync.js +62 -0
- package/dist/state/chapter-word-sync.js.map +1 -0
- package/dist/state/chapter-workspace.d.ts +15 -0
- package/dist/state/chapter-workspace.d.ts.map +1 -0
- package/dist/state/chapter-workspace.js +118 -0
- package/dist/state/chapter-workspace.js.map +1 -0
- package/dist/state/manager.d.ts +70 -0
- package/dist/state/manager.d.ts.map +1 -0
- package/dist/state/manager.js +727 -0
- package/dist/state/manager.js.map +1 -0
- package/dist/state/memory-db.d.ts +83 -0
- package/dist/state/memory-db.d.ts.map +1 -0
- package/dist/state/memory-db.js +249 -0
- package/dist/state/memory-db.js.map +1 -0
- package/dist/state/runtime-state-store.d.ts +38 -0
- package/dist/state/runtime-state-store.d.ts.map +1 -0
- package/dist/state/runtime-state-store.js +164 -0
- package/dist/state/runtime-state-store.js.map +1 -0
- package/dist/state/state-bootstrap.d.ts +21 -0
- package/dist/state/state-bootstrap.d.ts.map +1 -0
- package/dist/state/state-bootstrap.js +476 -0
- package/dist/state/state-bootstrap.js.map +1 -0
- package/dist/state/state-projections.d.ts +7 -0
- package/dist/state/state-projections.d.ts.map +1 -0
- package/dist/state/state-projections.js +209 -0
- package/dist/state/state-projections.js.map +1 -0
- package/dist/state/state-reducer.d.ts +13 -0
- package/dist/state/state-reducer.d.ts.map +1 -0
- package/dist/state/state-reducer.js +193 -0
- package/dist/state/state-reducer.js.map +1 -0
- package/dist/state/state-validator.d.ts +12 -0
- package/dist/state/state-validator.d.ts.map +1 -0
- package/dist/state/state-validator.js +67 -0
- package/dist/state/state-validator.js.map +1 -0
- package/dist/translation/epub.d.ts +10 -0
- package/dist/translation/epub.d.ts.map +1 -0
- package/dist/translation/epub.js +86 -0
- package/dist/translation/epub.js.map +1 -0
- package/dist/translation/export.d.ts +6 -0
- package/dist/translation/export.d.ts.map +1 -0
- package/dist/translation/export.js +68 -0
- package/dist/translation/export.js.map +1 -0
- package/dist/translation/index.d.ts +9 -0
- package/dist/translation/index.d.ts.map +1 -0
- package/dist/translation/index.js +9 -0
- package/dist/translation/index.js.map +1 -0
- package/dist/translation/llm-model.d.ts +11 -0
- package/dist/translation/llm-model.d.ts.map +1 -0
- package/dist/translation/llm-model.js +135 -0
- package/dist/translation/llm-model.js.map +1 -0
- package/dist/translation/project.d.ts +3 -0
- package/dist/translation/project.d.ts.map +1 -0
- package/dist/translation/project.js +76 -0
- package/dist/translation/project.js.map +1 -0
- package/dist/translation/run-store.d.ts +12 -0
- package/dist/translation/run-store.d.ts.map +1 -0
- package/dist/translation/run-store.js +69 -0
- package/dist/translation/run-store.js.map +1 -0
- package/dist/translation/runner.d.ts +6 -0
- package/dist/translation/runner.d.ts.map +1 -0
- package/dist/translation/runner.js +155 -0
- package/dist/translation/runner.js.map +1 -0
- package/dist/translation/source.d.ts +12 -0
- package/dist/translation/source.d.ts.map +1 -0
- package/dist/translation/source.js +66 -0
- package/dist/translation/source.js.map +1 -0
- package/dist/translation/text.d.ts +10 -0
- package/dist/translation/text.d.ts.map +1 -0
- package/dist/translation/text.js +110 -0
- package/dist/translation/text.js.map +1 -0
- package/dist/translation/types.d.ts +96 -0
- package/dist/translation/types.d.ts.map +1 -0
- package/dist/translation/types.js +2 -0
- package/dist/translation/types.js.map +1 -0
- package/dist/utils/analytics.d.ts +39 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/analytics.js +50 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/atomic-file-set.d.ts +12 -0
- package/dist/utils/atomic-file-set.d.ts.map +1 -0
- package/dist/utils/atomic-file-set.js +93 -0
- package/dist/utils/atomic-file-set.js.map +1 -0
- package/dist/utils/book-eval.d.ts +35 -0
- package/dist/utils/book-eval.d.ts.map +1 -0
- package/dist/utils/book-eval.js +116 -0
- package/dist/utils/book-eval.js.map +1 -0
- package/dist/utils/book-id.d.ts +4 -0
- package/dist/utils/book-id.d.ts.map +1 -0
- package/dist/utils/book-id.js +27 -0
- package/dist/utils/book-id.js.map +1 -0
- package/dist/utils/cadence-policy.d.ts +36 -0
- package/dist/utils/cadence-policy.d.ts.map +1 -0
- package/dist/utils/cadence-policy.js +38 -0
- package/dist/utils/cadence-policy.js.map +1 -0
- package/dist/utils/chapter-cadence.d.ts +34 -0
- package/dist/utils/chapter-cadence.d.ts.map +1 -0
- package/dist/utils/chapter-cadence.js +143 -0
- package/dist/utils/chapter-cadence.js.map +1 -0
- package/dist/utils/chapter-memo-parser.d.ts +22 -0
- package/dist/utils/chapter-memo-parser.d.ts.map +1 -0
- package/dist/utils/chapter-memo-parser.js +158 -0
- package/dist/utils/chapter-memo-parser.js.map +1 -0
- package/dist/utils/chapter-splitter.d.ts +18 -0
- package/dist/utils/chapter-splitter.d.ts.map +1 -0
- package/dist/utils/chapter-splitter.js +60 -0
- package/dist/utils/chapter-splitter.js.map +1 -0
- package/dist/utils/config-loader.d.ts +11 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +16 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/context-assembly.d.ts +29 -0
- package/dist/utils/context-assembly.d.ts.map +1 -0
- package/dist/utils/context-assembly.js +117 -0
- package/dist/utils/context-assembly.js.map +1 -0
- package/dist/utils/context-filter.d.ts +31 -0
- package/dist/utils/context-filter.d.ts.map +1 -0
- package/dist/utils/context-filter.js +163 -0
- package/dist/utils/context-filter.js.map +1 -0
- package/dist/utils/effective-llm-config.d.ts +34 -0
- package/dist/utils/effective-llm-config.d.ts.map +1 -0
- package/dist/utils/effective-llm-config.js +463 -0
- package/dist/utils/effective-llm-config.js.map +1 -0
- package/dist/utils/governed-context.d.ts +11 -0
- package/dist/utils/governed-context.d.ts.map +1 -0
- package/dist/utils/governed-context.js +42 -0
- package/dist/utils/governed-context.js.map +1 -0
- package/dist/utils/governed-working-set.d.ts +18 -0
- package/dist/utils/governed-working-set.d.ts.map +1 -0
- package/dist/utils/governed-working-set.js +296 -0
- package/dist/utils/governed-working-set.js.map +1 -0
- package/dist/utils/hook-arbiter.d.ts +16 -0
- package/dist/utils/hook-arbiter.d.ts.map +1 -0
- package/dist/utils/hook-arbiter.js +161 -0
- package/dist/utils/hook-arbiter.js.map +1 -0
- package/dist/utils/hook-governance.d.ts +26 -0
- package/dist/utils/hook-governance.d.ts.map +1 -0
- package/dist/utils/hook-governance.js +65 -0
- package/dist/utils/hook-governance.js.map +1 -0
- package/dist/utils/hook-health.d.ts +15 -0
- package/dist/utils/hook-health.d.ts.map +1 -0
- package/dist/utils/hook-health.js +131 -0
- package/dist/utils/hook-health.js.map +1 -0
- package/dist/utils/hook-ledger-validator.d.ts +82 -0
- package/dist/utils/hook-ledger-validator.d.ts.map +1 -0
- package/dist/utils/hook-ledger-validator.js +225 -0
- package/dist/utils/hook-ledger-validator.js.map +1 -0
- package/dist/utils/hook-lifecycle.d.ts +41 -0
- package/dist/utils/hook-lifecycle.d.ts.map +1 -0
- package/dist/utils/hook-lifecycle.js +183 -0
- package/dist/utils/hook-lifecycle.js.map +1 -0
- package/dist/utils/hook-policy.d.ts +57 -0
- package/dist/utils/hook-policy.d.ts.map +1 -0
- package/dist/utils/hook-policy.js +96 -0
- package/dist/utils/hook-policy.js.map +1 -0
- package/dist/utils/hook-promotion.d.ts +83 -0
- package/dist/utils/hook-promotion.d.ts.map +1 -0
- package/dist/utils/hook-promotion.js +241 -0
- package/dist/utils/hook-promotion.js.map +1 -0
- package/dist/utils/hook-stale-detection.d.ts +51 -0
- package/dist/utils/hook-stale-detection.d.ts.map +1 -0
- package/dist/utils/hook-stale-detection.js +125 -0
- package/dist/utils/hook-stale-detection.js.map +1 -0
- package/dist/utils/language.d.ts +19 -0
- package/dist/utils/language.d.ts.map +1 -0
- package/dist/utils/language.js +29 -0
- package/dist/utils/language.js.map +1 -0
- package/dist/utils/length-metrics.d.ts +12 -0
- package/dist/utils/length-metrics.d.ts.map +1 -0
- package/dist/utils/length-metrics.js +85 -0
- package/dist/utils/length-metrics.js.map +1 -0
- package/dist/utils/llm-endpoint-auth.d.ts +5 -0
- package/dist/utils/llm-endpoint-auth.d.ts.map +1 -0
- package/dist/utils/llm-endpoint-auth.js +36 -0
- package/dist/utils/llm-endpoint-auth.js.map +1 -0
- package/dist/utils/llm-env.d.ts +14 -0
- package/dist/utils/llm-env.d.ts.map +1 -0
- package/dist/utils/llm-env.js +53 -0
- package/dist/utils/llm-env.js.map +1 -0
- package/dist/utils/logger.d.ts +31 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +79 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/long-span-fatigue.d.ts +28 -0
- package/dist/utils/long-span-fatigue.d.ts.map +1 -0
- package/dist/utils/long-span-fatigue.js +406 -0
- package/dist/utils/long-span-fatigue.js.map +1 -0
- package/dist/utils/memory-retrieval.d.ts +71 -0
- package/dist/utils/memory-retrieval.d.ts.map +1 -0
- package/dist/utils/memory-retrieval.js +360 -0
- package/dist/utils/memory-retrieval.js.map +1 -0
- package/dist/utils/narrative-control.d.ts +16 -0
- package/dist/utils/narrative-control.d.ts.map +1 -0
- package/dist/utils/narrative-control.js +131 -0
- package/dist/utils/narrative-control.js.map +1 -0
- package/dist/utils/outline-paths.d.ts +63 -0
- package/dist/utils/outline-paths.d.ts.map +1 -0
- package/dist/utils/outline-paths.js +311 -0
- package/dist/utils/outline-paths.js.map +1 -0
- package/dist/utils/path-safety.d.ts +2 -0
- package/dist/utils/path-safety.d.ts.map +1 -0
- package/dist/utils/path-safety.js +11 -0
- package/dist/utils/path-safety.js.map +1 -0
- package/dist/utils/planning-materials.d.ts +35 -0
- package/dist/utils/planning-materials.d.ts.map +1 -0
- package/dist/utils/planning-materials.js +123 -0
- package/dist/utils/planning-materials.js.map +1 -0
- package/dist/utils/posix-path.d.ts +2 -0
- package/dist/utils/posix-path.d.ts.map +1 -0
- package/dist/utils/posix-path.js +7 -0
- package/dist/utils/posix-path.js.map +1 -0
- package/dist/utils/pov-filter.d.ts +30 -0
- package/dist/utils/pov-filter.d.ts.map +1 -0
- package/dist/utils/pov-filter.js +129 -0
- package/dist/utils/pov-filter.js.map +1 -0
- package/dist/utils/proxy-fetch.d.ts +9 -0
- package/dist/utils/proxy-fetch.d.ts.map +1 -0
- package/dist/utils/proxy-fetch.js +31 -0
- package/dist/utils/proxy-fetch.js.map +1 -0
- package/dist/utils/runtime-writer.d.ts +14 -0
- package/dist/utils/runtime-writer.d.ts.map +1 -0
- package/dist/utils/runtime-writer.js +21 -0
- package/dist/utils/runtime-writer.js.map +1 -0
- package/dist/utils/spot-fix-patches.d.ts +21 -0
- package/dist/utils/spot-fix-patches.d.ts.map +1 -0
- package/dist/utils/spot-fix-patches.js +148 -0
- package/dist/utils/spot-fix-patches.js.map +1 -0
- package/dist/utils/story-markdown.d.ts +13 -0
- package/dist/utils/story-markdown.d.ts.map +1 -0
- package/dist/utils/story-markdown.js +320 -0
- package/dist/utils/story-markdown.js.map +1 -0
- package/dist/utils/web-search.d.ts +28 -0
- package/dist/utils/web-search.d.ts.map +1 -0
- package/dist/utils/web-search.js +72 -0
- package/dist/utils/web-search.js.map +1 -0
- package/dist/utils/writing-methodology.d.ts +10 -0
- package/dist/utils/writing-methodology.d.ts.map +1 -0
- package/dist/utils/writing-methodology.js +163 -0
- package/dist/utils/writing-methodology.js.map +1 -0
- package/genres/cozy.md +43 -0
- package/genres/cultivation.md +42 -0
- package/genres/dungeon-core.md +40 -0
- package/genres/horror.md +51 -0
- package/genres/isekai.md +43 -0
- package/genres/litrpg.md +43 -0
- package/genres/other.md +24 -0
- package/genres/progression.md +41 -0
- package/genres/romantasy.md +45 -0
- package/genres/sci-fi.md +42 -0
- package/genres/system-apocalypse.md +40 -0
- package/genres/tower-climber.md +41 -0
- package/genres/urban.md +53 -0
- package/genres/xianxia.md +46 -0
- package/genres/xuanhuan.md +64 -0
- package/package.json +76 -0
- package/skills/inkos-interactive-film/SKILL.md +16 -0
- package/skills/inkos-interactive-film/references/branch-state-craft.md +13 -0
- package/skills/inkos-long-market-research/SKILL.md +16 -0
- package/skills/inkos-long-market-research/references/research-rubric.md +19 -0
- package/skills/inkos-long-story-analysis/SKILL.md +17 -0
- package/skills/inkos-long-story-analysis/references/analysis-lens.md +16 -0
- package/skills/inkos-long-writing/SKILL.md +17 -0
- package/skills/inkos-long-writing/references/reader-contract-and-progression.md +13 -0
- package/skills/inkos-long-writing/references/scene-dialogue-and-length-budget.md +13 -0
- package/skills/inkos-play-world/SKILL.md +17 -0
- package/skills/inkos-play-world/references/world-turn-continuity.md +13 -0
- package/skills/inkos-script-writing/SKILL.md +15 -0
- package/skills/inkos-script-writing/references/episode-scene-craft.md +13 -0
- package/skills/inkos-short-market-research/SKILL.md +17 -0
- package/skills/inkos-short-market-research/references/short-market-rubric.md +16 -0
- package/skills/inkos-short-story-analysis/SKILL.md +16 -0
- package/skills/inkos-short-story-analysis/references/deconstruction-template.md +14 -0
- package/skills/inkos-short-writing/SKILL.md +18 -0
- package/skills/inkos-short-writing/references/production-checklist.md +19 -0
- package/skills/inkos-story-cover/SKILL.md +17 -0
- package/skills/inkos-story-cover/references/cover-brief.md +16 -0
- package/skills/inkos-story-deslop/SKILL.md +16 -0
- package/skills/inkos-story-deslop/references/semantic-cleanup.md +13 -0
- package/skills/inkos-story-import/SKILL.md +19 -0
- package/skills/inkos-story-import/references/reconstruction-rubric.md +13 -0
- package/skills/inkos-story-review/SKILL.md +16 -0
- package/skills/inkos-story-review/references/review-matrix.md +21 -0
- package/skills/inkos-storyboard/SKILL.md +15 -0
- package/skills/inkos-storyboard/references/shot-continuity.md +13 -0
- package/skills/inkos-translation/SKILL.md +14 -0
- package/skills/inkos-translation/references/long-form-consistency.md +13 -0
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
import { buildFanficCanonSection, buildCharacterVoiceProfiles, buildFanficModeInstructions } from "./fanfic-prompt-sections.js";
|
|
2
|
+
import { buildEnglishGenreIntro } from "./en-prompt-sections.js";
|
|
3
|
+
import { buildLengthSpec } from "../utils/length-metrics.js";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Public API
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
export function buildWriterSystemPrompt(book, genreProfile, bookRules, bookRulesBody, genreBody, styleGuide, styleFingerprint, chapterNumber, mode = "full", fanficContext, languageOverride, inputProfile = "legacy", lengthSpec) {
|
|
8
|
+
const isEnglish = (languageOverride ?? genreProfile.language) === "en";
|
|
9
|
+
const governed = inputProfile === "governed";
|
|
10
|
+
const resolvedLengthSpec = lengthSpec ?? buildLengthSpec(book.chapterWordCount, isEnglish ? "en" : "zh");
|
|
11
|
+
const outputSection = isEnglish
|
|
12
|
+
? (mode === "creative"
|
|
13
|
+
? buildEnglishCreativeOutputFormat(book, genreProfile, resolvedLengthSpec)
|
|
14
|
+
: buildEnglishOutputFormat(book, genreProfile, resolvedLengthSpec))
|
|
15
|
+
: (mode === "creative"
|
|
16
|
+
? buildCreativeOutputFormat(book, genreProfile, resolvedLengthSpec)
|
|
17
|
+
: buildOutputFormat(book, genreProfile, resolvedLengthSpec));
|
|
18
|
+
const sections = isEnglish
|
|
19
|
+
? [
|
|
20
|
+
buildEnglishGenreIntro(book, genreProfile),
|
|
21
|
+
buildGovernedInputContract("en", governed),
|
|
22
|
+
buildChapterMemoContract("en", governed),
|
|
23
|
+
buildLengthGuidance(resolvedLengthSpec, "en"),
|
|
24
|
+
buildGoldenOpeningDiscipline(chapterNumber, "en"),
|
|
25
|
+
buildGenreRules(genreProfile, genreBody),
|
|
26
|
+
buildProtagonistRules(bookRules),
|
|
27
|
+
buildNarrativePersonRule(bookRules, isEnglish ? "en" : "zh"),
|
|
28
|
+
buildBookRulesBody(bookRulesBody),
|
|
29
|
+
buildStyleGuide(styleGuide),
|
|
30
|
+
buildStyleFingerprint(styleFingerprint),
|
|
31
|
+
fanficContext ? buildFanficCanonSection(fanficContext.fanficCanon, fanficContext.fanficMode) : "",
|
|
32
|
+
fanficContext ? buildCharacterVoiceProfiles(fanficContext.fanficCanon) : "",
|
|
33
|
+
fanficContext ? buildFanficModeInstructions(fanficContext.fanficMode, fanficContext.allowedDeviations) : "",
|
|
34
|
+
// Pre-write checklist moved to style_guide.md (v10)
|
|
35
|
+
outputSection,
|
|
36
|
+
]
|
|
37
|
+
: [
|
|
38
|
+
buildGenreIntro(book, genreProfile),
|
|
39
|
+
buildGovernedInputContract("zh", governed),
|
|
40
|
+
buildChapterMemoContract("zh", governed),
|
|
41
|
+
buildLengthGuidance(resolvedLengthSpec, "zh"),
|
|
42
|
+
buildGoldenOpeningDiscipline(chapterNumber, "zh"),
|
|
43
|
+
bookRules?.enableFullCastTracking ? buildFullCastTracking() : "",
|
|
44
|
+
buildGenreRules(genreProfile, genreBody),
|
|
45
|
+
buildProtagonistRules(bookRules),
|
|
46
|
+
buildNarrativePersonRule(bookRules, isEnglish ? "en" : "zh"),
|
|
47
|
+
buildBookRulesBody(bookRulesBody),
|
|
48
|
+
buildStyleGuide(styleGuide),
|
|
49
|
+
buildStyleFingerprint(styleFingerprint),
|
|
50
|
+
fanficContext ? buildFanficCanonSection(fanficContext.fanficCanon, fanficContext.fanficMode) : "",
|
|
51
|
+
fanficContext ? buildCharacterVoiceProfiles(fanficContext.fanficCanon) : "",
|
|
52
|
+
fanficContext ? buildFanficModeInstructions(fanficContext.fanficMode, fanficContext.allowedDeviations) : "",
|
|
53
|
+
// Pre-write checklist moved to style_guide.md (v10)
|
|
54
|
+
outputSection,
|
|
55
|
+
];
|
|
56
|
+
return sections.filter(Boolean).join("\n\n");
|
|
57
|
+
}
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
// Genre intro
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
function buildGenreIntro(book, gp) {
|
|
62
|
+
return `你是一位专业的${gp.name}网络小说作家。你为${book.platform}平台写作。`;
|
|
63
|
+
}
|
|
64
|
+
function buildGovernedInputContract(language, governed) {
|
|
65
|
+
if (!governed)
|
|
66
|
+
return "";
|
|
67
|
+
if (language === "en") {
|
|
68
|
+
return `## Input Governance Contract
|
|
69
|
+
|
|
70
|
+
- Chapter-specific steering comes from the provided chapter intent and composed context package.
|
|
71
|
+
- The outline is the default plan, not unconditional global supremacy.
|
|
72
|
+
- When the runtime rule stack records an active L4 -> L3 override, follow the current task over local planning.
|
|
73
|
+
- Keep hard guardrails compact: canon, continuity facts, and explicit prohibitions still win.
|
|
74
|
+
- If an English Variance Brief is provided, obey it: avoid the listed phrase/opening/ending patterns and satisfy the scene obligation.
|
|
75
|
+
- If Hook Debt Briefs are provided, they contain the ORIGINAL SEED TEXT from the chapter where each hook was planted. Use this text to write a continuation or payoff that feels connected to what the reader already saw — not a vague mention, but a scene that builds on the specific promise.
|
|
76
|
+
- When the explicit hook agenda names an eligible resolve target, land a concrete payoff beat that answers the reader's original question from the seed chapter.
|
|
77
|
+
- When stale debt is present, do not open sibling hooks casually; clear pressure from old promises before minting fresh debt.
|
|
78
|
+
- In multi-character scenes, include at least one resistance-bearing exchange instead of reducing the beat to summary or explanation.`;
|
|
79
|
+
}
|
|
80
|
+
return `## 输入治理契约
|
|
81
|
+
|
|
82
|
+
- 本章具体写什么,以提供给你的 chapter intent 和 composed context package 为准。
|
|
83
|
+
- 卷纲是默认规划,不是全局最高规则。
|
|
84
|
+
- 当 runtime rule stack 明确记录了 L4 -> L3 的 active override 时,优先执行当前任务意图,再局部调整规划层。
|
|
85
|
+
- 真正不能突破的只有硬护栏:世界设定、连续性事实、显式禁令。
|
|
86
|
+
- 如果提供了 English Variance Brief,必须主动避开其中列出的高频短语、重复开头和重复结尾模式,并完成 scene obligation。
|
|
87
|
+
- 如果提供了 Hook Debt 简报,里面包含每个伏笔种下时的**原始文本片段**。用这些原文来写延续或兑现场景——不是模糊地提一嘴,而是接着读者已经看到的具体承诺来写。
|
|
88
|
+
- 如果显式 hook agenda 里出现了可回收目标,本章必须写出具体兑现片段,回答种子章节中读者的原始疑问。
|
|
89
|
+
- 如果存在 stale debt,先消化旧承诺的压力,再决定是否开新坑;同类 sibling hook 不得随手再开。
|
|
90
|
+
- 多角色场景里,至少给出一轮带阻力的直接交锋,不要把人物关系写成纯解释或纯总结。`;
|
|
91
|
+
}
|
|
92
|
+
// ---------------------------------------------------------------------------
|
|
93
|
+
// Chapter memo alignment — 7 sections from mobile web-fiction craft methodology
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
function buildChapterMemoContract(language, governed) {
|
|
96
|
+
if (!governed)
|
|
97
|
+
return "";
|
|
98
|
+
if (language === "en") {
|
|
99
|
+
return `## Chapter Memo Alignment
|
|
100
|
+
|
|
101
|
+
You will receive a chapter_memo composed of 7 markdown sections:
|
|
102
|
+
|
|
103
|
+
- ## 当前任务 → the concrete action this chapter must complete; stay aligned with it throughout
|
|
104
|
+
- ## 读者此刻在等什么 → controls how emotional gaps are created / delayed / paid off
|
|
105
|
+
- ## 该兑现的 / 暂不掀的 → payoffs that must land this chapter + cards you must NOT reveal
|
|
106
|
+
- ## 日常/过渡承担什么任务 → function map for non-conflict passages ([passage location] → [function])
|
|
107
|
+
- ## 关键抉择过三连问 → three-question check every key character choice must pass
|
|
108
|
+
- ## 章尾必须发生的改变 → 1-3 concrete changes the ending must deliver (info / relation / physical / power)
|
|
109
|
+
- ## 本章 hook 账 → **hard correspondence rule**: each hook_id listed under advance/resolve MUST have a **concretely locatable payoff scene** in the prose — explicit characters acting on or talking about a specific object/event/piece of information, with observable actions. No "sideways hints" or "deferred to next chapter". Example: if the memo says 'advance: H007 Huzi's IOU → planted → pressured', the prose must contain a scene where Lin Qiu actually touches / sees / picks up that specific IOU and does something. An inner mention like "he remembered the IOU was still in the drawer" does NOT count. Each advance/resolve payoff scene must be at least 60 chars. Entries under defer need no prose. Entries under open only need a natural new-hook seed near the chapter end
|
|
110
|
+
- ## 不要做 → hard prohibitions for this chapter
|
|
111
|
+
|
|
112
|
+
Address each section in order when drafting the chapter. Every section must leave a visible trace in the prose — if a section is not reflected, the chapter is incomplete. **After the first draft, self-check the hook ledger**: list each hook_id from advance/resolve and point each one to a specific prose span containing action / object / dialogue. If you cannot point to one, go back and add it; do not submit a draft where the ledger lives in the memo but nowhere in the prose — review will flag the missing payoff and ask for a concrete scene.`;
|
|
113
|
+
}
|
|
114
|
+
return `## 章节备忘对齐
|
|
115
|
+
|
|
116
|
+
你将收到本章的 chapter_memo,由 7 段 markdown 组成:
|
|
117
|
+
|
|
118
|
+
- ## 当前任务 → 本章必须完成的具体动作,写作时始终对齐这条
|
|
119
|
+
- ## 读者此刻在等什么 → 控制情绪缺口的制造/延迟/兑现程度
|
|
120
|
+
- ## 该兑现的 / 暂不掀的 → 本章必须兑现的伏笔清单 + 必须压住不掀的底牌
|
|
121
|
+
- ## 日常/过渡承担什么任务 → 非冲突段落的功能映射([段落位置] → [承担功能])
|
|
122
|
+
- ## 关键抉择过三连问 → 关键人物选择必须过的检查
|
|
123
|
+
- ## 章尾必须发生的改变 → 结尾落地的 1-3 条具体改变(信息/关系/物理/权力)
|
|
124
|
+
- ## 本章 hook 账 → **硬对应规则**:advance/resolve 下面列出的每一个 hook_id 都必须在正文里有一个**具体可定位的兑现段**——写明人物对着什么物件/事件/信息做出什么可观察的动作或交谈。不允许"侧面暗示""留给下章"。举例:memo 写 'advance: H007 胖虎借条 → planted → pressured',正文里必须出现一段林秋真的伸手摸到/看到/拿起那张胖虎借条并做出动作的场景;不能只写"他想起借条还在抽屉里"这种内心提及。每个 advance/resolve 的 hook 兑现段至少 60 字。defer 下的不用落,open 段只需要在章末附近安排一个自然引出的新悬念即可
|
|
125
|
+
- ## 不要做 → 硬约束红线
|
|
126
|
+
|
|
127
|
+
写作时按段落顺序落实,每一段都要在正文里有对应的兑现痕迹。如果某一段没有体现到正文里,本章不算完成。**写完初稿后自检一遍 hook 账**:把 advance 和 resolve 的 hook_id 列下来,对照正文,确认每一个都能指到一段带具体动作/物件/对话的 prose。如果指不到,回去补写;不要提交"账本在 memo 里、正文里没落"的稿子——审稿会标记缺口并要求补出具体场景。`;
|
|
128
|
+
}
|
|
129
|
+
function buildLengthGuidance(lengthSpec, language) {
|
|
130
|
+
if (language === "en") {
|
|
131
|
+
return `## Length Guidance
|
|
132
|
+
|
|
133
|
+
- Target length: ${lengthSpec.target} words
|
|
134
|
+
- Acceptable range: ${lengthSpec.softMin}-${lengthSpec.softMax} words
|
|
135
|
+
- Hard range: ${lengthSpec.hardMin}-${lengthSpec.hardMax} words`;
|
|
136
|
+
}
|
|
137
|
+
return `## 字数治理
|
|
138
|
+
|
|
139
|
+
- 目标字数:${lengthSpec.target}字
|
|
140
|
+
- 允许区间:${lengthSpec.softMin}-${lengthSpec.softMax}字
|
|
141
|
+
- 硬区间:${lengthSpec.hardMin}-${lengthSpec.hardMax}字`;
|
|
142
|
+
}
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// 黄金三章 prose discipline — Phase 6.5
|
|
145
|
+
// Single conditional append (chapterNumber <= 3). No new schema, no new
|
|
146
|
+
// runtime branch. Cohesive paragraphs, NOT a numbered checklist.
|
|
147
|
+
// ---------------------------------------------------------------------------
|
|
148
|
+
export function buildGoldenOpeningDiscipline(chapterNumber, language) {
|
|
149
|
+
if (chapterNumber === undefined || chapterNumber > 3)
|
|
150
|
+
return "";
|
|
151
|
+
if (language === "en") {
|
|
152
|
+
return `## Golden Opening Discipline — Chapter ${chapterNumber}
|
|
153
|
+
|
|
154
|
+
This is chapter ${chapterNumber} of the opening three — your prose directly decides whether the reader stays. The Golden Three Chapters rule is a hard constraint on your sentences, not advice. Chapter 1: within the first 800 words the protagonist must trip the main-line conflict (chase, dead-end, dispossession, transmigration-as-crisis); long background paragraphs are forbidden, and worldbuilding rides on the protagonist's actions instead of being explained in a block. **The last sentence of the first 300 words (the reader's first phone screen) must land a dramatic / reversal / striking beat — "Officer, I transmigrated"-level, "I'll probably die tomorrow"-level, "I'm attending my own funeral"-level — not background or scene-setting. When the reader scrolls to the bottom of the first screen they must feel pulled into the next line.** Chapter 2: the edge — power, system, rebirth-memory, information advantage — must be **performed** (one concrete event of using it, with a visible consequence), not **announced** (a narrator paragraph saying it exists). Chapter 3: somewhere in this chapter the protagonist's next quantifiable short-term goal must surface, so the reader can name what comes next when they close the page.
|
|
155
|
+
|
|
156
|
+
The discipline that runs across all three opening chapters: paragraphs of three to five lines (mobile reading), verbs over adjectives, and every chapter ends on a small hook — a cliff, an unresolved question, or an emotional gap. **At most two scenes and at most two named characters who actually clash in the chapter (protagonist + one trigger/opponent; walk-on roles get a role label only, no name, no expansion). Editor Cong Yue's rule tightens the cap from 3 to 2 — readers already mix up 3.** Information is layered into action: basic facts (looks, status, situation) emerge from what the protagonist does; key world rules (system mechanics, the deeper logic) attach to plot triggers; a paragraph of pure exposition is forbidden.`;
|
|
157
|
+
}
|
|
158
|
+
return `## 黄金三章写作纪律 — 第 ${chapterNumber} 章
|
|
159
|
+
|
|
160
|
+
这是开篇三章中的第 ${chapterNumber} 章——你写出的每一句话都直接决定读者是否留下来。黄金三章法则对你不是建议,是对句子的硬约束。第 1 章:主角出场 800 字以内必须触发主线冲突(追杀、死局、被夺权、穿越即危机),禁止长段背景铺垫,世界观要通过主角的行动自然带出,不要整段解释。**第 1 章正文前 300 字(手机屏第一页)的最后一句必须是带戏剧性/反差/反转的收尾——警察叔叔我穿越了这类、我大概明天就要死了这类、我躺在自己的葬礼上这类——而不是介绍背景或交代环境。读者第一屏刷到页尾时必须产生"下一句是什么"的拉力。** 第 2 章:金手指/能力/系统/重生记忆/信息差必须"做出来"——一次具体使用的事件、一个看得见的后果——而不是"说出来"——旁白介绍它存在。第 3 章:本章中段必须让主角下一个可量化的短期目标浮上水面,读者合上页面要能说出"接下来他要干什么"。
|
|
161
|
+
|
|
162
|
+
贯穿开篇三章的纪律:段落 3-5 行(手机阅读节奏),动词压过形容词,每一章结尾必有小钩子——小悬念、未解之问、情绪缺口。**本章场景 ≤ 2 个、有名有姓参与正面冲突的人物 ≤ 2 个(主角 + 1 个触发者或对手;路人甲乙只报身份不给名字,不展开)。开篇人物上限从 3 收紧到 2:3 个已经够读者记混,2 个最稳。** 信息分层植入到动作里:基础信息(外貌、身份、处境)通过主角行动自然带出;关键设定(系统规则、世界底层)结合剧情节点揭示;禁止整段 exposition。`;
|
|
163
|
+
}
|
|
164
|
+
// ---------------------------------------------------------------------------
|
|
165
|
+
// Full cast tracking (conditional)
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
function buildFullCastTracking() {
|
|
168
|
+
return `## 全员追踪
|
|
169
|
+
|
|
170
|
+
本书启用全员追踪模式。每章结束时,POST_SETTLEMENT 必须额外包含:
|
|
171
|
+
- 本章出场角色清单(名字 + 一句话状态变化)
|
|
172
|
+
- 角色间关系变动(如有)
|
|
173
|
+
- 未出场但被提及的角色(名字 + 提及原因)`;
|
|
174
|
+
}
|
|
175
|
+
// ---------------------------------------------------------------------------
|
|
176
|
+
// Genre-specific rules
|
|
177
|
+
// ---------------------------------------------------------------------------
|
|
178
|
+
function buildGenreRules(gp, genreBody) {
|
|
179
|
+
const fatigueLine = gp.fatigueWords.length > 0
|
|
180
|
+
? `- 高疲劳词(${gp.fatigueWords.join("、")})单章最多出现1次`
|
|
181
|
+
: "";
|
|
182
|
+
const chapterTypesLine = gp.chapterTypes.length > 0
|
|
183
|
+
? `动笔前先判断本章类型:\n${gp.chapterTypes.map(t => `- ${t}`).join("\n")}`
|
|
184
|
+
: "";
|
|
185
|
+
const pacingLine = gp.pacingRule
|
|
186
|
+
? `- 节奏规则:${gp.pacingRule}`
|
|
187
|
+
: "";
|
|
188
|
+
return [
|
|
189
|
+
`## 题材规范(${gp.name})`,
|
|
190
|
+
fatigueLine,
|
|
191
|
+
pacingLine,
|
|
192
|
+
chapterTypesLine,
|
|
193
|
+
genreBody,
|
|
194
|
+
].filter(Boolean).join("\n\n");
|
|
195
|
+
}
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
// Protagonist rules from book_rules
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
// Narrative person is a durable user constraint: enforce it only when the user
|
|
200
|
+
// explicitly set one (book_rules.narrativePerson). When unset, stay silent so the
|
|
201
|
+
// genre default applies — we never impose a person the user didn't ask for.
|
|
202
|
+
function buildNarrativePersonRule(bookRules, language) {
|
|
203
|
+
const person = bookRules?.narrativePerson;
|
|
204
|
+
if (!person)
|
|
205
|
+
return "";
|
|
206
|
+
if (language === "en") {
|
|
207
|
+
return person === "first"
|
|
208
|
+
? "## Narrative person (hard constraint)\nWrite this book entirely in FIRST person (the protagonist's inner viewpoint). Do NOT slip into third person or an omniscient narrator — this overrides genre convention and your default."
|
|
209
|
+
: "## Narrative person (hard constraint)\nWrite this book in THIRD person.";
|
|
210
|
+
}
|
|
211
|
+
return person === "first"
|
|
212
|
+
? "## 叙事人称(硬约束)\n本书必须全程使用第一人称(主角内心视角)叙述,禁止切换到第三人称或全知视角——此约束优先于题材惯例与你的默认倾向。"
|
|
213
|
+
: "## 叙事人称(硬约束)\n本书使用第三人称叙述。";
|
|
214
|
+
}
|
|
215
|
+
function buildProtagonistRules(bookRules) {
|
|
216
|
+
if (!bookRules?.protagonist)
|
|
217
|
+
return "";
|
|
218
|
+
const p = bookRules.protagonist;
|
|
219
|
+
const lines = [`## 主角铁律(${p.name})`];
|
|
220
|
+
if (p.personalityLock.length > 0) {
|
|
221
|
+
lines.push(`\n性格锁定:${p.personalityLock.join("、")}`);
|
|
222
|
+
}
|
|
223
|
+
if (p.behavioralConstraints.length > 0) {
|
|
224
|
+
lines.push("\n行为约束:");
|
|
225
|
+
for (const c of p.behavioralConstraints) {
|
|
226
|
+
lines.push(`- ${c}`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (bookRules.prohibitions.length > 0) {
|
|
230
|
+
lines.push("\n本书禁忌:");
|
|
231
|
+
for (const p of bookRules.prohibitions) {
|
|
232
|
+
lines.push(`- ${p}`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (bookRules.genreLock?.forbidden && bookRules.genreLock.forbidden.length > 0) {
|
|
236
|
+
lines.push(`\n风格禁区:禁止出现${bookRules.genreLock.forbidden.join("、")}`);
|
|
237
|
+
}
|
|
238
|
+
return lines.join("\n");
|
|
239
|
+
}
|
|
240
|
+
// ---------------------------------------------------------------------------
|
|
241
|
+
// Book rules body (user-written markdown)
|
|
242
|
+
// ---------------------------------------------------------------------------
|
|
243
|
+
function buildBookRulesBody(body) {
|
|
244
|
+
if (!body)
|
|
245
|
+
return "";
|
|
246
|
+
return `## 本书专属规则\n\n${body}`;
|
|
247
|
+
}
|
|
248
|
+
// ---------------------------------------------------------------------------
|
|
249
|
+
// Style guide
|
|
250
|
+
// ---------------------------------------------------------------------------
|
|
251
|
+
function buildStyleGuide(styleGuide) {
|
|
252
|
+
if (!styleGuide || styleGuide === "(文件尚未创建)")
|
|
253
|
+
return "";
|
|
254
|
+
return `## 文风指南\n\n${styleGuide}`;
|
|
255
|
+
}
|
|
256
|
+
// ---------------------------------------------------------------------------
|
|
257
|
+
// Style fingerprint (Phase 9: C3)
|
|
258
|
+
// ---------------------------------------------------------------------------
|
|
259
|
+
function buildStyleFingerprint(fingerprint) {
|
|
260
|
+
if (!fingerprint)
|
|
261
|
+
return "";
|
|
262
|
+
return `## 文风指纹(模仿目标)
|
|
263
|
+
|
|
264
|
+
以下是从参考文本中提取的写作风格特征。你的输出必须尽量贴合这些特征:
|
|
265
|
+
|
|
266
|
+
${fingerprint}`;
|
|
267
|
+
}
|
|
268
|
+
// ---------------------------------------------------------------------------
|
|
269
|
+
// Creative-only output format (no settlement blocks)
|
|
270
|
+
// ---------------------------------------------------------------------------
|
|
271
|
+
function buildCreativeOutputFormat(book, gp, lengthSpec) {
|
|
272
|
+
const resourceRow = gp.numericalSystem
|
|
273
|
+
? "| 当前资源总量 | X | 与账本一致 |\n| 本章预计增量 | +X(来源) | 无增量写+0 |"
|
|
274
|
+
: "";
|
|
275
|
+
const preWriteTable = `=== PRE_WRITE_CHECK ===
|
|
276
|
+
(必须输出Markdown表格,全部检查项对齐 chapter_memo 七段,而不是卷纲)
|
|
277
|
+
| 检查项 | 本章记录 | 备注 |
|
|
278
|
+
|--------|----------|------|
|
|
279
|
+
| 当前任务 | 复述 chapter_memo 的「当前任务」并写出本章执行动作 | 必须具体,不能抽象 |
|
|
280
|
+
| 读者在等什么 | 本章如何处理「读者此刻在等什么」—制造/延迟/兑现 | 与 memo 一致 |
|
|
281
|
+
| 该兑现的 / 暂不掀的 | 本章确认要兑现的伏笔 + 必须压住不掀的底牌 | 引用 memo 原文 |
|
|
282
|
+
| 日常/过渡承担任务 | 若有日常/过渡段落,说明各自承担的功能 | 对齐 memo 映射表 |
|
|
283
|
+
| 章尾必须发生的改变 | 列出 memo「章尾必须发生的改变」中 1-3 条具体改变 | 必须落地 |
|
|
284
|
+
| 不要做 | 复述 memo「不要做」清单 | 正文不得触碰 |
|
|
285
|
+
| 上下文范围 | 第X章至第Y章 / 状态卡 / 设定文件 | |
|
|
286
|
+
| 当前锚点 | 地点 / 对手 / 收益目标 | 锚点必须具体 |
|
|
287
|
+
${resourceRow}| 待回收伏笔 | 用真实 hook_id 填写(无则写 none) | 与伏笔池一致 |
|
|
288
|
+
| 本章冲突 | 一句话概括 | |
|
|
289
|
+
| 章节类型 | ${gp.chapterTypes.join("/")} | |
|
|
290
|
+
| 风险扫描 | OOC/信息越界/设定冲突${gp.powerScaling ? "/战力崩坏" : ""}/节奏/词汇疲劳 | |`;
|
|
291
|
+
return `## 输出格式(严格遵守)
|
|
292
|
+
|
|
293
|
+
${preWriteTable}
|
|
294
|
+
|
|
295
|
+
=== CHAPTER_TITLE ===
|
|
296
|
+
(章节标题,不含"第X章"。标题必须与已有章节标题不同,不要重复使用相同或相似的标题;若提供了 recent title history 或高频标题词,必须主动避开重复词根和高频意象)
|
|
297
|
+
|
|
298
|
+
=== CHAPTER_CONTENT ===
|
|
299
|
+
(正文内容,目标${lengthSpec.target}字,允许区间${lengthSpec.softMin}-${lengthSpec.softMax}字)
|
|
300
|
+
|
|
301
|
+
【重要】本次只需输出以上三个区块(PRE_WRITE_CHECK、CHAPTER_TITLE、CHAPTER_CONTENT)。
|
|
302
|
+
状态卡、伏笔池、摘要等追踪文件将由后续结算阶段处理,请勿输出。`;
|
|
303
|
+
}
|
|
304
|
+
// ---------------------------------------------------------------------------
|
|
305
|
+
// Output format
|
|
306
|
+
// ---------------------------------------------------------------------------
|
|
307
|
+
function buildOutputFormat(book, gp, lengthSpec) {
|
|
308
|
+
const resourceRow = gp.numericalSystem
|
|
309
|
+
? "| 当前资源总量 | X | 与账本一致 |\n| 本章预计增量 | +X(来源) | 无增量写+0 |"
|
|
310
|
+
: "";
|
|
311
|
+
const preWriteTable = `=== PRE_WRITE_CHECK ===
|
|
312
|
+
(必须输出Markdown表格,全部检查项对齐 chapter_memo 七段,而不是卷纲)
|
|
313
|
+
| 检查项 | 本章记录 | 备注 |
|
|
314
|
+
|--------|----------|------|
|
|
315
|
+
| 当前任务 | 复述 chapter_memo 的「当前任务」并写出本章执行动作 | 必须具体,不能抽象 |
|
|
316
|
+
| 读者在等什么 | 本章如何处理「读者此刻在等什么」—制造/延迟/兑现 | 与 memo 一致 |
|
|
317
|
+
| 该兑现的 / 暂不掀的 | 本章确认要兑现的伏笔 + 必须压住不掀的底牌 | 引用 memo 原文 |
|
|
318
|
+
| 日常/过渡承担任务 | 若有日常/过渡段落,说明各自承担的功能 | 对齐 memo 映射表 |
|
|
319
|
+
| 章尾必须发生的改变 | 列出 memo「章尾必须发生的改变」中 1-3 条具体改变 | 必须落地 |
|
|
320
|
+
| 不要做 | 复述 memo「不要做」清单 | 正文不得触碰 |
|
|
321
|
+
| 上下文范围 | 第X章至第Y章 / 状态卡 / 设定文件 | |
|
|
322
|
+
| 当前锚点 | 地点 / 对手 / 收益目标 | 锚点必须具体 |
|
|
323
|
+
${resourceRow}| 待回收伏笔 | 用真实 hook_id 填写(无则写 none) | 与伏笔池一致 |
|
|
324
|
+
| 本章冲突 | 一句话概括 | |
|
|
325
|
+
| 章节类型 | ${gp.chapterTypes.join("/")} | |
|
|
326
|
+
| 风险扫描 | OOC/信息越界/设定冲突${gp.powerScaling ? "/战力崩坏" : ""}/节奏/词汇疲劳 | |`;
|
|
327
|
+
const postSettlement = gp.numericalSystem
|
|
328
|
+
? `=== POST_SETTLEMENT ===
|
|
329
|
+
(如有数值变动,必须输出Markdown表格)
|
|
330
|
+
| 结算项 | 本章记录 | 备注 |
|
|
331
|
+
|--------|----------|------|
|
|
332
|
+
| 资源账本 | 期初X / 增量+Y / 期末Z | 无增量写+0 |
|
|
333
|
+
| 重要资源 | 资源名 -> 贡献+Y(依据) | 无写"无" |
|
|
334
|
+
| 伏笔变动 | 新增/回收/延后 Hook | 同步更新伏笔池 |`
|
|
335
|
+
: `=== POST_SETTLEMENT ===
|
|
336
|
+
(如有伏笔变动,必须输出)
|
|
337
|
+
| 结算项 | 本章记录 | 备注 |
|
|
338
|
+
|--------|----------|------|
|
|
339
|
+
| 伏笔变动 | 新增/回收/延后 Hook | 同步更新伏笔池 |`;
|
|
340
|
+
const updatedLedger = gp.numericalSystem
|
|
341
|
+
? `\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本,Markdown表格格式)`
|
|
342
|
+
: "";
|
|
343
|
+
return `## 输出格式(严格遵守)
|
|
344
|
+
|
|
345
|
+
${preWriteTable}
|
|
346
|
+
|
|
347
|
+
=== CHAPTER_TITLE ===
|
|
348
|
+
(章节标题,不含"第X章"。标题必须与已有章节标题不同,不要重复使用相同或相似的标题;若提供了 recent title history 或高频标题词,必须主动避开重复词根和高频意象)
|
|
349
|
+
|
|
350
|
+
=== CHAPTER_CONTENT ===
|
|
351
|
+
(正文内容,目标${lengthSpec.target}字,允许区间${lengthSpec.softMin}-${lengthSpec.softMax}字)
|
|
352
|
+
|
|
353
|
+
${postSettlement}
|
|
354
|
+
|
|
355
|
+
=== UPDATED_STATE ===
|
|
356
|
+
(更新后的完整状态卡,Markdown表格格式)
|
|
357
|
+
${updatedLedger}
|
|
358
|
+
=== UPDATED_HOOKS ===
|
|
359
|
+
(更新后的完整伏笔池,Markdown表格格式)
|
|
360
|
+
|
|
361
|
+
=== CHAPTER_SUMMARY ===
|
|
362
|
+
(本章摘要,Markdown表格格式,必须包含以下列)
|
|
363
|
+
| 章节 | 标题 | 出场人物 | 关键事件 | 状态变化 | 伏笔动态 | 情绪基调 | 章节类型 |
|
|
364
|
+
|------|------|----------|----------|----------|----------|----------|----------|
|
|
365
|
+
| N | 本章标题 | 角色1,角色2 | 一句话概括 | 关键变化 | H01埋设/H02推进 | 情绪走向 | ${gp.chapterTypes.length > 0 ? gp.chapterTypes.join("/") : "过渡/冲突/高潮/收束"} |
|
|
366
|
+
|
|
367
|
+
=== UPDATED_SUBPLOTS ===
|
|
368
|
+
(更新后的完整支线进度板,Markdown表格格式)
|
|
369
|
+
| 支线ID | 支线名 | 相关角色 | 起始章 | 最近活跃章 | 距今章数 | 状态 | 进度概述 | 回收ETA |
|
|
370
|
+
|--------|--------|----------|--------|------------|----------|------|----------|---------|
|
|
371
|
+
|
|
372
|
+
=== UPDATED_EMOTIONAL_ARCS ===
|
|
373
|
+
(更新后的完整情感弧线,Markdown表格格式)
|
|
374
|
+
| 角色 | 章节 | 情绪状态 | 触发事件 | 强度(1-10) | 弧线方向 |
|
|
375
|
+
|------|------|----------|----------|------------|----------|
|
|
376
|
+
|
|
377
|
+
=== UPDATED_CHARACTER_MATRIX ===
|
|
378
|
+
(更新后的角色矩阵,每个角色一个 ## 块)
|
|
379
|
+
|
|
380
|
+
## 角色名
|
|
381
|
+
- **定位**: 主角 / 反派 / 盟友 / 配角 / 提及
|
|
382
|
+
- **标签**: 核心身份标签
|
|
383
|
+
- **反差**: 打破刻板印象的独特细节
|
|
384
|
+
- **说话**: 说话风格概述
|
|
385
|
+
- **性格**: 性格底色
|
|
386
|
+
- **动机**: 根本驱动力
|
|
387
|
+
- **当前**: 本章即时目标
|
|
388
|
+
- **关系**: 某角色(关系性质/Ch#) | ...
|
|
389
|
+
- **已知**: 该角色已知的信息(仅限亲历或被告知)
|
|
390
|
+
- **未知**: 该角色不知道的信息`;
|
|
391
|
+
}
|
|
392
|
+
// ---------------------------------------------------------------------------
|
|
393
|
+
// English output formats (parser keys off the === MARKER === anchors, so the
|
|
394
|
+
// table labels below are safely localized; persisted artifacts read English).
|
|
395
|
+
// ---------------------------------------------------------------------------
|
|
396
|
+
function buildEnglishPreWriteTable(gp) {
|
|
397
|
+
const resourceRow = gp.numericalSystem
|
|
398
|
+
? "| Current resource total | X | match the ledger |\n| This chapter's gain | +X (source) | write +0 if none |\n"
|
|
399
|
+
: "";
|
|
400
|
+
return `=== PRE_WRITE_CHECK ===
|
|
401
|
+
(Output a Markdown table. Every row aligns with the seven chapter_memo sections, not the volume outline.)
|
|
402
|
+
| Check | This chapter | Note |
|
|
403
|
+
|-------|--------------|------|
|
|
404
|
+
| Current task | Restate the chapter_memo "Current task" and the concrete action this chapter takes | Be specific, not abstract |
|
|
405
|
+
| What the reader is waiting for | How this chapter handles it: create / delay / pay off | Match the memo |
|
|
406
|
+
| Pay off / keep hidden | Foreshadowing to pay off + cards that must stay down | Quote the memo |
|
|
407
|
+
| Routine / transition duty | If any routine or transition passage exists, state each one's function | Match the memo mapping |
|
|
408
|
+
| Required end-of-chapter change | 1-3 concrete changes from the memo's end-of-chapter change | Must land on the page |
|
|
409
|
+
| Do not | Restate the memo "Do not" list | The prose must not touch these |
|
|
410
|
+
| Context range | Ch X to Ch Y / state card / setting files | |
|
|
411
|
+
| Current anchor | Location / opponent / payoff goal | Anchor must be concrete |
|
|
412
|
+
${resourceRow}| Hooks to resolve | Real hook_id (write none if absent) | Match the hook pool |
|
|
413
|
+
| This chapter's conflict | One line | |
|
|
414
|
+
| Chapter type | ${gp.chapterTypes.join(" / ")} | |
|
|
415
|
+
| Risk scan | OOC / info leak / canon conflict${gp.powerScaling ? " / power-scaling break" : ""} / pacing / word fatigue | |`;
|
|
416
|
+
}
|
|
417
|
+
function buildEnglishContentBlocks(lengthSpec) {
|
|
418
|
+
return `=== CHAPTER_TITLE ===
|
|
419
|
+
(Chapter title, without "Chapter X". It must differ from existing titles; do not reuse the same or similar titles. If recent title history or high-frequency title words are provided, avoid repeated roots and overused imagery.)
|
|
420
|
+
|
|
421
|
+
=== CHAPTER_CONTENT ===
|
|
422
|
+
(Chapter prose. Target ${lengthSpec.target} words, acceptable range ${lengthSpec.softMin}-${lengthSpec.softMax} words.)`;
|
|
423
|
+
}
|
|
424
|
+
function buildEnglishCreativeOutputFormat(_book, gp, lengthSpec) {
|
|
425
|
+
return `## Output Format (follow strictly)
|
|
426
|
+
|
|
427
|
+
${buildEnglishPreWriteTable(gp)}
|
|
428
|
+
|
|
429
|
+
${buildEnglishContentBlocks(lengthSpec)}
|
|
430
|
+
|
|
431
|
+
[Important] Output only the three blocks above (PRE_WRITE_CHECK, CHAPTER_TITLE, CHAPTER_CONTENT). State cards, hook pool, and summaries are handled by the later settlement stage; do not output them.`;
|
|
432
|
+
}
|
|
433
|
+
function buildEnglishOutputFormat(_book, gp, lengthSpec) {
|
|
434
|
+
const postSettlement = gp.numericalSystem
|
|
435
|
+
? `=== POST_SETTLEMENT ===
|
|
436
|
+
(If any numerical change occurred, output a Markdown table.)
|
|
437
|
+
| Item | This chapter | Note |
|
|
438
|
+
|------|--------------|------|
|
|
439
|
+
| Resource ledger | open X / gain +Y / close Z | write +0 if none |
|
|
440
|
+
| Key resources | name -> contribution +Y (basis) | write "none" if none |
|
|
441
|
+
| Hook changes | new / resolved / deferred hook | sync the hook pool |`
|
|
442
|
+
: `=== POST_SETTLEMENT ===
|
|
443
|
+
(If any hook changed, output this.)
|
|
444
|
+
| Item | This chapter | Note |
|
|
445
|
+
|------|--------------|------|
|
|
446
|
+
| Hook changes | new / resolved / deferred hook | sync the hook pool |`;
|
|
447
|
+
const updatedLedger = gp.numericalSystem
|
|
448
|
+
? `\n=== UPDATED_LEDGER ===\n(The full updated resource ledger, Markdown table.)`
|
|
449
|
+
: "";
|
|
450
|
+
return `## Output Format (follow strictly)
|
|
451
|
+
|
|
452
|
+
${buildEnglishPreWriteTable(gp)}
|
|
453
|
+
|
|
454
|
+
${buildEnglishContentBlocks(lengthSpec)}
|
|
455
|
+
|
|
456
|
+
${postSettlement}
|
|
457
|
+
|
|
458
|
+
=== UPDATED_STATE ===
|
|
459
|
+
(The full updated state card, Markdown table.)
|
|
460
|
+
${updatedLedger}
|
|
461
|
+
=== UPDATED_HOOKS ===
|
|
462
|
+
(The full updated hook pool, Markdown table.)
|
|
463
|
+
|
|
464
|
+
=== CHAPTER_SUMMARY ===
|
|
465
|
+
(Chapter summary as a Markdown table with these columns.)
|
|
466
|
+
| Chapter | Title | Characters | Key events | State change | Hook dynamics | Emotional tone | Chapter type |
|
|
467
|
+
|---------|-------|------------|------------|--------------|---------------|----------------|--------------|
|
|
468
|
+
| N | this chapter's title | Char1, Char2 | one-line summary | key change | H01 planted / H02 advanced | emotional arc | ${gp.chapterTypes.length > 0 ? gp.chapterTypes.join(" / ") : "transition / conflict / climax / resolution"} |
|
|
469
|
+
|
|
470
|
+
=== UPDATED_SUBPLOTS ===
|
|
471
|
+
(The full updated subplot board, Markdown table.)
|
|
472
|
+
| Subplot ID | Name | Characters | Start ch | Last active ch | Chapters since | Status | Progress | Resolve ETA |
|
|
473
|
+
|------------|------|------------|----------|----------------|----------------|--------|----------|-------------|
|
|
474
|
+
|
|
475
|
+
=== UPDATED_EMOTIONAL_ARCS ===
|
|
476
|
+
(The full updated emotional arcs, Markdown table.)
|
|
477
|
+
| Character | Chapter | Emotional state | Trigger | Intensity (1-10) | Arc direction |
|
|
478
|
+
|-----------|---------|-----------------|---------|------------------|---------------|
|
|
479
|
+
|
|
480
|
+
=== UPDATED_CHARACTER_MATRIX ===
|
|
481
|
+
(The updated character matrix, one ## block per character.)
|
|
482
|
+
|
|
483
|
+
## Character Name
|
|
484
|
+
- **Role**: protagonist / antagonist / ally / supporting / mentioned
|
|
485
|
+
- **Tags**: core identity tags
|
|
486
|
+
- **Contrast**: a distinctive detail that breaks the stereotype
|
|
487
|
+
- **Voice**: how they speak
|
|
488
|
+
- **Personality**: underlying temperament
|
|
489
|
+
- **Motivation**: core driving force
|
|
490
|
+
- **Current**: this chapter's immediate goal
|
|
491
|
+
- **Relations**: Character (relationship / Ch#) | ...
|
|
492
|
+
- **Knows**: what this character knows (only what they witnessed or were told)
|
|
493
|
+
- **Unknown**: what this character does not know`;
|
|
494
|
+
}
|
|
495
|
+
//# sourceMappingURL=writer-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-prompts.js","sourceRoot":"","sources":["../../src/agents/writer-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { BaseAgent } from "./base.js";
|
|
2
|
+
import type { BookConfig } from "../models/book.js";
|
|
3
|
+
import { type PostWriteViolation } from "./post-write-validator.js";
|
|
4
|
+
import type { ChapterIntent, ChapterMemo, ContextPackage, RuleStack } from "../models/input-governance.js";
|
|
5
|
+
import type { LengthSpec } from "../models/length-governance.js";
|
|
6
|
+
import type { RuntimeStateDelta } from "../models/runtime-state.js";
|
|
7
|
+
import type { RuntimeStateSnapshot } from "../state/state-reducer.js";
|
|
8
|
+
export interface WriteChapterInput {
|
|
9
|
+
readonly book: BookConfig;
|
|
10
|
+
readonly bookDir: string;
|
|
11
|
+
readonly chapterNumber: number;
|
|
12
|
+
readonly externalContext?: string;
|
|
13
|
+
readonly chapterIntent: string;
|
|
14
|
+
readonly chapterMemo: ChapterMemo;
|
|
15
|
+
readonly chapterIntentData?: ChapterIntent;
|
|
16
|
+
readonly contextPackage: ContextPackage;
|
|
17
|
+
readonly ruleStack: RuleStack;
|
|
18
|
+
readonly lengthSpec?: LengthSpec;
|
|
19
|
+
readonly wordCountOverride?: number;
|
|
20
|
+
readonly temperatureOverride?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface SettleChapterStateInput {
|
|
23
|
+
readonly book: BookConfig;
|
|
24
|
+
readonly bookDir: string;
|
|
25
|
+
readonly chapterNumber: number;
|
|
26
|
+
readonly title: string;
|
|
27
|
+
readonly content: string;
|
|
28
|
+
readonly allowReapply?: boolean;
|
|
29
|
+
readonly allowNewHooks?: boolean;
|
|
30
|
+
readonly baselineChapter?: number;
|
|
31
|
+
readonly chapterIntent?: string;
|
|
32
|
+
readonly contextPackage?: ContextPackage;
|
|
33
|
+
readonly ruleStack?: RuleStack;
|
|
34
|
+
readonly validationFeedback?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface TokenUsage {
|
|
37
|
+
readonly promptTokens: number;
|
|
38
|
+
readonly completionTokens: number;
|
|
39
|
+
readonly totalTokens: number;
|
|
40
|
+
}
|
|
41
|
+
export interface WriteChapterOutput {
|
|
42
|
+
readonly chapterNumber: number;
|
|
43
|
+
readonly title: string;
|
|
44
|
+
readonly content: string;
|
|
45
|
+
readonly wordCount: number;
|
|
46
|
+
readonly preWriteCheck: string;
|
|
47
|
+
readonly postSettlement: string;
|
|
48
|
+
readonly runtimeStateDelta?: RuntimeStateDelta;
|
|
49
|
+
readonly runtimeStateSnapshot?: RuntimeStateSnapshot;
|
|
50
|
+
readonly updatedState: string;
|
|
51
|
+
readonly updatedLedger: string;
|
|
52
|
+
readonly updatedHooks: string;
|
|
53
|
+
readonly chapterSummary: string;
|
|
54
|
+
readonly updatedChapterSummaries?: string;
|
|
55
|
+
readonly updatedSubplots: string;
|
|
56
|
+
readonly updatedEmotionalArcs: string;
|
|
57
|
+
readonly updatedCharacterMatrix: string;
|
|
58
|
+
readonly postWriteErrors: ReadonlyArray<PostWriteViolation>;
|
|
59
|
+
readonly postWriteWarnings: ReadonlyArray<PostWriteViolation>;
|
|
60
|
+
readonly hookHealthIssues?: ReadonlyArray<{
|
|
61
|
+
readonly severity: "critical" | "warning" | "info";
|
|
62
|
+
readonly category: string;
|
|
63
|
+
readonly description: string;
|
|
64
|
+
readonly suggestion: string;
|
|
65
|
+
}>;
|
|
66
|
+
readonly tokenUsage?: TokenUsage;
|
|
67
|
+
}
|
|
68
|
+
export declare class WriterAgent extends BaseAgent {
|
|
69
|
+
get name(): string;
|
|
70
|
+
private localize;
|
|
71
|
+
private logInfo;
|
|
72
|
+
private logWarn;
|
|
73
|
+
writeChapter(input: WriteChapterInput): Promise<WriteChapterOutput>;
|
|
74
|
+
settleChapterState(input: SettleChapterStateInput): Promise<WriteChapterOutput>;
|
|
75
|
+
private settle;
|
|
76
|
+
saveChapter(bookDir: string, output: WriteChapterOutput, numericalSystem?: boolean, language?: "zh" | "en"): Promise<void>;
|
|
77
|
+
private buildGovernedUserPrompt;
|
|
78
|
+
private buildChapterContextBlock;
|
|
79
|
+
private joinGovernedEvidenceBlocks;
|
|
80
|
+
private buildSettlerGovernedControlBlock;
|
|
81
|
+
/**
|
|
82
|
+
* Soft-check that the LLM's PRE_WRITE_CHECK output references the three
|
|
83
|
+
* non-negotiable memo sections: 当前任务, 不要做, 章尾必须发生的改变.
|
|
84
|
+
*
|
|
85
|
+
* This is NOT a hard gate — the memo was already parse-validated in the
|
|
86
|
+
* planner, and the writer prompt already tells the LLM to align to memo.
|
|
87
|
+
* We only warn when the LLM skipped a section, so the chapter still ships.
|
|
88
|
+
*/
|
|
89
|
+
private verifyPreWriteCheckAlignsWithMemo;
|
|
90
|
+
private buildLengthRequirementBlock;
|
|
91
|
+
private loadRecentChapters;
|
|
92
|
+
private readFileOrDefault;
|
|
93
|
+
private readSnapshotCharacterContext;
|
|
94
|
+
private renderDeltaSummaryRow;
|
|
95
|
+
private normalizeRuntimeStateDeltaChapter;
|
|
96
|
+
private buildRuntimeStateArtifactsIfPresent;
|
|
97
|
+
private resolveRuntimeStateArtifactsForOutput;
|
|
98
|
+
private renderAppendedChapterSummary;
|
|
99
|
+
private buildStyleFingerprint;
|
|
100
|
+
private sanitizeFilename;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/agents/writer.ts"],"names":[],"mappings":"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"}
|