@actalk/inkos-core 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-session.d.ts +7 -7
- package/dist/agent/agent-session.d.ts.map +1 -1
- package/dist/agent/agent-session.js +392 -63
- package/dist/agent/agent-session.js.map +1 -1
- package/dist/agent/agent-system-prompt.d.ts.map +1 -1
- package/dist/agent/agent-system-prompt.js +20 -16
- package/dist/agent/agent-system-prompt.js.map +1 -1
- package/dist/agent/agent-tools.d.ts +4 -1
- package/dist/agent/agent-tools.d.ts.map +1 -1
- package/dist/agent/agent-tools.js +81 -64
- package/dist/agent/agent-tools.js.map +1 -1
- package/dist/agents/architect.d.ts +18 -20
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +513 -632
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/chapter-analyzer.d.ts.map +1 -1
- package/dist/agents/chapter-analyzer.js +10 -6
- package/dist/agents/chapter-analyzer.js.map +1 -1
- package/dist/agents/composer.d.ts +1 -13
- package/dist/agents/composer.d.ts.map +1 -1
- package/dist/agents/composer.js +297 -290
- package/dist/agents/composer.js.map +1 -1
- package/dist/agents/consolidator.d.ts +17 -1
- package/dist/agents/consolidator.d.ts.map +1 -1
- package/dist/agents/consolidator.js +44 -6
- package/dist/agents/consolidator.js.map +1 -1
- package/dist/agents/continuity.d.ts +4 -1
- package/dist/agents/continuity.d.ts.map +1 -1
- package/dist/agents/continuity.js +111 -21
- package/dist/agents/continuity.js.map +1 -1
- package/dist/agents/length-normalizer.d.ts.map +1 -1
- package/dist/agents/length-normalizer.js +1 -4
- package/dist/agents/length-normalizer.js.map +1 -1
- package/dist/agents/planner-context.d.ts +54 -0
- package/dist/agents/planner-context.d.ts.map +1 -0
- package/dist/agents/planner-context.js +245 -0
- package/dist/agents/planner-context.js.map +1 -0
- package/dist/agents/planner-prompts.d.ts +36 -0
- package/dist/agents/planner-prompts.d.ts.map +1 -0
- package/dist/agents/planner-prompts.js +350 -0
- package/dist/agents/planner-prompts.js.map +1 -0
- package/dist/agents/planner.d.ts +39 -11
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +212 -195
- package/dist/agents/planner.js.map +1 -1
- 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 +1 -0
- package/dist/agents/post-write-validator.d.ts.map +1 -1
- package/dist/agents/post-write-validator.js +13 -0
- package/dist/agents/post-write-validator.js.map +1 -1
- package/dist/agents/reviser.d.ts +6 -2
- package/dist/agents/reviser.d.ts.map +1 -1
- package/dist/agents/reviser.js +379 -98
- package/dist/agents/reviser.js.map +1 -1
- package/dist/agents/rules-reader.d.ts +15 -2
- package/dist/agents/rules-reader.d.ts.map +1 -1
- package/dist/agents/rules-reader.js +49 -6
- package/dist/agents/rules-reader.js.map +1 -1
- package/dist/agents/state-validator.d.ts +9 -1
- package/dist/agents/state-validator.d.ts.map +1 -1
- package/dist/agents/state-validator.js +37 -1
- package/dist/agents/state-validator.js.map +1 -1
- package/dist/agents/writer-prompts.d.ts +1 -0
- package/dist/agents/writer-prompts.d.ts.map +1 -1
- package/dist/agents/writer-prompts.js +272 -29
- package/dist/agents/writer-prompts.js.map +1 -1
- package/dist/agents/writer.d.ts +12 -3
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +77 -107
- package/dist/agents/writer.js.map +1 -1
- package/dist/index.d.ts +20 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -5
- package/dist/index.js.map +1 -1
- package/dist/interaction/book-session-store.d.ts.map +1 -1
- package/dist/interaction/book-session-store.js +84 -69
- package/dist/interaction/book-session-store.js.map +1 -1
- package/dist/interaction/events.d.ts +2 -2
- package/dist/interaction/project-tools.d.ts +1 -0
- package/dist/interaction/project-tools.d.ts.map +1 -1
- package/dist/interaction/project-tools.js +51 -3
- package/dist/interaction/project-tools.js.map +1 -1
- 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 +100 -0
- package/dist/interaction/session-transcript-legacy.js.map +1 -0
- package/dist/interaction/session-transcript-restore.d.ts +17 -0
- package/dist/interaction/session-transcript-restore.d.ts.map +1 -0
- package/dist/interaction/session-transcript-restore.js +493 -0
- package/dist/interaction/session-transcript-restore.js.map +1 -0
- package/dist/interaction/session-transcript-schema.d.ts +402 -0
- package/dist/interaction/session-transcript-schema.d.ts.map +1 -0
- package/dist/interaction/session-transcript-schema.js +59 -0
- package/dist/interaction/session-transcript-schema.js.map +1 -0
- package/dist/interaction/session-transcript.d.ts +14 -0
- package/dist/interaction/session-transcript.d.ts.map +1 -0
- package/dist/interaction/session-transcript.js +152 -0
- package/dist/interaction/session-transcript.js.map +1 -0
- package/dist/interaction/session.d.ts +10 -10
- package/dist/interaction/session.d.ts.map +1 -1
- package/dist/interaction/session.js +5 -3
- package/dist/interaction/session.js.map +1 -1
- package/dist/llm/provider.d.ts +6 -9
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +255 -63
- package/dist/llm/provider.js.map +1 -1
- 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/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/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 +26 -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 +74 -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 +67 -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.map +1 -1
- package/dist/llm/secrets.js +27 -2
- package/dist/llm/secrets.js.map +1 -1
- package/dist/llm/service-presets.d.ts +13 -3
- package/dist/llm/service-presets.d.ts.map +1 -1
- package/dist/llm/service-presets.js +78 -42
- package/dist/llm/service-presets.js.map +1 -1
- package/dist/llm/service-resolver.d.ts +1 -1
- package/dist/llm/service-resolver.d.ts.map +1 -1
- package/dist/llm/service-resolver.js +13 -0
- package/dist/llm/service-resolver.js.map +1 -1
- package/dist/models/book-rules.d.ts +23 -1
- package/dist/models/book-rules.d.ts.map +1 -1
- package/dist/models/book-rules.js +54 -2
- package/dist/models/book-rules.js.map +1 -1
- package/dist/models/input-governance.d.ts +20 -244
- package/dist/models/input-governance.d.ts.map +1 -1
- package/dist/models/input-governance.js +7 -51
- package/dist/models/input-governance.js.map +1 -1
- package/dist/models/project.d.ts +29 -28
- package/dist/models/project.d.ts.map +1 -1
- package/dist/models/project.js +11 -9
- package/dist/models/project.js.map +1 -1
- package/dist/models/runtime-state.d.ts +120 -0
- package/dist/models/runtime-state.d.ts.map +1 -1
- package/dist/models/runtime-state.js +12 -0
- package/dist/models/runtime-state.js.map +1 -1
- package/dist/pipeline/agent.d.ts.map +1 -1
- package/dist/pipeline/agent.js +59 -10
- package/dist/pipeline/agent.js.map +1 -1
- package/dist/pipeline/chapter-review-cycle.d.ts +11 -4
- package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -1
- package/dist/pipeline/chapter-review-cycle.js +156 -73
- package/dist/pipeline/chapter-review-cycle.js.map +1 -1
- package/dist/pipeline/chapter-truth-validation.d.ts +2 -1
- package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
- package/dist/pipeline/chapter-truth-validation.js +1 -1
- package/dist/pipeline/chapter-truth-validation.js.map +1 -1
- package/dist/pipeline/persisted-governed-plan.d.ts +1 -0
- package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -1
- package/dist/pipeline/persisted-governed-plan.js +181 -66
- package/dist/pipeline/persisted-governed-plan.js.map +1 -1
- package/dist/pipeline/runner.d.ts +20 -17
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +359 -84
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/state/manager.d.ts.map +1 -1
- package/dist/state/manager.js +44 -4
- package/dist/state/manager.js.map +1 -1
- package/dist/state/memory-db.d.ts +6 -0
- package/dist/state/memory-db.d.ts.map +1 -1
- package/dist/state/memory-db.js.map +1 -1
- package/dist/state/runtime-state-store.d.ts.map +1 -1
- package/dist/state/runtime-state-store.js +4 -1
- package/dist/state/runtime-state-store.js.map +1 -1
- package/dist/state/state-projections.d.ts +3 -1
- package/dist/state/state-projections.d.ts.map +1 -1
- package/dist/state/state-projections.js +58 -15
- package/dist/state/state-projections.js.map +1 -1
- 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/chapter-cadence.js +1 -0
- package/dist/utils/chapter-cadence.js.map +1 -1
- package/dist/utils/chapter-memo-parser.d.ts +19 -0
- package/dist/utils/chapter-memo-parser.d.ts.map +1 -0
- package/dist/utils/chapter-memo-parser.js +114 -0
- package/dist/utils/chapter-memo-parser.js.map +1 -0
- package/dist/utils/config-loader.d.ts +7 -11
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +13 -253
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/context-assembly.d.ts +24 -0
- package/dist/utils/context-assembly.d.ts.map +1 -0
- package/dist/utils/context-assembly.js +77 -0
- package/dist/utils/context-assembly.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 +417 -0
- package/dist/utils/effective-llm-config.js.map +1 -0
- package/dist/utils/governed-working-set.js +1 -1
- package/dist/utils/governed-working-set.js.map +1 -1
- 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 +5 -0
- package/dist/utils/hook-lifecycle.d.ts.map +1 -1
- package/dist/utils/hook-lifecycle.js +32 -0
- package/dist/utils/hook-lifecycle.js.map +1 -1
- package/dist/utils/hook-policy.d.ts +0 -17
- package/dist/utils/hook-policy.d.ts.map +1 -1
- package/dist/utils/hook-policy.js +0 -30
- package/dist/utils/hook-policy.js.map +1 -1
- 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/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/memory-retrieval.d.ts +23 -1
- package/dist/utils/memory-retrieval.d.ts.map +1 -1
- package/dist/utils/memory-retrieval.js +45 -2
- package/dist/utils/memory-retrieval.js.map +1 -1
- 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/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/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 +7 -0
- package/dist/utils/spot-fix-patches.d.ts.map +1 -1
- package/dist/utils/spot-fix-patches.js +109 -36
- package/dist/utils/spot-fix-patches.js.map +1 -1
- package/dist/utils/story-markdown.d.ts.map +1 -1
- package/dist/utils/story-markdown.js +104 -6
- package/dist/utils/story-markdown.js.map +1 -1
- 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/package.json +3 -2
- package/dist/utils/hook-agenda.d.ts +0 -21
- package/dist/utils/hook-agenda.d.ts.map +0 -1
- package/dist/utils/hook-agenda.js +0 -95
- package/dist/utils/hook-agenda.js.map +0 -1
|
@@ -7,8 +7,15 @@ export interface SpotFixPatchApplyResult {
|
|
|
7
7
|
readonly revisedContent: string;
|
|
8
8
|
readonly rejectedReason?: string;
|
|
9
9
|
readonly appliedPatchCount: number;
|
|
10
|
+
readonly skippedPatchCount: number;
|
|
10
11
|
readonly touchedChars: number;
|
|
11
12
|
}
|
|
12
13
|
export declare function parseSpotFixPatches(raw: string): SpotFixPatch[];
|
|
14
|
+
/**
|
|
15
|
+
* Apply patches to original content. Uses best-effort per-patch strategy:
|
|
16
|
+
* - Try exact match first
|
|
17
|
+
* - Fall back to fuzzy match (whitespace-normalized) if exact fails
|
|
18
|
+
* - Skip individual patches that can't be matched instead of rejecting all
|
|
19
|
+
*/
|
|
13
20
|
export declare function applySpotFixPatches(original: string, patches: ReadonlyArray<SpotFixPatch>): SpotFixPatchApplyResult;
|
|
14
21
|
//# sourceMappingURL=spot-fix-patches.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spot-fix-patches.d.ts","sourceRoot":"","sources":["../../src/utils/spot-fix-patches.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"spot-fix-patches.d.ts","sourceRoot":"","sources":["../../src/utils/spot-fix-patches.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAiB/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GACnC,uBAAuB,CAsCzB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const MAX_SPOT_FIX_TOUCHED_RATIO = 0.25;
|
|
2
1
|
export function parseSpotFixPatches(raw) {
|
|
3
2
|
const normalized = raw.includes("=== PATCHES ===")
|
|
4
3
|
? raw.slice(raw.indexOf("=== PATCHES ===") + "=== PATCHES ===".length)
|
|
@@ -14,6 +13,12 @@ export function parseSpotFixPatches(raw) {
|
|
|
14
13
|
}
|
|
15
14
|
return patches.filter((patch) => patch.targetText.length > 0);
|
|
16
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Apply patches to original content. Uses best-effort per-patch strategy:
|
|
18
|
+
* - Try exact match first
|
|
19
|
+
* - Fall back to fuzzy match (whitespace-normalized) if exact fails
|
|
20
|
+
* - Skip individual patches that can't be matched instead of rejecting all
|
|
21
|
+
*/
|
|
17
22
|
export function applySpotFixPatches(original, patches) {
|
|
18
23
|
if (patches.length === 0) {
|
|
19
24
|
return {
|
|
@@ -21,54 +26,122 @@ export function applySpotFixPatches(original, patches) {
|
|
|
21
26
|
revisedContent: original,
|
|
22
27
|
rejectedReason: "No valid patches returned.",
|
|
23
28
|
appliedPatchCount: 0,
|
|
29
|
+
skippedPatchCount: 0,
|
|
24
30
|
touchedChars: 0,
|
|
25
31
|
};
|
|
26
32
|
}
|
|
27
|
-
const touchedChars = patches.reduce((sum, patch) => sum + patch.targetText.length, 0);
|
|
28
|
-
if (original.length > 0 && touchedChars / original.length > MAX_SPOT_FIX_TOUCHED_RATIO) {
|
|
29
|
-
return {
|
|
30
|
-
applied: false,
|
|
31
|
-
revisedContent: original,
|
|
32
|
-
rejectedReason: "Patch set would touch too much of the chapter.",
|
|
33
|
-
appliedPatchCount: 0,
|
|
34
|
-
touchedChars,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
33
|
let current = original;
|
|
34
|
+
let appliedPatchCount = 0;
|
|
35
|
+
let skippedPatchCount = 0;
|
|
36
|
+
let touchedChars = 0;
|
|
38
37
|
for (const patch of patches) {
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
rejectedReason: "Each TARGET_TEXT must match the chapter exactly once.",
|
|
45
|
-
appliedPatchCount: 0,
|
|
46
|
-
touchedChars,
|
|
47
|
-
};
|
|
38
|
+
const result = tryApplyPatch(current, patch);
|
|
39
|
+
if (result) {
|
|
40
|
+
current = result.content;
|
|
41
|
+
touchedChars += patch.targetText.length;
|
|
42
|
+
appliedPatchCount++;
|
|
48
43
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return {
|
|
52
|
-
applied: false,
|
|
53
|
-
revisedContent: original,
|
|
54
|
-
rejectedReason: "Each TARGET_TEXT must match the chapter exactly once.",
|
|
55
|
-
appliedPatchCount: 0,
|
|
56
|
-
touchedChars,
|
|
57
|
-
};
|
|
44
|
+
else {
|
|
45
|
+
skippedPatchCount++;
|
|
58
46
|
}
|
|
59
|
-
current = [
|
|
60
|
-
current.slice(0, start),
|
|
61
|
-
patch.replacementText,
|
|
62
|
-
current.slice(start + patch.targetText.length),
|
|
63
|
-
].join("");
|
|
64
47
|
}
|
|
65
48
|
return {
|
|
66
|
-
applied: current !== original,
|
|
49
|
+
applied: appliedPatchCount > 0 && current !== original,
|
|
67
50
|
revisedContent: current,
|
|
68
|
-
appliedPatchCount
|
|
51
|
+
appliedPatchCount,
|
|
52
|
+
skippedPatchCount,
|
|
69
53
|
touchedChars,
|
|
54
|
+
rejectedReason: appliedPatchCount === 0
|
|
55
|
+
? "No patches could be matched to the chapter content."
|
|
56
|
+
: undefined,
|
|
70
57
|
};
|
|
71
58
|
}
|
|
59
|
+
function tryApplyPatch(content, patch) {
|
|
60
|
+
// 1. Try exact match
|
|
61
|
+
const exactResult = tryExactMatch(content, patch.targetText);
|
|
62
|
+
if (exactResult) {
|
|
63
|
+
return {
|
|
64
|
+
content: content.slice(0, exactResult.start) +
|
|
65
|
+
patch.replacementText +
|
|
66
|
+
content.slice(exactResult.start + patch.targetText.length),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// 2. Try fuzzy match (normalize whitespace for comparison)
|
|
70
|
+
const fuzzyResult = tryFuzzyMatch(content, patch.targetText);
|
|
71
|
+
if (fuzzyResult) {
|
|
72
|
+
return {
|
|
73
|
+
content: content.slice(0, fuzzyResult.start) +
|
|
74
|
+
patch.replacementText +
|
|
75
|
+
content.slice(fuzzyResult.end),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
function tryExactMatch(content, target) {
|
|
81
|
+
const start = content.indexOf(target);
|
|
82
|
+
if (start === -1)
|
|
83
|
+
return null;
|
|
84
|
+
// Ensure unique match
|
|
85
|
+
const another = content.indexOf(target, start + target.length);
|
|
86
|
+
if (another !== -1)
|
|
87
|
+
return null;
|
|
88
|
+
return { start };
|
|
89
|
+
}
|
|
90
|
+
function tryFuzzyMatch(content, target) {
|
|
91
|
+
const normalizedTarget = normalizeWhitespace(target);
|
|
92
|
+
if (normalizedTarget.length < 10)
|
|
93
|
+
return null; // Too short to fuzzy match safely
|
|
94
|
+
// Build a sliding window over the content using normalized comparison.
|
|
95
|
+
// Strategy: normalize both sides, find the normalized target in the
|
|
96
|
+
// normalized content, then map back to original positions.
|
|
97
|
+
const contentChars = [...content];
|
|
98
|
+
const normalizedContent = normalizeWhitespace(content);
|
|
99
|
+
const matchStart = normalizedContent.indexOf(normalizedTarget);
|
|
100
|
+
if (matchStart === -1)
|
|
101
|
+
return null;
|
|
102
|
+
// Ensure unique
|
|
103
|
+
const anotherMatch = normalizedContent.indexOf(normalizedTarget, matchStart + normalizedTarget.length);
|
|
104
|
+
if (anotherMatch !== -1)
|
|
105
|
+
return null;
|
|
106
|
+
// Map normalized position back to original position
|
|
107
|
+
const originalStart = mapNormalizedToOriginal(content, matchStart);
|
|
108
|
+
const originalEnd = mapNormalizedToOriginal(content, matchStart + normalizedTarget.length);
|
|
109
|
+
if (originalStart === -1 || originalEnd === -1)
|
|
110
|
+
return null;
|
|
111
|
+
return { start: originalStart, end: originalEnd };
|
|
112
|
+
}
|
|
113
|
+
function normalizeWhitespace(text) {
|
|
114
|
+
return text.replace(/\s+/g, " ").trim();
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Map a position in normalized (whitespace-collapsed) text back to
|
|
118
|
+
* the corresponding position in the original text.
|
|
119
|
+
*/
|
|
120
|
+
function mapNormalizedToOriginal(original, normalizedPos) {
|
|
121
|
+
let ni = 0; // position in normalized text
|
|
122
|
+
let inWhitespace = false;
|
|
123
|
+
let leadingSkipped = false;
|
|
124
|
+
// Skip leading whitespace in original (matches trim())
|
|
125
|
+
let oi = 0;
|
|
126
|
+
while (oi < original.length && /\s/.test(original[oi]))
|
|
127
|
+
oi++;
|
|
128
|
+
for (; oi <= original.length && ni < normalizedPos; oi++) {
|
|
129
|
+
if (oi === original.length)
|
|
130
|
+
break;
|
|
131
|
+
const ch = original[oi];
|
|
132
|
+
if (/\s/.test(ch)) {
|
|
133
|
+
if (!inWhitespace) {
|
|
134
|
+
ni++; // one space in normalized
|
|
135
|
+
inWhitespace = true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
ni++;
|
|
140
|
+
inWhitespace = false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return oi <= original.length ? oi : -1;
|
|
144
|
+
}
|
|
72
145
|
function trimField(value) {
|
|
73
146
|
return value.replace(/^\s*\n/, "").replace(/\n\s*$/, "").trim();
|
|
74
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spot-fix-patches.js","sourceRoot":"","sources":["../../src/utils/spot-fix-patches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spot-fix-patches.js","sourceRoot":"","sources":["../../src/utils/spot-fix-patches.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-markdown.d.ts","sourceRoot":"","sources":["../../src/utils/story-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO7E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,EACvC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAC3B,MAAM,CA0BR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"story-markdown.d.ts","sourceRoot":"","sources":["../../src/utils/story-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO7E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,EACvC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAC3B,MAAM,CA0BR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAC3B,MAAM,CA+BR;AAuBD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAc/E;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA0BxE;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,IAAI,EAAE,CA2CR;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAQnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAIzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI9D;AAcD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgBjE"}
|
|
@@ -30,12 +30,12 @@ export function renderHookSnapshot(hooks, language = "zh") {
|
|
|
30
30
|
return "- none";
|
|
31
31
|
const headers = language === "en"
|
|
32
32
|
? [
|
|
33
|
-
"| hook_id | start_chapter | type | status | last_advanced | expected_payoff | payoff_timing | notes |",
|
|
34
|
-
"| --- | --- | --- | --- | --- | --- | --- | --- |",
|
|
33
|
+
"| hook_id | start_chapter | type | status | last_advanced | expected_payoff | payoff_timing | depends_on | pays_off_in_arc | core_hook | half_life | promoted | notes |",
|
|
34
|
+
"| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |",
|
|
35
35
|
]
|
|
36
36
|
: [
|
|
37
|
-
"| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 回收节奏 | 备注 |",
|
|
38
|
-
"| --- | --- | --- | --- | --- | --- | --- | --- |",
|
|
37
|
+
"| hook_id | 起始章节 | 类型 | 状态 | 最近推进 | 预期回收 | 回收节奏 | 上游依赖 | 回收卷 | 核心 | 半衰期 | 升级 | 备注 |",
|
|
38
|
+
"| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |",
|
|
39
39
|
];
|
|
40
40
|
return [
|
|
41
41
|
...headers,
|
|
@@ -47,10 +47,37 @@ export function renderHookSnapshot(hooks, language = "zh") {
|
|
|
47
47
|
hook.lastAdvancedChapter,
|
|
48
48
|
hook.expectedPayoff,
|
|
49
49
|
localizeHookPayoffTiming(resolveHookPayoffTiming(hook), language),
|
|
50
|
+
renderDependsOnCell(hook.dependsOn ?? [], language),
|
|
51
|
+
hook.paysOffInArc ?? "",
|
|
52
|
+
renderCoreHookCell(hook.coreHook === true, language),
|
|
53
|
+
renderHalfLifeCell(hook.halfLifeChapters),
|
|
54
|
+
renderPromotedCell(hook.promoted, language),
|
|
50
55
|
hook.notes,
|
|
51
56
|
].map((cell) => escapeTableCell(String(cell))).join(" | ")).map((row) => `| ${row} |`),
|
|
52
57
|
].join("\n");
|
|
53
58
|
}
|
|
59
|
+
function renderHalfLifeCell(value) {
|
|
60
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0)
|
|
61
|
+
return "";
|
|
62
|
+
return String(Math.trunc(value));
|
|
63
|
+
}
|
|
64
|
+
function renderPromotedCell(value, language) {
|
|
65
|
+
if (value === undefined)
|
|
66
|
+
return "";
|
|
67
|
+
if (language === "en")
|
|
68
|
+
return value ? "true" : "false";
|
|
69
|
+
return value ? "是" : "否";
|
|
70
|
+
}
|
|
71
|
+
function renderDependsOnCell(ids, language) {
|
|
72
|
+
if (ids.length === 0)
|
|
73
|
+
return language === "en" ? "none" : "无";
|
|
74
|
+
return `[${ids.join(", ")}]`;
|
|
75
|
+
}
|
|
76
|
+
function renderCoreHookCell(isCore, language) {
|
|
77
|
+
if (language === "en")
|
|
78
|
+
return isCore ? "true" : "false";
|
|
79
|
+
return isCore ? "是" : "否";
|
|
80
|
+
}
|
|
54
81
|
export function parseChapterSummariesMarkdown(markdown) {
|
|
55
82
|
const rows = parseMarkdownTableRows(markdown)
|
|
56
83
|
.filter((row) => /^\d+$/.test(row[0] ?? ""));
|
|
@@ -198,10 +225,30 @@ export function normalizeHookId(value) {
|
|
|
198
225
|
return normalized;
|
|
199
226
|
}
|
|
200
227
|
function parsePendingHookRow(row) {
|
|
228
|
+
// Row shapes by length:
|
|
229
|
+
// 7 (legacy pre-timing): id, ch, type, status, last_adv, expected, notes
|
|
230
|
+
// 8 (Phase 5/6): id, ch, type, status, last_adv, expected, timing, notes
|
|
231
|
+
// 11 (Phase 7 ledger): ... + depends_on, pays_off_in_arc, core_hook, notes
|
|
232
|
+
// 12 (Phase 7 hotfix 1): ... + depends_on, pays_off_in_arc, core_hook, half_life, notes
|
|
233
|
+
// 13 (Phase 7 hotfix 2): ... + depends_on, pays_off_in_arc, core_hook, half_life, promoted, notes
|
|
234
|
+
// additional trailing columns (e.g. stale/blocked diagnostic columns) are
|
|
235
|
+
// allowed — the parser skips past them to the notes column.
|
|
236
|
+
const phase7Promoted = row.length >= 13;
|
|
237
|
+
const phase7HalfLife = row.length === 12;
|
|
238
|
+
const phase7Compact = row.length === 11;
|
|
239
|
+
const phase7 = phase7Promoted || phase7HalfLife || phase7Compact;
|
|
201
240
|
const legacyShape = row.length < 8;
|
|
202
241
|
const payoffTiming = legacyShape ? undefined : normalizeHookPayoffTiming(row[6]);
|
|
203
|
-
const notes =
|
|
204
|
-
|
|
242
|
+
const notes = phase7Promoted
|
|
243
|
+
? (row[12] ?? "")
|
|
244
|
+
: phase7HalfLife
|
|
245
|
+
? (row[11] ?? "")
|
|
246
|
+
: phase7Compact
|
|
247
|
+
? (row[10] ?? "")
|
|
248
|
+
: legacyShape
|
|
249
|
+
? (row[6] ?? "")
|
|
250
|
+
: (row[7] ?? "");
|
|
251
|
+
const base = {
|
|
205
252
|
hookId: normalizeHookId(row[0]),
|
|
206
253
|
startChapter: parseStrictChapterInteger(row[1]),
|
|
207
254
|
type: row[2] ?? "",
|
|
@@ -211,6 +258,57 @@ function parsePendingHookRow(row) {
|
|
|
211
258
|
payoffTiming,
|
|
212
259
|
notes,
|
|
213
260
|
};
|
|
261
|
+
if (!phase7)
|
|
262
|
+
return base;
|
|
263
|
+
return {
|
|
264
|
+
...base,
|
|
265
|
+
dependsOn: parseDependsOn(row[7] ?? ""),
|
|
266
|
+
paysOffInArc: (row[8] ?? "").trim(),
|
|
267
|
+
coreHook: parseBooleanCell(row[9]),
|
|
268
|
+
halfLifeChapters: (phase7HalfLife || phase7Promoted) ? parseOptionalInt(row[10]) : undefined,
|
|
269
|
+
promoted: phase7Promoted ? parseOptionalBooleanCell(row[11]) : undefined,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
function parseOptionalBooleanCell(cell) {
|
|
273
|
+
const normalized = (cell ?? "").trim();
|
|
274
|
+
if (!normalized)
|
|
275
|
+
return undefined;
|
|
276
|
+
const lower = normalized.toLowerCase();
|
|
277
|
+
if (/^(true|yes|y|是|核心|core|1|✓|✔|promoted|已升级)$/.test(lower))
|
|
278
|
+
return true;
|
|
279
|
+
if (/^(false|no|n|否|未升级|seed|0|✗|✘)$/.test(lower))
|
|
280
|
+
return false;
|
|
281
|
+
return undefined;
|
|
282
|
+
}
|
|
283
|
+
function parseDependsOn(cell) {
|
|
284
|
+
const trimmed = cell.trim();
|
|
285
|
+
if (!trimmed)
|
|
286
|
+
return [];
|
|
287
|
+
const lower = trimmed.toLowerCase();
|
|
288
|
+
if (lower === "none" || lower === "n/a" || lower === "-" || trimmed === "无")
|
|
289
|
+
return [];
|
|
290
|
+
// Accept [H01, H02] or H01, H02 or H01/H02.
|
|
291
|
+
const stripped = trimmed.replace(/^[\[\(]\s*/, "").replace(/\s*[\]\)]$/, "");
|
|
292
|
+
return stripped
|
|
293
|
+
.split(/[,,、\/]+/)
|
|
294
|
+
.map((item) => normalizeHookId(item))
|
|
295
|
+
.filter((item) => item.length > 0);
|
|
296
|
+
}
|
|
297
|
+
function parseBooleanCell(cell) {
|
|
298
|
+
const normalized = (cell ?? "").trim().toLowerCase();
|
|
299
|
+
if (!normalized)
|
|
300
|
+
return false;
|
|
301
|
+
return /^(true|yes|y|是|核心|core|1|✓|✔)$/.test(normalized);
|
|
302
|
+
}
|
|
303
|
+
function parseOptionalInt(cell) {
|
|
304
|
+
const normalized = (cell ?? "").trim();
|
|
305
|
+
if (!normalized)
|
|
306
|
+
return undefined;
|
|
307
|
+
const match = normalized.match(/\d+/);
|
|
308
|
+
if (!match)
|
|
309
|
+
return undefined;
|
|
310
|
+
const value = parseInt(match[0], 10);
|
|
311
|
+
return Number.isFinite(value) && value > 0 ? value : undefined;
|
|
214
312
|
}
|
|
215
313
|
function escapeTableCell(value) {
|
|
216
314
|
return String(value).replace(/\|/g, "\\|").trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-markdown.js","sourceRoot":"","sources":["../../src/utils/story-markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"story-markdown.js","sourceRoot":"","sources":["../../src/utils/story-markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Full writing methodology for style_guide.md injection.
|
|
3
|
+
* This is the complete reference material (with examples) that the
|
|
4
|
+
* compact "craft card" in the system prompt summarizes.
|
|
5
|
+
*
|
|
6
|
+
* Injected once during initBook/generateStyleGuide, then read by
|
|
7
|
+
* writer on every chapter as part of the style_guide context.
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildWritingMethodologySection(language: "zh" | "en"): string;
|
|
10
|
+
//# sourceMappingURL=writing-methodology.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writing-methodology.d.ts","sourceRoot":"","sources":["../../src/utils/writing-methodology.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAK5E"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Full writing methodology for style_guide.md injection.
|
|
3
|
+
* This is the complete reference material (with examples) that the
|
|
4
|
+
* compact "craft card" in the system prompt summarizes.
|
|
5
|
+
*
|
|
6
|
+
* Injected once during initBook/generateStyleGuide, then read by
|
|
7
|
+
* writer on every chapter as part of the style_guide context.
|
|
8
|
+
*/
|
|
9
|
+
export function buildWritingMethodologySection(language) {
|
|
10
|
+
if (language === "en") {
|
|
11
|
+
return buildEnglishMethodology();
|
|
12
|
+
}
|
|
13
|
+
return buildChineseMethodology();
|
|
14
|
+
}
|
|
15
|
+
function buildChineseMethodology() {
|
|
16
|
+
return `---
|
|
17
|
+
|
|
18
|
+
# 写作方法论参考(完整版)
|
|
19
|
+
|
|
20
|
+
以下方法论是写作质量的完整参考。写作时应内化这些原则。
|
|
21
|
+
|
|
22
|
+
## 一、去AI味:正反例对照
|
|
23
|
+
|
|
24
|
+
### 情绪描写
|
|
25
|
+
| 反例(AI味) | 正例(人味) | 要点 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 他感到非常愤怒。 | 他捏碎了手中的茶杯,滚烫的茶水流过指缝,但他像没感觉一样。 | 用动作外化情绪 |
|
|
28
|
+
| 她心里很悲伤,眼泪流了下来。 | 她攥紧手机,指节发白,屏幕上的聊天记录模糊成一片。 | 用身体细节替代直白标签 |
|
|
29
|
+
| 他感到一阵恐惧。 | 他后背的汗毛竖了起来,脚底像踩在了冰上。 | 五感传递恐惧 |
|
|
30
|
+
|
|
31
|
+
### 转折与衔接
|
|
32
|
+
| 反例 | 正例 | 要点 |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| 虽然他很强,但是他还是输了。 | 他确实强,可对面那个老东西更脏。 | 口语化转折 |
|
|
35
|
+
| 然而,事情并没有那么简单。 | 哪有那么便宜的事。 | 角色内心吐槽替代"然而" |
|
|
36
|
+
| 因此,他决定采取行动。 | 他站起来,把凳子踢到一边。 | 删掉因果连词,直接写动作 |
|
|
37
|
+
|
|
38
|
+
### "了"字控制
|
|
39
|
+
| 反例 | 正例 |
|
|
40
|
+
|---|---|
|
|
41
|
+
| 他走了过去,拿了杯子,喝了一口水。 | 他走过去,端起杯子,灌了一口。 |
|
|
42
|
+
| 她笑了笑,转身离开了房间。 | 她嘴角一扬,转身出门。 |
|
|
43
|
+
|
|
44
|
+
## 二、六步走人物心理分析
|
|
45
|
+
|
|
46
|
+
每个重要角色在关键场景中的行为,必须经过以下六步推导:
|
|
47
|
+
|
|
48
|
+
1. **当前处境**:角色此刻面临什么局面?手上有什么牌?
|
|
49
|
+
2. **核心动机**:角色最想要什么?最害怕什么?
|
|
50
|
+
3. **信息边界**:角色知道什么?不知道什么?对局势有什么误判?
|
|
51
|
+
4. **性格过滤**:同样的局面,这个角色的性格会怎么反应?
|
|
52
|
+
5. **行为选择**:基于以上四点,角色会做出什么选择?
|
|
53
|
+
6. **情绪外化**:这个选择伴随什么情绪?用什么身体语言、表情、语气表达?
|
|
54
|
+
|
|
55
|
+
禁止跳过步骤直接写行为。
|
|
56
|
+
|
|
57
|
+
## 三、配角设计方法论
|
|
58
|
+
|
|
59
|
+
- 配角必须有反击,有自己的算盘。主角的强大在于压服聪明人,而不是碾压傻子。
|
|
60
|
+
- 每个配角的行为动机必须与主线产生关联。
|
|
61
|
+
- 核心标签 + 反差细节 = 活人(表面冷硬的角色偷偷照顾流浪动物)。
|
|
62
|
+
- 通过事件立人设,禁止通过外貌和形容词堆砌。
|
|
63
|
+
- 不同角色的说话方式必须有辨识度。
|
|
64
|
+
- 群戏中不写"众人齐声惊呼",挑1-2个角色写具体反应。
|
|
65
|
+
|
|
66
|
+
## 四、代入感六大支柱
|
|
67
|
+
|
|
68
|
+
1. **基础信息交代**:一句话能交代身份、性格、地位——"小爷我乃镇南府世子林峰"
|
|
69
|
+
2. **具体化/可视化**:描写具体到读者脑海能浮现——"搪瓷缸白汽直冒""冰镇汽水嘶嘶响"
|
|
70
|
+
3. **熟悉感**:接地气的场景自带代入感——"高考后小树林的分手""医院走廊的消毒水味"
|
|
71
|
+
4. **共鸣**:主角的困境必须有普遍性——被欺压、不公待遇、被低估
|
|
72
|
+
5. **欲望驱动**:
|
|
73
|
+
- 基础欲望(被动):不劳而获、高人一等、扬眉吐气
|
|
74
|
+
- 主动欲望(期待感):作者刻意制造的情绪缺口→读者期待释放→释放超过预期
|
|
75
|
+
6. **五感描写**:视觉、听觉、嗅觉、触觉、味觉——"潮湿的短袖黏在后背上"
|
|
76
|
+
|
|
77
|
+
## 五、强情绪升级法(避免流水账)
|
|
78
|
+
|
|
79
|
+
流水账的修法不是删掉日常,而是给日常加"料":
|
|
80
|
+
|
|
81
|
+
1. **加入前因后果**:下班回家→加上"催债电话刚打来"→日常有了紧迫感
|
|
82
|
+
2. **情绪递进**:坏事叠坏事——被骂→赶不上公交→手机掉了→直播课结束了→包子噎住了。每层比上一层过分
|
|
83
|
+
3. **日常必须为主线服务**:万物皆为"饵"。日常段要么埋伏笔,要么推关系,要么建立反差
|
|
84
|
+
|
|
85
|
+
## 六、写前自检清单
|
|
86
|
+
|
|
87
|
+
1. 本章对应卷纲中的哪个节点?是否推进了该节点?
|
|
88
|
+
2. 主角此刻利益最大化的选择是什么?
|
|
89
|
+
3. 冲突是谁先动手,为什么非做不可?
|
|
90
|
+
4. 配角/反派是否有明确诉求和反制?
|
|
91
|
+
5. 反派当前掌握了哪些信息?有无信息越界?
|
|
92
|
+
6. 章尾是否留了钩子?
|
|
93
|
+
7. 有没有流水账?如有,加前因后果或强情绪
|
|
94
|
+
8. 本章是否推进了主线目标?`;
|
|
95
|
+
}
|
|
96
|
+
function buildEnglishMethodology() {
|
|
97
|
+
return `---
|
|
98
|
+
|
|
99
|
+
# Writing Methodology Reference (Full Version)
|
|
100
|
+
|
|
101
|
+
Complete reference material for writing quality. Internalize these principles.
|
|
102
|
+
|
|
103
|
+
## 1. Anti-AI Pattern Guide
|
|
104
|
+
|
|
105
|
+
### Emotion
|
|
106
|
+
| Bad (AI-like) | Good (Human) | Key |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| He felt very angry. | He crushed the teacup in his hand. Scalding water ran through his fingers, but he didn't flinch. | Externalize through action |
|
|
109
|
+
| She was very sad and tears fell. | She gripped her phone until her knuckles went white. The chat log blurred. | Body detail replaces label |
|
|
110
|
+
|
|
111
|
+
### Transitions
|
|
112
|
+
| Bad | Good | Key |
|
|
113
|
+
|---|---|---|
|
|
114
|
+
| Although he was strong, he still lost. | He was strong, sure. But the old bastard across from him fought dirtier. | Colloquial voice |
|
|
115
|
+
| However, things were not so simple. | No such luck. | Character thought replaces "however" |
|
|
116
|
+
| Therefore, he decided to take action. | He stood up and kicked the chair aside. | Cut causal connectors, show action |
|
|
117
|
+
|
|
118
|
+
## 2. Six-Step Character Psychology
|
|
119
|
+
|
|
120
|
+
For every important character action:
|
|
121
|
+
1. **Situation**: What's the character facing? What cards do they hold?
|
|
122
|
+
2. **Core motivation**: What do they want most? Fear most?
|
|
123
|
+
3. **Information boundary**: What do they know? Not know? Misjudge?
|
|
124
|
+
4. **Personality filter**: Given the same situation, how would THIS character react?
|
|
125
|
+
5. **Behavioral choice**: Based on 1-4, what do they choose?
|
|
126
|
+
6. **Emotional expression**: What emotion accompanies this? Body language, expression, tone?
|
|
127
|
+
|
|
128
|
+
## 3. Supporting Character Design
|
|
129
|
+
|
|
130
|
+
- Every side character has their own agenda. Protagonist wins by outsmarting smart people.
|
|
131
|
+
- Core tag + contrast detail = alive (cold-exterior character secretly feeds strays).
|
|
132
|
+
- Establish character through events, not description dumps.
|
|
133
|
+
- Different characters speak differently — vocabulary, length, verbal tics.
|
|
134
|
+
- In group scenes: never "everyone gasped" — pick 1-2 specific reactions.
|
|
135
|
+
|
|
136
|
+
## 4. Immersion Pillars
|
|
137
|
+
|
|
138
|
+
1. **Info delivery**: One line of dialogue can establish identity, status, personality
|
|
139
|
+
2. **Concrete/visual**: "The back seat of a taxi stuck in traffic for forty minutes" not "a big city"
|
|
140
|
+
3. **Familiarity**: Scenes readers have lived through carry natural immersion
|
|
141
|
+
4. **Resonance**: Protagonist's struggle must feel universal — injustice, being underestimated
|
|
142
|
+
5. **Desire engine**: Create emotional gap → reader anticipates release → release exceeds expectation
|
|
143
|
+
6. **Five senses**: Wet shirt on the back, hospital disinfectant, rain puddles at the bus stop
|
|
144
|
+
|
|
145
|
+
## 5. Emotional Escalation (Anti-Flowchart)
|
|
146
|
+
|
|
147
|
+
Fix boring daily scenes by adding fuel:
|
|
148
|
+
1. **Add causality**: Coming home → add "debt collector just called" → instant urgency
|
|
149
|
+
2. **Progressive escalation**: Stack bad things — scolded → missed bus → phone fell in drain → livestream ended → choked on stale bread. Each layer worse.
|
|
150
|
+
3. **Daily serves mainline**: Every quiet scene must plant a hook, advance a relationship, or build contrast.
|
|
151
|
+
|
|
152
|
+
## 6. Pre-Write Checklist
|
|
153
|
+
|
|
154
|
+
1. Which outline node does this chapter correspond to?
|
|
155
|
+
2. What's the protagonist's optimal move right now?
|
|
156
|
+
3. Who starts the conflict and why must they?
|
|
157
|
+
4. Do antagonists have clear motives and countermoves?
|
|
158
|
+
5. What information does each character have? Any boundary violations?
|
|
159
|
+
6. Does the chapter end with a hook?
|
|
160
|
+
7. Any flowchart passages? If so, add causality or strong emotion.
|
|
161
|
+
8. Does this chapter advance the main plotline?`;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=writing-methodology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writing-methodology.js","sourceRoot":"","sources":["../../src/utils/writing-methodology.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAqB;IAClE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,uBAAuB,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA8EO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAgEuC,CAAC;AACjD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actalk/inkos-core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
4
4
|
"description": "InkOS core engine — multi-agent novel writing pipeline with 33-dimension continuity audit, style cloning, and de-AI-ification",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-novel-writing",
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"dotenv": "^16.4.0",
|
|
42
42
|
"epub-gen-memory": "^1.0.10",
|
|
43
43
|
"js-yaml": "^4.1.1",
|
|
44
|
-
"
|
|
44
|
+
"undici": "6.21.3",
|
|
45
|
+
"zod": "^3.25.76"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
48
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { HookAgenda } from "../models/input-governance.js";
|
|
2
|
-
import type { StoredHook } from "../state/memory-db.js";
|
|
3
|
-
export declare const DEFAULT_HOOK_LOOKAHEAD_CHAPTERS = 3;
|
|
4
|
-
/**
|
|
5
|
-
* Build the hook agenda using simple stalest-first sorting.
|
|
6
|
-
* No lifecycle pressure formulas — just pick the hooks that have been
|
|
7
|
-
* dormant the longest and the ones that are ripe for resolution.
|
|
8
|
-
*/
|
|
9
|
-
export declare function buildPlannerHookAgenda(params: {
|
|
10
|
-
readonly hooks: ReadonlyArray<StoredHook>;
|
|
11
|
-
readonly chapterNumber: number;
|
|
12
|
-
readonly targetChapters?: number;
|
|
13
|
-
readonly language?: "zh" | "en";
|
|
14
|
-
readonly maxMustAdvance?: number;
|
|
15
|
-
readonly maxEligibleResolve?: number;
|
|
16
|
-
readonly maxStaleDebt?: number;
|
|
17
|
-
}): HookAgenda;
|
|
18
|
-
export declare function filterActiveHooks(hooks: ReadonlyArray<StoredHook>): StoredHook[];
|
|
19
|
-
export declare function isFuturePlannedHook(hook: StoredHook, chapterNumber: number, lookahead?: number): boolean;
|
|
20
|
-
export declare function isHookWithinChapterWindow(hook: StoredHook, chapterNumber: number, recentWindow?: number, lookahead?: number): boolean;
|
|
21
|
-
//# sourceMappingURL=hook-agenda.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-agenda.d.ts","sourceRoot":"","sources":["../../src/utils/hook-agenda.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,UAAU,CAsDb;AAsBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,EAAE,CAEhF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,MAAwC,GAClD,OAAO,CAET;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,SAAS,GAAE,MAAwC,GAClD,OAAO,CAoBT"}
|