cc-viewer 1.9.12 → 1.9.14

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 (96) hide show
  1. package/README.md +8 -0
  2. package/dist/assets/{App-Xqmx9TR5.js → App-BzV1ieDH.js} +2 -2
  3. package/dist/assets/{MdxEditorPanel-BwTbSU48.js → MdxEditorPanel-DI3B4gsM.js} +1 -1
  4. package/dist/assets/{Mobile-BOXHO9-C.js → Mobile-qBkAnXy3.js} +1 -1
  5. package/dist/assets/{ProxyStatsModal-BzfIUfG1.js → ProxyStatsModal-B8K0AtAq.js} +1 -1
  6. package/dist/assets/{_baseUniq-BvPjRimO.js → _baseUniq-CsF04anE.js} +1 -1
  7. package/dist/assets/{arc-BzZyqc6p.js → arc-BOacYe6N.js} +1 -1
  8. package/dist/assets/{architectureDiagram-Q4EWVU46-B1oszHzA.js → architectureDiagram-Q4EWVU46-BSUEfjC_.js} +1 -1
  9. package/dist/assets/{blockDiagram-DXYQGD6D-Ndp4o_QB.js → blockDiagram-DXYQGD6D-CC37UGtW.js} +1 -1
  10. package/dist/assets/{c4Diagram-AHTNJAMY-DlDE-ALt.js → c4Diagram-AHTNJAMY-IzgRD4uO.js} +1 -1
  11. package/dist/assets/{channel-BhXx9y6q.js → channel-C6PxyQUn.js} +1 -1
  12. package/dist/assets/{chunk-4BX2VUAB-CM-2e6q_.js → chunk-4BX2VUAB-cdQt_dcU.js} +1 -1
  13. package/dist/assets/{chunk-4TB4RGXK-GWLkQKRO.js → chunk-4TB4RGXK-BpTDA_Pb.js} +1 -1
  14. package/dist/assets/{chunk-55IACEB6-B6LOFqRZ.js → chunk-55IACEB6-CcitNo0P.js} +1 -1
  15. package/dist/assets/{chunk-EDXVE4YY-Ct3e09Ku.js → chunk-EDXVE4YY-BjKwZ9I7.js} +1 -1
  16. package/dist/assets/{chunk-FMBD7UC4-DK-vXpZP.js → chunk-FMBD7UC4-vZDVX3tI.js} +1 -1
  17. package/dist/assets/{chunk-OYMX7WX6-CWxZc_DU.js → chunk-OYMX7WX6-DGkYahGo.js} +1 -1
  18. package/dist/assets/{chunk-QZHKN3VN-jp8ISHue.js → chunk-QZHKN3VN-C9065hSE.js} +1 -1
  19. package/dist/assets/{chunk-YZCP3GAM-DtYet6WV.js → chunk-YZCP3GAM-D_pcTg6_.js} +1 -1
  20. package/dist/assets/classDiagram-6PBFFD2Q-BUmU_G-i.js +1 -0
  21. package/dist/assets/classDiagram-v2-HSJHXN6E-BUmU_G-i.js +1 -0
  22. package/dist/assets/clone-CvoOne2K.js +1 -0
  23. package/dist/assets/{cose-bilkent-S5V4N54A-lNC-slVX.js → cose-bilkent-S5V4N54A-BPPFMIGv.js} +1 -1
  24. package/dist/assets/{dagre-KV5264BT-vm6U82qq.js → dagre-KV5264BT-fjzhKO5o.js} +1 -1
  25. package/dist/assets/{diagram-5BDNPKRD-Dq3FXh-U.js → diagram-5BDNPKRD-5L6FzTry.js} +1 -1
  26. package/dist/assets/{diagram-G4DWMVQ6-BxF85wcF.js → diagram-G4DWMVQ6-GOwcGpff.js} +1 -1
  27. package/dist/assets/{diagram-MMDJMWI5-CFCTeMz0.js → diagram-MMDJMWI5-BDsFE25W.js} +1 -1
  28. package/dist/assets/{diagram-TYMM5635-Bui5Azdg.js → diagram-TYMM5635-BqjpbSGH.js} +1 -1
  29. package/dist/assets/{erDiagram-SMLLAGMA-DrpUO1Kb.js → erDiagram-SMLLAGMA-DWO3Dk1v.js} +1 -1
  30. package/dist/assets/{flowDiagram-DWJPFMVM-Bb3amxiK.js → flowDiagram-DWJPFMVM-Br4nNBVd.js} +1 -1
  31. package/dist/assets/{ganttDiagram-T4ZO3ILL-BRwCFM3C.js → ganttDiagram-T4ZO3ILL-9sN-VOhw.js} +1 -1
  32. package/dist/assets/{gitGraphDiagram-UUTBAWPF-DVXbBwhs.js → gitGraphDiagram-UUTBAWPF-BsPcTAKr.js} +1 -1
  33. package/dist/assets/{graph-Dh22wYWs.js → graph-o31GzaB6.js} +1 -1
  34. package/dist/assets/{index-CfFFgxxf.js → index-B3b0lRUB.js} +1 -1
  35. package/dist/assets/{index-CWZz2pyj.js → index-CU0gt6m1.js} +2 -2
  36. package/dist/assets/{index-BwZB7UwN.js → index-CXMr3tiK.js} +1 -1
  37. package/dist/assets/{index-UlO7Q5dX.js → index-CuvDJTY7.js} +1 -1
  38. package/dist/assets/{index-Cfm4N4ao.js → index-DAjx9lT3.js} +1 -1
  39. package/dist/assets/{index-xZXOwglE.js → index-DyV81jSF.js} +1 -1
  40. package/dist/assets/{index-CQ1Nswa3.js → index-PDvAAbti.js} +1 -1
  41. package/dist/assets/{index-e8wejtj_.js → index-tZqiJJGq.js} +1 -1
  42. package/dist/assets/{infoDiagram-42DDH7IO-cQPbF7Q6.js → infoDiagram-42DDH7IO-VUMzEo4o.js} +1 -1
  43. package/dist/assets/{ishikawaDiagram-UXIWVN3A-cp-ir90Y.js → ishikawaDiagram-UXIWVN3A-BuzrU3sx.js} +1 -1
  44. package/dist/assets/{journeyDiagram-VCZTEJTY-aoMcyNLC.js → journeyDiagram-VCZTEJTY-BZtR5BAF.js} +1 -1
  45. package/dist/assets/{jszip.min-C7BBsGL5.js → jszip.min-CtodH5MV.js} +1 -1
  46. package/dist/assets/{kanban-definition-6JOO6SKY-Cugr0o0f.js → kanban-definition-6JOO6SKY-Cj_97xXb.js} +1 -1
  47. package/dist/assets/{layout-CL0eiocE.js → layout-Du0I-tlh.js} +1 -1
  48. package/dist/assets/{linear-D6EJvwNs.js → linear-BJtxCASI.js} +1 -1
  49. package/dist/assets/{mermaid.core-CNYcCP19.js → mermaid.core-QlorX0Yw.js} +2 -2
  50. package/dist/assets/{min-dFBWKmZ_.js → min-BVnQfunZ.js} +1 -1
  51. package/dist/assets/{mindmap-definition-QFDTVHPH-4fbr7E2n.js → mindmap-definition-QFDTVHPH-Bh_KL4qU.js} +1 -1
  52. package/dist/assets/{pieDiagram-DEJITSTG-UHWzU_JW.js → pieDiagram-DEJITSTG-Bvv0rC_q.js} +1 -1
  53. package/dist/assets/{quadrantDiagram-34T5L4WZ-e87bZkAb.js → quadrantDiagram-34T5L4WZ-Bw8cGCRU.js} +1 -1
  54. package/dist/assets/{requirementDiagram-MS252O5E-l_97YNSi.js → requirementDiagram-MS252O5E-Cg9jQ71h.js} +1 -1
  55. package/dist/assets/{sankeyDiagram-XADWPNL6-D3JFnltO.js → sankeyDiagram-XADWPNL6-BXJo6-CD.js} +1 -1
  56. package/dist/assets/{seqResourceLoaders-ChbSSNu8.css → seqResourceLoaders-CxUFE36z.css} +1 -1
  57. package/dist/assets/seqResourceLoaders-nGCs11zu.js +2 -0
  58. package/dist/assets/{sequenceDiagram-FGHM5R23-5jDKcsRZ.js → sequenceDiagram-FGHM5R23-D7zpGxwq.js} +1 -1
  59. package/dist/assets/{stateDiagram-FHFEXIEX-D5_gBKn8.js → stateDiagram-FHFEXIEX-Der2CqR1.js} +1 -1
  60. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-BP5uQ5EH.js → stateDiagram-v2-QKLJ7IA2-DetvG_Lc.js} +1 -1
  61. package/dist/assets/{timeline-definition-GMOUNBTQ-7IVQRwK1.js → timeline-definition-GMOUNBTQ-0UenzEZ6.js} +1 -1
  62. package/dist/assets/{vendor-antd-CfuxfYfy.js → vendor-antd-I6I2F7Rv.js} +1 -1
  63. package/dist/assets/{vendor-codemirror-C4Jn4TTc.js → vendor-codemirror-Zkm6UHQg.js} +1 -1
  64. package/dist/assets/{vendor-mdxeditor-BreKt5Hd.js → vendor-mdxeditor-CC09MDyZ.js} +2 -2
  65. package/dist/assets/{vendor-qrcode-CutTqXgh.js → vendor-qrcode-gZpmSeeh.js} +1 -1
  66. package/dist/assets/{vendor-virtuoso-Cc9ovCDf.js → vendor-virtuoso-BGwznQ5y.js} +1 -1
  67. package/dist/assets/{vennDiagram-DHZGUBPP-D6qzGquN.js → vennDiagram-DHZGUBPP-COzYyZ5h.js} +1 -1
  68. package/dist/assets/{wardley-RL74JXVD-DzAFqZmY.js → wardley-RL74JXVD-VZdOtN8t.js} +1 -1
  69. package/dist/assets/{wardleyDiagram-NUSXRM2D-CImP9kv8.js → wardleyDiagram-NUSXRM2D-CVkL75Qy.js} +1 -1
  70. package/dist/assets/{xychartDiagram-5P7HB3ND-Co45rRaM.js → xychartDiagram-5P7HB3ND-6CHBAYyF.js} +1 -1
  71. package/dist/index.html +4 -4
  72. package/node_modules/@ccv/core/src/context-rules.js +6 -2
  73. package/package.json +1 -1
  74. package/server/lib/chat-queue.js +14 -1
  75. package/server/lib/config-backup.js +4 -2
  76. package/server/lib/cron.js +181 -0
  77. package/server/lib/file-access-policy.js +45 -1
  78. package/server/lib/im-deny.js +12 -9
  79. package/server/lib/json-store.js +27 -1
  80. package/server/lib/model-system-prompts.js +4 -1
  81. package/server/lib/project-prefs.js +4 -1
  82. package/server/lib/schedule-model.js +149 -0
  83. package/server/lib/scheduled-task-executor.js +97 -0
  84. package/server/lib/scheduled-task-runs-store.js +99 -0
  85. package/server/lib/scheduled-task-scheduler.js +254 -0
  86. package/server/lib/scheduled-task-store.js +511 -0
  87. package/server/lib/sdk-manager.js +283 -12
  88. package/server/pty-manager.js +13 -2
  89. package/server/routes/preferences.js +24 -1
  90. package/server/routes/scheduled-tasks.js +310 -0
  91. package/server/server.js +135 -0
  92. package/server/system-prompt-templates/presets/kimi-k3.md +4 -0
  93. package/dist/assets/classDiagram-6PBFFD2Q-C0dwAyuU.js +0 -1
  94. package/dist/assets/classDiagram-v2-HSJHXN6E-C0dwAyuU.js +0 -1
  95. package/dist/assets/clone-fiofFlrV.js +0 -1
  96. package/dist/assets/seqResourceLoaders-t8OZr44t.js +0 -2
package/README.md CHANGED
@@ -154,6 +154,14 @@ Once configured, just use the `claude` command as usual. Visit `http://localhost
154
154
 
155
155
  ## Features
156
156
 
157
+ ### Scheduled tasks
158
+
159
+ Open **Scheduled tasks** from the (+) menu (chat input bar or terminal toolbar) to run a prompt on a schedule: a preset (hourly / daily / weekdays / weekly), a custom 5-field cron, or a one-off time. Each task either **injects the prompt into the current live session** (queued while busy, exactly as if you typed it) or **spawns a fresh isolated headless session** (SDK mode only) with a clean context.
160
+
161
+ Task definitions and scheduling state live in `preferences.json` (the `scheduledTasks` key) and run history (last 20 per task) in `scheduled-task-runs.json` under the cc-viewer data dir, scheduled in the server's local timezone with a small per-task jitter to avoid on-the-hour stampedes. The server ticks every 10s and claims each fire under a cross-process file lock, so parallel instances / Electron tabs never double-fire. After a restart or a sleep it catches up the single most recent missed run within 7 days (earlier misses are recorded as `missed`, never back-filled one by one).
162
+
163
+ You can **Run now**, pause/resume, delete, and see the last 20 runs (an isolated-session run can jump straight to its session). Fires are silent (the message just appears in the conversation); completions and failures surface as a toast. Note: a task only fires while `ccv` is running, and the scheduler does not run in a workspace-management (unbound) process.
164
+
157
165
  ### Programming mode
158
166
 
159
167
  After launching with ccv you'll see: