dsh-openwrite 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +107 -0
  3. package/THIRD_PARTY_NOTICES.md +33 -0
  4. package/assets/logo-dark.svg +31 -0
  5. package/assets/logo-light.svg +31 -0
  6. package/cordis.patch.yml +11 -0
  7. package/docs/BENCHMARK_TASKS.md +54 -0
  8. package/docs/COST_MEASUREMENT.md +39 -0
  9. package/docs/DEVELOPMENT.md +65 -0
  10. package/docs/DSH_STORE.md +58 -0
  11. package/docs/FRAMEWORK_ADVANTAGES.md +288 -0
  12. package/docs/IMPROVEMENT_PLAN.md +252 -0
  13. package/docs/INSTALL.md +99 -0
  14. package/docs/LEARNING.md +68 -0
  15. package/docs/OPEN_SOURCE_NOVEL_AUDIT.md +191 -0
  16. package/docs/PLUGIN_MAINTENANCE.md +54 -0
  17. package/docs/PLUGIN_MAINTENANCE_RC7.md +157 -0
  18. package/docs/QA_20260908.md +103 -0
  19. package/docs/QA_20260909_BENCHMARK.md +24 -0
  20. package/docs/RELEASE_ACCEPTANCE.md +116 -0
  21. package/docs/REVIEW_DAG_FRAMEWORK.md +82 -0
  22. package/docs/TARGETED_NOVEL_PROJECT_REVIEW.md +167 -0
  23. package/docs/WORKFLOWS.md +74 -0
  24. package/docs/WORKSPACE_CONTEXT_CONTRACT.md +125 -0
  25. package/docs/WORKSPACE_INTEGRATION_GOAL.md +278 -0
  26. package/docs/research/autosave-race-repro.mjs +133 -0
  27. package/docs/research/framework-stats-2026-09-05.json +116 -0
  28. package/dog-tools.mjs +11 -0
  29. package/package.json +132 -0
  30. package/packages/openwrite-bridge/LICENSE +201 -0
  31. package/packages/openwrite-bridge/cordis.patch.yml +10 -0
  32. package/packages/openwrite-bridge/lib/client.d.ts +95 -0
  33. package/packages/openwrite-bridge/lib/client.js +193 -0
  34. package/packages/openwrite-bridge/lib/contracts-generated.d.ts +367 -0
  35. package/packages/openwrite-bridge/lib/contracts-generated.js +1764 -0
  36. package/packages/openwrite-bridge/lib/dog-delivery.d.ts +12 -0
  37. package/packages/openwrite-bridge/lib/dog-delivery.js +362 -0
  38. package/packages/openwrite-bridge/lib/dog-review.d.ts +50 -0
  39. package/packages/openwrite-bridge/lib/dog-review.js +470 -0
  40. package/packages/openwrite-bridge/lib/domain.d.ts +70 -0
  41. package/packages/openwrite-bridge/lib/domain.js +496 -0
  42. package/packages/openwrite-bridge/lib/index.d.ts +17 -0
  43. package/packages/openwrite-bridge/lib/index.js +89 -0
  44. package/packages/openwrite-bridge/lib/managed-runtime.d.ts +95 -0
  45. package/packages/openwrite-bridge/lib/managed-runtime.js +510 -0
  46. package/packages/openwrite-bridge/lib/preset-tools.d.ts +13 -0
  47. package/packages/openwrite-bridge/lib/preset-tools.js +18 -0
  48. package/packages/openwrite-bridge/lib/tool-policy.d.ts +6 -0
  49. package/packages/openwrite-bridge/lib/tool-policy.js +56 -0
  50. package/packages/openwrite-bridge/lib/tools.d.ts +24 -0
  51. package/packages/openwrite-bridge/lib/tools.js +2404 -0
  52. package/packages/openwrite-bridge/package.json +67 -0
  53. package/packages/studio-panel/LICENSE +21 -0
  54. package/packages/studio-panel/README.md +51 -0
  55. package/packages/studio-panel/cordis.patch.yml +5 -0
  56. package/packages/studio-panel/lib/client.js +158087 -0
  57. package/packages/studio-panel/lib/client.js.map +1 -0
  58. package/packages/studio-panel/lib/index.js +50 -0
  59. package/packages/studio-panel/lib/types/client/AssetEditor.d.ts +122 -0
  60. package/packages/studio-panel/lib/types/client/AssetsView.d.ts +43 -0
  61. package/packages/studio-panel/lib/types/client/BenchmarkView.d.ts +9 -0
  62. package/packages/studio-panel/lib/types/client/ContinuousReader.d.ts +13 -0
  63. package/packages/studio-panel/lib/types/client/CreationView.d.ts +6 -0
  64. package/packages/studio-panel/lib/types/client/DagCanvas.d.ts +11 -0
  65. package/packages/studio-panel/lib/types/client/DiscardDraftDialog.d.ts +8 -0
  66. package/packages/studio-panel/lib/types/client/DomainToolCard.d.ts +9 -0
  67. package/packages/studio-panel/lib/types/client/GraphView.d.ts +46 -0
  68. package/packages/studio-panel/lib/types/client/HeaderChrome.d.ts +18 -0
  69. package/packages/studio-panel/lib/types/client/LaunchOpenWrite.d.ts +13 -0
  70. package/packages/studio-panel/lib/types/client/LibraryView.d.ts +6 -0
  71. package/packages/studio-panel/lib/types/client/MarkdownText.d.ts +3 -0
  72. package/packages/studio-panel/lib/types/client/ModelView.d.ts +9 -0
  73. package/packages/studio-panel/lib/types/client/OperationsView.d.ts +6 -0
  74. package/packages/studio-panel/lib/types/client/OutlinePlans.d.ts +37 -0
  75. package/packages/studio-panel/lib/types/client/OutlineView.d.ts +29 -0
  76. package/packages/studio-panel/lib/types/client/ResearchView.d.ts +7 -0
  77. package/packages/studio-panel/lib/types/client/ReviewCard.d.ts +28 -0
  78. package/packages/studio-panel/lib/types/client/SceneWorkbench.d.ts +55 -0
  79. package/packages/studio-panel/lib/types/client/SearchView.d.ts +33 -0
  80. package/packages/studio-panel/lib/types/client/TasksView.d.ts +11 -0
  81. package/packages/studio-panel/lib/types/client/TransferWorkspaces.d.ts +19 -0
  82. package/packages/studio-panel/lib/types/client/TurnMutationSummary.d.ts +62 -0
  83. package/packages/studio-panel/lib/types/client/VditorBody.d.ts +55 -0
  84. package/packages/studio-panel/lib/types/client/WorkbenchStore.d.ts +121 -0
  85. package/packages/studio-panel/lib/types/client/api.d.ts +72 -0
  86. package/packages/studio-panel/lib/types/client/asset-drafts.d.ts +20 -0
  87. package/packages/studio-panel/lib/types/client/benchmark-options.d.ts +43 -0
  88. package/packages/studio-panel/lib/types/client/draft-store.d.ts +26 -0
  89. package/packages/studio-panel/lib/types/client/dto.d.ts +517 -0
  90. package/packages/studio-panel/lib/types/client/index.d.ts +4 -0
  91. package/packages/studio-panel/lib/types/client/locales.d.ts +15 -0
  92. package/packages/studio-panel/lib/types/client/manuscript-annotations.d.ts +59 -0
  93. package/packages/studio-panel/lib/types/client/manuscript-markers.d.ts +61 -0
  94. package/packages/studio-panel/lib/types/client/manuscript-mentions.d.ts +30 -0
  95. package/packages/studio-panel/lib/types/client/manuscript-overlay-dom.d.ts +7 -0
  96. package/packages/studio-panel/lib/types/client/manuscript-overlay.d.ts +42 -0
  97. package/packages/studio-panel/lib/types/client/manuscript-selection.d.ts +59 -0
  98. package/packages/studio-panel/lib/types/client/model-view-memory.d.ts +17 -0
  99. package/packages/studio-panel/lib/types/client/storage.d.ts +8 -0
  100. package/packages/studio-panel/lib/types/client/workbench-epochs.d.ts +16 -0
  101. package/packages/studio-panel/lib/types/client/workspace-context.d.ts +52 -0
  102. package/packages/studio-panel/lib/types/client/writing-scope.d.ts +7 -0
  103. package/packages/studio-panel/lib/types/index.d.ts +5 -0
  104. package/packages/studio-panel/package.json +105 -0
  105. package/packages/studio-panel/vendor/vditor/LICENSE +21 -0
  106. package/packages/studio-panel/vendor/vditor/dist/css/content-theme/dark.css +123 -0
  107. package/packages/studio-panel/vendor/vditor/dist/css/content-theme/light.css +101 -0
  108. package/packages/studio-panel/vendor/vditor/dist/index.css +1823 -0
  109. package/packages/studio-panel/vendor/vditor/dist/index.min.js +1 -0
  110. package/packages/studio-panel/vendor/vditor/dist/js/i18n/zh_CN.js +86 -0
  111. package/packages/studio-panel/vendor/vditor/dist/js/icons/ant.js +174 -0
  112. package/packages/studio-panel/vendor/vditor/dist/js/lute/lute.min.js +72 -0
  113. package/plugin.d.ts +3 -0
  114. package/plugin.mjs +80 -0
  115. package/presets/README.md +32 -0
  116. package/presets/openwrite/agent.cordis.yml +317 -0
  117. package/presets/openwrite/preset.yml +3 -0
  118. package/presets/openwrite/skills/canon/SKILL.md +15 -0
  119. package/presets/openwrite/skills/dialoguequality/SKILL.md +166 -0
  120. package/presets/openwrite/skills/dog-delivery-query/SKILL.md +40 -0
  121. package/presets/openwrite/skills/dog-import-query/SKILL.md +27 -0
  122. package/presets/openwrite/skills/dog-review-query/SKILL.md +40 -0
  123. package/presets/openwrite/skills/export-book/SKILL.md +14 -0
  124. package/presets/openwrite/skills/foreshadow/SKILL.md +14 -0
  125. package/presets/openwrite/skills/foreshadowing-system/SKILL.md +125 -0
  126. package/presets/openwrite/skills/learn/SKILL.md +24 -0
  127. package/presets/openwrite/skills/novel-creator/SKILL.md +88 -0
  128. package/presets/openwrite/skills/novel-creator/templates/beat_templates.yaml +179 -0
  129. package/presets/openwrite/skills/novel-creator/templates/example_usage.yaml +74 -0
  130. package/presets/openwrite/skills/novel-reviewer/SKILL.md +85 -0
  131. package/presets/openwrite/skills/oh-story-deslop/LICENSE +21 -0
  132. package/presets/openwrite/skills/oh-story-deslop/SKILL.md +36 -0
  133. package/presets/openwrite/skills/oh-story-deslop/agents/openai.yaml +4 -0
  134. package/presets/openwrite/skills/oh-story-deslop/references/method.md +22 -0
  135. package/presets/openwrite/skills/oh-story-long-analyze/LICENSE +21 -0
  136. package/presets/openwrite/skills/oh-story-long-analyze/SKILL.md +37 -0
  137. package/presets/openwrite/skills/oh-story-long-analyze/agents/openai.yaml +4 -0
  138. package/presets/openwrite/skills/oh-story-long-analyze/references/method.md +22 -0
  139. package/presets/openwrite/skills/oh-story-long-scan/LICENSE +21 -0
  140. package/presets/openwrite/skills/oh-story-long-scan/SKILL.md +36 -0
  141. package/presets/openwrite/skills/oh-story-long-scan/agents/openai.yaml +4 -0
  142. package/presets/openwrite/skills/oh-story-long-scan/references/method.md +21 -0
  143. package/presets/openwrite/skills/oh-story-long-write/LICENSE +21 -0
  144. package/presets/openwrite/skills/oh-story-long-write/SKILL.md +37 -0
  145. package/presets/openwrite/skills/oh-story-long-write/agents/openai.yaml +4 -0
  146. package/presets/openwrite/skills/oh-story-long-write/references/method.md +33 -0
  147. package/presets/openwrite/skills/oh-story-review/LICENSE +21 -0
  148. package/presets/openwrite/skills/oh-story-review/SKILL.md +36 -0
  149. package/presets/openwrite/skills/oh-story-review/agents/openai.yaml +4 -0
  150. package/presets/openwrite/skills/oh-story-review/references/method.md +25 -0
  151. package/presets/openwrite/skills/progress/SKILL.md +16 -0
  152. package/presets/openwrite/skills/review-chapter/SKILL.md +17 -0
  153. package/presets/openwrite/skills/revise-span/SKILL.md +16 -0
  154. package/presets/openwrite/skills/style-system/SKILL.md +135 -0
  155. package/presets/openwrite/skills/style-system/prompts/analyze_style.md +214 -0
  156. package/presets/openwrite/skills/style-system/prompts/batch_extract_style.md +66 -0
  157. package/presets/openwrite/skills/style-system/prompts/compose_style.md +83 -0
  158. package/presets/openwrite/skills/style-system/prompts/extract_style.md +84 -0
  159. package/presets/openwrite/skills/style-system/prompts/initialize_style.md +52 -0
  160. package/presets/openwrite/skills/style-system/templates/analysis_report.yaml +78 -0
  161. package/presets/openwrite/skills/style-system/templates/composed_style.md +96 -0
  162. package/presets/openwrite/skills/style-system/templates/extraction_report.yaml +80 -0
  163. package/presets/openwrite/skills/style-system/templates/fingerprint.yaml +61 -0
  164. package/presets/openwrite/skills/style-system/tools/README.md +33 -0
  165. package/presets/openwrite/skills/truth-validation/SKILL.md +119 -0
  166. package/presets/openwrite/skills/workflow-manager/SKILL.md +81 -0
  167. package/presets/openwrite/skills/world-query/SKILL.md +45 -0
  168. package/presets/openwrite/skills/write-next/SKILL.md +17 -0
  169. package/release/core-requirements.in +12 -0
  170. package/release/licenses/@deepseek-ai__cosmokit@1.8.3/LICENSE +21 -0
  171. package/release/licenses/@deepseek-ai__schemastery@3.18.2/LICENSE +21 -0
  172. package/release/licenses/@isaacs__fs-minipass@4.0.1/LICENSE +15 -0
  173. package/release/licenses/@standard-schema__spec@1.1.0/LICENSE +21 -0
  174. package/release/licenses/@types__d3-color@3.1.3/LICENSE +21 -0
  175. package/release/licenses/@types__d3-drag@3.0.7/LICENSE +21 -0
  176. package/release/licenses/@types__d3-interpolate@3.0.4/LICENSE +21 -0
  177. package/release/licenses/@types__d3-selection@3.0.11/LICENSE +21 -0
  178. package/release/licenses/@types__d3-transition@3.0.9/LICENSE +21 -0
  179. package/release/licenses/@types__d3-zoom@3.0.8/LICENSE +21 -0
  180. package/release/licenses/@xyflow__react@12.11.6/LICENSE +21 -0
  181. package/release/licenses/@xyflow__system@0.0.82/LICENSE +21 -0
  182. package/release/licenses/ajv-formats@3.0.1/LICENSE +21 -0
  183. package/release/licenses/ajv@8.20.0/LICENSE +22 -0
  184. package/release/licenses/chownr@3.0.0/LICENSE.md +63 -0
  185. package/release/licenses/classcat@5.0.5/LICENSE.md +7 -0
  186. package/release/licenses/commander@7.2.0/LICENSE +22 -0
  187. package/release/licenses/d3-array@3.2.4/LICENSE +13 -0
  188. package/release/licenses/d3-axis@3.0.0/LICENSE +13 -0
  189. package/release/licenses/d3-brush@3.0.0/LICENSE +13 -0
  190. package/release/licenses/d3-chord@3.0.1/LICENSE +13 -0
  191. package/release/licenses/d3-color@3.1.0/LICENSE +13 -0
  192. package/release/licenses/d3-contour@4.0.2/LICENSE +13 -0
  193. package/release/licenses/d3-delaunay@6.0.4/LICENSE +14 -0
  194. package/release/licenses/d3-dispatch@3.0.1/LICENSE +13 -0
  195. package/release/licenses/d3-drag@3.0.0/LICENSE +13 -0
  196. package/release/licenses/d3-dsv@3.0.1/LICENSE +13 -0
  197. package/release/licenses/d3-ease@3.0.1/LICENSE +28 -0
  198. package/release/licenses/d3-fetch@3.0.1/LICENSE +13 -0
  199. package/release/licenses/d3-force@3.0.0/LICENSE +13 -0
  200. package/release/licenses/d3-format@3.1.2/LICENSE +13 -0
  201. package/release/licenses/d3-geo@3.1.1/LICENSE +34 -0
  202. package/release/licenses/d3-hierarchy@3.1.2/LICENSE +13 -0
  203. package/release/licenses/d3-interpolate@3.0.1/LICENSE +13 -0
  204. package/release/licenses/d3-path@3.1.0/LICENSE +13 -0
  205. package/release/licenses/d3-polygon@3.0.1/LICENSE +13 -0
  206. package/release/licenses/d3-quadtree@3.0.1/LICENSE +13 -0
  207. package/release/licenses/d3-random@3.0.1/LICENSE +13 -0
  208. package/release/licenses/d3-scale-chromatic@3.1.0/LICENSE +28 -0
  209. package/release/licenses/d3-scale@4.0.2/LICENSE +13 -0
  210. package/release/licenses/d3-selection@3.0.0/LICENSE +13 -0
  211. package/release/licenses/d3-shape@3.2.0/LICENSE +13 -0
  212. package/release/licenses/d3-time-format@4.1.0/LICENSE +13 -0
  213. package/release/licenses/d3-time@3.1.0/LICENSE +13 -0
  214. package/release/licenses/d3-timer@3.0.1/LICENSE +13 -0
  215. package/release/licenses/d3-transition@3.0.1/LICENSE +13 -0
  216. package/release/licenses/d3-zoom@3.0.0/LICENSE +13 -0
  217. package/release/licenses/d3@7.9.0/LICENSE +13 -0
  218. package/release/licenses/delaunator@5.1.0/LICENSE +15 -0
  219. package/release/licenses/elkjs@0.12.0/LICENSE.md +263 -0
  220. package/release/licenses/fast-deep-equal@3.1.3/LICENSE +21 -0
  221. package/release/licenses/fast-uri@3.1.7/LICENSE +30 -0
  222. package/release/licenses/fflate@0.8.2/LICENSE +21 -0
  223. package/release/licenses/graceful-fs@4.2.11/LICENSE +15 -0
  224. package/release/licenses/iconv-lite@0.6.3/LICENSE +21 -0
  225. package/release/licenses/internmap@2.0.3/LICENSE +13 -0
  226. package/release/licenses/json-schema-traverse@1.0.0/LICENSE +21 -0
  227. package/release/licenses/lucide-react@0.468.0/LICENSE +15 -0
  228. package/release/licenses/minipass@7.1.3/LICENSE.md +55 -0
  229. package/release/licenses/minizlib@3.1.0/LICENSE +26 -0
  230. package/release/licenses/proper-lockfile@4.1.2/LICENSE +21 -0
  231. package/release/licenses/require-from-string@2.0.2/license +21 -0
  232. package/release/licenses/retry@0.12.0/License +21 -0
  233. package/release/licenses/robust-predicates@3.0.3/LICENSE +24 -0
  234. package/release/licenses/rw@1.3.3/LICENSE +26 -0
  235. package/release/licenses/safer-buffer@2.1.2/LICENSE +21 -0
  236. package/release/licenses/signal-exit@3.0.7/LICENSE.txt +16 -0
  237. package/release/licenses/tar@7.5.7/LICENSE.md +55 -0
  238. package/release/licenses/use-sync-external-store@1.6.0/LICENSE +21 -0
  239. package/release/licenses/yallist@5.0.0/LICENSE.md +63 -0
  240. package/release/licenses/zustand@4.5.7/LICENSE +21 -0
  241. package/release/openwrite-5.8.1-py3-none-any.whl +0 -0
  242. package/release/platform-overrides.in +5 -0
  243. package/release/python-constraints.in +96 -0
  244. package/release/requirements.lock +2927 -0
  245. package/release/runtime-manifest.json +98 -0
  246. package/release/sdk-compatibility.json +240 -0
  247. package/release/source.json +859 -0
  248. package/release/wheels/cryptography-50.0.1-cp312-abi3-macosx_13_0_x86_64.whl +0 -0
  249. package/release/wheels/licenses/LICENSE.txt +177 -0
  250. package/release/wheels/provenance.json +15 -0
  251. package/scripts/dog/delivery-stage.js +32 -0
  252. package/scripts/dog/import-chapter.js +20 -0
  253. package/scripts/dog/import-record.js +35 -0
  254. package/scripts/dog/review-dimension.js +41 -0
  255. package/scripts/dog/review-record.js +42 -0
  256. package/scripts/maintenance.mjs +179 -0
  257. package/scripts/prepare.mjs +21 -0
  258. package/vendor/dsh-dog/LICENSE +29 -0
  259. package/vendor/dsh-dog/README.md +114 -0
  260. package/vendor/dsh-dog/UPSTREAM.md +22 -0
  261. package/vendor/dsh-dog/cordis.patch.yml +14 -0
  262. package/vendor/dsh-dog/lib/client.js +2898 -0
  263. package/vendor/dsh-dog/lib/client.js.map +1 -0
  264. package/vendor/dsh-dog/lib/core-BiEBMLz3.d.ts +495 -0
  265. package/vendor/dsh-dog/lib/core-DdfMcrB4.js +2074 -0
  266. package/vendor/dsh-dog/lib/core.d.ts +2 -0
  267. package/vendor/dsh-dog/lib/core.js +2 -0
  268. package/vendor/dsh-dog/lib/index.d.ts +133 -0
  269. package/vendor/dsh-dog/lib/index.js +967 -0
  270. package/vendor/dsh-dog/package.json +97 -0
  271. package/vendor/dsh-dog/schemas/schema-0.2/graph.schema.json +139 -0
  272. package/vendor/dsh-dog/schemas/schema-0.2/report.schema.json +87 -0
  273. package/vendor/dsh-dog/schemas/schema-0.2/run.schema.json +259 -0
  274. package/vendor/dsh-dog/schemas/schema-0.2/runtime-event.schema.json +105 -0
  275. package/vendor/dsh-dog/schemas/schema-0.2/verification.schema.json +40 -0
@@ -0,0 +1,80 @@
1
+ # 风格提取报告模板(Style Extraction Report Template)
2
+ # 路径: data/novels/{novel_id}/data/style/extraction_report.yaml
3
+ # 生成方式: 分析参考文本后由 Agent 填充
4
+
5
+ # ── 基本信息 ──────────────────────────────────────────────
6
+ novel_id: "{novel_id}"
7
+ reference_title: ""
8
+ reference_author: ""
9
+ sample_length: 0 # 分析样本字数
10
+ created_at: "{timestamp}"
11
+
12
+ # ── 六维度特征提取 ────────────────────────────────────────
13
+
14
+ # 1. 叙述声音
15
+ voice:
16
+ narrator_type: "" # 第一人称 / 第三人称限知 / 全知 等
17
+ distance: "" # 亲密 / 适中 / 疏离
18
+ attitude: "" # 同情 / 旁观 / 讽刺 等
19
+ examples:
20
+ # - "原文示例,展示叙述声音特征"
21
+ reusable: true # 此特征是否可复用到其他作品
22
+
23
+ # 2. 语言风格
24
+ language:
25
+ vocabulary_level: "" # 日常 / 文学 / 古风 / 技术
26
+ sentence_avg_length: 0 # 平均句长(字数)
27
+ favorite_patterns: [] # 高频句式
28
+ metaphor_density: "" # 密 / 适中 / 少
29
+ examples:
30
+ # - "原文示例,展示语言特征"
31
+ reusable: true
32
+
33
+ # 3. 节奏控制
34
+ rhythm:
35
+ overall_pacing: "" # 快 / 中 / 慢
36
+ paragraph_variation: "" # 大 / 中 / 小(段落长短变化幅度)
37
+ scene_transition: "" # 硬切 / 渐变 / 空行 等
38
+ tension_curve: "" # 描述张力变化模式
39
+ examples:
40
+ # - "原文示例,展示节奏特征"
41
+ reusable: true
42
+
43
+ # 4. 对话风格
44
+ dialogue:
45
+ ratio: 0.0 # 对话占比
46
+ tag_style: "" # 最简 / 标准 / 描述性
47
+ subtext_level: "" # 高 / 中 / 低(潜台词程度)
48
+ character_voice_diff: "" # 角色语言差异化程度
49
+ examples:
50
+ # - "原文示例,展示对话特征"
51
+ reusable: true
52
+
53
+ # 5. 幽默体系
54
+ humor:
55
+ type: "" # 吐槽 / 冷幽默 / 荒诞 / 讽刺 / 无
56
+ density: "" # 高频 / 偶尔 / 几乎没有
57
+ delivery: "" # 角色吐槽 / 叙述者评论 / 情境反差
58
+ examples:
59
+ # - "原文示例,展示幽默特征"
60
+ reusable: false # 幽默体系通常作品特定
61
+
62
+ # 6. 情感表达
63
+ emotion:
64
+ expression: "" # 外化 / 内敛 / 间接
65
+ method: "" # 动作暗示 / 内心独白 / 环境烘托
66
+ intensity_range: "" # 克制 / 适中 / 浓烈
67
+ examples:
68
+ # - "原文示例,展示情感表达特征"
69
+ reusable: true
70
+
71
+ # ── 综合评估 ──────────────────────────────────────────────
72
+ summary:
73
+ reusable_features:
74
+ # - "可复用特征1(适用于多种作品)"
75
+ # - "可复用特征2"
76
+ work_specific_features:
77
+ # - "作品特定特征1(仅适用于此类作品)"
78
+ # - "作品特定特征2"
79
+ caution:
80
+ # - "注意事项:不要过度模仿的方面"
@@ -0,0 +1,61 @@
1
+ # 风格指纹模板(Style Fingerprint Template)
2
+ # 路径: data/novels/{novel_id}/data/style/fingerprint.yaml
3
+ # 生成方式: 由风格初始化问询流程生成
4
+
5
+ # ── 基本信息 ──────────────────────────────────────────────
6
+ novel_id: "{novel_id}"
7
+ created_at: "{timestamp}"
8
+ version: 1
9
+
10
+ # ── 基调设定(Q1)──────────────────────────────────────────
11
+ tone:
12
+ primary: "" # 轻松幽默 / 严肃正剧 / 悬疑紧张 / 温馨治愈 / 热血爽文
13
+ secondary: "" # 可选的次要基调
14
+ description: "" # 用户自由描述
15
+
16
+ # ── 节奏设定(Q2)──────────────────────────────────────────
17
+ rhythm:
18
+ pacing: "" # fast / medium / slow
19
+ short_ratio: 0.3 # 短段落占比(<50字)
20
+ medium_ratio: 0.5 # 中段落占比(50-200字)
21
+ long_ratio: 0.2 # 长段落占比(>200字)
22
+ scene_transition: "" # 场景切换风格描述
23
+
24
+ # ── 对话/描写比例(Q3)────────────────────────────────────
25
+ dialogue:
26
+ ratio: 0.50 # 对话占比(0.0 - 1.0)
27
+ style: "" # 对话驱动 / 描写驱动 / 平衡
28
+ tags: "" # 对话标签风格:minimal / standard / descriptive
29
+
30
+ # ── 来源文本(Q4,可选)───────────────────────────────────
31
+ references:
32
+ # - title: "来源文本说明"
33
+ # extracted_features:
34
+ # - "特征1"
35
+ # - "特征2"
36
+ # source_pack: "data/novels/{novel_id}/data/sources/{source_id}/"
37
+
38
+ # ── 特殊约束(Q5,可选)───────────────────────────────────
39
+ constraints:
40
+ banned_phrases: [] # 禁用词/表达
41
+ required_elements: [] # 必须包含的元素
42
+ custom_rules: [] # 自定义规则
43
+ # 示例:
44
+ # banned_phrases:
45
+ # - "网络流行语"
46
+ # - "然而"
47
+ # required_elements:
48
+ # - "每章至少一个笑点"
49
+
50
+ # ── 叙述声音 ──────────────────────────────────────────────
51
+ voice:
52
+ narrator_voice: "" # 叙述者声音描述
53
+ pov_style: "" # 第一人称 / 第三人称限知 / 第三人称全知 / 多视角
54
+ formality: "" # 口语化 / 半正式 / 正式
55
+
56
+ # ── 语言风格 ──────────────────────────────────────────────
57
+ language:
58
+ sentence_patterns: [] # 推荐句式
59
+ vocabulary_level: "" # 日常 / 文学 / 古风 / 技术
60
+ metaphor_style: "" # 比喻风格描述
61
+ humor_style: "" # 幽默风格描述(如适用)
@@ -0,0 +1,33 @@
1
+ # Style System Tools
2
+
3
+ 风格系统现在默认走“项目内 source pack”模式。
4
+
5
+ ## 设计原则
6
+
7
+ - 不内置参考作品风格库
8
+ - 不把版权作品片段随仓库分发
9
+ - 所有提取都来自用户自己提供的文本
10
+ - 提取结果写回当前小说项目,而不是全局共享目录
11
+
12
+ ## 对应动作
13
+
14
+ | 动作 | 结果 |
15
+ |------|------|
16
+ | 风格初始化 | 写 `data/novels/{id}/data/style/fingerprint.yaml` |
17
+ | 风格提取 | 写 `data/novels/{id}/data/sources/{source_id}/...` |
18
+ | 风格合成 | 写 `data/novels/{id}/data/style/composed.md` |
19
+ | 风格分析 | 写 `data/novels/{id}/data/style/analysis_report.yaml` |
20
+
21
+ ## 当前实现口径
22
+
23
+ - `tools/style_extraction_pipeline.py` 负责大文本提取的分块、进度和批次结果
24
+ - `tools/cli.py` 的 `style extract` / `setting extract` / `source review` / `source promote` / `style synthesize` 负责 CLI 入口
25
+ - `craft/` 提供通用技法,不提供作品样例库
26
+
27
+ ## source pack 路径
28
+
29
+ ```text
30
+ data/novels/{novel_id}/data/sources/{source_id}/
31
+ ```
32
+
33
+ 这是当前推荐的长期风格来源结构。
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: truth-validation
3
+ description: Use when user wants to validate story consistency, check for plot holes, or verify state changes. Triggers include "验证", "一致性", "检查逻辑", "状态冲突".
4
+ user-invocable: false
5
+ ---
6
+
7
+ # 真相文件验证系统
8
+
9
+ 验证真相文件与章节内容的一致性,确保故事逻辑连贯。
10
+
11
+ ## 核心概念
12
+
13
+ 真相文件是记录世界当前状态的 Markdown 文件,包括:
14
+ - `current_state.md` - 世界当前状态
15
+ - `ledger.md` - 资源账本
16
+ - `relationships.md` - 角色关系矩阵
17
+
18
+ 相关运行时文件(用于一致性校验):
19
+ - `data/foreshadowing/dag.yaml` - 伏笔状态
20
+ - `data/hierarchy.yaml` 与 `data/compressed/` - 章节摘要与压缩信息
21
+
22
+ ## 验证问题类型
23
+
24
+ | 严重程度 | 类型 | 说明 |
25
+ |---------|------|------|
26
+ | critical | 状态矛盾 | 章节内容与真相文件矛盾 |
27
+ | critical | 时间悖论 | 时间线出现矛盾 |
28
+ | warning | 叙事缺失 | 状态变化没有叙事支持 |
29
+ | warning | 伏笔异常 | 伏笔未回收就消失 |
30
+ | info | 回溯编辑 | 暗示状态变化发生在前章 |
31
+
32
+ ## 可用工具
33
+
34
+ | 工具 | 说明 |
35
+ |------|------|
36
+ | `validate_truth` | 验证真相文件与章节的一致性 |
37
+
38
+ ## 使用示例
39
+
40
+ ### 验证最新章节
41
+
42
+ ```
43
+ 用户: 检查一下最新章节有没有问题
44
+
45
+ AI: 让我验证一下...
46
+ [COMMAND] validate_truth {
47
+ "chapter_id": "latest"
48
+ }
49
+
50
+ 结果:
51
+ - ✅ 状态矛盾: 无
52
+ - ✅ 时间悖论: 无
53
+ - ⚠️ 叙事缺失: 1个
54
+ - 主角境界从筑基初期跳到筑基中期,但章节中没有突破描写
55
+ - ✅ 伏笔异常: 无
56
+ - ✅ 回溯编辑: 无
57
+
58
+ 建议: 在第5章添加主角修炼的过渡场景
59
+ ```
60
+
61
+ ### 验证指定章节
62
+
63
+ ```
64
+ 用户: 第3章有没有逻辑问题?
65
+
66
+ AI:
67
+ [COMMAND] validate_truth {
68
+ "chapter_id": "ch_003"
69
+ }
70
+
71
+ 结果:
72
+ - ❌ 状态矛盾: 1个
73
+ - 真相文件记录主角在青河镇,但章节中主角出现在青云宗
74
+ - ✅ 时间悖论: 无
75
+ - ⚠️ 叙事缺失: 2个
76
+ ...
77
+ ```
78
+
79
+ ## 常见问题及修复
80
+
81
+ ### 1. 状态矛盾
82
+
83
+ **问题**: 真相文件说主角在A地,但章节中主角在B地
84
+
85
+ **修复**:
86
+ - 检查是否是穿越/传送情节
87
+ - 如果是,更新真相文件中的位置
88
+ - 如果不是,修复章节内容
89
+
90
+ ### 2. 时间悖论
91
+
92
+ **问题**: 章节说"三天后",但上一章到这章只过了一天
93
+
94
+ **修复**:
95
+ - 添加过渡段落说明时间流逝
96
+ - 或者修正天数
97
+
98
+ ### 3. 叙事缺失
99
+
100
+ **问题**: 真相文件记录主角境界提升,但章节中没有描写
101
+
102
+ **修复**:
103
+ - 添加修炼/突破的场景
104
+ - 或者回退真相文件中的状态
105
+
106
+ ## 验证时机
107
+
108
+ 建议在以下时机进行验证:
109
+ 1. 写完章节后
110
+ 2. 审查章节前
111
+ 3. 重大剧情转折前
112
+ 4. 发现逻辑问题时
113
+
114
+ ## 与伏笔系统的关系
115
+
116
+ 验证系统会检查:
117
+ - 待回收伏笔是否在预期章节被回收
118
+ - 已埋伏笔是否在章节中得到呼应
119
+ - 是否有伏笔未声明就被回收
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: workflow-manager
3
+ description: Use when user wants to check writing progress, manage workflow stages, or resume interrupted tasks. Triggers include "工作流", "进度", "阶段", "写作流程".
4
+ user-invocable: false
5
+ ---
6
+
7
+ # 工作流管理
8
+
9
+ 跟踪写章 → 评审 → 修订 → 应用 → 复评 → 交付。全部状态来自 OpenWrite 任务与章节工作简报,不要虚构本地阶段机,也不要调用已废弃的工作流命令。
10
+
11
+ ## 作者可见阶段
12
+
13
+ 1. 上下文预检 — `novel_context_preview`
14
+ 2. 写章 — `novel_write_chapter` 或后台 `novel_task_create(type=chapter_write)` / `novel_multi_write`
15
+ 3. 评审 — `novel_review_chapter` 或 `novel_task_create(type=chapter_review)`
16
+ 4. 作者确认修订 — `novel_revisions_list` → apply / reject
17
+ 5. 复评与交付 — 应用后复评;交付图为 writing → review → revision → application → rereview → closure
18
+
19
+ ## 工具
20
+
21
+ | 工具 | 用途 |
22
+ |------|------|
23
+ | `novel_status` | 全书阶段、缺口、待确认项 |
24
+ | `novel_chapter_work` | 单章正文/评审 revision、目标、伏笔义务、最近修改 |
25
+ | `novel_tasks_list` | 后台任务列表 |
26
+ | `novel_task_get` | 轮询任务 phase 与 result |
27
+ | `novel_task_create` | 提交 chapter_write / chapter_review / revision_from_review / research |
28
+ | `novel_task_cancel` / `novel_task_retry` / `novel_task_confirm` | 取消、可恢复重试、确认继续 |
29
+ | `novel_multi_write` | 按大纲连续写章 |
30
+ | `novel_chapter_run_action` | Chapter Run V2 干预 |
31
+ | `novel_write_chapter` | 同步写一章(长耗时;编排优先走任务) |
32
+ | `novel_review_chapter` | 同步评审一章 |
33
+
34
+ 长操作优先走任务系统,避免 HTTP 超时把服务端写锁做成孤儿任务。
35
+
36
+ ## 用法
37
+
38
+ ### 看进度
39
+
40
+ 用户问「现在写到哪」:
41
+
42
+ 1. `novel_status`
43
+ 2. 需要章级细节时 `novel_chapter_work`(chapter_id)
44
+ 3. 进行中的后台工作 `novel_tasks_list`
45
+
46
+ 向作者报告:当前章、正文是否存在、评审是否新鲜、任务 phase、伏笔到期/超期/待埋入计数。不要输出内部 JSON 当主界面。
47
+
48
+ ### 开始写下一章
49
+
50
+ 1. `novel_outline_read` 确认建议章纲
51
+ 2. `novel_context_preview`
52
+ 3. `novel_task_create(type=chapter_write)` 或 `novel_write_chapter`
53
+ 4. `novel_task_get` 直到完成或需要确认
54
+
55
+ ### 中断恢复
56
+
57
+ 会话中断后:
58
+
59
+ 1. `novel_tasks_list` 找 running / failed / awaiting_confirmation
60
+ 2. recoverable 失败用 `novel_task_retry`;需要作者拍板用 `novel_task_confirm`
61
+ 3. 不要对已有正文再次 `novel_write_chapter`(服务端会 409);回炉走 `revision_from_review` → regenerate → apply → 复评
62
+
63
+ ### 连写
64
+
65
+ `novel_multi_write` 按大纲推进;每章仍要评审。低质量、低覆盖或含 blocker 时进入修订闭环,不要跳过门禁强行交付。
66
+
67
+ ## 状态怎么说
68
+
69
+ | 观察 | 对作者说 |
70
+ |------|----------|
71
+ | 任务 `running` | 正在写/审,给任务 id 与 phase |
72
+ | `awaiting_confirmation` | 需要确认才能继续 |
73
+ | `failed` 且 recoverable | 可重试,说明错误码 |
74
+ | 评审 `stale` | 正文已变,必须复评 |
75
+ | 交付未 closure | 应用修订后还没复评通过 |
76
+
77
+ ## 与其他技能
78
+
79
+ - **novel-creator**:单章创作编排
80
+ - **novel-reviewer**:评审与修订提案
81
+ - **dog-delivery-query**:查询已物化交付图
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: world-query
3
+ description: Use when querying or maintaining novel world entities, character relationships, or the Studio relationship topology. Triggers include "世界观", "实体", "人物关系", "关系图", "拓扑", and "查询世界".
4
+ user-invocable: false
5
+ ---
6
+
7
+ # 世界查询系统
8
+
9
+ 把 `data/novels/{novel_id}/src/` 下的人物与世界实体文件作为唯一关系真源。Studio 拓扑和 ReAct 的 `get_world_relations` 必须调用同一个拓扑查询,不维护 `graph.yaml` 或第二套关系数据库。
10
+
11
+ ## 查询
12
+
13
+ - 用 `query_world` 查询实体列表或详情。
14
+ - 用 `get_world_relations` 读取与 Studio 连续性页面同源的节点和边。
15
+ - Studio 关系拓扑支持按节点名称、ID、类型、摘要和关系文字搜索;命中节点会保留一跳相邻节点和连线作为上下文。
16
+ - ReAct 没有第二套拓扑搜索索引;需要搜索时读取 `get_world_relations` 后在同一份节点/边结果中按上述字段过滤。
17
+ - 先用 ID 定位;用户只提供名称时允许按 front matter 名称或 Markdown H1 定位。
18
+
19
+ 兼容读取以下关系来源:
20
+
21
+ 1. TOML front matter 中的 `[[related]]`。
22
+ 2. 世界实体的 `## 关联` 列表。
23
+ 3. 人物卡的 `## 关系网络`、`## 人物关系`、`## 与主角的关系`、`## 与某人的关系/羁绊`。
24
+
25
+ 把“主角”解析为 `role = "主角"` 或 `tier = "主角"` 的人物。读取关系目标时清理末尾括号别名,例如 `周策(老周)` 定位到 `周策`。未找到目标时保留 unresolved 节点,不静默丢边。
26
+
27
+ ## 增量修改关系
28
+
29
+ 新建、更新或删除正式关系时使用 `edit_world_relation`,并固定执行两阶段确认:
30
+
31
+ 1. 先以 `confirm=false` 调用,保存返回的 `base_revision`,向用户展示 diff。此步不得写文件。
32
+ 2. 只有用户明确确认后,才传回同一个 `base_revision` 并设置 `confirm=true`。
33
+ 3. 若返回 `relation_revision_conflict`,重新预览;不得复用旧 revision 或整文件重写。
34
+ 4. 用户拒绝、犹豫或只是讨论关系时,不得确认写入。
35
+
36
+ 正式修改统一写入源文件 TOML front matter:
37
+
38
+ ```toml
39
+ [[related]]
40
+ target = "partner_id"
41
+ kind = "related"
42
+ note = "共同调查旧案"
43
+ ```
44
+
45
+ 使用 `action="upsert"` 新增或更新,使用 `action="remove"` 删除。源和目标必须是已有实体,禁止自关系。旧 Markdown 关系段落继续作为兼容只读来源;不要为了修改一条边而覆盖人物卡正文。
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: write-next
3
+ description: 写下一章。Use when the author asks 写下一章, 续写, 生成章节, or types /write-next. Preview context then call novel_write_chapter; never overwrite existing prose.
4
+ ---
5
+
6
+ # 写下一章
7
+
8
+ 接到已有 `novel_*`。已有正文不得覆盖。
9
+
10
+ 1. `novel_status` 看阶段与待确认项;`outline_scope` 待确认时先让作者确认大纲范围。
11
+ 2. `novel_outline_read` 定位章纲:未指定则取大纲顺序中最早尚无正文的章。
12
+ 3. `novel_context_preview` 预检上下文包。
13
+ 4. `novel_chapter_work` 读取本章到期/超期/待埋入伏笔与字数目标。
14
+ 5. `novel_write_chapter` 写下一章或指定章。
15
+ 6. 草稿出来后暂停,请作者选择:通过进入评审、按意见重写、或到创作页手工编辑。
16
+
17
+ 资产不齐时先规划补齐,不切换会话。节拍与审核口令见 novel-creator。
@@ -0,0 +1,12 @@
1
+ # From the pinned Core wheel METADATA; regenerate when that wheel changes.
2
+ pydantic<3.0,>=2.0
3
+ pyyaml>=6.0
4
+ openai>=1.0
5
+ anthropic>=0.18
6
+ litellm<1.83,>=1.82.6
7
+ httpx[socks]<1.0,>=0.27
8
+ markdown-it-py>=3.0
9
+ prompt_toolkit>=3.0
10
+ lightrag-hku<2.0,>=1.5.5
11
+ fastembed<1.0,>=0.7.0
12
+ tomli>=2.0; python_version < "3.11"
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-present Shigma
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-present Shigma
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter and Contributors
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Colin McDonnell
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE