@runweave/server-linux-x64 0.1.8 → 0.1.10

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 (357) hide show
  1. package/manifest.json +1494 -161
  2. package/native.tar.gz +0 -0
  3. package/package.json +1 -1
  4. package/payload/.agents/plugins/marketplace.json +20 -0
  5. package/payload/app-server/build-info.json +4 -4
  6. package/payload/app-server/index.cjs +6 -2
  7. package/payload/app-server/index.cjs.map +1 -1
  8. package/payload/backend/activity-sqlite-worker.cjs +2 -0
  9. package/payload/backend/build-info.json +4 -4
  10. package/payload/backend/dev-resources/control.cjs +5 -1
  11. package/payload/backend/index.cjs +466 -295
  12. package/payload/backend/ios-simulators/pool.py +3 -3
  13. package/payload/backend/scheduled-tasks-sqlite-worker.cjs +2 -0
  14. package/payload/frontend/dist/assets/{_baseUniq-vo4uuhMd.js → _baseUniq--CWv8e7O.js} +1 -1
  15. package/payload/frontend/dist/assets/{access-_jCu7Rgu.js → access-BCF23Qto.js} +1 -1
  16. package/payload/frontend/dist/assets/{advanced-CqOhObYj.js → advanced-D8viCLue.js} +1 -1
  17. package/payload/frontend/dist/assets/{appearance-CrrD5gzC.js → appearance-wPVMx-tB.js} +1 -1
  18. package/payload/frontend/dist/assets/{arc-dbfyHSF0.js → arc-BXffHD7A.js} +1 -1
  19. package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-CntSCAsO.js → architectureDiagram-Q4EWVU46-BXHN9QCj.js} +1 -1
  20. package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-Chp0D4qy.js → blockDiagram-DXYQGD6D-DoZjab_0.js} +1 -1
  21. package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-CF91pOuW.js → c4Diagram-AHTNJAMY-Ds2E62Z8.js} +1 -1
  22. package/payload/frontend/dist/assets/channel-83CTXkVl.js +1 -0
  23. package/payload/frontend/dist/assets/{chunk-4BX2VUAB-B1gxlVu2.js → chunk-4BX2VUAB-Dk1H2-5_.js} +1 -1
  24. package/payload/frontend/dist/assets/{chunk-4TB4RGXK-Cxt3mj9b.js → chunk-4TB4RGXK-Sg0gzSvg.js} +1 -1
  25. package/payload/frontend/dist/assets/{chunk-55IACEB6-BJT6qNik.js → chunk-55IACEB6-Du_EJG4S.js} +1 -1
  26. package/payload/frontend/dist/assets/{chunk-EDXVE4YY-yI59bCa0.js → chunk-EDXVE4YY-BM1Cs5dU.js} +1 -1
  27. package/payload/frontend/dist/assets/{chunk-FMBD7UC4-CDvncKKJ.js → chunk-FMBD7UC4-BM9thfyY.js} +1 -1
  28. package/payload/frontend/dist/assets/{chunk-OYMX7WX6-BblOIU57.js → chunk-OYMX7WX6-C9Bvn4fo.js} +1 -1
  29. package/payload/frontend/dist/assets/{chunk-QZHKN3VN-rODzNdO0.js → chunk-QZHKN3VN-CaakbFhJ.js} +1 -1
  30. package/payload/frontend/dist/assets/{chunk-YZCP3GAM-B6D4wQwk.js → chunk-YZCP3GAM-DkVNrd40.js} +1 -1
  31. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-oR8IYJwC.js +1 -0
  32. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-oR8IYJwC.js +1 -0
  33. package/payload/frontend/dist/assets/clone-BIDF-bd9.js +1 -0
  34. package/payload/frontend/dist/assets/connection-DIdF_3aa.js +12 -0
  35. package/payload/frontend/dist/assets/{connections-DqDmxS-O.js → connections-DBYC8SFl.js} +1 -1
  36. package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-BvwVWp29.js → cose-bilkent-S5V4N54A-B4-fwllY.js} +1 -1
  37. package/payload/frontend/dist/assets/{dagre-KV5264BT-h_K1TH11.js → dagre-KV5264BT-Byu4wqLk.js} +1 -1
  38. package/payload/frontend/dist/assets/{desktop-BQ3kGtKG.js → desktop-aESkh0HL.js} +1 -1
  39. package/payload/frontend/dist/assets/{diagram-5BDNPKRD-B8g2SV6L.js → diagram-5BDNPKRD-DJW8DuCX.js} +1 -1
  40. package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-BOEnrqYm.js → diagram-G4DWMVQ6-DTBvds5J.js} +1 -1
  41. package/payload/frontend/dist/assets/{diagram-MMDJMWI5-DlaN_z71.js → diagram-MMDJMWI5-D42e4xzm.js} +1 -1
  42. package/payload/frontend/dist/assets/{diagram-TYMM5635-C_pSKftn.js → diagram-TYMM5635-BjV43-C_.js} +1 -1
  43. package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-C2dL-h3I.js → erDiagram-SMLLAGMA-DE47Ibp_.js} +1 -1
  44. package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-BmXhKWFj.js → flowDiagram-DWJPFMVM-CjGBlzS4.js} +1 -1
  45. package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-D_Odnssf.js → ganttDiagram-T4ZO3ILL-vfj40KZi.js} +1 -1
  46. package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DcQdcwKZ.js → gitGraphDiagram-UUTBAWPF-DT5xfRNb.js} +1 -1
  47. package/payload/frontend/dist/assets/{graph-C_XsxefA.js → graph-D-AF6yQT.js} +1 -1
  48. package/payload/frontend/dist/assets/{image-D3hgVr8O.js → image-D9gtSsD9.js} +1 -1
  49. package/payload/frontend/dist/assets/{index-CEUsFFQq.js → index-BPVP2P-2.js} +95 -105
  50. package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-C6TnRyMi.js → infoDiagram-42DDH7IO-C7ew_uLJ.js} +1 -1
  51. package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-BL7rfALJ.js → ishikawaDiagram-UXIWVN3A-B6-YebU9.js} +1 -1
  52. package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-C_6407GW.js → journeyDiagram-VCZTEJTY-BOFgJDA5.js} +1 -1
  53. package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CK61Fd0p.js → kanban-definition-6JOO6SKY-jh06wZYz.js} +1 -1
  54. package/payload/frontend/dist/assets/{layout-DVn6JKbl.js → layout-B4p7V5fB.js} +1 -1
  55. package/payload/frontend/dist/assets/{linear-DyWskq8H.js → linear-D2JWfvdc.js} +1 -1
  56. package/payload/frontend/dist/assets/main-CuRgiPQf.js +706 -0
  57. package/payload/frontend/dist/assets/main-D4_uoZQa.css +33 -0
  58. package/payload/frontend/dist/assets/{min-apbLpSJ3.js → min--jD4Arnm.js} +1 -1
  59. package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-MVHZZbma.js → mindmap-definition-QFDTVHPH-DmzjmSuf.js} +1 -1
  60. package/payload/frontend/dist/assets/{monitoring-BApsVez_.js → monitoring-Tvvk6TfB.js} +1 -1
  61. package/payload/frontend/dist/assets/{notifications-CjxSNLU1.js → notifications-CqP2AQrW.js} +1 -1
  62. package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-Dhbb0AYU.js → pieDiagram-DEJITSTG-B79qIVe5.js} +1 -1
  63. package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-Yk6LOF0S.js → quadrantDiagram-34T5L4WZ-DIOj1DhE.js} +1 -1
  64. package/payload/frontend/dist/assets/{record-content-BCJ80KS5.js → record-content-CzGGCbNs.js} +1 -1
  65. package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-BUhS0PEq.js → requirementDiagram-MS252O5E-C-n1j3tN.js} +1 -1
  66. package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-D2sdxz14.js → sankeyDiagram-XADWPNL6-BVKqWE6C.js} +1 -1
  67. package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-CRere4Fy.js → sequenceDiagram-FGHM5R23-B980Icqs.js} +1 -1
  68. package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-_pk-OMlm.js → stateDiagram-FHFEXIEX-C-mJHzhL.js} +1 -1
  69. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-B4L4fK9G.js +1 -0
  70. package/payload/frontend/dist/assets/{status-Dk5rRVQF.js → status-Bv4Czr9-.js} +1 -1
  71. package/payload/frontend/dist/assets/suiji-DyzQqRTE.js +1 -0
  72. package/payload/frontend/dist/assets/{svg-X7YkMMvx.js → svg-C6Aj62ig.js} +1 -1
  73. package/payload/frontend/dist/assets/{tabs-BmKbcPVh.js → tabs-BTUOhdAF.js} +1 -1
  74. package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-BPsI2pMC.js → timeline-definition-GMOUNBTQ-Dr9yRuVq.js} +1 -1
  75. package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-BNJkZ1Az.js → vennDiagram-DHZGUBPP-B0Xsg1-Z.js} +1 -1
  76. package/payload/frontend/dist/assets/{wardley-RL74JXVD-CVcYeATS.js → wardley-RL74JXVD-BjIKKaA_.js} +1 -1
  77. package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-BpLJ0alk.js → wardleyDiagram-NUSXRM2D-DMJ7MEA9.js} +1 -1
  78. package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-BdsYYk4M.js → xychartDiagram-5P7HB3ND-2tvgfdab.js} +1 -1
  79. package/payload/frontend/dist/build-info.json +4 -4
  80. package/payload/frontend/dist/companion.html +1 -1
  81. package/payload/frontend/dist/index.html +3 -3
  82. package/payload/packages/agent-bridge/src/install-pi.mjs +81 -0
  83. package/payload/plugins/pi/dist/SKILL.md +22 -0
  84. package/payload/plugins/pi/dist/bridge/app-server-client.cjs +82 -0
  85. package/payload/plugins/pi/dist/bridge/feishu_stop_notify.sh +169 -0
  86. package/payload/plugins/pi/dist/bridge/runweave-hook-bridge.cjs +583 -0
  87. package/payload/plugins/pi/dist/bridge/runweave-hook-completion.cjs +42 -0
  88. package/payload/plugins/pi/dist/bridge/runweave-hook-payload.cjs +578 -0
  89. package/payload/plugins/pi/dist/bridge/runweave-task-supervision.cjs +167 -0
  90. package/payload/plugins/pi/dist/runweave.js +316 -0
  91. package/payload/plugins/toolkit/.codex-plugin/plugin.json +31 -0
  92. package/payload/plugins/toolkit/README.md +185 -0
  93. package/payload/plugins/toolkit/hooks/AGENTS.md +6 -0
  94. package/payload/plugins/toolkit/hooks/app-server-client.cjs +82 -0
  95. package/payload/plugins/toolkit/hooks/feishu_stop_notify.sh +169 -0
  96. package/payload/plugins/toolkit/hooks/runweave-hook-bridge.cjs +583 -0
  97. package/payload/plugins/toolkit/hooks/runweave-hook-completion.cjs +42 -0
  98. package/payload/plugins/toolkit/hooks/runweave-hook-dispatch.cjs +123 -0
  99. package/payload/plugins/toolkit/hooks/runweave-hook-payload.cjs +578 -0
  100. package/payload/plugins/toolkit/hooks/runweave-task-supervision.cjs +167 -0
  101. package/payload/plugins/toolkit/hooks.json +108 -0
  102. package/payload/plugins/toolkit/skills/acceptance/SKILL.md +70 -0
  103. package/payload/plugins/toolkit/skills/acceptance/agents/openai.yaml +4 -0
  104. package/payload/plugins/toolkit/skills/acceptance/references/capture.md +38 -0
  105. package/payload/plugins/toolkit/skills/acceptance/references/delivery.md +54 -0
  106. package/payload/plugins/toolkit/skills/acceptance/references/gallery-contract.md +84 -0
  107. package/payload/plugins/toolkit/skills/acceptance/references/gallery-copy.md +34 -0
  108. package/payload/plugins/toolkit/skills/acceptance/references/video.md +52 -0
  109. package/payload/plugins/toolkit/skills/acceptance/scripts/capture.py +137 -0
  110. package/payload/plugins/toolkit/skills/acceptance/scripts/common.py +63 -0
  111. package/payload/plugins/toolkit/skills/acceptance/scripts/gallery.py +353 -0
  112. package/payload/plugins/toolkit/skills/acceptance/scripts/preview.py +109 -0
  113. package/payload/plugins/toolkit/skills/acceptance/scripts/video.py +283 -0
  114. package/payload/plugins/toolkit/skills/acceptance/templates/reader.css +576 -0
  115. package/payload/plugins/toolkit/skills/acceptance/templates/reader.html +63 -0
  116. package/payload/plugins/toolkit/skills/acceptance/templates/reader.js +326 -0
  117. package/payload/plugins/toolkit/skills/acceptance/templates/viewer.css +55 -0
  118. package/payload/plugins/toolkit/skills/acceptance-gallery/SKILL.md +8 -0
  119. package/payload/plugins/toolkit/skills/acceptance-gallery/agents/openai.yaml +6 -0
  120. package/payload/plugins/toolkit/skills/acceptance-gallery/references/capture-and-copy.md +3 -0
  121. package/payload/plugins/toolkit/skills/acceptance-gallery/references/content-contract.md +3 -0
  122. package/payload/plugins/toolkit/skills/acceptance-gallery/scripts/gallery.py +9 -0
  123. package/payload/plugins/toolkit/skills/acceptance-video/SKILL.md +8 -0
  124. package/payload/plugins/toolkit/skills/acceptance-video/agents/openai.yaml +6 -0
  125. package/payload/plugins/toolkit/skills/acceptance-video/references/input-and-capture.md +3 -0
  126. package/payload/plugins/toolkit/skills/acceptance-video/references/mobile-review.md +3 -0
  127. package/payload/plugins/toolkit/skills/acceptance-video/scripts/capture.py +9 -0
  128. package/payload/plugins/toolkit/skills/acceptance-video/scripts/video.py +9 -0
  129. package/payload/plugins/toolkit/skills/agent-device/SKILL.md +86 -0
  130. package/payload/plugins/toolkit/skills/agent-device/agents/openai.yaml +4 -0
  131. package/payload/plugins/toolkit/skills/agent-device/references/ios-setup.md +36 -0
  132. package/payload/plugins/toolkit/skills/agent-device/scripts/device.py +398 -0
  133. package/payload/plugins/toolkit/skills/agent-device/scripts/resources.py +248 -0
  134. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/SKILL.md +128 -0
  135. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/agents/openai.yaml +4 -0
  136. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-checklist.md +59 -0
  137. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-guide.md +135 -0
  138. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-handoff-template.md +57 -0
  139. package/payload/plugins/toolkit/skills/ask-first/SKILL.md +81 -0
  140. package/payload/plugins/toolkit/skills/brainstorming/SKILL.md +41 -0
  141. package/payload/plugins/toolkit/skills/browse-record/SKILL.md +35 -0
  142. package/payload/plugins/toolkit/skills/browse-record/references/app-usage.md +19 -0
  143. package/payload/plugins/toolkit/skills/browse-record/references/daily-reporting.md +115 -0
  144. package/payload/plugins/toolkit/skills/browse-record/references/zhihu.md +33 -0
  145. package/payload/plugins/toolkit/skills/browse-record/scripts/app_usage.py +110 -0
  146. package/payload/plugins/toolkit/skills/browse-record/scripts/browse_job.py +385 -0
  147. package/payload/plugins/toolkit/skills/browse-record/scripts/zhihu-read.js +126 -0
  148. package/payload/plugins/toolkit/skills/browse-record/scripts/zhihu_http.py +273 -0
  149. package/payload/plugins/toolkit/skills/clear-technical-explanations/LICENSE +21 -0
  150. package/payload/plugins/toolkit/skills/clear-technical-explanations/SKILL.md +103 -0
  151. package/payload/plugins/toolkit/skills/code-grounded-requirements/SKILL.md +54 -0
  152. package/payload/plugins/toolkit/skills/daily-doc-maintenance/SKILL.md +151 -0
  153. package/payload/plugins/toolkit/skills/daily-record/SKILL.md +63 -0
  154. package/payload/plugins/toolkit/skills/daily-record/agents/openai.yaml +4 -0
  155. package/payload/plugins/toolkit/skills/daily-record/references/browser-history.md +6 -0
  156. package/payload/plugins/toolkit/skills/daily-record/references/feishu.md +90 -0
  157. package/payload/plugins/toolkit/skills/daily-record/references/scheduled-reporting.md +144 -0
  158. package/payload/plugins/toolkit/skills/daily-record/references/scheduled-task.template.json +15 -0
  159. package/payload/plugins/toolkit/skills/daily-record/references/suiji-work-records.md +57 -0
  160. package/payload/plugins/toolkit/skills/daily-record/scripts/feishu.py +280 -0
  161. package/payload/plugins/toolkit/skills/daily-record/scripts/job.py +416 -0
  162. package/payload/plugins/toolkit/skills/daily-record/scripts/job_browser.py +77 -0
  163. package/payload/plugins/toolkit/skills/daily-record/scripts/job_facts.py +132 -0
  164. package/payload/plugins/toolkit/skills/daily-record/scripts/job_isolation.py +69 -0
  165. package/payload/plugins/toolkit/skills/daily-record/scripts/job_materials.py +154 -0
  166. package/payload/plugins/toolkit/skills/daily-record/scripts/job_screen.py +77 -0
  167. package/payload/plugins/toolkit/skills/daily-record/scripts/job_state.py +309 -0
  168. package/payload/plugins/toolkit/skills/daily-refactor/SKILL.md +101 -0
  169. package/payload/plugins/toolkit/skills/daily-refactor/scripts/compare-architecture-reports.mjs +168 -0
  170. package/payload/plugins/toolkit/skills/debugging-strategies/SKILL.md +38 -0
  171. package/payload/plugins/toolkit/skills/debugging-strategies/resources/implementation-playbook.md +520 -0
  172. package/payload/plugins/toolkit/skills/diagnostic-log-debugging/SKILL.md +79 -0
  173. package/payload/plugins/toolkit/skills/doc-coauthoring/SKILL.md +64 -0
  174. package/payload/plugins/toolkit/skills/eli5/LICENSE +21 -0
  175. package/payload/plugins/toolkit/skills/eli5/SKILL.md +18 -0
  176. package/payload/plugins/toolkit/skills/experience/SKILL.md +71 -0
  177. package/payload/plugins/toolkit/skills/experience/package.json +13 -0
  178. package/payload/plugins/toolkit/skills/git-advanced-workflows/SKILL.md +457 -0
  179. package/payload/plugins/toolkit/skills/github-pr/SKILL.md +109 -0
  180. package/payload/plugins/toolkit/skills/github-pr/scripts/github-access.mjs +292 -0
  181. package/payload/plugins/toolkit/skills/github-pr/scripts/preflight.mjs +191 -0
  182. package/payload/plugins/toolkit/skills/github-pr/scripts/source-worktree.mjs +354 -0
  183. package/payload/plugins/toolkit/skills/grill-with-docs/SKILL.md +66 -0
  184. package/payload/plugins/toolkit/skills/grill-with-docs/agents/openai.yaml +6 -0
  185. package/payload/plugins/toolkit/skills/grilling/SKILL.md +14 -0
  186. package/payload/plugins/toolkit/skills/handoff/SKILL.md +98 -0
  187. package/payload/plugins/toolkit/skills/karpathy-guidelines/SKILL.md +73 -0
  188. package/payload/plugins/toolkit/skills/playwright-cli/SKILL.md +562 -0
  189. package/payload/plugins/toolkit/skills/playwright-cli/references/element-attributes.md +23 -0
  190. package/payload/plugins/toolkit/skills/playwright-cli/references/playwright-tests.md +39 -0
  191. package/payload/plugins/toolkit/skills/playwright-cli/references/request-mocking.md +87 -0
  192. package/payload/plugins/toolkit/skills/playwright-cli/references/running-code.md +240 -0
  193. package/payload/plugins/toolkit/skills/playwright-cli/references/session-management.md +226 -0
  194. package/payload/plugins/toolkit/skills/playwright-cli/references/spec-driven-testing.md +312 -0
  195. package/payload/plugins/toolkit/skills/playwright-cli/references/storage-state.md +275 -0
  196. package/payload/plugins/toolkit/skills/playwright-cli/references/test-generation.md +138 -0
  197. package/payload/plugins/toolkit/skills/playwright-cli/references/tracing.md +142 -0
  198. package/payload/plugins/toolkit/skills/playwright-cli/references/video-recording.md +157 -0
  199. package/payload/plugins/toolkit/skills/playwright-cli/templates/standalone.config.json +7 -0
  200. package/payload/plugins/toolkit/skills/product-exploration/SKILL.md +64 -0
  201. package/payload/plugins/toolkit/skills/product-exploration/agents/openai.yaml +5 -0
  202. package/payload/plugins/toolkit/skills/prototype-first-development/SKILL.md +134 -0
  203. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/README.md +88 -0
  204. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/app.js +145 -0
  205. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/index.html +229 -0
  206. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/mock-state.json +60 -0
  207. package/payload/plugins/toolkit/skills/prototype-first-development/references/implementation-plan-handoff-template.md +61 -0
  208. package/payload/plugins/toolkit/skills/prototype-first-development/references/prototype-workflow-checklist.md +64 -0
  209. package/payload/plugins/toolkit/skills/publish-runweave-server/SKILL.md +69 -0
  210. package/payload/plugins/toolkit/skills/publish-runweave-server/agents/openai.yaml +4 -0
  211. package/payload/plugins/toolkit/skills/react-best-practices/AGENTS.md +3227 -0
  212. package/payload/plugins/toolkit/skills/react-best-practices/README.md +127 -0
  213. package/payload/plugins/toolkit/skills/react-best-practices/SKILL.md +143 -0
  214. package/payload/plugins/toolkit/skills/react-best-practices/metadata.json +15 -0
  215. package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/event-handler-refs.md +55 -0
  216. package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/init-once.md +42 -0
  217. package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/use-latest.md +39 -0
  218. package/payload/plugins/toolkit/skills/react-best-practices/rules/async/api-routes.md +38 -0
  219. package/payload/plugins/toolkit/skills/react-best-practices/rules/async/defer-await.md +80 -0
  220. package/payload/plugins/toolkit/skills/react-best-practices/rules/async/dependencies.md +52 -0
  221. package/payload/plugins/toolkit/skills/react-best-practices/rules/async/parallel.md +28 -0
  222. package/payload/plugins/toolkit/skills/react-best-practices/rules/async/suspense-boundaries.md +99 -0
  223. package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/barrel-imports.md +59 -0
  224. package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/conditional.md +37 -0
  225. package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/defer-third-party.md +49 -0
  226. package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/dynamic-imports.md +35 -0
  227. package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/preload.md +46 -0
  228. package/payload/plugins/toolkit/skills/react-best-practices/rules/client/event-listeners.md +78 -0
  229. package/payload/plugins/toolkit/skills/react-best-practices/rules/client/localstorage-schema.md +77 -0
  230. package/payload/plugins/toolkit/skills/react-best-practices/rules/client/passive-event-listeners.md +48 -0
  231. package/payload/plugins/toolkit/skills/react-best-practices/rules/client/swr-dedup.md +56 -0
  232. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/batch-dom-css.md +110 -0
  233. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-function-results.md +80 -0
  234. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-property-access.md +28 -0
  235. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-storage.md +70 -0
  236. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/combine-iterations.md +32 -0
  237. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/early-exit.md +50 -0
  238. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/flatmap-filter.md +55 -0
  239. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/hoist-regexp.md +45 -0
  240. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/index-maps.md +37 -0
  241. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/length-check-first.md +50 -0
  242. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/min-max-loop.md +82 -0
  243. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/set-map-lookups.md +24 -0
  244. package/payload/plugins/toolkit/skills/react-best-practices/rules/js/tosorted-immutable.md +57 -0
  245. package/payload/plugins/toolkit/skills/react-best-practices/rules/meta/sections.md +46 -0
  246. package/payload/plugins/toolkit/skills/react-best-practices/rules/meta/template.md +28 -0
  247. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/activity.md +26 -0
  248. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/animate-svg-wrapper.md +38 -0
  249. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/conditional-render.md +32 -0
  250. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/content-visibility.md +38 -0
  251. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hoist-jsx.md +36 -0
  252. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hydration-no-flicker.md +72 -0
  253. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hydration-suppress-warning.md +26 -0
  254. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/resource-hints.md +89 -0
  255. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/script-defer-async.md +71 -0
  256. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/svg-precision.md +28 -0
  257. package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/usetransition-loading.md +75 -0
  258. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/defer-reads.md +39 -0
  259. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/dependencies.md +45 -0
  260. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/derived-state-no-effect.md +40 -0
  261. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/derived-state.md +29 -0
  262. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/functional-setstate.md +77 -0
  263. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/lazy-state-init.md +58 -0
  264. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/memo-with-default-value.md +36 -0
  265. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/memo.md +44 -0
  266. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/move-effect-to-event.md +45 -0
  267. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/no-inline-components.md +83 -0
  268. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/simple-expression-in-memo.md +35 -0
  269. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/transitions.md +40 -0
  270. package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/use-ref-transient-values.md +73 -0
  271. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/after-nonblocking.md +74 -0
  272. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/auth-actions.md +96 -0
  273. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/cache-lru.md +41 -0
  274. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/cache-react.md +76 -0
  275. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/dedup-props.md +65 -0
  276. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/hoist-static-io.md +139 -0
  277. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/parallel-fetching.md +83 -0
  278. package/payload/plugins/toolkit/skills/react-best-practices/rules/server/serialization.md +38 -0
  279. package/payload/plugins/toolkit/skills/recorded-browser-mcp-verification/SKILL.md +8 -0
  280. package/payload/plugins/toolkit/skills/recorded-browser-mcp-verification/agents/openai.yaml +6 -0
  281. package/payload/plugins/toolkit/skills/reproduce-before-fix/SKILL.md +93 -0
  282. package/payload/plugins/toolkit/skills/reproduce-before-fix/agents/openai.yaml +7 -0
  283. package/payload/plugins/toolkit/skills/review-only/SKILL.md +72 -0
  284. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/SKILL.md +134 -0
  285. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/agents/openai.yaml +7 -0
  286. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/references/contracts.md +114 -0
  287. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/classify-runtime-verdict.mjs +140 -0
  288. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/run-static-review.mjs +389 -0
  289. package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/static-review-contract.mjs +243 -0
  290. package/payload/plugins/toolkit/skills/run-test-cases/SKILL.md +63 -0
  291. package/payload/plugins/toolkit/skills/runweave-change-validation/SKILL.md +196 -0
  292. package/payload/plugins/toolkit/skills/runweave-change-validation/agents/openai.yaml +7 -0
  293. package/payload/plugins/toolkit/skills/runweave-change-validation/scripts/assert-dev-session-status.mjs +181 -0
  294. package/payload/plugins/toolkit/skills/runweave-dev-session/SKILL.md +126 -0
  295. package/payload/plugins/toolkit/skills/runweave-dev-session/agents/openai.yaml +7 -0
  296. package/payload/plugins/toolkit/skills/runweave-management/SKILL.md +47 -0
  297. package/payload/plugins/toolkit/skills/scheduled-task/SKILL.md +35 -0
  298. package/payload/plugins/toolkit/skills/shadcn/SKILL.md +245 -0
  299. package/payload/plugins/toolkit/skills/shadcn/agents/openai.yml +5 -0
  300. package/payload/plugins/toolkit/skills/shadcn/assets/shadcn-small.png +0 -0
  301. package/payload/plugins/toolkit/skills/shadcn/assets/shadcn.png +0 -0
  302. package/payload/plugins/toolkit/skills/shadcn/cli.md +276 -0
  303. package/payload/plugins/toolkit/skills/shadcn/customization.md +209 -0
  304. package/payload/plugins/toolkit/skills/shadcn/evals/evals.json +47 -0
  305. package/payload/plugins/toolkit/skills/shadcn/mcp.md +94 -0
  306. package/payload/plugins/toolkit/skills/shadcn/rules/base-vs-radix.md +310 -0
  307. package/payload/plugins/toolkit/skills/shadcn/rules/composition.md +197 -0
  308. package/payload/plugins/toolkit/skills/shadcn/rules/forms.md +198 -0
  309. package/payload/plugins/toolkit/skills/shadcn/rules/icons.md +101 -0
  310. package/payload/plugins/toolkit/skills/shadcn/rules/styling.md +163 -0
  311. package/payload/plugins/toolkit/skills/suiji/SKILL.md +54 -0
  312. package/payload/plugins/toolkit/skills/suiji/references/api.md +72 -0
  313. package/payload/plugins/toolkit/skills/suiji/references/source-adapter.md +40 -0
  314. package/payload/plugins/toolkit/skills/suiji/references/work-records.md +36 -0
  315. package/payload/plugins/toolkit/skills/suiji/scripts/source_adapter.py +46 -0
  316. package/payload/plugins/toolkit/skills/suiji/scripts/suiji.py +358 -0
  317. package/payload/plugins/toolkit/skills/suiji/scripts/work_records.py +328 -0
  318. package/payload/plugins/toolkit/skills/suiji/scripts/work_reports.py +75 -0
  319. package/payload/plugins/toolkit/skills/sync-branch-hard-reset/SKILL.md +59 -0
  320. package/payload/plugins/toolkit/skills/update-runweave-backend/SKILL.md +90 -0
  321. package/payload/plugins/toolkit/skills/update-runweave-backend/agents/openai.yaml +4 -0
  322. package/payload/plugins/toolkit/skills/update-runweave-backend/references/npm-update.md +68 -0
  323. package/payload/plugins/toolkit/skills/update-runweave-backend/references/systemd.md +34 -0
  324. package/payload/plugins/toolkit/skills/update-runweave-desktop/SKILL.md +102 -0
  325. package/payload/plugins/toolkit/skills/update-runweave-ios/SKILL.md +16 -0
  326. package/payload/plugins/toolkit/skills/update-runweave-ios/references/ios-wireless-recovery.md +54 -0
  327. package/payload/plugins/toolkit/skills/using-rw/SKILL.md +265 -0
  328. package/payload/plugins/toolkit/skills/write-plan/SKILL.md +72 -0
  329. package/payload/plugins/toolkit/skills/write-test-cases/SKILL.md +100 -0
  330. package/payload/plugins/toolkit/skills/write-test-cases/assets/test-plan-template.yaml +15 -0
  331. package/payload/plugins/toolkit/skills/write-test-cases/references/coverage-checklist.md +75 -0
  332. package/payload/plugins/toolkit/skills/write-test-cases/references/design-techniques.md +91 -0
  333. package/payload/plugins/toolkit/skills/youtube-reading/SKILL.md +35 -0
  334. package/payload/plugins/toolkit/skills/youtube-reading/agents/openai.yaml +4 -0
  335. package/payload/plugins/toolkit/skills/youtube-reading/assets/runtime-lock.json +92 -0
  336. package/payload/plugins/toolkit/skills/youtube-reading/references/content-contract.md +52 -0
  337. package/payload/plugins/toolkit/skills/youtube-reading/references/setup.md +70 -0
  338. package/payload/plugins/toolkit/skills/youtube-reading/requirements.lock +9 -0
  339. package/payload/plugins/toolkit/skills/youtube-reading/scripts/artifacts.py +206 -0
  340. package/payload/plugins/toolkit/skills/youtube-reading/scripts/runtime.py +424 -0
  341. package/payload/plugins/toolkit/skills/youtube-reading/scripts/youtube_reading.py +314 -0
  342. package/payload/plugins/toolkit-release.json +1 -0
  343. package/payload/pty-host/index.cjs +99 -31
  344. package/payload/scripts/toolkit/codex-state.mjs +75 -0
  345. package/payload/scripts/toolkit/release.mjs +210 -0
  346. package/payload/scripts/toolkit/sync-runtime.mjs +108 -0
  347. package/payload/scripts/toolkit/sync.mjs +585 -0
  348. package/payload/server/index.cjs +5 -1
  349. package/payload/frontend/dist/assets/channel-Bf3IeONI.js +0 -1
  350. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-CFsG2SvG.js +0 -1
  351. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-CFsG2SvG.js +0 -1
  352. package/payload/frontend/dist/assets/clone-CeQXm2YN.js +0 -1
  353. package/payload/frontend/dist/assets/connection-XriXysSc.js +0 -12
  354. package/payload/frontend/dist/assets/main-Cg6Oo1xK.css +0 -33
  355. package/payload/frontend/dist/assets/main-H5R-3_w1.js +0 -696
  356. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-CzpdUl_0.js +0 -1
  357. package/payload/frontend/dist/assets/suiji-CO_L5W1X.js +0 -1
@@ -0,0 +1,576 @@
1
+ :root {
2
+ color-scheme: light;
3
+ --paper: #f5f6f1;
4
+ --card: #fff;
5
+ --ink: #203b3b;
6
+ --muted: #60716e;
7
+ --line: #dce3db;
8
+ --green: #12624e;
9
+ --wash: #e8eee5;
10
+ --warn: #77551e;
11
+ font:
12
+ 16px/1.75 -apple-system,
13
+ BlinkMacSystemFont,
14
+ "PingFang SC",
15
+ "Microsoft YaHei",
16
+ sans-serif;
17
+ }
18
+ * {
19
+ box-sizing: border-box;
20
+ }
21
+ body {
22
+ margin: 0;
23
+ background: var(--paper);
24
+ color: var(--ink);
25
+ }
26
+ [hidden] {
27
+ display: none !important;
28
+ }
29
+ button,
30
+ a,
31
+ summary {
32
+ -webkit-tap-highlight-color: transparent;
33
+ }
34
+ button {
35
+ font: inherit;
36
+ cursor: pointer;
37
+ background: white;
38
+ color: var(--ink);
39
+ border: 1px solid var(--line);
40
+ border-radius: 8px;
41
+ padding: 8px 16px;
42
+ }
43
+ button:hover:not(:disabled) {
44
+ background: var(--wash);
45
+ border-color: #aebdaf;
46
+ }
47
+ button:disabled {
48
+ opacity: 0.4;
49
+ cursor: default;
50
+ }
51
+ button[aria-pressed="true"] {
52
+ background: var(--green);
53
+ color: white;
54
+ }
55
+ a {
56
+ color: var(--green);
57
+ text-underline-offset: 4px;
58
+ }
59
+ a:focus-visible,
60
+ button:focus-visible,
61
+ summary:focus-visible,
62
+ [tabindex]:focus-visible {
63
+ outline: 3px solid #397e65;
64
+ outline-offset: 4px;
65
+ }
66
+ h1,
67
+ h2,
68
+ h3,
69
+ p {
70
+ margin: 0;
71
+ }
72
+ h1 {
73
+ font-size: clamp(23px, 3vw, 34px);
74
+ font-weight: 650;
75
+ line-height: 1.4;
76
+ letter-spacing: -0.03em;
77
+ }
78
+ h2 {
79
+ font-size: clamp(23px, 2.4vw, 31px);
80
+ line-height: 1.45;
81
+ letter-spacing: -0.025em;
82
+ }
83
+ h3 {
84
+ font-size: 17px;
85
+ }
86
+ p,
87
+ li,
88
+ h1,
89
+ h2,
90
+ h3,
91
+ a,
92
+ summary,
93
+ pre {
94
+ overflow-wrap: anywhere;
95
+ }
96
+ summary {
97
+ cursor: pointer;
98
+ }
99
+ ul {
100
+ padding-left: 22px;
101
+ }
102
+ .masthead {
103
+ max-width: 1400px;
104
+ margin: auto;
105
+ padding: 28px 44px 22px;
106
+ }
107
+ .brand {
108
+ font-size: 12px;
109
+ letter-spacing: 1.5px;
110
+ color: var(--green);
111
+ margin-bottom: 10px;
112
+ }
113
+ .brand span {
114
+ margin: 0 5px;
115
+ }
116
+ .task-line {
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: space-between;
120
+ gap: 18px;
121
+ }
122
+ .task-line button {
123
+ flex-shrink: 0;
124
+ }
125
+ .masthead > p {
126
+ color: var(--muted);
127
+ font-size: 14px;
128
+ margin-top: 8px;
129
+ max-width: 960px;
130
+ }
131
+ .masthead details {
132
+ font-size: 13px;
133
+ color: var(--muted);
134
+ margin-top: 10px;
135
+ }
136
+ .masthead details ul {
137
+ margin: 6px 0;
138
+ }
139
+ .workspace {
140
+ max-width: 1400px;
141
+ margin: auto;
142
+ display: grid;
143
+ grid-template-columns: 214px minmax(0, 1fr);
144
+ gap: 32px;
145
+ padding: 0 44px 122px;
146
+ }
147
+ .directory {
148
+ padding-top: 19px;
149
+ }
150
+ .directory > details {
151
+ position: sticky;
152
+ top: 20px;
153
+ }
154
+ .directory summary {
155
+ color: var(--muted);
156
+ font-size: 12px;
157
+ letter-spacing: 1px;
158
+ margin-bottom: 16px;
159
+ }
160
+ .directory nav {
161
+ display: grid;
162
+ gap: 5px;
163
+ }
164
+ .directory a {
165
+ display: flex;
166
+ gap: 12px;
167
+ align-items: baseline;
168
+ text-decoration: none;
169
+ color: var(--muted);
170
+ font-size: 13px;
171
+ padding: 10px 12px;
172
+ border: 1px solid transparent;
173
+ border-radius: 7px;
174
+ line-height: 1.7;
175
+ }
176
+ .directory a span:first-child {
177
+ font:
178
+ 12px ui-monospace,
179
+ monospace;
180
+ color: #87978c;
181
+ flex-shrink: 0;
182
+ }
183
+ .directory a[aria-current="page"] {
184
+ background: var(--wash);
185
+ border-color: #d6e1d3;
186
+ color: var(--green);
187
+ font-weight: 600;
188
+ }
189
+ .directory a:hover {
190
+ background: #ecf0e8;
191
+ }
192
+ .directory-note {
193
+ font-size: 12px;
194
+ color: #879187;
195
+ margin: 32px 12px;
196
+ }
197
+ .page {
198
+ border: 1px solid var(--line);
199
+ background: var(--card);
200
+ border-radius: 14px;
201
+ padding: 30px 34px;
202
+ margin-bottom: 24px;
203
+ min-width: 0;
204
+ box-shadow: 0 4px 20px #243e3010;
205
+ }
206
+ .page-heading:focus {
207
+ outline: none;
208
+ }
209
+ .eyebrow {
210
+ font-size: 12px;
211
+ letter-spacing: 1px;
212
+ color: var(--muted);
213
+ margin-bottom: 10px;
214
+ }
215
+ .description {
216
+ font-size: 16px;
217
+ max-width: 850px;
218
+ margin: 12px 0 20px;
219
+ color: #475e58;
220
+ white-space: pre-wrap;
221
+ }
222
+ .look-at {
223
+ font-size: 13px;
224
+ padding: 12px 16px;
225
+ background: #edf3e8;
226
+ border-radius: 6px;
227
+ margin: 18px 0;
228
+ }
229
+ .limits {
230
+ font-size: 13px;
231
+ color: var(--warn);
232
+ border-left: 3px solid #c2a060;
233
+ padding: 8px 14px;
234
+ margin: 14px 0;
235
+ background: #faf6ed;
236
+ }
237
+ .limits ul {
238
+ margin: 0;
239
+ }
240
+ .evidence-label {
241
+ font-size: 12px;
242
+ color: var(--warn);
243
+ margin: 8px 0;
244
+ }
245
+ .media-grid {
246
+ display: grid;
247
+ gap: 20px;
248
+ }
249
+ .compare {
250
+ grid-template-columns: repeat(2, minmax(0, 1fr));
251
+ }
252
+ .sequence {
253
+ gap: 28px;
254
+ }
255
+ .sequence-note {
256
+ font-size: 12px;
257
+ color: var(--muted);
258
+ margin: 10px 0;
259
+ }
260
+ figure {
261
+ margin: 0;
262
+ min-width: 0;
263
+ }
264
+ figcaption {
265
+ display: flex;
266
+ align-items: baseline;
267
+ justify-content: space-between;
268
+ gap: 12px;
269
+ margin-bottom: 8px;
270
+ font-size: 13px;
271
+ line-height: 1.7;
272
+ }
273
+ figcaption strong {
274
+ font-weight: 600;
275
+ }
276
+ figcaption a {
277
+ font-size: 12px;
278
+ flex-shrink: 0;
279
+ }
280
+ .image-stage {
281
+ background: #edf0eb;
282
+ border: 1px solid var(--line);
283
+ border-radius: 8px;
284
+ padding: 12px;
285
+ display: flex;
286
+ justify-content: center;
287
+ align-items: flex-start;
288
+ min-width: 0;
289
+ }
290
+ .image-stage > a {
291
+ display: block;
292
+ max-width: 100%;
293
+ line-height: 0;
294
+ }
295
+ .image-stage img {
296
+ display: block;
297
+ max-width: 100%;
298
+ max-height: 62vh;
299
+ width: auto;
300
+ height: auto;
301
+ border-radius: 3px;
302
+ }
303
+ .compare .image-stage img {
304
+ max-height: 570px;
305
+ }
306
+ .crop {
307
+ position: relative;
308
+ overflow: hidden;
309
+ max-width: 100%;
310
+ border-radius: 3px;
311
+ }
312
+ .crop img {
313
+ position: absolute;
314
+ max-width: none;
315
+ max-height: none;
316
+ border-radius: 0;
317
+ height: auto;
318
+ }
319
+ .crop-note,
320
+ .origin {
321
+ font-size: 11px;
322
+ color: var(--muted);
323
+ margin-top: 7px;
324
+ }
325
+ .media-error {
326
+ color: #874329;
327
+ background: #fff0e5;
328
+ padding: 24px;
329
+ font-size: 14px;
330
+ line-height: 1.7;
331
+ }
332
+ .text-evidence {
333
+ white-space: pre-wrap;
334
+ word-break: break-word;
335
+ font:
336
+ 13px/1.85 ui-monospace,
337
+ SFMono-Regular,
338
+ Menlo,
339
+ monospace;
340
+ border: 1px solid var(--line);
341
+ background: #f5f7f2;
342
+ padding: 20px;
343
+ border-radius: 8px;
344
+ max-height: 55vh;
345
+ overflow: auto;
346
+ margin: 0;
347
+ }
348
+ .sources {
349
+ border-top: 1px solid var(--line);
350
+ margin-top: 24px;
351
+ padding-top: 15px;
352
+ font-size: 12px;
353
+ color: var(--muted);
354
+ }
355
+ .sources > summary {
356
+ display: list-item;
357
+ }
358
+ .source-item {
359
+ margin-top: 14px;
360
+ }
361
+ .source-item p {
362
+ margin-top: 4px;
363
+ }
364
+ .source-item pre {
365
+ margin-top: 8px;
366
+ max-height: 32vh;
367
+ font-size: 12px;
368
+ }
369
+ .navigation {
370
+ position: fixed;
371
+ bottom: 0;
372
+ left: 0;
373
+ right: 0;
374
+ background: #f5f6f1f2;
375
+ backdrop-filter: blur(14px);
376
+ border-top: 1px solid var(--line);
377
+ display: flex;
378
+ align-items: center;
379
+ justify-content: space-between;
380
+ gap: 24px;
381
+ padding: 16px max(30px, calc((100vw - 1312px) / 2));
382
+ z-index: 3;
383
+ }
384
+ .navigation button {
385
+ min-width: 116px;
386
+ }
387
+ .position {
388
+ text-align: center;
389
+ display: flex;
390
+ flex-direction: column;
391
+ min-width: 0;
392
+ }
393
+ .position > span:first-child {
394
+ font:
395
+ 14px ui-monospace,
396
+ monospace;
397
+ color: var(--green);
398
+ }
399
+ .position > span:last-child {
400
+ color: var(--muted);
401
+ font-size: 12px;
402
+ white-space: nowrap;
403
+ overflow: hidden;
404
+ text-overflow: ellipsis;
405
+ max-width: 45vw;
406
+ }
407
+ .notice {
408
+ position: fixed;
409
+ bottom: 92px;
410
+ left: 50%;
411
+ transform: translateX(-50%);
412
+ max-width: 90vw;
413
+ background: #203b3b;
414
+ color: #fff;
415
+ border-radius: 8px;
416
+ padding: 10px 18px;
417
+ font-size: 13px;
418
+ z-index: 4;
419
+ }
420
+ .fatal {
421
+ padding: 30px;
422
+ color: #874329;
423
+ }
424
+ .sr-only,
425
+ .skip-link:not(:focus) {
426
+ position: absolute;
427
+ width: 1px;
428
+ height: 1px;
429
+ padding: 0;
430
+ margin: -1px;
431
+ overflow: hidden;
432
+ clip: rect(0, 0, 0, 0);
433
+ white-space: nowrap;
434
+ border: 0;
435
+ }
436
+ .skip-link:focus {
437
+ display: block;
438
+ padding: 10px;
439
+ }
440
+ .expanded .page {
441
+ display: block;
442
+ }
443
+ .expanded .text-evidence {
444
+ max-height: none;
445
+ }
446
+ .single-task .workspace {
447
+ grid-template-columns: minmax(0, 1fr);
448
+ max-width: 1100px;
449
+ }
450
+ .single-task .directory {
451
+ display: none;
452
+ }
453
+ @media (max-width: 760px) {
454
+ .masthead {
455
+ padding: 22px 18px 18px;
456
+ }
457
+ .brand {
458
+ font-size: 11px;
459
+ }
460
+ .task-line {
461
+ align-items: flex-start;
462
+ gap: 10px;
463
+ }
464
+ .task-line button {
465
+ font-size: 12px;
466
+ padding: 8px 10px;
467
+ }
468
+ .workspace {
469
+ display: block;
470
+ padding: 0 14px 120px;
471
+ }
472
+ .directory {
473
+ padding: 0 4px 16px;
474
+ }
475
+ .directory summary {
476
+ margin-bottom: 8px;
477
+ }
478
+ .directory nav {
479
+ max-height: 240px;
480
+ overflow: auto;
481
+ }
482
+ .directory-note {
483
+ display: none;
484
+ }
485
+ .page {
486
+ padding: 22px 18px;
487
+ border-radius: 10px;
488
+ }
489
+ .compare {
490
+ grid-template-columns: 1fr;
491
+ }
492
+ .description {
493
+ font-size: 15px;
494
+ }
495
+ .image-stage {
496
+ padding: 7px;
497
+ }
498
+ .image-stage img {
499
+ max-height: none;
500
+ }
501
+ .compare .image-stage img {
502
+ max-height: none;
503
+ }
504
+ .navigation {
505
+ padding: 12px 14px;
506
+ gap: 8px;
507
+ }
508
+ .navigation button {
509
+ min-width: 0;
510
+ font-size: 13px;
511
+ padding: 9px 11px;
512
+ }
513
+ .position > span:last-child {
514
+ max-width: 35vw;
515
+ font-size: 11px;
516
+ }
517
+ .text-evidence {
518
+ padding: 12px;
519
+ font-size: 12px;
520
+ }
521
+ .notice {
522
+ bottom: 82px;
523
+ }
524
+ .single-task .workspace {
525
+ padding-bottom: 35px;
526
+ }
527
+ }
528
+ @media print {
529
+ body {
530
+ background: #fff;
531
+ }
532
+ .masthead {
533
+ padding: 0 0 20px;
534
+ }
535
+ .workspace {
536
+ display: block;
537
+ padding: 0;
538
+ max-width: none;
539
+ }
540
+ .directory,
541
+ .navigation,
542
+ #expand,
543
+ .notice,
544
+ .skip-link {
545
+ display: none !important;
546
+ }
547
+ .page,
548
+ .page[hidden] {
549
+ display: block !important;
550
+ break-inside: avoid;
551
+ box-shadow: none;
552
+ margin: 0 0 20px;
553
+ }
554
+ .image-stage img {
555
+ max-height: 500px;
556
+ }
557
+ .text-evidence {
558
+ max-height: none;
559
+ overflow: visible;
560
+ }
561
+ .sources {
562
+ break-inside: avoid;
563
+ }
564
+ .limits {
565
+ background: #fff;
566
+ }
567
+ .page {
568
+ border-color: #aaa;
569
+ }
570
+ details > summary {
571
+ display: none;
572
+ }
573
+ details::details-content {
574
+ content-visibility: visible;
575
+ }
576
+ }
@@ -0,0 +1,63 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
+ <meta name="referrer" content="no-referrer" />
7
+ <link rel="icon" href="data:," />
8
+ <title>@@TITLE@@</title>
9
+ <link rel="stylesheet" href="reader.css" />
10
+ <link rel="stylesheet" href="viewer.css" />
11
+ <script id="gallery-data" type="application/json">
12
+ @@DATA@@
13
+ </script>
14
+ <script src="reader.js" defer></script>
15
+ </head>
16
+ <body>
17
+ <a class="skip-link" href="#pages">跳到本页内容</a>
18
+ <header class="masthead">
19
+ <div class="brand">
20
+ 图文验收 <span aria-hidden="true">/</span>
21
+ <span id="material-kind"></span>
22
+ </div>
23
+ <div class="task-line">
24
+ <h1 id="task-title"></h1>
25
+ <button id="expand" type="button" aria-pressed="false">展开全部</button>
26
+ </div>
27
+ <p id="task-scope"></p>
28
+ <details id="task-limits" hidden>
29
+ <summary>本次材料的范围</summary>
30
+ <ul></ul>
31
+ </details>
32
+ </header>
33
+ <div class="workspace">
34
+ <aside class="directory">
35
+ <details id="directory-details" open>
36
+ <summary>阅读目录</summary>
37
+ <nav aria-label="页面目录" id="directory"></nav>
38
+ </details>
39
+ <p class="directory-note">每页一个问题<br />图片与说明一起看</p>
40
+ </aside>
41
+ <main id="pages" tabindex="-1"></main>
42
+ </div>
43
+ <footer id="navigation" class="navigation" aria-label="翻页">
44
+ <button id="previous" type="button">← 上一页</button>
45
+ <div class="position">
46
+ <span id="page-count"></span><span id="page-name"></span>
47
+ </div>
48
+ <button id="next" type="button">下一页 →</button>
49
+ </footer>
50
+ <p id="notice" role="status" aria-live="polite" class="notice" hidden></p>
51
+ <div
52
+ id="announcement"
53
+ class="sr-only"
54
+ aria-live="polite"
55
+ aria-atomic="true"
56
+ ></div>
57
+ <noscript
58
+ ><p class="fatal">
59
+ 请启用 JavaScript 查看图文。原始材料仍位于同目录的 assets 文件夹。
60
+ </p></noscript
61
+ >
62
+ </body>
63
+ </html>