@getollie/cli 0.0.5 → 0.2.1

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 (1804) hide show
  1. package/README.md +162 -2
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +2598 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/index.d.ts +81 -0
  6. package/dist/index.js +1023 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +37 -13
  9. package/library/data_science-data_visualization_dashboards/air-quality-realtime-monitoring-system.json +0 -68
  10. package/library/data_science-data_visualization_dashboards/analyze-file-data-dashboard-html.json +0 -68
  11. package/library/data_science-data_visualization_dashboards/annual-air-quality-analysis-page.json +0 -68
  12. package/library/data_science-data_visualization_dashboards/aquaculture-dashboard-html-chartjs.json +0 -68
  13. package/library/data_science-data_visualization_dashboards/armored-transport-industry-data-dashboard.json +0 -68
  14. package/library/data_science-data_visualization_dashboards/bar-chart-consumption-savings-comparison.json +0 -68
  15. package/library/data_science-data_visualization_dashboards/candlestick-charts-patterns-buy-sell-resistance.json +0 -68
  16. package/library/data_science-data_visualization_dashboards/cdn-monitoring-tool-global-speed-availability.json +0 -68
  17. package/library/data_science-data_visualization_dashboards/china-3d-map-new-energy-vehicle-sales.json +0 -68
  18. package/library/data_science-data_visualization_dashboards/china-real-estate-prices-rose-chart.json +0 -68
  19. package/library/data_science-data_visualization_dashboards/china-unicom-data-transformation-stages.json +0 -68
  20. package/library/data_science-data_visualization_dashboards/code-expert-html-visualizations-data-presentations.json +0 -68
  21. package/library/data_science-data_visualization_dashboards/comprehensive-analysis-report-table-data-visualization-design.json +0 -68
  22. package/library/data_science-data_visualization_dashboards/construction-task-gantt-chart-generator.json +0 -68
  23. package/library/data_science-data_visualization_dashboards/consumption-willingness-by-city-type-bar-chart.json +0 -68
  24. package/library/data_science-data_visualization_dashboards/create-pie-chart-from-table-data-html.json +0 -68
  25. package/library/data_science-data_visualization_dashboards/create-visualizations-from-code-expert.json +0 -68
  26. package/library/data_science-data_visualization_dashboards/d3js-heatmap-from-scatter-data.json +0 -68
  27. package/library/data_science-data_visualization_dashboards/dash-plotly-temperature-pressure-visualization.json +0 -68
  28. package/library/data_science-data_visualization_dashboards/data-analysis-dashboard-html-output.json +0 -68
  29. package/library/data_science-data_visualization_dashboards/data-analysis-visual-presentation-html-output.json +0 -68
  30. package/library/data_science-data_visualization_dashboards/desktop-bi-analysis-software.json +0 -68
  31. package/library/data_science-data_visualization_dashboards/drowning-victim-behavior-dashboard.json +0 -68
  32. package/library/data_science-data_visualization_dashboards/dual-curve-backtest-stock-returns-visualization.json +0 -68
  33. package/library/data_science-data_visualization_dashboards/dupont-analysis-chart-html.json +0 -68
  34. package/library/data_science-data_visualization_dashboards/dynamic-data-dashboard-charts-visualizations.json +0 -68
  35. package/library/data_science-data_visualization_dashboards/echarts-bubble-chart-engine-displacement-price-market-share.json +0 -68
  36. package/library/data_science-data_visualization_dashboards/echarts-uniapp-vue3-example.json +0 -68
  37. package/library/data_science-data_visualization_dashboards/embroidery-products-economic-environmental-dashboard.json +0 -68
  38. package/library/data_science-data_visualization_dashboards/family-tree-visualization.json +0 -68
  39. package/library/data_science-data_visualization_dashboards/four-quadrant-news-material-screening-method.json +0 -68
  40. package/library/data_science-data_visualization_dashboards/full-visualization-process-number-screening.json +0 -68
  41. package/library/data_science-data_visualization_dashboards/g2-well-logging-curves-frontend-page.json +0 -68
  42. package/library/data_science-data_visualization_dashboards/generate-bar-charts-age-education-from-spreadsheet.json +0 -68
  43. package/library/data_science-data_visualization_dashboards/goldencutchart-drilling-speed-footage-trendline.json +0 -68
  44. package/library/data_science-data_visualization_dashboards/grade-distribution-and-change-charts.json +0 -68
  45. package/library/data_science-data_visualization_dashboards/healthcare-big-data-dashboard-vue-echarts.json +0 -68
  46. package/library/data_science-data_visualization_dashboards/hebei-digital-economy-residential-consumption-dashboard.json +0 -68
  47. package/library/data_science-data_visualization_dashboards/html-chartjs-cylindrical-fairing-display.json +0 -68
  48. package/library/data_science-data_visualization_dashboards/html-daily-attendance-timeline-with-color-blocks.json +0 -68
  49. package/library/data_science-data_visualization_dashboards/html-quadratic-function-graph-plotter.json +0 -68
  50. package/library/data_science-data_visualization_dashboards/html-rose-chart-housing-prices-chinese-cities.json +0 -68
  51. package/library/data_science-data_visualization_dashboards/html-tool-generate-trend-chart-from-table-data.json +0 -68
  52. package/library/data_science-data_visualization_dashboards/html-word-cloud-generator.json +0 -68
  53. package/library/data_science-data_visualization_dashboards/implement-3d-charts-maps-vue2-echarts.json +0 -68
  54. package/library/data_science-data_visualization_dashboards/inverse-proportion-graphs-for-elementary-math.json +0 -68
  55. package/library/data_science-data_visualization_dashboards/javascript-module-dlis-imaging-log-curves-web-page.json +0 -68
  56. package/library/data_science-data_visualization_dashboards/javaweb-echarts-data-visualization-miniprogram.json +0 -68
  57. package/library/data_science-data_visualization_dashboards/job-displacement-risk-public-administration-digital-transformation-line-chart.json +0 -68
  58. package/library/data_science-data_visualization_dashboards/logistics-flow-map-top-20-countries.json +0 -68
  59. package/library/data_science-data_visualization_dashboards/medical-visualization-dashboard-html.json +0 -68
  60. package/library/data_science-data_visualization_dashboards/mobile-executive-data-platform-product.json +0 -68
  61. package/library/data_science-data_visualization_dashboards/monthly-electricity-sales-and-prices-trend-chart.json +0 -68
  62. package/library/data_science-data_visualization_dashboards/nightingale-docker-monitoring-dashboard-metrics.json +0 -68
  63. package/library/data_science-data_visualization_dashboards/personnel-data-dashboard-visualization-html.json +0 -68
  64. package/library/data_science-data_visualization_dashboards/production-scheduling-visualization-dashboard.json +0 -68
  65. package/library/data_science-data_visualization_dashboards/provinces-job-levels-column-chart.json +0 -68
  66. package/library/data_science-data_visualization_dashboards/python-amazon-sock-product-dashboard-visualization.json +0 -68
  67. package/library/data_science-data_visualization_dashboards/python-financial-data-reports-frontend-display.json +0 -68
  68. package/library/data_science-data_visualization_dashboards/react-echarts-china-map-geojson-api.json +0 -68
  69. package/library/data_science-data_visualization_dashboards/realtime-stock-pattern-alert-monitor.json +0 -68
  70. package/library/data_science-data_visualization_dashboards/retail-consumer-credit-data-dashboard-visualization.json +0 -68
  71. package/library/data_science-data_visualization_dashboards/selinux-policy-visualization.json +0 -68
  72. package/library/data_science-data_visualization_dashboards/sentence-structure-complexity-visualization-experts-ai.json +0 -68
  73. package/library/data_science-data_visualization_dashboards/shaanxi-elderly-care-data-dashboard.json +0 -68
  74. package/library/data_science-data_visualization_dashboards/shanxi-gdp-growth-chart.json +0 -68
  75. package/library/data_science-data_visualization_dashboards/smart-restaurant-data-dashboard-visualization.json +0 -68
  76. package/library/data_science-data_visualization_dashboards/stock-limit-up-monitoring-display.json +0 -68
  77. package/library/data_science-data_visualization_dashboards/stock-price-k-line-charts-app.json +0 -68
  78. package/library/data_science-data_visualization_dashboards/stock-trading-volume-bar-charts.json +0 -68
  79. package/library/data_science-data_visualization_dashboards/team-capability-matrix-chart.json +0 -68
  80. package/library/data_science-data_visualization_dashboards/team-training-duration-win-rate-line-chart.json +0 -68
  81. package/library/data_science-data_visualization_dashboards/tech-changes-talent-demand-chart.json +0 -68
  82. package/library/data_science-data_visualization_dashboards/three-3d-pie-charts-distributions.json +0 -68
  83. package/library/data_science-data_visualization_dashboards/tonghuashun-k-line-chart-rising-limit.json +0 -68
  84. package/library/data_science-data_visualization_dashboards/training-industry-data-dashboard.json +0 -68
  85. package/library/data_science-data_visualization_dashboards/uniapp-ecg-drawing-fixed-data.json +0 -68
  86. package/library/data_science-data_visualization_dashboards/uniapp-editable-knowledge-graph.json +0 -68
  87. package/library/data_science-data_visualization_dashboards/uniapp-vue3-ts-h5-line-bar-charts-page.json +0 -68
  88. package/library/data_science-data_visualization_dashboards/us-population-changes-dashboard-visualization.json +0 -68
  89. package/library/data_science-data_visualization_dashboards/visitor-flow-analysis-xinzhou-vue-implementation.json +0 -68
  90. package/library/data_science-data_visualization_dashboards/visualization-dashboard-word-cloud-code-with-npm.json +0 -68
  91. package/library/data_science-data_visualization_dashboards/visualize-excel-pois-clustering-on-map-html.json +0 -68
  92. package/library/data_science-data_visualization_dashboards/visualize-temperature-data-from-serial-monitor-web-interface.json +0 -68
  93. package/library/data_science-data_visualization_dashboards/visualize-trajectories-code-segment.json +0 -68
  94. package/library/data_science-data_visualization_dashboards/vue-3-interface-data-list-line-charts.json +0 -68
  95. package/library/data_science-data_visualization_dashboards/vue-antv-china-national-map.json +0 -68
  96. package/library/data_science-data_visualization_dashboards/vue-d3-github-calendar-heatmap.json +0 -68
  97. package/library/data_science-data_visualization_dashboards/vue-realtime-3d-warehouse-visualization.json +0 -68
  98. package/library/data_science-data_visualization_dashboards/vue2-d3-pure-tone-audiometry-chart.json +0 -68
  99. package/library/data_science-data_visualization_dashboards/vue2-echarts-wenzhou-map-district-data-bar-charts.json +0 -68
  100. package/library/data_science-data_visualization_dashboards/vue2-element-ui-fastapi-tortoise-echarts-dashboard.json +0 -68
  101. package/library/data_science-data_visualization_dashboards/vue3-echarts-line-chart-with-search.json +0 -68
  102. package/library/data_science-data_visualization_dashboards/vue3-leaflet-temperature-data-visualization.json +0 -68
  103. package/library/data_science-data_visualization_dashboards/vue3-threejs-dynamic-map-dashboard-visualization.json +0 -68
  104. package/library/data_science-data_visualization_dashboards/water-margin-character-relationship-diagram.json +0 -68
  105. package/library/data_science-data_visualization_dashboards/web-data-monitoring-excel-import.json +0 -68
  106. package/library/data_science-data_visualization_dashboards/web-page-excel-upload-charts-display.json +0 -68
  107. package/library/data_science-data_visualization_dashboards/wechat-mini-program-data-analysis-page.json +0 -68
  108. package/library/data_science-data_visualization_dashboards/world-empires-gantt-chart.json +0 -68
  109. package/library/data_science-machine_learning/ai-quant-trading-digital-currency-product.json +0 -68
  110. package/library/data_science-machine_learning/eyebrow-controlled-phone-app-with-ui.json +0 -68
  111. package/library/data_science-machine_learning/facial-expression-recognition-webcam-project.json +0 -68
  112. package/library/data_science-machine_learning/model-training-page.json +0 -68
  113. package/library/data_science-machine_learning/opencvjs-image-polygon-text-extraction.json +0 -68
  114. package/library/data_science-machine_learning/pyqt-interface-brain-tumor-yolov8-detection.json +0 -68
  115. package/library/data_science-machine_learning/text-to-image-generation-tool-development.json +0 -68
  116. package/library/data_science-machine_learning/web-program-import-tables-convert-to-ai-language.json +0 -68
  117. package/library/data_science-predictive_modeling/grain-oil-futures-analysis-software.json +0 -68
  118. package/library/data_science-predictive_modeling/power-station-trend-prediction-optimization-scheduling.json +0 -68
  119. package/library/data_science-predictive_modeling/program-for-market-software-buy-sell-signals.json +0 -68
  120. package/library/data_science-predictive_modeling/real-time-trading-signals-high-accuracy.json +0 -68
  121. package/library/data_science-predictive_modeling/sales-forecasts-in-tabular-format.json +0 -68
  122. package/library/data_science-predictive_modeling/stock-k-line-wave-analysis-buy-sell-points.json +0 -68
  123. package/library/data_science-statistical_analysis/ahp-decision-making-program.json +0 -68
  124. package/library/data_science-statistical_analysis/browser-data-post-processing-software.json +0 -68
  125. package/library/data_science-statistical_analysis/data-analysis-tool-with-excel-support.json +0 -68
  126. package/library/data_science-statistical_analysis/demonstrate-process-deriving-pi-html.json +0 -68
  127. package/library/data_science-statistical_analysis/design-complete-quantitative-factor-research-platform.json +0 -68
  128. package/library/data_science-statistical_analysis/energy-water-consumption-heat-stations-chart-analysis.json +0 -68
  129. package/library/data_science-statistical_analysis/stock-selection-yearly-moving-average-breakthrough.json +0 -68
  130. package/library/data_science-statistical_analysis/web-page-compare-number-frequency-shuffle-reorder.json +0 -68
  131. package/library/game_development-action_rhythm/browser-dinosaur-game-theme.json +0 -68
  132. package/library/game_development-action_rhythm/catch-fruit-game-html-javascript.json +0 -68
  133. package/library/game_development-action_rhythm/character-animation-state-switching.json +0 -68
  134. package/library/game_development-action_rhythm/classic-brick-breaking-game-code.json +0 -68
  135. package/library/game_development-action_rhythm/create-dancing-pixel-ponies.json +0 -68
  136. package/library/game_development-action_rhythm/crossy-road-game-threejs-implementation.json +0 -68
  137. package/library/game_development-action_rhythm/css-html-platform-game.json +0 -68
  138. package/library/game_development-action_rhythm/dinosaur-hunter-game-html-javascript.json +0 -68
  139. package/library/game_development-action_rhythm/fish-at-work-smash-wechat-game.json +0 -68
  140. package/library/game_development-action_rhythm/generate-combat-attack-game-code.json +0 -68
  141. package/library/game_development-action_rhythm/giant-squid-parkour-airplanes-turtle-shells-mini-game.json +0 -68
  142. package/library/game_development-action_rhythm/godzilla-vs-kong-click-speed-game.json +0 -68
  143. package/library/game_development-action_rhythm/google-chrome-dinosaur-game-html-javascript.json +0 -68
  144. package/library/game_development-action_rhythm/google-chrome-dinosaur-game.json +0 -68
  145. package/library/game_development-action_rhythm/gorilla-chase-parkour-running-game.json +0 -68
  146. package/library/game_development-action_rhythm/html-game-character-sprints-forward.json +0 -68
  147. package/library/game_development-action_rhythm/html-javascript-drift-mechanism-implementation.json +0 -68
  148. package/library/game_development-action_rhythm/html-javascript-platform-jumping-game.json +0 -68
  149. package/library/game_development-action_rhythm/html-javascript-rhythm-game-custom-music-levels.json +0 -68
  150. package/library/game_development-action_rhythm/html-javascript-sliding-challenge-game.json +0 -68
  151. package/library/game_development-action_rhythm/html-javascript-sound-reaction-game.json +0 -68
  152. package/library/game_development-action_rhythm/html-kpop-music-game-hit-keys-card-upgrade.json +0 -68
  153. package/library/game_development-action_rhythm/html5-game-virtual-joystick-npc-combat-vehicles-missions-map.json +0 -68
  154. package/library/game_development-action_rhythm/mario-style-game-html.json +0 -68
  155. package/library/game_development-action_rhythm/monkey-king-havoc-in-heaven-game.json +0 -68
  156. package/library/game_development-action_rhythm/music-rhythm-training-application.json +0 -68
  157. package/library/game_development-action_rhythm/musical-rhythm-key-response-action-game.json +0 -68
  158. package/library/game_development-action_rhythm/pacman-web-game-html-css-javascript.json +0 -68
  159. package/library/game_development-action_rhythm/pixel-dance-rhythm-music-game.json +0 -68
  160. package/library/game_development-action_rhythm/pixel-racing-game.json +0 -68
  161. package/library/game_development-action_rhythm/real-time-battle-game-html-javascript.json +0 -68
  162. package/library/game_development-action_rhythm/rhythm-game-difficulty-curve-changes.json +0 -68
  163. package/library/game_development-action_rhythm/sekiro-sword-clash-combat-deflection-core-code.json +0 -68
  164. package/library/game_development-action_rhythm/ski-adventure-game-html-javascript.json +0 -68
  165. package/library/game_development-action_rhythm/snake-game-program-creation.json +0 -68
  166. package/library/game_development-action_rhythm/super-mario-complex-game.json +0 -68
  167. package/library/game_development-action_rhythm/super-mario-game-html-code.json +0 -68
  168. package/library/game_development-action_rhythm/super-mario-game-html-single-file.json +0 -68
  169. package/library/game_development-action_rhythm/super-mario-game-javascript.json +0 -68
  170. package/library/game_development-action_rhythm/super-mario-like-game-javascript.json +0 -68
  171. package/library/game_development-action_rhythm/super-mario-like-mobile-game.json +0 -68
  172. package/library/game_development-action_rhythm/super-mario-mini-game-web-browser.json +0 -68
  173. package/library/game_development-action_rhythm/super-mario-style-game-introduction.json +0 -68
  174. package/library/game_development-action_rhythm/super-mario-web-game.json +0 -68
  175. package/library/game_development-action_rhythm/tank-battle-game-code.json +0 -68
  176. package/library/game_development-action_rhythm/temple-run-style-girl-protagonist-game.json +0 -68
  177. package/library/game_development-action_rhythm/tiktok-douyin-agar-io-mini-game.json +0 -68
  178. package/library/game_development-action_rhythm/two-figures-fighting-animation-mobile.json +0 -68
  179. package/library/game_development-action_rhythm/two-player-fighting-web-game.json +0 -68
  180. package/library/game_development-action_rhythm/web-animation-stick-figures-fighting.json +0 -68
  181. package/library/game_development-action_rhythm/wong-ka-kui-parkour-game-html.json +0 -68
  182. package/library/game_development-adventure/ancient-ruins-adventure-game-html-js.json +0 -68
  183. package/library/game_development-adventure/character-disappears-scene-appears-mouse-click.json +0 -68
  184. package/library/game_development-adventure/complete-text-adventure-game-code.json +0 -68
  185. package/library/game_development-adventure/harry-potter-chamber-of-secrets-game.json +0 -68
  186. package/library/game_development-adventure/html-javascript-level-switching-game.json +0 -68
  187. package/library/game_development-adventure/html-javascript-webvr-game-implementation.json +0 -68
  188. package/library/game_development-adventure/knight-77-rescues-prince-cloud-game.json +0 -68
  189. package/library/game_development-adventure/narrative-game-song-dynasty-time-travel-cat.json +0 -68
  190. package/library/game_development-casual/10-years-from-now-randomizer-webpage.json +0 -68
  191. package/library/game_development-casual/2d-mobile-racing-game-with-clear-graphics.json +0 -68
  192. package/library/game_development-casual/browser-snake-game-creation.json +0 -68
  193. package/library/game_development-casual/capital-letters-typing-practice-game.json +0 -68
  194. package/library/game_development-casual/cat-character-collects-bamboo-every-15-min.json +0 -68
  195. package/library/game_development-casual/chinese-character-pinyin-matching-game.json +0 -68
  196. package/library/game_development-casual/chinese-character-pronunciation-game.json +0 -68
  197. package/library/game_development-casual/claw-machine-game-with-cute-characters.json +0 -68
  198. package/library/game_development-casual/cocos-creator-vertical-scrollview-customers-projects.json +0 -68
  199. package/library/game_development-casual/cocos-java-3d-pinball-game.json +0 -68
  200. package/library/game_development-casual/company-annual-meeting-lucky-draw.json +0 -68
  201. package/library/game_development-casual/dinosaur-themed-match-3-game.json +0 -68
  202. package/library/game_development-casual/elementary-ket-vocabulary-game.json +0 -68
  203. package/library/game_development-casual/english-vocabulary-memorization-game-web-page.json +0 -68
  204. package/library/game_development-casual/geographical-riddle-guessing-game.json +0 -68
  205. package/library/game_development-casual/ghibli-red-panda-doodle-jump-game-website.json +0 -68
  206. package/library/game_development-casual/html-dice-rolling-program.json +0 -68
  207. package/library/game_development-casual/html-javascript-catch-collect-game.json +0 -68
  208. package/library/game_development-casual/html-javascript-friend-system-game.json +0 -68
  209. package/library/game_development-casual/html-javascript-sound-effects-background-music-system.json +0 -68
  210. package/library/game_development-casual/html-js-character-animation-game.json +0 -68
  211. package/library/game_development-casual/html-luck-based-dice-game.json +0 -68
  212. package/library/game_development-casual/html-scrollbar-idle-game.json +0 -68
  213. package/library/game_development-casual/html-small-lucky-draw-program.json +0 -68
  214. package/library/game_development-casual/html-snake-game.json +0 -68
  215. package/library/game_development-casual/html5-sailing-mini-game-character-symbols.json +0 -68
  216. package/library/game_development-casual/jump-jump-game-assistant-jumping-distance.json +0 -68
  217. package/library/game_development-casual/keyboard-practice-master.json +0 -68
  218. package/library/game_development-casual/livestream-score-tracker.json +0 -68
  219. package/library/game_development-casual/marble-elimination-game.json +0 -68
  220. package/library/game_development-casual/nezha-whack-a-marmot-game.json +0 -68
  221. package/library/game_development-casual/one-piece-semiconductor-game.json +0 -68
  222. package/library/game_development-casual/princess-makeup-game.json +0 -68
  223. package/library/game_development-casual/prize-wheel-game-with-editable-content.json +0 -68
  224. package/library/game_development-casual/pubg-mobile-vocabulary-lottery-system.json +0 -68
  225. package/library/game_development-casual/random-number-selector-two-color-ball-lottery.json +0 -68
  226. package/library/game_development-casual/random-prize-draw-program.json +0 -68
  227. package/library/game_development-casual/simple-jump-game-design.json +0 -68
  228. package/library/game_development-casual/single-page-fishing-game-html-css-js.json +0 -68
  229. package/library/game_development-casual/ski-free-html-javascript-game.json +0 -68
  230. package/library/game_development-casual/small-decompression-game.json +0 -68
  231. package/library/game_development-casual/stickman-mini-game-html-web-format.json +0 -68
  232. package/library/game_development-casual/two-player-hand-hitting-game.json +0 -68
  233. package/library/game_development-casual/typing-game-implementation.json +0 -68
  234. package/library/game_development-casual/uniapp-blind-box-lottery-system.json +0 -68
  235. package/library/game_development-casual/uniapp-lucky-draw-lottery-marquee-animation.json +0 -68
  236. package/library/game_development-casual/viral-cat-confession-code.json +0 -68
  237. package/library/game_development-casual/web-chinese-english-matching-game.json +0 -68
  238. package/library/game_development-casual/web-english-vocabulary-matching-game.json +0 -68
  239. package/library/game_development-casual/web-fast-paced-ball-dot-eater-game.json +0 -68
  240. package/library/game_development-casual/web-mini-game-trending-hit-songs.json +0 -68
  241. package/library/game_development-casual/web-vocabulary-memorization-game.json +0 -68
  242. package/library/game_development-casual/wechat-mini-program-family-social-game.json +0 -68
  243. package/library/game_development-casual/wechat-mini-program-snake-game.json +0 -68
  244. package/library/game_development-casual/wechat-mini-program-swipe-data-navigation.json +0 -68
  245. package/library/game_development-casual/wechat-mini-program-t-rex-running-game.json +0 -68
  246. package/library/game_development-casual/whack-a-mole-mini-game-html-frontend.json +0 -68
  247. package/library/game_development-casual/whack-a-mole-mini-game.json +0 -68
  248. package/library/game_development-casual/world-of-warcraft-manual-counting-script.json +0 -68
  249. package/library/game_development-puzzle/2048-game-implementation-html5.json +0 -68
  250. package/library/game_development-puzzle/2048-game-implementation.json +0 -68
  251. package/library/game_development-puzzle/2048-mini-game-browser-implementation.json +0 -68
  252. package/library/game_development-puzzle/5th-grade-science-heart-brain-quiz-game.json +0 -68
  253. package/library/game_development-puzzle/angry-birds-game-implementation.json +0 -68
  254. package/library/game_development-puzzle/asia-climate-puzzle-game-for-students.json +0 -68
  255. package/library/game_development-puzzle/candy-crush-wechat-mini-game.json +0 -68
  256. package/library/game_development-puzzle/chinese-english-word-matching-game-html.json +0 -68
  257. package/library/game_development-puzzle/chinese-idiom-guessing-game-mobile.json +0 -68
  258. package/library/game_development-puzzle/collaborative-puzzle-solving-game.json +0 -68
  259. package/library/game_development-puzzle/color-elimination-game-8x8-grid.json +0 -68
  260. package/library/game_development-puzzle/cub-n-pup-drag-rotate-puzzle-game.json +0 -68
  261. package/library/game_development-puzzle/english-card-flipping-memory-game.json +0 -68
  262. package/library/game_development-puzzle/english-word-elimination-game-for-children.json +0 -68
  263. package/library/game_development-puzzle/fifth-grade-science-textbook-outline-game.json +0 -68
  264. package/library/game_development-puzzle/front-end-program-tetris-mini-game.json +0 -68
  265. package/library/game_development-puzzle/fruit-matching-game.json +0 -68
  266. package/library/game_development-puzzle/gravity-control-html-javascript-game.json +0 -68
  267. package/library/game_development-puzzle/how-to-design-implement-tetris-game.json +0 -68
  268. package/library/game_development-puzzle/html-6x6-klotski-sliding-block-puzzle.json +0 -68
  269. package/library/game_development-puzzle/html-javascript-environmental-interaction-game.json +0 -68
  270. package/library/game_development-puzzle/html-javascript-rubiks-cube-game.json +0 -68
  271. package/library/game_development-puzzle/html-javascript-sudoku-solver.json +0 -68
  272. package/library/game_development-puzzle/html-math-game-quadratic-equations-radicals.json +0 -68
  273. package/library/game_development-puzzle/html-math-game-triangles-line-segment.json +0 -68
  274. package/library/game_development-puzzle/html-mini-game-city-landmark-memory-challenge.json +0 -68
  275. package/library/game_development-puzzle/html-party-member-quiz-competition-game.json +0 -68
  276. package/library/game_development-puzzle/html-tetris-game.json +0 -68
  277. package/library/game_development-puzzle/html-tetris-mini-game-creation.json +0 -68
  278. package/library/game_development-puzzle/html-vocabulary-game.json +0 -68
  279. package/library/game_development-puzzle/html-word-matching-game-with-upload.json +0 -68
  280. package/library/game_development-puzzle/html5-merge-big-watermelon-game.json +0 -68
  281. package/library/game_development-puzzle/html5-sudoku-game-development.json +0 -68
  282. package/library/game_development-puzzle/icon-matching-game-implementation.json +0 -68
  283. package/library/game_development-puzzle/javascript-canvas-match-3-puzzle-game.json +0 -68
  284. package/library/game_development-puzzle/lianliankan-puzzle-game-with-optimal-path.json +0 -68
  285. package/library/game_development-puzzle/magic-forest-game-with-puzzles.json +0 -68
  286. package/library/game_development-puzzle/match-3-game-implementation.json +0 -68
  287. package/library/game_development-puzzle/match-3-game-with-grid-and-score.json +0 -68
  288. package/library/game_development-puzzle/match-three-game-with-names.json +0 -68
  289. package/library/game_development-puzzle/match-three-puzzle-game.json +0 -68
  290. package/library/game_development-puzzle/matching-game-lianliankan-html-small-animals.json +0 -68
  291. package/library/game_development-puzzle/minesweeper-game-html.json +0 -68
  292. package/library/game_development-puzzle/minesweeper-game-implementation.json +0 -68
  293. package/library/game_development-puzzle/minesweeper-game-with-home-demo-tabs.json +0 -68
  294. package/library/game_development-puzzle/minesweeper-mini-game.json +0 -68
  295. package/library/game_development-puzzle/mobile-tetris-game-development.json +0 -68
  296. package/library/game_development-puzzle/mobile-tetris-game-with-instructions.json +0 -68
  297. package/library/game_development-puzzle/mobile-tetris-game.json +0 -68
  298. package/library/game_development-puzzle/multi-player-pixel-block-elimination-game-analysis.json +0 -68
  299. package/library/game_development-puzzle/nine-grid-klotski-puzzle-game.json +0 -68
  300. package/library/game_development-puzzle/number-connection-animal-game-1-to-1000.json +0 -68
  301. package/library/game_development-puzzle/offline-vocabulary-english-tetris-game.json +0 -68
  302. package/library/game_development-puzzle/reflection-maze-game.json +0 -68
  303. package/library/game_development-puzzle/rewrite-simple-match-3-game.json +0 -68
  304. package/library/game_development-puzzle/rubiks-cube-solver-visualization.json +0 -68
  305. package/library/game_development-puzzle/russian-tetris-game-four-direction-html.json +0 -68
  306. package/library/game_development-puzzle/sheep-a-sheep-like-game-code.json +0 -68
  307. package/library/game_development-puzzle/sheep-a-sheep-mini-game.json +0 -68
  308. package/library/game_development-puzzle/shooting-puzzle-game-with-target-interaction.json +0 -68
  309. package/library/game_development-puzzle/simple-tetris-game-in-html.json +0 -68
  310. package/library/game_development-puzzle/sokoban-box-pushing-game.json +0 -68
  311. package/library/game_development-puzzle/sokoban-game-implementation.json +0 -68
  312. package/library/game_development-puzzle/sokoban-nezha-puzzle-game-10-levels.json +0 -68
  313. package/library/game_development-puzzle/spider-solitaire-game-implementation.json +0 -68
  314. package/library/game_development-puzzle/sudoku-game-implementation.json +0 -68
  315. package/library/game_development-puzzle/tangram-puzzle-game.json +0 -68
  316. package/library/game_development-puzzle/tetris-game-html-display.json +0 -68
  317. package/library/game_development-puzzle/tetris-game-implementation.json +0 -68
  318. package/library/game_development-puzzle/tetris-game-javascript-implementation.json +0 -68
  319. package/library/game_development-puzzle/tetris-game-mobile-playable.json +0 -68
  320. package/library/game_development-puzzle/tetris-game-program-code.json +0 -68
  321. package/library/game_development-puzzle/tetris-mini-game-text-document.json +0 -68
  322. package/library/game_development-puzzle/tetris-mini-program-design.json +0 -68
  323. package/library/game_development-puzzle/tetris-mobile-game-program.json +0 -68
  324. package/library/game_development-puzzle/tetris-program-implementation.json +0 -68
  325. package/library/game_development-puzzle/tetris-program-web-browser.json +0 -68
  326. package/library/game_development-puzzle/tetris-web-game-creation.json +0 -68
  327. package/library/game_development-puzzle/tetris-web-mini-game.json +0 -68
  328. package/library/game_development-puzzle/tetris-web-version-mini-game.json +0 -68
  329. package/library/game_development-puzzle/tile-matching-game-eliminate-blocks.json +0 -68
  330. package/library/game_development-puzzle/time-reversal-space-time-puzzles.json +0 -68
  331. package/library/game_development-puzzle/waste-sorting-game-webpage.json +0 -68
  332. package/library/game_development-puzzle/web-based-candy-crush-game.json +0 -68
  333. package/library/game_development-puzzle/web-based-candy-crush-match-3-puzzle-game.json +0 -68
  334. package/library/game_development-puzzle/web-based-fruit-tetris-game.json +0 -68
  335. package/library/game_development-puzzle/web-based-match-three-puzzle-game.json +0 -68
  336. package/library/game_development-puzzle/web-based-single-player-tetris-game.json +0 -68
  337. package/library/game_development-puzzle/web-based-sokoban-box-pushing-mini-game.json +0 -68
  338. package/library/game_development-puzzle/web-based-tetris-game-with-preview-panel.json +0 -68
  339. package/library/game_development-puzzle/web-based-tetris-game.json +0 -68
  340. package/library/game_development-puzzle/web-based-tetris-mini-game.json +0 -68
  341. package/library/game_development-puzzle/web-based-windows-minesweeper-game.json +0 -68
  342. package/library/game_development-puzzle/web-browser-tetris-game.json +0 -68
  343. package/library/game_development-puzzle/web-chinese-idiom-solitaire-game.json +0 -68
  344. package/library/game_development-puzzle/web-match-3-game-with-translations.json +0 -68
  345. package/library/game_development-puzzle/wechat-mini-game-mahjong-tile-match.json +0 -68
  346. package/library/game_development-puzzle/wechat-mini-program-match-3-game.json +0 -68
  347. package/library/game_development-puzzle/wechat-mini-program-tetris-game.json +0 -68
  348. package/library/game_development-puzzle/wechat-mini-program-unique-elimination-game.json +0 -68
  349. package/library/game_development-puzzle/wechat-sokoban-game-development.json +0 -68
  350. package/library/game_development-puzzle/wechat-tetris-game-code.json +0 -68
  351. package/library/game_development-puzzle/wechat-tetris-game-implementation.json +0 -68
  352. package/library/game_development-puzzle/wechat-tetris-mini-game.json +0 -68
  353. package/library/game_development-puzzle/windows-spider-solitaire-game-html.json +0 -68
  354. package/library/game_development-puzzle/word-connection-game-upload-play.json +0 -68
  355. package/library/game_development-puzzle/word-guessing-game.json +0 -68
  356. package/library/game_development-puzzle/word-matching-game-shanghai-oxford-textbook.json +0 -68
  357. package/library/game_development-puzzle/word-matching-game-with-custom-upload.json +0 -68
  358. package/library/game_development-role-playing/character-customization-game-html-javascript.json +0 -68
  359. package/library/game_development-role-playing/character-dialogue-system-game.json +0 -68
  360. package/library/game_development-role-playing/character-leveling-skill-tree-system.json +0 -68
  361. package/library/game_development-role-playing/character-skill-upgrade-system-with-experience-points.json +0 -68
  362. package/library/game_development-role-playing/cultivation-immortal-progression-game-mobile.json +0 -68
  363. package/library/game_development-role-playing/cultivation-immortality-seeking-game.json +0 -68
  364. package/library/game_development-role-playing/custom-character-creation-system.json +0 -68
  365. package/library/game_development-role-playing/dungeon-roguelike-game-generation.json +0 -68
  366. package/library/game_development-role-playing/dynamic-npc-companion-system.json +0 -68
  367. package/library/game_development-role-playing/family-generational-marriage-drama-game.json +0 -68
  368. package/library/game_development-role-playing/game-backpack-item-management-system.json +0 -68
  369. package/library/game_development-role-playing/game-stat-allocation-simulator-web-wordpress.json +0 -68
  370. package/library/game_development-role-playing/honkai-star-rail-critical-damage-attribute-multipliers.json +0 -68
  371. package/library/game_development-role-playing/html-three-kingdoms-role-playing-game.json +0 -68
  372. package/library/game_development-role-playing/interactive-npc-system-html-javascript.json +0 -68
  373. package/library/game_development-role-playing/javascript-weekly-quest-system.json +0 -68
  374. package/library/game_development-role-playing/legends-condor-heroes-game.json +0 -68
  375. package/library/game_development-role-playing/magic-academy-game-with-skills-and-exams.json +0 -68
  376. package/library/game_development-role-playing/magic-learning-game-with-spells-and-effects.json +0 -68
  377. package/library/game_development-role-playing/monster-slaying-leveling-game-web-browser.json +0 -68
  378. package/library/game_development-role-playing/multiple-choice-character-life-simulation-game.json +0 -68
  379. package/library/game_development-role-playing/post-apocalyptic-game-vue3-typescript.json +0 -68
  380. package/library/game_development-role-playing/rpg-equipment-attribute-system.json +0 -68
  381. package/library/game_development-role-playing/rpg-leveling-monster-fighting-text-game.json +0 -68
  382. package/library/game_development-role-playing/sect-building-character-recruitment-game.json +0 -68
  383. package/library/game_development-role-playing/spirit-summoning-game.json +0 -68
  384. package/library/game_development-role-playing/stress-relief-mini-game-equipment-level-progression.json +0 -68
  385. package/library/game_development-role-playing/text-based-character-homepage-attribute-panel-xiao-ke.json +0 -68
  386. package/library/game_development-role-playing/text-based-immortality-pill-game.json +0 -68
  387. package/library/game_development-role-playing/web-rpg-post-apocalyptic-combat-game.json +0 -68
  388. package/library/game_development-role-playing/ywt-adventure-pokemon-style-game.json +0 -68
  389. package/library/game_development-shooting/3d-shooting-game-html.json +0 -68
  390. package/library/game_development-shooting/3d-shooting-game-threejs.json +0 -68
  391. package/library/game_development-shooting/aerial-attack-game.json +0 -68
  392. package/library/game_development-shooting/browser-first-person-shooter-game.json +0 -68
  393. package/library/game_development-shooting/bubble-shooter-game-implementation.json +0 -68
  394. package/library/game_development-shooting/contra-style-game-development.json +0 -68
  395. package/library/game_development-shooting/first-person-shooter-game-with-obstacles-and-enemies.json +0 -68
  396. package/library/game_development-shooting/html-airplane-battle-game.json +0 -68
  397. package/library/game_development-shooting/html-airplane-shooting-game-with-images.json +0 -68
  398. package/library/game_development-shooting/html-contra-style-game.json +0 -68
  399. package/library/game_development-shooting/html-cs-game-minecraft-style.json +0 -68
  400. package/library/game_development-shooting/html-space-shooter-game.json +0 -68
  401. package/library/game_development-shooting/html-tank-battle-game.json +0 -68
  402. package/library/game_development-shooting/mech-shooting-game-with-flight-mode-terrain.json +0 -68
  403. package/library/game_development-shooting/mobile-shooting-game-source-code.json +0 -68
  404. package/library/game_development-shooting/multiplayer-online-shooting-game-frontend.json +0 -68
  405. package/library/game_development-shooting/multiplayer-online-shooting-game.json +0 -68
  406. package/library/game_development-shooting/pirate-shooting-game-island-scene.json +0 -68
  407. package/library/game_development-shooting/roguelike-shooting-game-with-upgrades.json +0 -68
  408. package/library/game_development-shooting/sandbox-shooting-game-editor-with-level-design.json +0 -68
  409. package/library/game_development-shooting/shooting-game-teams-ranking-system.json +0 -68
  410. package/library/game_development-shooting/simple-fps-game-ak-hk416-dust2-multiplayer.json +0 -68
  411. package/library/game_development-shooting/simple-web-shooting-game.json +0 -68
  412. package/library/game_development-shooting/terrain-destruction-shooting-game-with-fluid-simulation.json +0 -68
  413. package/library/game_development-shooting/web-based-airplane-battle-game.json +0 -68
  414. package/library/game_development-shooting/web-based-tank-battle-game.json +0 -68
  415. package/library/game_development-shooting/web-version-contra-game.json +0 -68
  416. package/library/game_development-shooting/webpage-2d-shooting-mini-game.json +0 -68
  417. package/library/game_development-shooting/wechat-aircraft-battle-mini-game.json +0 -68
  418. package/library/game_development-shooting/zombie-mayhem-shooting-game.json +0 -68
  419. package/library/game_development-simulation_management/3d-space-universe-spacecraft-physics-game.json +0 -68
  420. package/library/game_development-simulation_management/capture-and-collection-game.json +0 -68
  421. package/library/game_development-simulation_management/class-teacher-simulator.json +0 -68
  422. package/library/game_development-simulation_management/dynamic-weather-environmental-impact-game.json +0 -68
  423. package/library/game_development-simulation_management/dynastic-family-simulation-game.json +0 -68
  424. package/library/game_development-simulation_management/family-dynasty-simulation-game.json +0 -68
  425. package/library/game_development-simulation_management/homemade-3d-minecraft-like-game.json +0 -68
  426. package/library/game_development-simulation_management/html-qq-farm-simulation-game.json +0 -68
  427. package/library/game_development-simulation_management/ice-snow-world-survival-game.json +0 -68
  428. package/library/game_development-simulation_management/in-game-economic-system-trading.json +0 -68
  429. package/library/game_development-simulation_management/space-colony-game-with-resource-management.json +0 -68
  430. package/library/game_development-simulation_management/star-maker-entertainment-agency-simulation.json +0 -68
  431. package/library/game_development-simulation_management/traffic-light-game.json +0 -68
  432. package/library/game_development-simulation_management/weather-effects-dynamic-environment-system.json +0 -68
  433. package/library/game_development-simulation_management/web-based-3d-minecraft-like-game.json +0 -68
  434. package/library/game_development-simulation_management/web-based-farm-game-html-js-css.json +0 -68
  435. package/library/game_development-simulation_management/web-based-single-player-cooking-game.json +0 -68
  436. package/library/game_development-simulation_management/web-electronic-pet-raising-game.json +0 -68
  437. package/library/game_development-sports/3d-first-person-racing-game.json +0 -68
  438. package/library/game_development-sports/animation-physical-collision-sports-game.json +0 -68
  439. package/library/game_development-sports/archery-scoring-system-gyroscope-physics-simulation.json +0 -68
  440. package/library/game_development-sports/billiards-aiming-line-tool.json +0 -68
  441. package/library/game_development-sports/equestrian-show-jumping-game.json +0 -68
  442. package/library/game_development-sports/html-javascript-racing-game-design.json +0 -68
  443. package/library/game_development-sports/html-racing-game.json +0 -68
  444. package/library/game_development-sports/player-control-sports-game.json +0 -68
  445. package/library/game_development-sports/soccer-team-formation-program.json +0 -68
  446. package/library/game_development-sports/sports-game-spectator-atmosphere.json +0 -68
  447. package/library/game_development-sports/sports-team-management-season-game.json +0 -68
  448. package/library/game_development-strategy/3d-checkers-game-multiplayer.json +0 -68
  449. package/library/game_development-strategy/agar-io-web-game-html-javascript.json +0 -68
  450. package/library/game_development-strategy/ai-chess-game.json +0 -68
  451. package/library/game_development-strategy/ancient-civilization-city-building-game.json +0 -68
  452. package/library/game_development-strategy/aura-rune-build-calculator-aoki-legend.json +0 -68
  453. package/library/game_development-strategy/beautiful-interactive-web-page-garbage-sorting-mini-game.json +0 -68
  454. package/library/game_development-strategy/browser-pixel-art-survival-game-html.json +0 -68
  455. package/library/game_development-strategy/bull-king-card-game-rules.json +0 -68
  456. package/library/game_development-strategy/card-battle-game-hearthstone-like.json +0 -68
  457. package/library/game_development-strategy/cartoon-web-chinese-chess-mini-game.json +0 -68
  458. package/library/game_development-strategy/cheap-ai-chess-game.json +0 -68
  459. package/library/game_development-strategy/chessboard-wood-texture.json +0 -68
  460. package/library/game_development-strategy/chinese-chess-game-html.json +0 -68
  461. package/library/game_development-strategy/chinese-chess-mini-game.json +0 -68
  462. package/library/game_development-strategy/chinese-networked-card-board-game.json +0 -68
  463. package/library/game_development-strategy/chinese-poker-game-dou-dizhu.json +0 -68
  464. package/library/game_development-strategy/custom-rules-game-board-generation.json +0 -68
  465. package/library/game_development-strategy/deepseek-chinese-sentence-game-creation.json +0 -68
  466. package/library/game_development-strategy/dou-dizhu-card-game-html.json +0 -68
  467. package/library/game_development-strategy/economic-dev-tech-tree-game.json +0 -68
  468. package/library/game_development-strategy/enemy-ai-track-attack-pathfinding.json +0 -68
  469. package/library/game_development-strategy/fight-the-landlord-card-game.json +0 -68
  470. package/library/game_development-strategy/fight-the-landlord-chinese-poker-game.json +0 -68
  471. package/library/game_development-strategy/fighting-landlord-guandan-shengji-game.json +0 -68
  472. package/library/game_development-strategy/gomoku-five-in-a-row-mini-game.json +0 -68
  473. package/library/game_development-strategy/gomoku-five-in-a-row-mobile-game.json +0 -68
  474. package/library/game_development-strategy/hearts-card-game-notepad-implementation.json +0 -68
  475. package/library/game_development-strategy/hex-game-11x11-pie-rule.json +0 -68
  476. package/library/game_development-strategy/horror-game-monster-ai-escape-routes.json +0 -68
  477. package/library/game_development-strategy/html-canvas-faction-war-game.json +0 -68
  478. package/library/game_development-strategy/html-classical-chess-board.json +0 -68
  479. package/library/game_development-strategy/html-earth-gomoku-game.json +0 -68
  480. package/library/game_development-strategy/html-gomoku-go-board-game.json +0 -68
  481. package/library/game_development-strategy/html-javascript-castle-defense-game.json +0 -68
  482. package/library/game_development-strategy/html-javascript-treasure-hunt-game.json +0 -68
  483. package/library/game_development-strategy/html-mobile-tower-defense-game.json +0 -68
  484. package/library/game_development-strategy/html-offline-dou-dizhu-card-game.json +0 -68
  485. package/library/game_development-strategy/html-tower-defense-mini-game.json +0 -68
  486. package/library/game_development-strategy/interactive-chess-board-game-svg.json +0 -68
  487. package/library/game_development-strategy/interactive-chess-game-svg-javascript.json +0 -68
  488. package/library/game_development-strategy/javascript-planet-defense-game-introduction.json +0 -68
  489. package/library/game_development-strategy/javascript-tank-battle-game.json +0 -68
  490. package/library/game_development-strategy/magic-trials-game-with-skill-tree.json +0 -68
  491. package/library/game_development-strategy/mahjong-tile-layout-game.json +0 -68
  492. package/library/game_development-strategy/ming-dynasty-palace-intrigue-mini-game.json +0 -68
  493. package/library/game_development-strategy/mini-tank-battle-game.json +0 -68
  494. package/library/game_development-strategy/mobile-chinese-chess-human-vs-computer.json +0 -68
  495. package/library/game_development-strategy/monopoly-game-web-browser.json +0 -68
  496. package/library/game_development-strategy/multi-faction-diplomacy-strategy-game.json +0 -68
  497. package/library/game_development-strategy/multiplayer-battles-network-synchronization.json +0 -68
  498. package/library/game_development-strategy/multiplayer-cooperative-mode-implementation.json +0 -68
  499. package/library/game_development-strategy/northern-expedition-monopoly-game-html.json +0 -68
  500. package/library/game_development-strategy/plants-vs-zombies-browser-game.json +0 -68
  501. package/library/game_development-strategy/plants-vs-zombies-game-html.json +0 -68
  502. package/library/game_development-strategy/plants-vs-zombies-unlimited-sunshine.json +0 -68
  503. package/library/game_development-strategy/points-system-with-rewards.json +0 -68
  504. package/library/game_development-strategy/pokemon-type-matchup-query-mini-program.json +0 -68
  505. package/library/game_development-strategy/programming-for-a-game-of-fight-the-landlord.json +0 -68
  506. package/library/game_development-strategy/python-chinese-chess-xiangqi-visualization.json +0 -68
  507. package/library/game_development-strategy/random-level-generation-html-javascript.json +0 -68
  508. package/library/game_development-strategy/recurrent-neural-network-rock-paper-scissors-game.json +0 -68
  509. package/library/game_development-strategy/resource-management-game-with-building-upgrades.json +0 -68
  510. package/library/game_development-strategy/robot-war-game-with-ai-battle.json +0 -68
  511. package/library/game_development-strategy/sanguosha-like-card-game-implementation.json +0 -68
  512. package/library/game_development-strategy/sichuan-mahjong-mini-game-rules.json +0 -68
  513. package/library/game_development-strategy/single-player-texas-holdem-poker-game.json +0 -68
  514. package/library/game_development-strategy/solitaire-card-game.json +0 -68
  515. package/library/game_development-strategy/space-exploration-team-game.json +0 -68
  516. package/library/game_development-strategy/spider-solitaire-game-implementation.json +0 -68
  517. package/library/game_development-strategy/teamfight-tactics-html-implementation.json +0 -68
  518. package/library/game_development-strategy/texas-holdem-poker-game-code.json +0 -68
  519. package/library/game_development-strategy/ugui-2d-grid-map-system.json +0 -68
  520. package/library/game_development-strategy/virtual-currency-game-system.json +0 -68
  521. package/library/game_development-strategy/web-based-racing-game.json +0 -68
  522. package/library/game_development-strategy/web-based-tank-battle-game.json +0 -68
  523. package/library/game_development-strategy/web-plants-vs-zombies-game.json +0 -68
  524. package/library/game_development-strategy/web-plants-vs-zombies-naruto-edition.json +0 -68
  525. package/library/game_development-strategy/zombie-survival-game.json +0 -68
  526. package/library/management_systems-file_management/building-blueprint-management-system-cad-viewer.json +0 -68
  527. package/library/management_systems-file_management/csharp-sql-server-image-management-system.json +0 -68
  528. package/library/management_systems-file_management/draggable-directory-upload-page.json +0 -68
  529. package/library/management_systems-file_management/electron-vue-file-management-sidebar.json +0 -68
  530. package/library/management_systems-file_management/file-tag-management-platform.json +0 -68
  531. package/library/management_systems-file_management/file-upload-question-organizer-download.json +0 -68
  532. package/library/management_systems-file_management/file-upload-to-cloud-server.json +0 -68
  533. package/library/management_systems-file_management/frontend-worker-threads-stream-processing-file-uploads.json +0 -68
  534. package/library/management_systems-file_management/html-file-excel-word-viewer-converter.json +0 -68
  535. package/library/management_systems-file_management/html-file-list-download.json +0 -68
  536. package/library/management_systems-file_management/html-user-center-mp3-upload-submissions.json +0 -68
  537. package/library/management_systems-file_management/implement-drag-and-drop-file-upload-vue-3.json +0 -68
  538. package/library/management_systems-file_management/market-research-report-management-system.json +0 -68
  539. package/library/management_systems-file_management/mini-program-photo-upload-cloud.json +0 -68
  540. package/library/management_systems-file_management/mobile-photo-cloud-upload-download.json +0 -68
  541. package/library/management_systems-file_management/online-file-preview-system.json +0 -68
  542. package/library/management_systems-file_management/online-file-storage-sharing-system.json +0 -68
  543. package/library/management_systems-file_management/pdf-literature-management-system.json +0 -68
  544. package/library/management_systems-file_management/prescription-details-reference-table.json +0 -68
  545. package/library/management_systems-file_management/simple-webpage-download-synology-nas-files.json +0 -68
  546. package/library/management_systems-file_management/timeline-based-file-management-system.json +0 -68
  547. package/library/management_systems-file_management/user-group-file-management-system.json +0 -68
  548. package/library/management_systems-file_management/vue-pdf-signature-approval-system.json +0 -68
  549. package/library/management_systems-file_management/vue-word-document-editor-import-export.json +0 -68
  550. package/library/management_systems-file_management/vue3-large-file-upload-breakpoint-continuation.json +0 -68
  551. package/library/management_systems-file_management/web-search-word-pdf-files.json +0 -68
  552. package/library/management_systems-file_management/webpage-software-categorization-image-display.json +0 -68
  553. package/library/management_systems-file_management/wechat-mini-program-pdf-download-forward.json +0 -68
  554. package/library/management_systems-frontend_backend_platforms/academic-conference-submission-system-with-review.json +0 -68
  555. package/library/management_systems-frontend_backend_platforms/account-management-interface-design.json +0 -68
  556. package/library/management_systems-frontend_backend_platforms/admin-page-data-view-edit-api-monitoring.json +0 -68
  557. package/library/management_systems-frontend_backend_platforms/admin-profile-and-password-management.json +0 -68
  558. package/library/management_systems-frontend_backend_platforms/age-friendly-renovation-consulting-app.json +0 -68
  559. package/library/management_systems-frontend_backend_platforms/ai-software-engineering-portal-app-store-style.json +0 -68
  560. package/library/management_systems-frontend_backend_platforms/ancient-chinese-natural-science-platform.json +0 -68
  561. package/library/management_systems-frontend_backend_platforms/android-car-ivi-launcher.json +0 -68
  562. package/library/management_systems-frontend_backend_platforms/angular-security-management-decision-support.json +0 -68
  563. package/library/management_systems-frontend_backend_platforms/animal-information-management-app.json +0 -68
  564. package/library/management_systems-frontend_backend_platforms/api-rate-limiting-strategy-config.json +0 -68
  565. package/library/management_systems-frontend_backend_platforms/asset-management-system-vue-bootstrap.json +0 -68
  566. package/library/management_systems-frontend_backend_platforms/atm-user-interface-frontend.json +0 -68
  567. package/library/management_systems-frontend_backend_platforms/automatic-course-scheduling-and-statistics.json +0 -68
  568. package/library/management_systems-frontend_backend_platforms/backend-interface-tea-culture.json +0 -68
  569. package/library/management_systems-frontend_backend_platforms/backend-transfer-record-processing-page.json +0 -68
  570. package/library/management_systems-frontend_backend_platforms/base-station-maintenance-system-ui-with-navbar.json +0 -68
  571. package/library/management_systems-frontend_backend_platforms/basic-settings-page-shadcn-ui-nextjs.json +0 -68
  572. package/library/management_systems-frontend_backend_platforms/bim-management-system-with-3d-preview.json +0 -68
  573. package/library/management_systems-frontend_backend_platforms/blazor-ruoyi-admin-page.json +0 -68
  574. package/library/management_systems-frontend_backend_platforms/building-drawing-management-system.json +0 -68
  575. package/library/management_systems-frontend_backend_platforms/canteen-inventory-management-system-pyqt.json +0 -68
  576. package/library/management_systems-frontend_backend_platforms/chinese-financial-system-python-react-mysql.json +0 -68
  577. package/library/management_systems-frontend_backend_platforms/chronic-disease-management-platform.json +0 -68
  578. package/library/management_systems-frontend_backend_platforms/class-exam-scores-average-display.json +0 -68
  579. package/library/management_systems-frontend_backend_platforms/classroom-assignment-tracker-groups-students.json +0 -68
  580. package/library/management_systems-frontend_backend_platforms/cloud-hospital-system-design.json +0 -68
  581. package/library/management_systems-frontend_backend_platforms/coal-company-erp-system-html.json +0 -68
  582. package/library/management_systems-frontend_backend_platforms/commercial-property-rental-management-system-contract.json +0 -68
  583. package/library/management_systems-frontend_backend_platforms/company-announcement-management-system.json +0 -68
  584. package/library/management_systems-frontend_backend_platforms/computer-application-lottery-draw-system.json +0 -68
  585. package/library/management_systems-frontend_backend_platforms/conference-room-equipment-reservation-system.json +0 -68
  586. package/library/management_systems-frontend_backend_platforms/conference-room-usage-registration-system.json +0 -68
  587. package/library/management_systems-frontend_backend_platforms/contract-management-system.json +0 -68
  588. package/library/management_systems-frontend_backend_platforms/coupon-management-and-usage.json +0 -68
  589. package/library/management_systems-frontend_backend_platforms/course-manager-system-for-students.json +0 -68
  590. package/library/management_systems-frontend_backend_platforms/create-shift-schedule-calendar-format.json +0 -68
  591. package/library/management_systems-frontend_backend_platforms/create-student-info-website-xampp-vscode.json +0 -68
  592. package/library/management_systems-frontend_backend_platforms/create-web-based-information-management-system.json +0 -68
  593. package/library/management_systems-frontend_backend_platforms/customer-salesperson-login-welcome-page.json +0 -68
  594. package/library/management_systems-frontend_backend_platforms/data-center-server-management-system.json +0 -68
  595. package/library/management_systems-frontend_backend_platforms/data-source-list-page-improved-design.json +0 -68
  596. package/library/management_systems-frontend_backend_platforms/database-management-system-multi-db-support.json +0 -68
  597. package/library/management_systems-frontend_backend_platforms/deepseek-generate-react-project-from-design.json +0 -68
  598. package/library/management_systems-frontend_backend_platforms/design-draft-review-system.json +0 -68
  599. package/library/management_systems-frontend_backend_platforms/device-maintenance-reminder-system.json +0 -68
  600. package/library/management_systems-frontend_backend_platforms/device-repair-platform-with-qr-and-realtime-tracking.json +0 -68
  601. package/library/management_systems-frontend_backend_platforms/drone-management-system-with-admin-frontend.json +0 -68
  602. package/library/management_systems-frontend_backend_platforms/drone-specifications-database-design.json +0 -68
  603. package/library/management_systems-frontend_backend_platforms/e-commerce-product-collection-management.json +0 -68
  604. package/library/management_systems-frontend_backend_platforms/educational-management-system-teaching-lab-experiments.json +0 -68
  605. package/library/management_systems-frontend_backend_platforms/electricity-consumption-data-management-vue-upgrade.json +0 -68
  606. package/library/management_systems-frontend_backend_platforms/electricity-consumption-vue3-upgrade.json +0 -68
  607. package/library/management_systems-frontend_backend_platforms/electricity-price-model-configuration.json +0 -68
  608. package/library/management_systems-frontend_backend_platforms/electron-apple-books-like-bookshelf-app.json +0 -68
  609. package/library/management_systems-frontend_backend_platforms/electron-vue-typescript-epub-reader-desktop-app.json +0 -68
  610. package/library/management_systems-frontend_backend_platforms/electron-vue2-network-requests.json +0 -68
  611. package/library/management_systems-frontend_backend_platforms/electronic-fence-management-vue3-autonavi.json +0 -68
  612. package/library/management_systems-frontend_backend_platforms/electronic-medical-record-editor-web.json +0 -68
  613. package/library/management_systems-frontend_backend_platforms/employee-daily-work-plan-calendar.json +0 -68
  614. package/library/management_systems-frontend_backend_platforms/energy-consumption-monitoring-and-warning-system.json +0 -68
  615. package/library/management_systems-frontend_backend_platforms/energy-system-monitoring-frontend-interface.json +0 -68
  616. package/library/management_systems-frontend_backend_platforms/engineering-management-system-permission-dotnet-mysql-vue3.json +0 -68
  617. package/library/management_systems-frontend_backend_platforms/enterprise-career-platform-with-two-way-matching.json +0 -68
  618. package/library/management_systems-frontend_backend_platforms/enterprise-recruitment-website-vue3-js-frontend.json +0 -68
  619. package/library/management_systems-frontend_backend_platforms/enterprise-wireless-network-device-management-system.json +0 -68
  620. package/library/management_systems-frontend_backend_platforms/equipment-inventory-ledger-management.json +0 -68
  621. package/library/management_systems-frontend_backend_platforms/equipment-owner-pocket-station-with-blueprints-sockets.json +0 -68
  622. package/library/management_systems-frontend_backend_platforms/feedback-management-system.json +0 -68
  623. package/library/management_systems-frontend_backend_platforms/file-database-system-shell-management.json +0 -68
  624. package/library/management_systems-frontend_backend_platforms/file-upload-download-management-system.json +0 -68
  625. package/library/management_systems-frontend_backend_platforms/film-crew-management-weather-scenes-gantt.json +0 -68
  626. package/library/management_systems-frontend_backend_platforms/financial-management-system.json +0 -68
  627. package/library/management_systems-frontend_backend_platforms/fitness-club-membership-management-system.json +0 -68
  628. package/library/management_systems-frontend_backend_platforms/fixed-deposit-system-react-spring-boot.json +0 -68
  629. package/library/management_systems-frontend_backend_platforms/flight-operation-guide-with-backup-and-search.json +0 -68
  630. package/library/management_systems-frontend_backend_platforms/food-delivery-robot-car-joystick-control.json +0 -68
  631. package/library/management_systems-frontend_backend_platforms/food-flavoring-formulation-generator.json +0 -68
  632. package/library/management_systems-frontend_backend_platforms/food-ordering-restaurant-program.json +0 -68
  633. package/library/management_systems-frontend_backend_platforms/form-management-system-low-code-platform.json +0 -68
  634. package/library/management_systems-frontend_backend_platforms/fresh-food-supermarket-checkout-system.json +0 -68
  635. package/library/management_systems-frontend_backend_platforms/frontend-backend-hospital-dip-software.json +0 -68
  636. package/library/management_systems-frontend_backend_platforms/frontend-deployment-dashboard-with-monitoring.json +0 -68
  637. package/library/management_systems-frontend_backend_platforms/frontend-gas-management-system-solution.json +0 -68
  638. package/library/management_systems-frontend_backend_platforms/frontend-login-system-with-registration-and-admin.json +0 -68
  639. package/library/management_systems-frontend_backend_platforms/functional-prototype-from-interface-config.json +0 -68
  640. package/library/management_systems-frontend_backend_platforms/fyne-yuan-bao-desktop-application-interface.json +0 -68
  641. package/library/management_systems-frontend_backend_platforms/general-manager-management-system-overview.json +0 -68
  642. package/library/management_systems-frontend_backend_platforms/gym-membership-management-system.json +0 -68
  643. package/library/management_systems-frontend_backend_platforms/hair-salon-membership-management-system.json +0 -68
  644. package/library/management_systems-frontend_backend_platforms/hardware-electrical-retail-inventory-management-tool.json +0 -68
  645. package/library/management_systems-frontend_backend_platforms/harmonyos-login-page-ui-with-logo.json +0 -68
  646. package/library/management_systems-frontend_backend_platforms/hbuilder-html-ward-management-system.json +0 -68
  647. package/library/management_systems-frontend_backend_platforms/higher-math-grade-management-system.json +0 -68
  648. package/library/management_systems-frontend_backend_platforms/historical-business-interface-vue-frontend.json +0 -68
  649. package/library/management_systems-frontend_backend_platforms/housekeeping-recruitment-backend-dashboard-vue3-elementplus.json +0 -68
  650. package/library/management_systems-frontend_backend_platforms/housing-construction-pre-sales-demo-addresses.json +0 -68
  651. package/library/management_systems-frontend_backend_platforms/how-to-achieve-excellence-daily-habits.json +0 -68
  652. package/library/management_systems-frontend_backend_platforms/html-attendance-system-with-table-import.json +0 -68
  653. package/library/management_systems-frontend_backend_platforms/html-navicat-operation-interface.json +0 -68
  654. package/library/management_systems-frontend_backend_platforms/html-patrol-plan-management.json +0 -68
  655. package/library/management_systems-frontend_backend_platforms/html-patrol-record-table-device-testing.json +0 -68
  656. package/library/management_systems-frontend_backend_platforms/implement-frontend-backend-app-tsx.json +0 -68
  657. package/library/management_systems-frontend_backend_platforms/industrial-component-defect-detection-system-vue3.json +0 -68
  658. package/library/management_systems-frontend_backend_platforms/insurance-customer-management-system.json +0 -68
  659. package/library/management_systems-frontend_backend_platforms/insurance-customer-service-system-design.json +0 -68
  660. package/library/management_systems-frontend_backend_platforms/intelligent-manufacturing-command-center.json +0 -68
  661. package/library/management_systems-frontend_backend_platforms/intelligent-meeting-room-booking-system.json +0 -68
  662. package/library/management_systems-frontend_backend_platforms/intelligent-turtle-tank-management-system.json +0 -68
  663. package/library/management_systems-frontend_backend_platforms/inventory-management-app-with-pricing-and-time.json +0 -68
  664. package/library/management_systems-frontend_backend_platforms/inventory-management-system-with-alerts.json +0 -68
  665. package/library/management_systems-frontend_backend_platforms/inventory-management-system.json +0 -68
  666. package/library/management_systems-frontend_backend_platforms/investment-project-economic-evaluation-system.json +0 -68
  667. package/library/management_systems-frontend_backend_platforms/investment-system-with-realtime-market-data.json +0 -68
  668. package/library/management_systems-frontend_backend_platforms/iot-platform-web-frontend-vue3-backend-microservice.json +0 -68
  669. package/library/management_systems-frontend_backend_platforms/java-picture-book-library-borrowing-system.json +0 -68
  670. package/library/management_systems-frontend_backend_platforms/javafx-real-time-table-update-voice-announcements.json +0 -68
  671. package/library/management_systems-frontend_backend_platforms/knowledge-base-management-system.json +0 -68
  672. package/library/management_systems-frontend_backend_platforms/laboratory-instrument-calibration-management-system.json +0 -68
  673. package/library/management_systems-frontend_backend_platforms/laboratory-instrument-management-system.json +0 -68
  674. package/library/management_systems-frontend_backend_platforms/large-file-uploads-react-nodejs-mongodb.json +0 -68
  675. package/library/management_systems-frontend_backend_platforms/leankit-core-functions-pyside6-software-development.json +0 -68
  676. package/library/management_systems-frontend_backend_platforms/legal-document-management-system.json +0 -68
  677. package/library/management_systems-frontend_backend_platforms/liangchibao-mini-program-with-photo-upload-and-backend.json +0 -68
  678. package/library/management_systems-frontend_backend_platforms/line-inspection-app-uniapp-javascript.json +0 -68
  679. package/library/management_systems-frontend_backend_platforms/login-registration-list-view-interfaces.json +0 -68
  680. package/library/management_systems-frontend_backend_platforms/login-registration-page-with-overlay-switch.json +0 -68
  681. package/library/management_systems-frontend_backend_platforms/logistics-management-system.json +0 -68
  682. package/library/management_systems-frontend_backend_platforms/low-voltage-equipment-inventory-management-qr-excel.json +0 -68
  683. package/library/management_systems-frontend_backend_platforms/manage-member-list-webpage-fix.json +0 -68
  684. package/library/management_systems-frontend_backend_platforms/medical-equipment-maintenance-management-system.json +0 -68
  685. package/library/management_systems-frontend_backend_platforms/meeting-feedback-tracker-with-attendance.json +0 -68
  686. package/library/management_systems-frontend_backend_platforms/meeting-room-reservation-system.json +0 -68
  687. package/library/management_systems-frontend_backend_platforms/mini-program-video-monitoring-playback.json +0 -68
  688. package/library/management_systems-frontend_backend_platforms/mobile-app-online-food-ordering.json +0 -68
  689. package/library/management_systems-frontend_backend_platforms/monthly-assessment-score-management-system.json +0 -68
  690. package/library/management_systems-frontend_backend_platforms/multi-system-demo-overview.json +0 -68
  691. package/library/management_systems-frontend_backend_platforms/murder-mystery-game-material-management.json +0 -68
  692. package/library/management_systems-frontend_backend_platforms/music-material-management-system.json +0 -68
  693. package/library/management_systems-frontend_backend_platforms/nba-fan-community-web-application-architecture.json +0 -68
  694. package/library/management_systems-frontend_backend_platforms/nextjs-vite-ssr-typescript-micro-frontend-project.json +0 -68
  695. package/library/management_systems-frontend_backend_platforms/novel-character-details-panel.json +0 -68
  696. package/library/management_systems-frontend_backend_platforms/office-document-annotation-tool.json +0 -68
  697. package/library/management_systems-frontend_backend_platforms/online-approval-workflow-management-system-frontend.json +0 -68
  698. package/library/management_systems-frontend_backend_platforms/online-examination-system-with-auto-grading.json +0 -68
  699. package/library/management_systems-frontend_backend_platforms/online-folder-file-management-tool-tree-view.json +0 -68
  700. package/library/management_systems-frontend_backend_platforms/online-image-tagging-classification-tool.json +0 -68
  701. package/library/management_systems-frontend_backend_platforms/online-personnel-excel-form-collection.json +0 -68
  702. package/library/management_systems-frontend_backend_platforms/open-webui-visual-interface-knowledge-base.json +0 -68
  703. package/library/management_systems-frontend_backend_platforms/package-management-parcel-collection-point.json +0 -68
  704. package/library/management_systems-frontend_backend_platforms/parcel-collection-point-management-system.json +0 -68
  705. package/library/management_systems-frontend_backend_platforms/performance-evaluation-system-with-quarterly-bonuses.json +0 -68
  706. package/library/management_systems-frontend_backend_platforms/performance-management-system-vue-java-mysql.json +0 -68
  707. package/library/management_systems-frontend_backend_platforms/personal-finance-management-tool-with-budgeting-and-import.json +0 -68
  708. package/library/management_systems-frontend_backend_platforms/personal-knowledge-base-management-tool.json +0 -68
  709. package/library/management_systems-frontend_backend_platforms/personal-novel-website-with-mysql.json +0 -68
  710. package/library/management_systems-frontend_backend_platforms/pharmacy-mini-program-user-order-page.json +0 -68
  711. package/library/management_systems-frontend_backend_platforms/phone-program-sort-names-statistics.json +0 -68
  712. package/library/management_systems-frontend_backend_platforms/planet-cloud-jump-system-development.json +0 -68
  713. package/library/management_systems-frontend_backend_platforms/plant-protection-software-frontend-pages.json +0 -68
  714. package/library/management_systems-frontend_backend_platforms/post-accident-summary-management-website.json +0 -68
  715. package/library/management_systems-frontend_backend_platforms/product-order-contract-generation-tool.json +0 -68
  716. package/library/management_systems-frontend_backend_platforms/product-sketch-to-prototype-vue-springboot.json +0 -68
  717. package/library/management_systems-frontend_backend_platforms/project-financing-promotion.json +0 -68
  718. package/library/management_systems-frontend_backend_platforms/project-financing-service-classification.json +0 -68
  719. package/library/management_systems-frontend_backend_platforms/project-management-system-for-teams.json +0 -68
  720. package/library/management_systems-frontend_backend_platforms/project-management-system-with-team-collaboration.json +0 -68
  721. package/library/management_systems-frontend_backend_platforms/prototype-interface-asset-overview-cloud-security.json +0 -68
  722. package/library/management_systems-frontend_backend_platforms/python-flet-floating-window-application.json +0 -68
  723. package/library/management_systems-frontend_backend_platforms/python-pyside6-stock-trading-management.json +0 -68
  724. package/library/management_systems-frontend_backend_platforms/qiankun-react-micro-app-manual-load.json +0 -68
  725. package/library/management_systems-frontend_backend_platforms/qt-interface-for-solidworks-ansys-data.json +0 -68
  726. package/library/management_systems-frontend_backend_platforms/qt-palantir-style-web-ui-project.json +0 -68
  727. package/library/management_systems-frontend_backend_platforms/react-antd-admin-template.json +0 -68
  728. package/library/management_systems-frontend_backend_platforms/react-company-portal-website.json +0 -68
  729. package/library/management_systems-frontend_backend_platforms/react-material-design-marketing-automation-system.json +0 -68
  730. package/library/management_systems-frontend_backend_platforms/real-time-interface-monitor-agent-status-planning-learning.json +0 -68
  731. package/library/management_systems-frontend_backend_platforms/real-time-job-recruitment-software.json +0 -68
  732. package/library/management_systems-frontend_backend_platforms/replicate-element-plus-vue3-typescript-no-dependencies.json +0 -68
  733. package/library/management_systems-frontend_backend_platforms/report-chart-configuration-page-with-custom-metrics.json +0 -68
  734. package/library/management_systems-frontend_backend_platforms/report-overview-page-prototype.json +0 -68
  735. package/library/management_systems-frontend_backend_platforms/residential-community-file-management-system.json +0 -68
  736. package/library/management_systems-frontend_backend_platforms/scheduling-application-mini-program-multi-people-multi-shifts.json +0 -68
  737. package/library/management_systems-frontend_backend_platforms/school-academic-administration-system.json +0 -68
  738. package/library/management_systems-frontend_backend_platforms/security-center-federated-learning-audit-tracker.json +0 -68
  739. package/library/management_systems-frontend_backend_platforms/sensor-calibration-multi-page-gui.json +0 -68
  740. package/library/management_systems-frontend_backend_platforms/shadcn-frontend-architecture.json +0 -68
  741. package/library/management_systems-frontend_backend_platforms/shared-bicycle-management-system.json +0 -68
  742. package/library/management_systems-frontend_backend_platforms/shared-space-reservation-and-usage-management-system.json +0 -68
  743. package/library/management_systems-frontend_backend_platforms/simple-accounting-program-qt.json +0 -68
  744. package/library/management_systems-frontend_backend_platforms/simple-warehouse-management-system.json +0 -68
  745. package/library/management_systems-frontend_backend_platforms/smart-expense-report-recognition-system-with-api-integration.json +0 -68
  746. package/library/management_systems-frontend_backend_platforms/smart-locker-system-javascript.json +0 -68
  747. package/library/management_systems-frontend_backend_platforms/smart-project-management-table-with-gantt-chart.json +0 -68
  748. package/library/management_systems-frontend_backend_platforms/software-development-documentation-management-system.json +0 -68
  749. package/library/management_systems-frontend_backend_platforms/sports-venue-management-platform.json +0 -68
  750. package/library/management_systems-frontend_backend_platforms/srm-supplier-admission-kanban-stage-tool.json +0 -68
  751. package/library/management_systems-frontend_backend_platforms/student-classroom-completion-status-record-webpage.json +0 -68
  752. package/library/management_systems-frontend_backend_platforms/student-grade-recording-analysis-system.json +0 -68
  753. package/library/management_systems-frontend_backend_platforms/student-info-query-frontend-website.json +0 -68
  754. package/library/management_systems-frontend_backend_platforms/student-information-management-system.json +0 -68
  755. package/library/management_systems-frontend_backend_platforms/student-roll-call-software.json +0 -68
  756. package/library/management_systems-frontend_backend_platforms/student-scoring-math-groups.json +0 -68
  757. package/library/management_systems-frontend_backend_platforms/subway-arrival-time-display-board.json +0 -68
  758. package/library/management_systems-frontend_backend_platforms/supermarket-smart-locker-system.json +0 -68
  759. package/library/management_systems-frontend_backend_platforms/survey-analysis-tool-with-advanced-features.json +0 -68
  760. package/library/management_systems-frontend_backend_platforms/survey-generator-with-qr-codes.json +0 -68
  761. package/library/management_systems-frontend_backend_platforms/task-allocation-tracking-tool.json +0 -68
  762. package/library/management_systems-frontend_backend_platforms/tauri-svelte-crud-frontend-rust-backend.json +0 -68
  763. package/library/management_systems-frontend_backend_platforms/team-scheduling-project-management-mini-program.json +0 -68
  764. package/library/management_systems-frontend_backend_platforms/tencent-cloud-operations-management-mini-program.json +0 -68
  765. package/library/management_systems-frontend_backend_platforms/test-case-management-platform.json +0 -68
  766. package/library/management_systems-frontend_backend_platforms/test-execution-dynamic-forms-homepage-module-ttf-icons.json +0 -68
  767. package/library/management_systems-frontend_backend_platforms/ticket-management-system.json +0 -68
  768. package/library/management_systems-frontend_backend_platforms/trading-system-component-framework.json +0 -68
  769. package/library/management_systems-frontend_backend_platforms/tutoring-center-management-system.json +0 -68
  770. package/library/management_systems-frontend_backend_platforms/ui-interface-design-code-generation.json +0 -68
  771. package/library/management_systems-frontend_backend_platforms/urban-homestay-brand-management.json +0 -68
  772. package/library/management_systems-frontend_backend_platforms/user-access-restriction-management-system.json +0 -68
  773. package/library/management_systems-frontend_backend_platforms/user-login-window-program.json +0 -68
  774. package/library/management_systems-frontend_backend_platforms/user-login-window-transition.json +0 -68
  775. package/library/management_systems-frontend_backend_platforms/user-registration-login-profile-management.json +0 -68
  776. package/library/management_systems-frontend_backend_platforms/user-registration-login-system-html-css-nodejs-mariadb.json +0 -68
  777. package/library/management_systems-frontend_backend_platforms/vc-mfc-ceramic-tile-defect-detection-software.json +0 -68
  778. package/library/management_systems-frontend_backend_platforms/vehicle-management-system-vue-frontend.json +0 -68
  779. package/library/management_systems-frontend_backend_platforms/vehicle-personnel-management-with-reminders.json +0 -68
  780. package/library/management_systems-frontend_backend_platforms/vehicle-travel-recording-app-development.json +0 -68
  781. package/library/management_systems-frontend_backend_platforms/vue-b-s-architecture-project-setup.json +0 -68
  782. package/library/management_systems-frontend_backend_platforms/vue-book-management-system-frontend-page.json +0 -68
  783. package/library/management_systems-frontend_backend_platforms/vue-elementui-express-survey-system.json +0 -68
  784. package/library/management_systems-frontend_backend_platforms/vue-hbuilder-admin-management-system.json +0 -68
  785. package/library/management_systems-frontend_backend_platforms/vue-spring-boot-parking-management-system.json +0 -68
  786. package/library/management_systems-frontend_backend_platforms/vue-tailwind-vite-admin-template.json +0 -68
  787. package/library/management_systems-frontend_backend_platforms/vue2-h5-mobile-project-setup.json +0 -68
  788. package/library/management_systems-frontend_backend_platforms/vue2-mobile-desktop-system-page.json +0 -68
  789. package/library/management_systems-frontend_backend_platforms/vue3-dynamic-menu-vuex-state-management.json +0 -68
  790. package/library/management_systems-frontend_backend_platforms/vue3-electron-sqlite-knex-pinia-project.json +0 -68
  791. package/library/management_systems-frontend_backend_platforms/vue3-element-plus-project-generation.json +0 -68
  792. package/library/management_systems-frontend_backend_platforms/vue3-ts-pinia-nested-routing-backend-menu.json +0 -68
  793. package/library/management_systems-frontend_backend_platforms/vue3-typescript-bpmn-implementation.json +0 -68
  794. package/library/management_systems-frontend_backend_platforms/vue3-vite-data-display-video-stats-backend.json +0 -68
  795. package/library/management_systems-frontend_backend_platforms/vuetify-windows-diary-software-mood-thoughts.json +0 -68
  796. package/library/management_systems-frontend_backend_platforms/warehouse-management-page-with-navigation.json +0 -68
  797. package/library/management_systems-frontend_backend_platforms/warehouse-management-system.json +0 -68
  798. package/library/management_systems-frontend_backend_platforms/wastewater-lab-management-system.json +0 -68
  799. package/library/management_systems-frontend_backend_platforms/web-app-article-list-crud-functionality.json +0 -68
  800. package/library/management_systems-frontend_backend_platforms/web-based-inventory-management-system-small-online-shop-local-database.json +0 -68
  801. package/library/management_systems-frontend_backend_platforms/web-based-mysql-data-reporting-tool.json +0 -68
  802. package/library/management_systems-frontend_backend_platforms/web-based-roll-call-system.json +0 -68
  803. package/library/management_systems-frontend_backend_platforms/web-module-for-security-expense-management.json +0 -68
  804. package/library/management_systems-frontend_backend_platforms/webpage-queue-number-system.json +0 -68
  805. package/library/management_systems-frontend_backend_platforms/webpage-video-image-text-content-sharing.json +0 -68
  806. package/library/management_systems-frontend_backend_platforms/website-login-approval-data-query-pages.json +0 -68
  807. package/library/management_systems-frontend_backend_platforms/wechat-alipay-developer-platform.json +0 -68
  808. package/library/management_systems-frontend_backend_platforms/wechat-expense-tracking-mini-program.json +0 -68
  809. package/library/management_systems-frontend_backend_platforms/wechat-mini-program-furniture-configurator.json +0 -68
  810. package/library/management_systems-frontend_backend_platforms/wechat-mini-program-library-management-system.json +0 -68
  811. package/library/management_systems-frontend_backend_platforms/wechat-mini-program-property-management-frontend.json +0 -68
  812. package/library/management_systems-frontend_backend_platforms/wechat-mini-program-warehouse-inventory-financial-management.json +0 -68
  813. package/library/management_systems-frontend_backend_platforms/winform-treeview-department-structure.json +0 -68
  814. package/library/management_systems-frontend_backend_platforms/yinmeng-self-service-printing-system.json +0 -68
  815. package/library/management_systems-hardware_management/backup-strategy-management-system.json +0 -68
  816. package/library/management_systems-hardware_management/device-lifecycle-management-system-fine-chemical.json +0 -68
  817. package/library/management_systems-hardware_management/equipment-borrowing-management-system.json +0 -68
  818. package/library/management_systems-hardware_management/esp32-car-control-webpage-ultrasonic-line-tracking.json +0 -68
  819. package/library/management_systems-hardware_management/hardware-inventory-warning-system.json +0 -68
  820. package/library/management_systems-hardware_management/hardware-repair-management-system.json +0 -68
  821. package/library/management_systems-hardware_management/hmi-hydraulic-baler-7inch-800x480.json +0 -68
  822. package/library/management_systems-hardware_management/html-server-monitoring-dashboard.json +0 -68
  823. package/library/management_systems-hardware_management/kubernetes-monitoring-dashboard-features.json +0 -68
  824. package/library/management_systems-hardware_management/lcd-display-temperature-light-curves.json +0 -68
  825. package/library/management_systems-hardware_management/network-device-monitoring-system.json +0 -68
  826. package/library/management_systems-hardware_management/perlant-1510a-robotic-arm-visualization-software.json +0 -68
  827. package/library/management_systems-hardware_management/printer-management-interface-with-admin-features.json +0 -68
  828. package/library/management_systems-hardware_management/system-server-monitoring-web-interface.json +0 -68
  829. package/library/management_systems-hardware_management/vacuum-oven-interface-kunlun-tongtai-tpc1031k.json +0 -68
  830. package/library/management_systems-hardware_management/virtual-smart-home-control-system.json +0 -68
  831. package/library/management_systems-hardware_management/vue2-dji-drone-rtmp-streaming-windows-solution.json +0 -68
  832. package/library/management_systems-hardware_management/web-driven-mouse-config-hid-protocol.json +0 -68
  833. package/library/management_systems-hardware_management/web-joystick-esp32-car-control.json +0 -68
  834. package/library/management_systems-hardware_management/wifi-sharing-mini-program-advertisement-integration.json +0 -68
  835. package/library/management_systems-hardware_management/windows-remote-desktop-multi-ip-management.json +0 -68
  836. package/library/mermaid_flowcharts-logic_flowcharts/digital-twin-long-boom-assembly-bs-architecture.json +0 -68
  837. package/library/mermaid_flowcharts-logic_flowcharts/sample-code-retejs-vue-3-setup-script-syntax.json +0 -68
  838. package/library/mermaid_flowcharts-logic_flowcharts/vue-flow-architectural-contract-approval-diagram.json +0 -68
  839. package/library/mermaid_flowcharts-mind_maps/mind-map-similar-to-xmind.json +0 -68
  840. package/library/mermaid_flowcharts-mind_maps/mind-mapping-mini-program.json +0 -68
  841. package/library/mermaid_flowcharts-mind_maps/online-editable-mind-map.json +0 -68
  842. package/library/mermaid_flowcharts-mind_maps/present-research-findings-mind-map-markmap.json +0 -68
  843. package/library/mermaid_flowcharts-mind_maps/study-guide-mind-map-generator.json +0 -68
  844. package/library/mermaid_flowcharts-mind_maps/vue-parse-json-xmind-display-mind-map.json +0 -68
  845. package/library/mermaid_flowcharts-mind_maps/vue2-g6-mind-map-implementation.json +0 -68
  846. package/library/multimedia_editing-audio_editing/ai-audio-restoration-tool-with-waveform-comparison.json +0 -68
  847. package/library/multimedia_editing-audio_editing/audio-clip-management-tagging-tool.json +0 -68
  848. package/library/multimedia_editing-audio_editing/audio-echo-effect-processor.json +0 -68
  849. package/library/multimedia_editing-audio_editing/audio-echo-effect-tool-frontend.json +0 -68
  850. package/library/multimedia_editing-audio_editing/audio-format-conversion-tool.json +0 -68
  851. package/library/multimedia_editing-audio_editing/audio-mixing-effect-tool-frontend.json +0 -68
  852. package/library/multimedia_editing-audio_editing/audio-pitch-shifter-with-preview-export.json +0 -68
  853. package/library/multimedia_editing-audio_editing/audio-recording-basic-editing.json +0 -68
  854. package/library/multimedia_editing-audio_editing/audio-segmentation-labeling-tool.json +0 -68
  855. package/library/multimedia_editing-audio_editing/audio-trimming-labeling-frontend-program.json +0 -68
  856. package/library/multimedia_editing-audio_editing/audio-trimming-tagging-frontend.json +0 -68
  857. package/library/multimedia_editing-audio_editing/audio-watermark-creator.json +0 -68
  858. package/library/multimedia_editing-audio_editing/flutter-android-call-recording-feature.json +0 -68
  859. package/library/multimedia_editing-audio_editing/frontend-audio-denoising-application.json +0 -68
  860. package/library/multimedia_editing-audio_editing/html-cake-player-happy-birthday-song-waveform-visualization.json +0 -68
  861. package/library/multimedia_editing-audio_editing/in-browser-multi-track-recording-studio.json +0 -68
  862. package/library/multimedia_editing-audio_editing/karaoke-lyrics-synchronization-tool.json +0 -68
  863. package/library/multimedia_editing-audio_editing/music-generation-tool-with-free-ai-inference.json +0 -68
  864. package/library/multimedia_editing-audio_editing/network-audio-sampler-drum-kit.json +0 -68
  865. package/library/multimedia_editing-audio_editing/online-audio-concatenation-tool.json +0 -68
  866. package/library/multimedia_editing-audio_editing/online-audio-loop-editing-tool.json +0 -68
  867. package/library/multimedia_editing-audio_editing/python-kivy-streaming-media-player.json +0 -68
  868. package/library/multimedia_editing-audio_editing/qianqian-jingting-ttplayer-music-player-qml-pyside6.json +0 -68
  869. package/library/multimedia_editing-audio_editing/real-time-multi-user-audio-editing-platform.json +0 -68
  870. package/library/multimedia_editing-audio_editing/timeline-based-audio-annotation-tool.json +0 -68
  871. package/library/multimedia_editing-audio_editing/timeline-based-audio-editor.json +0 -68
  872. package/library/multimedia_editing-audio_editing/vocal-removal-from-audio-frontend-application.json +0 -68
  873. package/library/multimedia_editing-audio_editing/vocal-remover-frontend-audio-processing.json +0 -68
  874. package/library/multimedia_editing-audio_editing/vue2-music-player-playlist-loop.json +0 -68
  875. package/library/multimedia_editing-audio_editing/web-based-audio-sampler-sequencer.json +0 -68
  876. package/library/multimedia_editing-audio_editing/web-based-sound-effects-library-with-preview-and-download.json +0 -68
  877. package/library/multimedia_editing-audio_editing/web-microphone-audio-recorder-tool.json +0 -68
  878. package/library/multimedia_editing-image_editing/2d-product-drawings-sky-blue-background.json +0 -68
  879. package/library/multimedia_editing-image_editing/360-degree-panoramic-stitching-system.json +0 -68
  880. package/library/multimedia_editing-image_editing/batch-image-compression-tool.json +0 -68
  881. package/library/multimedia_editing-image_editing/canvas-javascript-image-editor-with-zoom.json +0 -68
  882. package/library/multimedia_editing-image_editing/drawing-board-ios-notes-paperjs-vue3.json +0 -68
  883. package/library/multimedia_editing-image_editing/frontend-batch-image-annotation-tool.json +0 -68
  884. package/library/multimedia_editing-image_editing/frontend-image-editing-with-history-revert.json +0 -68
  885. package/library/multimedia_editing-image_editing/gif-player-with-scroll-and-multiple-gifs.json +0 -68
  886. package/library/multimedia_editing-image_editing/hbuilder-simple-drawing-app.json +0 -68
  887. package/library/multimedia_editing-image_editing/html-double-layer-rubiks-cube-photo-effect.json +0 -68
  888. package/library/multimedia_editing-image_editing/html-image-upload-clarity-enhancement-save.json +0 -68
  889. package/library/multimedia_editing-image_editing/image-annotation-tool-drag-draw-text-save.json +0 -68
  890. package/library/multimedia_editing-image_editing/image-comparison-tool-multiple-modes.json +0 -68
  891. package/library/multimedia_editing-image_editing/image-comparison-tool-slider-save.json +0 -68
  892. package/library/multimedia_editing-image_editing/image-contour-depth-refractive-texture.json +0 -68
  893. package/library/multimedia_editing-image_editing/image-format-conversion-tool.json +0 -68
  894. package/library/multimedia_editing-image_editing/image-matting-tool-with-brush-selection.json +0 -68
  895. package/library/multimedia_editing-image_editing/image-shadow-editor-tool.json +0 -68
  896. package/library/multimedia_editing-image_editing/image-text-annotation-tool-with-save.json +0 -68
  897. package/library/multimedia_editing-image_editing/image-text-watermark-frontend-project.json +0 -68
  898. package/library/multimedia_editing-image_editing/image-watermark-remover-responsive-design.json +0 -68
  899. package/library/multimedia_editing-image_editing/javascript-drawing-board-with-magnified-pixel-grid.json +0 -68
  900. package/library/multimedia_editing-image_editing/merge-upload-images-uniapp-canvas.json +0 -68
  901. package/library/multimedia_editing-image_editing/multi-functional-image-creation-tool-webpage.json +0 -68
  902. package/library/multimedia_editing-image_editing/online-dynamic-image-sticker-tool.json +0 -68
  903. package/library/multimedia_editing-image_editing/online-image-annotation-tool.json +0 -68
  904. package/library/multimedia_editing-image_editing/online-image-clipboard-tool.json +0 -68
  905. package/library/multimedia_editing-image_editing/online-image-compression-tool-with-preview-and-options.json +0 -68
  906. package/library/multimedia_editing-image_editing/optimize-image-and-generate-html-file.json +0 -68
  907. package/library/multimedia_editing-image_editing/video-screenshot-tool-with-editing-and-export.json +0 -68
  908. package/library/multimedia_editing-image_editing/wechat-mini-program-import-images-generate-pixel-art.json +0 -68
  909. package/library/multimedia_editing-image_editing/wechat-mini-program-remove-watermarks-photo-video.json +0 -68
  910. package/library/multimedia_editing-video_production/3d-video-effect-editor-with-animation-curves.json +0 -68
  911. package/library/multimedia_editing-video_production/ai-dream-xu-zhisheng-standup-comedy-animation.json +0 -68
  912. package/library/multimedia_editing-video_production/android-soccer-video-top-down-view.json +0 -68
  913. package/library/multimedia_editing-video_production/animation-video-production-tool.json +0 -68
  914. package/library/multimedia_editing-video_production/arsenal-players-promo-animation.json +0 -68
  915. package/library/multimedia_editing-video_production/audio-video-synchronization-tool.json +0 -68
  916. package/library/multimedia_editing-video_production/browser-video-recorder-editor-tool.json +0 -68
  917. package/library/multimedia_editing-video_production/face-api-video-enhancement-webpage.json +0 -68
  918. package/library/multimedia_editing-video_production/flutter-media-player-frontend.json +0 -68
  919. package/library/multimedia_editing-video_production/frontend-tool-animated-video-elements.json +0 -68
  920. package/library/multimedia_editing-video_production/frontend-video-animated-stickers-editor.json +0 -68
  921. package/library/multimedia_editing-video_production/frontend-video-color-adjustment-tool.json +0 -68
  922. package/library/multimedia_editing-video_production/html-fifteen-second-short-video.json +0 -68
  923. package/library/multimedia_editing-video_production/multi-track-video-editor.json +0 -68
  924. package/library/multimedia_editing-video_production/online-dynamic-background-video-generator.json +0 -68
  925. package/library/multimedia_editing-video_production/online-video-background-removal-tool.json +0 -68
  926. package/library/multimedia_editing-video_production/online-video-format-conversion-tool.json +0 -68
  927. package/library/multimedia_editing-video_production/online-video-frame-extractor.json +0 -68
  928. package/library/multimedia_editing-video_production/online-video-puzzle-generator.json +0 -68
  929. package/library/multimedia_editing-video_production/online-video-resolution-adjuster.json +0 -68
  930. package/library/multimedia_editing-video_production/photo-background-text-subtitle-video-synthesis.json +0 -68
  931. package/library/multimedia_editing-video_production/picture-in-picture-video-editor.json +0 -68
  932. package/library/multimedia_editing-video_production/simple-love-confession-code-video.json +0 -68
  933. package/library/multimedia_editing-video_production/social-media-short-video-generator.json +0 -68
  934. package/library/multimedia_editing-video_production/software-video-player-all-formats.json +0 -68
  935. package/library/multimedia_editing-video_production/tiktok-watermark-removal-mini-program.json +0 -68
  936. package/library/multimedia_editing-video_production/video-auto-editing-tool-with-scene-detection.json +0 -68
  937. package/library/multimedia_editing-video_production/video-background-replacement-chroma-key-tool.json +0 -68
  938. package/library/multimedia_editing-video_production/video-dubbing-tool-with-audio-waveform-sync.json +0 -68
  939. package/library/multimedia_editing-video_production/video-editing-timeline-manager.json +0 -68
  940. package/library/multimedia_editing-video_production/video-editing-tool-with-transitions-and-text.json +0 -68
  941. package/library/multimedia_editing-video_production/video-filter-app-upload-effects-preview.json +0 -68
  942. package/library/multimedia_editing-video_production/video-format-conversion-tool.json +0 -68
  943. package/library/multimedia_editing-video_production/video-picture-in-picture-creation-tool.json +0 -68
  944. package/library/multimedia_editing-video_production/video-resolution-conversion-tool.json +0 -68
  945. package/library/multimedia_editing-video_production/video-speed-adjustment-tool.json +0 -68
  946. package/library/multimedia_editing-video_production/video-speed-curve-editor-with-audio-pitch.json +0 -68
  947. package/library/multimedia_editing-video_production/video-subtitle-editor-with-timeline-export.json +0 -68
  948. package/library/multimedia_editing-video_production/video-subtitle-generation-tool.json +0 -68
  949. package/library/multimedia_editing-video_production/video-timeline-bookmark-marking-tool.json +0 -68
  950. package/library/multimedia_editing-video_production/video-timeline-chapter-editor.json +0 -68
  951. package/library/multimedia_editing-video_production/video-to-gif-converter-platform.json +0 -68
  952. package/library/multimedia_editing-video_production/video-transition-effect-editor.json +0 -68
  953. package/library/multimedia_editing-video_production/video-transition-effects-editor.json +0 -68
  954. package/library/multimedia_editing-video_production/video-trimming-splicing-tool.json +0 -68
  955. package/library/multimedia_editing-video_production/video-watermark-tool-design.json +0 -68
  956. package/library/multimedia_editing-video_production/web-based-video-editing-tool.json +0 -68
  957. package/library/multimedia_editing-video_production/web-dynamic-graphic-video-tool.json +0 -68
  958. package/library/multimedia_editing-video_production/webgl-short-video-effects-editor.json +0 -68
  959. package/library/multimedia_editing-video_production/webpage-upload-add-watermark-to-videos.json +0 -68
  960. package/library/multimedia_editing-video_production/xiaohongshu-text-image-to-video-html.json +0 -68
  961. package/library/other-astrology_divination_software/bazi-charting-software-four-pillars.json +0 -68
  962. package/library/other-astrology_divination_software/bazi-fortune-telling-software-uni-app.json +0 -68
  963. package/library/other-audio_player/html-music-player-with-interference-and-pause.json +0 -68
  964. package/library/other-code_generation/html5-javascript-code-generation-expert-responses.json +0 -68
  965. package/library/other-code_generation/static-code-generation-no-environment.json +0 -68
  966. package/library/other-development_configuration/tailwind-css-4-electron-vite-no-react.json +0 -68
  967. package/library/other-development_framework_setup/spfx-vue-project-generation.json +0 -68
  968. package/library/other-divination/generate-detailed-hexagram-interpretations.json +0 -68
  969. package/library/other-divination/heavenly-stems-earthly-branches-i-ching-auspicious-times.json +0 -68
  970. package/library/other-divination/html-64-hexagrams-divination-app.json +0 -68
  971. package/library/other-divination_system/javascript-qi-men-dun-jia-divination-chart.json +0 -68
  972. package/library/other-document_editor/vue-microsoft-word-like-editor.json +0 -68
  973. package/library/other-educational/five-elements-generation-destruction-e-language.json +0 -68
  974. package/library/other-financial_platform/mobile-h5-digital-currency-llm-data.json +0 -68
  975. package/library/other-frontend_development_tools/ai-frontend-development-scaffolding-tools.json +0 -68
  976. package/library/other-graphics_programming/desktop-heart-code-creation.json +0 -68
  977. package/library/other-legal_analysis/user-agreement-terms-of-service.json +0 -68
  978. package/library/other-mini-program_development/card-style-left-right-waterfall-flow-mini-program.json +0 -68
  979. package/library/other-mobile_app_development/develop-react-app-android-ios.json +0 -68
  980. package/library/other-mobile_app_development/harmonyos-button-navigation-view.json +0 -68
  981. package/library/other-mobile_app_development/react-native-tableview-like-with-cell-selection.json +0 -68
  982. package/library/other-mobile_app_development/taro-wechat-code-128-barcode-recognition.json +0 -68
  983. package/library/other-mobile_app_development/uniapp-vue3-editor-example.json +0 -68
  984. package/library/other-mobile_application_development/android-wechat-multi-instance-app-uniapp.json +0 -68
  985. package/library/other-mobile_development/android-webview-vue2-scanning-functionality.json +0 -68
  986. package/library/other-mobile_development/xbuild-h5-vue-floating-window-mobile-app.json +0 -68
  987. package/library/other-mobile_measurement_app/flutter-app-measure-distance-image-photo.json +0 -68
  988. package/library/other-music_player/online-music-player-with-search-and-controls.json +0 -68
  989. package/library/other-productivity_scheduling/online-scheduling-tool-with-calendar-and-sync.json +0 -68
  990. package/library/other-programming_consultation/python-backend-frontend-code-expert-responses.json +0 -68
  991. package/library/other-security_tools/network-security-scanner-vulnerability-detection.json +0 -68
  992. package/library/other-software_development/eclipse-plugin-xml-to-awt-swing-shapes.json +0 -68
  993. package/library/other-software_development/generate-executable-ai-code-workflow.json +0 -68
  994. package/library/other-tool_recommendations/ai-tool-mini-program-ui-code-generation.json +0 -68
  995. package/library/other-transit_system/public-transit-system-frontend.json +0 -68
  996. package/library/other-travel_management/vue3-personalized-travel-system.json +0 -68
  997. package/library/other-ui_ux_design_standards/ten-lines-at-a-glance-display-standard.json +0 -68
  998. package/library/other-video_streaming_application/winui3-ffmpeg-rtsp-video-stream-display.json +0 -68
  999. package/library/other-web_component_development/vue-virtual-table-component-development.json +0 -68
  1000. package/library/other-web_development/create-dynamic-website-from-existing-one.json +0 -68
  1001. package/library/simulation___modeling-3d_simulation/3d-earth-view-tianditu-supermap.json +0 -68
  1002. package/library/simulation___modeling-3d_simulation/3d-li6ps5cl-crystal-lattice.json +0 -68
  1003. package/library/simulation___modeling-3d_simulation/display-unstructured-vtk-models-threejs.json +0 -68
  1004. package/library/simulation___modeling-3d_simulation/fire-evacuation-simulation-cesium-animation.json +0 -68
  1005. package/library/simulation___modeling-3d_simulation/frontend-solar-system-simulation.json +0 -68
  1006. package/library/simulation___modeling-3d_simulation/indoor-3d-pathfinding-uniapp-mini-program.json +0 -68
  1007. package/library/simulation___modeling-3d_simulation/nurbs-curve-3d-graph-control-points.json +0 -68
  1008. package/library/simulation___modeling-3d_simulation/python-3d-robotic-arm-visualization-network-data.json +0 -68
  1009. package/library/simulation___modeling-3d_simulation/python-3d-visualization-tool-saas-composer.json +0 -68
  1010. package/library/simulation___modeling-3d_simulation/radar-point-cloud-to-3d-scene.json +0 -68
  1011. package/library/simulation___modeling-3d_simulation/shanghai-bund-light-show-html-simulation.json +0 -68
  1012. package/library/simulation___modeling-3d_simulation/solar-system-motion-simulation-html.json +0 -68
  1013. package/library/simulation___modeling-3d_simulation/solar-system-simulation-frontend-program.json +0 -68
  1014. package/library/simulation___modeling-3d_simulation/threejs-antd-upload-model-texture.json +0 -68
  1015. package/library/simulation___modeling-3d_simulation/threejs-mouse-drag-object-movement.json +0 -68
  1016. package/library/simulation___modeling-3d_simulation/virtual-photography-studio-lighting-scenario.json +0 -68
  1017. package/library/simulation___modeling-3d_simulation/vr-panoramic-tour-script-framework.json +0 -68
  1018. package/library/simulation___modeling-3d_simulation/vue-3-cesium-wms-terrain-excavation-effects.json +0 -68
  1019. package/library/simulation___modeling-3d_simulation/vue-vtk-animate-nodal-displacement.json +0 -68
  1020. package/library/simulation___modeling-mathematical_abstraction/graphic-intersection-blending-square-circle.json +0 -68
  1021. package/library/simulation___modeling-mathematical_abstraction/interactive-rectangle-cylinder-manipulation.json +0 -68
  1022. package/library/simulation___modeling-mathematical_abstraction/js-sphere-conways-game-life-multicolor-simulation.json +0 -68
  1023. package/library/simulation___modeling-mathematical_abstraction/uniapp-vue3-graphology-path-planning-example-code.json +0 -68
  1024. package/library/simulation___modeling-mathematical_abstraction/web-program-simulate-mqtt-iot-data-transmission.json +0 -68
  1025. package/library/simulation___modeling-physics_simulation/brownian-motion-web-page.json +0 -68
  1026. package/library/simulation___modeling-physics_simulation/bs-ns3-simulation-frontend-display.json +0 -68
  1027. package/library/simulation___modeling-physics_simulation/celestial-body-motion-simulation-frontend-program.json +0 -68
  1028. package/library/simulation___modeling-physics_simulation/celestial-body-motion-simulation-frontend.json +0 -68
  1029. package/library/simulation___modeling-physics_simulation/circuit-experimental-simulator-with-drag-and-drop.json +0 -68
  1030. package/library/simulation___modeling-physics_simulation/conservation-of-momentum-animations.json +0 -68
  1031. package/library/simulation___modeling-physics_simulation/draw-lichtenberg-figures-javascript-html5-canvas.json +0 -68
  1032. package/library/simulation___modeling-physics_simulation/earth-moon-orbital-simulation-frontend.json +0 -68
  1033. package/library/simulation___modeling-physics_simulation/earth-moon-orbital-system-simulation.json +0 -68
  1034. package/library/simulation___modeling-physics_simulation/earth-rotation-revolution-demonstration.json +0 -68
  1035. package/library/simulation___modeling-physics_simulation/flower-petals-falling-computer-desktop.json +0 -68
  1036. package/library/simulation___modeling-physics_simulation/frontend-celestial-movement-sun-simulation.json +0 -68
  1037. package/library/simulation___modeling-physics_simulation/frontend-code-to-simulate-solar-system.json +0 -68
  1038. package/library/simulation___modeling-physics_simulation/frontend-engine-piston-movement-simulation.json +0 -68
  1039. package/library/simulation___modeling-physics_simulation/frontend-program-simulates-celestial-body-movements.json +0 -68
  1040. package/library/simulation___modeling-physics_simulation/frontend-program-simulates-operation-of-space-elevator.json +0 -68
  1041. package/library/simulation___modeling-physics_simulation/frontend-solar-system-motion-simulation.json +0 -68
  1042. package/library/simulation___modeling-physics_simulation/frontend-solar-system-simulation.json +0 -68
  1043. package/library/simulation___modeling-physics_simulation/frontend-sun-movement-simulation.json +0 -68
  1044. package/library/simulation___modeling-physics_simulation/frontend-walking-simulation.json +0 -68
  1045. package/library/simulation___modeling-physics_simulation/galton-board-program-html.json +0 -68
  1046. package/library/simulation___modeling-physics_simulation/html-celestial-motion-simulation.json +0 -68
  1047. package/library/simulation___modeling-physics_simulation/html-motion-planets-solar-system.json +0 -68
  1048. package/library/simulation___modeling-physics_simulation/millikan-oil-drop-experiment-simulation-webpage.json +0 -68
  1049. package/library/simulation___modeling-physics_simulation/moon-rotation-simulation-frontend-program.json +0 -68
  1050. package/library/simulation___modeling-physics_simulation/simulate-passenger-station-boarding-time.json +0 -68
  1051. package/library/simulation___modeling-physics_simulation/solar-celestial-movement-frontend-code.json +0 -68
  1052. package/library/simulation___modeling-physics_simulation/solar-system-animation-html.json +0 -68
  1053. package/library/simulation___modeling-physics_simulation/solar-system-celestial-body-movement-simulation.json +0 -68
  1054. package/library/simulation___modeling-physics_simulation/solar-system-celestial-body-simulation.json +0 -68
  1055. package/library/simulation___modeling-physics_simulation/solar-system-celestial-movement-frontend-program.json +0 -68
  1056. package/library/simulation___modeling-physics_simulation/solar-system-celestial-movement-simulation.json +0 -68
  1057. package/library/simulation___modeling-physics_simulation/solar-system-motion-frontend-model.json +0 -68
  1058. package/library/simulation___modeling-physics_simulation/solar-system-motion-simulation-frontend.json +0 -68
  1059. package/library/simulation___modeling-physics_simulation/solar-system-orbital-mechanics-simulation.json +0 -68
  1060. package/library/simulation___modeling-physics_simulation/solar-system-orbital-simulation-frontend.json +0 -68
  1061. package/library/simulation___modeling-physics_simulation/solar-system-orbital-trajectories-simulation.json +0 -68
  1062. package/library/simulation___modeling-physics_simulation/solar-system-simulation-frontend-program.json +0 -68
  1063. package/library/simulation___modeling-physics_simulation/three-body-orbital-trajectory-visualization.json +0 -68
  1064. package/library/simulation___modeling-physics_simulation/three-body-problem-motion-simulation.json +0 -68
  1065. package/library/simulation___modeling-physics_simulation/webpage-orbital-patterns-celestial-bodies-solar-system.json +0 -68
  1066. package/library/svg_generation-svg_icons_logos/electrical-plug-phone-charger-portable-speaker-icon.json +0 -68
  1067. package/library/svg_generation-svg_icons_logos/implement-svg-amazon-logo.json +0 -68
  1068. package/library/svg_generation-svg_icons_logos/implement-svg-black-and-white-snapple-logo-with-hat.json +0 -3
  1069. package/library/svg_generation-svg_icons_logos/implement-svg-map-pin-nepal-flag.json +0 -68
  1070. package/library/svg_generation-svg_icons_logos/implement-svg-microsoft-edge-logo.json +0 -68
  1071. package/library/svg_generation-svg_icons_logos/implement-svg-wheelchair-accessible-icon.json +0 -68
  1072. package/library/svg_generation-svg_icons_logos/svg-binoculars-browsing-searching-magnifying.json +0 -68
  1073. package/library/svg_generation-svg_icons_logos/svg-download-files-folder-computer-arrow-circle.json +0 -4
  1074. package/library/svg_generation-svg_icons_logos/svg-nintendo-controller-video-game-icons.json +0 -68
  1075. package/library/svg_generation-svg_icons_logos/svg-red-white-bmc-logo.json +0 -68
  1076. package/library/svg_generation-svg_icons_logos/woman-business-suit-speech-bubble-icon.json +0 -4
  1077. package/library/svg_generation-svg_images/3d-cube-dynamic-shadow-effects-svg-rect-animatetransform.json +0 -68
  1078. package/library/svg_generation-svg_images/angry-bulldog-face-black-white-illustration.json +0 -68
  1079. package/library/svg_generation-svg_images/animated-raindrop-effect-on-glass.json +0 -68
  1080. package/library/svg_generation-svg_images/barley-and-wheat-crop-plants.json +0 -68
  1081. package/library/svg_generation-svg_images/bell-ringing-alerting-sound.json +0 -68
  1082. package/library/svg_generation-svg_images/black-and-white-close-up-letter-e-image.json +0 -68
  1083. package/library/svg_generation-svg_images/black-and-white-person-profile-square-photo.json +0 -68
  1084. package/library/svg_generation-svg_images/black-and-white-picture-of-a-sliding-door.json +0 -68
  1085. package/library/svg_generation-svg_images/black-white-outline-map-new-zealand.json +0 -68
  1086. package/library/svg_generation-svg_images/black-white-vector-microscope.json +0 -68
  1087. package/library/svg_generation-svg_images/building-monument-statue.json +0 -68
  1088. package/library/svg_generation-svg_images/burkina-faso-flag-with-star.json +0 -68
  1089. package/library/svg_generation-svg_images/camera-photo-shutter-svg-code.json +0 -68
  1090. package/library/svg_generation-svg_images/carboy-airlock-carbonation-homebrewing.json +0 -68
  1091. package/library/svg_generation-svg_images/cartoon-hedge-with-face.json +0 -68
  1092. package/library/svg_generation-svg_images/chinese-character-long-tail-svg-image.json +0 -68
  1093. package/library/svg_generation-svg_images/cleaning-mess-wet-mop-wiping-liquid.json +0 -68
  1094. package/library/svg_generation-svg_images/close-up-basketball-new-york-knicks-logo.json +0 -68
  1095. package/library/svg_generation-svg_images/cloud-with-rain-coming-out.json +0 -68
  1096. package/library/svg_generation-svg_images/coffee-maker-espresso-machine-caffeinated-drinks.json +0 -68
  1097. package/library/svg_generation-svg_images/computer-monitor-with-colored-buttons.json +0 -68
  1098. package/library/svg_generation-svg_images/computer-system-diagram-info-types.json +0 -68
  1099. package/library/svg_generation-svg_images/concave-octagon-division-into-quadrilaterals.json +0 -68
  1100. package/library/svg_generation-svg_images/create-bicycle-smallest-transportation-tool.json +0 -68
  1101. package/library/svg_generation-svg_images/cubic-box-packaging-svg-code.json +0 -68
  1102. package/library/svg_generation-svg_images/domino-game-tiles-fun.json +0 -68
  1103. package/library/svg_generation-svg_images/draw-a-heart-program.json +0 -68
  1104. package/library/svg_generation-svg_images/drinking-with-cup-at-bar-svg.json +0 -68
  1105. package/library/svg_generation-svg_images/dynamic-svg-realtime-stock-chart-animate.json +0 -68
  1106. package/library/svg_generation-svg_images/dynamic-svg-traffic-map.json +0 -68
  1107. package/library/svg_generation-svg_images/earphones-with-cord-svg-image.json +0 -68
  1108. package/library/svg_generation-svg_images/earth-seven-continents-south-america.json +0 -68
  1109. package/library/svg_generation-svg_images/green-clover-heart-shaped-plant-svg.json +0 -68
  1110. package/library/svg_generation-svg_images/groom-wearing-tailcoat-svg-code.json +0 -68
  1111. package/library/svg_generation-svg_images/half-track-vehicle-svg-image.json +0 -68
  1112. package/library/svg_generation-svg_images/hand-thumbs-up-down-icon.json +0 -68
  1113. package/library/svg_generation-svg_images/human-ear-hearing-organ-svg-image.json +0 -68
  1114. package/library/svg_generation-svg_images/implement-spray-paint-effect-mouse-svg.json +0 -68
  1115. package/library/svg_generation-svg_images/implement-svg-quill-feather-pen.json +0 -68
  1116. package/library/svg_generation-svg_images/infinity-symbol-black-and-white-photo.json +0 -68
  1117. package/library/svg_generation-svg_images/japanese-kimono-traditional-garment.json +0 -68
  1118. package/library/svg_generation-svg_images/keyboard-with-mouse-on-top.json +0 -68
  1119. package/library/svg_generation-svg_images/leaves-falling-from-plant-autumn.json +0 -68
  1120. package/library/svg_generation-svg_images/listen-to-music-headphones-sound-quality.json +0 -68
  1121. package/library/svg_generation-svg_images/magnet-attraction-metal-magnetic-science.json +0 -68
  1122. package/library/svg_generation-svg_images/man-serving-tennis-silhouette-racquet.json +0 -68
  1123. package/library/svg_generation-svg_images/metal-oil-barrel-petroleum.json +0 -68
  1124. package/library/svg_generation-svg_images/minecraft-end-city-drawing-code.json +0 -68
  1125. package/library/svg_generation-svg_images/music-cassette-tape-player-svg.json +0 -68
  1126. package/library/svg_generation-svg_images/musician-playing-hexagonal-accordion-polka-sounds.json +0 -68
  1127. package/library/svg_generation-svg_images/newly-married-couple-heart-symbol.json +0 -68
  1128. package/library/svg_generation-svg_images/olympic-rings-drawing-program.json +0 -68
  1129. package/library/svg_generation-svg_images/person-falling-cliff-parachute-svg.json +0 -68
  1130. package/library/svg_generation-svg_images/person-holding-box-close-up-portrait.json +0 -68
  1131. package/library/svg_generation-svg_images/person-holding-cell-phone-close-up.json +0 -68
  1132. package/library/svg_generation-svg_images/person-laptop-gears-close-up.json +0 -68
  1133. package/library/svg_generation-svg_images/person-walking-crosswalk.json +0 -68
  1134. package/library/svg_generation-svg_images/pie-chart-with-large-amount-of-data.json +0 -68
  1135. package/library/svg_generation-svg_images/pie-chart-with-middle-circle.json +0 -68
  1136. package/library/svg_generation-svg_images/play-with-tiles-play-domino-game-visualization.json +0 -68
  1137. package/library/svg_generation-svg_images/pour-from-container-svg-image.json +0 -68
  1138. package/library/svg_generation-svg_images/raincoat-water-resistant-clothing-for-weather.json +0 -68
  1139. package/library/svg_generation-svg_images/responsive-org-chart-foreignobject-html-embed.json +0 -68
  1140. package/library/svg_generation-svg_images/rocket-ship-launched-into-space.json +0 -68
  1141. package/library/svg_generation-svg_images/rocket-ship.json +0 -68
  1142. package/library/svg_generation-svg_images/school-bell-ringing-svg-code.json +0 -68
  1143. package/library/svg_generation-svg_images/shower-sink-bathtub-drainage-system-svg.json +0 -68
  1144. package/library/svg_generation-svg_images/smartphone-speech-bubbles-svg-illustration.json +0 -68
  1145. package/library/svg_generation-svg_images/snowing-christmas-holiday-scene.json +0 -68
  1146. package/library/svg_generation-svg_images/svg-animated-astronaut-floating-in-space.json +0 -68
  1147. package/library/svg_generation-svg_images/svg-bar-chart-analytics-trends.json +0 -68
  1148. package/library/svg_generation-svg_images/svg-binoculars-browsing-searching-magnifying.json +0 -68
  1149. package/library/svg_generation-svg_images/svg-black-white-fish-long-tail.json +0 -68
  1150. package/library/svg_generation-svg_images/svg-bow-hunting-weapon.json +0 -68
  1151. package/library/svg_generation-svg_images/svg-boxer-fighting-stance.json +0 -68
  1152. package/library/svg_generation-svg_images/svg-butterflyfish-with-swimming-animation.json +0 -68
  1153. package/library/svg_generation-svg_images/svg-chart-audio-supplier-device-count.json +0 -68
  1154. package/library/svg_generation-svg_images/svg-compass-wayfinding-directions.json +0 -68
  1155. package/library/svg_generation-svg_images/svg-crossroads-intersection.json +0 -68
  1156. package/library/svg_generation-svg_images/svg-cube-shaped-box-design.json +0 -68
  1157. package/library/svg_generation-svg_images/svg-digital-camera-for-photography.json +0 -68
  1158. package/library/svg_generation-svg_images/svg-dollar-bills-cash-currency.json +0 -68
  1159. package/library/svg_generation-svg_images/svg-dynamically-rotating-gears-animation.json +0 -68
  1160. package/library/svg_generation-svg_images/svg-eye-with-medicine-drops.json +0 -68
  1161. package/library/svg_generation-svg_images/svg-fast-stopwatch-image.json +0 -68
  1162. package/library/svg_generation-svg_images/svg-gray-game-controller-purple-buttons.json +0 -68
  1163. package/library/svg_generation-svg_images/svg-information-card-generator.json +0 -68
  1164. package/library/svg_generation-svg_images/svg-kyle-broflovski-winter-hat.json +0 -68
  1165. package/library/svg_generation-svg_images/svg-leaning-tower-of-pisa-italy.json +0 -68
  1166. package/library/svg_generation-svg_images/svg-line-trending-upward-trend-data.json +0 -68
  1167. package/library/svg_generation-svg_images/svg-network-graph-information-connections.json +0 -68
  1168. package/library/svg_generation-svg_images/svg-octopus-underwater-marine-creature.json +0 -68
  1169. package/library/svg_generation-svg_images/svg-pie-chart-with-cpus.json +0 -68
  1170. package/library/svg_generation-svg_images/svg-pizza-delivery-visualization.json +0 -68
  1171. package/library/svg_generation-svg_images/svg-rickshaw-tuktuk-vehicle.json +0 -68
  1172. package/library/svg_generation-svg_images/svg-signpost-three-arrows.json +0 -68
  1173. package/library/svg_generation-svg_images/svg-sim-card-yellow-black-design.json +0 -68
  1174. package/library/svg_generation-svg_images/svg-software-interface-screenshot-symbols-buttons.json +0 -68
  1175. package/library/svg_generation-svg_images/svg-toilet-with-flusher.json +0 -68
  1176. package/library/svg_generation-svg_images/svg-white-sign-youtube-logo.json +0 -68
  1177. package/library/svg_generation-svg_images/svg-wristwatch-yellow-face-blue-band.json +0 -68
  1178. package/library/svg_generation-svg_images/toy-car-with-ramp-close-up.json +0 -68
  1179. package/library/svg_generation-svg_images/trifold-brochure-map-svg-code.json +0 -68
  1180. package/library/svg_generation-svg_images/using-a-kitchen-grater-to-shred-cheese.json +0 -68
  1181. package/library/svg_generation-svg_images/wheat-food-vs-wheat-free-grains-visualization.json +0 -68
  1182. package/library/svg_generation-svg_images/woman-profile-long-hair-feminine-hairstyle.json +0 -68
  1183. package/library/svg_generation-svg_images/women-red-lipstick-beauty-accessory.json +0 -68
  1184. package/library/svg_generation-svg_posters/customizable-recruitment-poster-vue-svg.json +0 -68
  1185. package/library/utility_tools-automation/ai-automatic-webpage-creation.json +0 -68
  1186. package/library/utility_tools-automation/ai-automatically-write-website-code.json +0 -68
  1187. package/library/utility_tools-automation/ai-code-generation-management-system.json +0 -68
  1188. package/library/utility_tools-automation/allocate-nameplate-positions-personnel-list.json +0 -68
  1189. package/library/utility_tools-automation/analyze-c-program-time-complexity-big-o.json +0 -68
  1190. package/library/utility_tools-automation/automated-css-formatter-with-comments.json +0 -68
  1191. package/library/utility_tools-automation/automated-unmanned-printing-system.json +0 -68
  1192. package/library/utility_tools-automation/avalonia-dynamic-viewmodel-reflection-code-generation.json +0 -68
  1193. package/library/utility_tools-automation/bi-weekly-plan-random-selector-tool.json +0 -68
  1194. package/library/utility_tools-automation/build-project-react-vite-typescript.json +0 -68
  1195. package/library/utility_tools-automation/chrome-extension-webpage-control.json +0 -68
  1196. package/library/utility_tools-automation/chrome-plugin-spotlight-search-vue3-naive-ui.json +0 -68
  1197. package/library/utility_tools-automation/clock-in-out-overtime-reminder-app.json +0 -68
  1198. package/library/utility_tools-automation/cloud-based-clipboard-sync-tool-with-real-time-features.json +0 -68
  1199. package/library/utility_tools-automation/cs-grad-project-generator.json +0 -68
  1200. package/library/utility_tools-automation/design-double-pinyin-input-method.json +0 -68
  1201. package/library/utility_tools-automation/distributed-computing-client-with-browser-execution.json +0 -68
  1202. package/library/utility_tools-automation/electron-realtime-speech-to-text-translation.json +0 -68
  1203. package/library/utility_tools-automation/ethernet-packet-capture-vue2-electron-app.json +0 -68
  1204. package/library/utility_tools-automation/excel-group-assignment-tool.json +0 -68
  1205. package/library/utility_tools-automation/export-multiple-html-to-pdf-with-jspdf-react-tss.json +0 -68
  1206. package/library/utility_tools-automation/food-delivery-robot-mini-program-joystick-controls.json +0 -68
  1207. package/library/utility_tools-automation/google-extension-vue-devtools-vue2-vue3.json +0 -68
  1208. package/library/utility_tools-automation/image-based-search-program.json +0 -68
  1209. package/library/utility_tools-automation/implement-automatic-backup-tool.json +0 -68
  1210. package/library/utility_tools-automation/implement-fabricjs-mobile-h5-application.json +0 -68
  1211. package/library/utility_tools-automation/implement-ssh-terminal-tauri-vue3-xterm.json +0 -68
  1212. package/library/utility_tools-automation/javascript-search-autocomplete-chinese-pinyin-english.json +0 -68
  1213. package/library/utility_tools-automation/mini-program-auto-extract-geo-coordinates-from-screenshots.json +0 -68
  1214. package/library/utility_tools-automation/monitor-chext-transactions-mobile.json +0 -68
  1215. package/library/utility_tools-automation/monorepo-vue3-vite-tailwind-v4-setup.json +0 -68
  1216. package/library/utility_tools-automation/multi-window-typescript-framework-no-vue.json +0 -68
  1217. package/library/utility_tools-automation/network-packet-capture-analysis-tool.json +0 -68
  1218. package/library/utility_tools-automation/photoshop-2025-one-click-photo-cutout-jsx-script.json +0 -68
  1219. package/library/utility_tools-automation/python-pinduoduo-automation-gui.json +0 -68
  1220. package/library/utility_tools-automation/react-custom-templates-json-output.json +0 -68
  1221. package/library/utility_tools-automation/ruoyi-framework-code-generator.json +0 -68
  1222. package/library/utility_tools-automation/task-scheduler-with-notifications-and-javascript-execution.json +0 -68
  1223. package/library/utility_tools-automation/tauri-react-shadcn-tailwind-auto-update-project.json +0 -68
  1224. package/library/utility_tools-automation/user-agent-switcher-with-presets-and-detection.json +0 -68
  1225. package/library/utility_tools-automation/video-camera-detection-line-crossing-counting.json +0 -68
  1226. package/library/utility_tools-automation/video-download-tool-with-batch-and-quality-options.json +0 -68
  1227. package/library/utility_tools-automation/vs2019-code-generation-tools-requirements.json +0 -68
  1228. package/library/utility_tools-automation/vue-desktop-app-browser-plugin-settings.json +0 -68
  1229. package/library/utility_tools-automation/vue-packet-capture-electron-app.json +0 -68
  1230. package/library/utility_tools-automation/vue3-webpack-complete-process.json +0 -68
  1231. package/library/utility_tools-automation/web-mouse-auto-clicker-with-left-right-buttons.json +0 -68
  1232. package/library/utility_tools-automation/webpage-screenshot-tool.json +0 -68
  1233. package/library/utility_tools-batch_processing/batch-image-retouching-with-parameters.json +0 -68
  1234. package/library/utility_tools-batch_processing/code-expert-drag-drop-table-display.json +0 -68
  1235. package/library/utility_tools-batch_processing/eml-to-pdf-converter-webpage-girlish-design.json +0 -68
  1236. package/library/utility_tools-batch_processing/excel-to-html-converter-ui.json +0 -68
  1237. package/library/utility_tools-batch_processing/file-format-conversion-tool.json +0 -68
  1238. package/library/utility_tools-batch_processing/file-watermarking-system-with-customizable-options.json +0 -68
  1239. package/library/utility_tools-batch_processing/html-convert-png-to-pdf.json +0 -68
  1240. package/library/utility_tools-batch_processing/javascript-convert-msg-to-html-browser.json +0 -68
  1241. package/library/utility_tools-batch_processing/product-group-segmentation-copy-button.json +0 -68
  1242. package/library/utility_tools-batch_processing/react-streamsaver-download-videos.json +0 -68
  1243. package/library/utility_tools-batch_processing/speech-to-text-tool-with-features.json +0 -68
  1244. package/library/utility_tools-calculation_tools/bazi-marriage-compatibility-calculator-mini-program.json +0 -68
  1245. package/library/utility_tools-calculation_tools/bmi-body-fat-calculator.json +0 -68
  1246. package/library/utility_tools-calculation_tools/create-a-timer-no-programming-experience.json +0 -68
  1247. package/library/utility_tools-calculation_tools/create-calculator-vs-form.json +0 -68
  1248. package/library/utility_tools-calculation_tools/currency-exchange-rate-calculator-with-history.json +0 -68
  1249. package/library/utility_tools-calculation_tools/e-commerce-profit-calculation-tool.json +0 -68
  1250. package/library/utility_tools-calculation_tools/frame-beam-rebar-length-calculator-webpage.json +0 -68
  1251. package/library/utility_tools-calculation_tools/geometric-calculation-tool-with-visual-preview.json +0 -68
  1252. package/library/utility_tools-calculation_tools/html-css-js-simulated-clock.json +0 -68
  1253. package/library/utility_tools-calculation_tools/html-geometric-drawing-board-with-measurements.json +0 -68
  1254. package/library/utility_tools-calculation_tools/indented-tree-layout-algorithm-javascript-canvas.json +0 -68
  1255. package/library/utility_tools-calculation_tools/interactive-calculator.json +0 -68
  1256. package/library/utility_tools-calculation_tools/javascript-timer-function-setup.json +0 -68
  1257. package/library/utility_tools-calculation_tools/large-language-model-simple-calculator.json +0 -68
  1258. package/library/utility_tools-calculation_tools/lottery-number-filter-welfare-lottery-3d.json +0 -68
  1259. package/library/utility_tools-calculation_tools/maui-calculator-implementation.json +0 -68
  1260. package/library/utility_tools-calculation_tools/mini-program-tensile-resistance-anchor-bolts.json +0 -68
  1261. package/library/utility_tools-calculation_tools/mitigate-harm-unhealthy-foods.json +0 -68
  1262. package/library/utility_tools-calculation_tools/natural-frequency-calculator-gui.json +0 -68
  1263. package/library/utility_tools-calculation_tools/network-diagnostic-tool-visual-ping-bandwidth.json +0 -68
  1264. package/library/utility_tools-calculation_tools/pension-calculator-social-security-personal-contribution.json +0 -68
  1265. package/library/utility_tools-calculation_tools/production-calculation-calculator-software.json +0 -68
  1266. package/library/utility_tools-calculation_tools/programmer-calculator.json +0 -68
  1267. package/library/utility_tools-calculation_tools/random-number-wheel-1-to-200.json +0 -68
  1268. package/library/utility_tools-calculation_tools/retirement-calculator-html.json +0 -68
  1269. package/library/utility_tools-calculation_tools/uniapp-android-camera-tree-dbh-measurement.json +0 -68
  1270. package/library/utility_tools-calculation_tools/uniapp-mortgage-calculator-app-code.json +0 -68
  1271. package/library/utility_tools-calculation_tools/used-car-value-assessment-template-uniapp-frontend.json +0 -68
  1272. package/library/utility_tools-calculation_tools/vite-vue-bazi-calculator-gregorian-lunar.json +0 -68
  1273. package/library/utility_tools-calculation_tools/webpage-geographic-to-gauss-coordinates-cgcs2000.json +0 -68
  1274. package/library/utility_tools-calculation_tools/wechat-mini-program-calculator-code.json +0 -68
  1275. package/library/utility_tools-daily_office_tasks/add-lunar-holidays-perpetual-calendar.json +0 -68
  1276. package/library/utility_tools-daily_office_tasks/ant-design-vue-excel-import-export-table.json +0 -68
  1277. package/library/utility_tools-daily_office_tasks/app-with-work-items-tasks-pomodoro-timer.json +0 -68
  1278. package/library/utility_tools-daily_office_tasks/baby-event-event-recorder.json +0 -68
  1279. package/library/utility_tools-daily_office_tasks/browser-screenshot-tool-with-editing.json +0 -68
  1280. package/library/utility_tools-daily_office_tasks/chrome-browser-sidebar-extension.json +0 -68
  1281. package/library/utility_tools-daily_office_tasks/classroom-student-selector-html-webpage.json +0 -68
  1282. package/library/utility_tools-daily_office_tasks/code-editing-demo-arco-design-codemirror.json +0 -68
  1283. package/library/utility_tools-daily_office_tasks/countdown-mini-program-html-output.json +0 -68
  1284. package/library/utility_tools-daily_office_tasks/create-selector-for-discipline-json-data.json +0 -68
  1285. package/library/utility_tools-daily_office_tasks/create-tool-collect-consolidate-weekly-reports.json +0 -68
  1286. package/library/utility_tools-daily_office_tasks/create-webpage-hyperlinks-to-run-programs.json +0 -68
  1287. package/library/utility_tools-daily_office_tasks/date-range-selection-processing.json +0 -68
  1288. package/library/utility_tools-daily_office_tasks/deepseek-write-daily-sunlight-record.json +0 -68
  1289. package/library/utility_tools-daily_office_tasks/detailed-daily-schedule-planner.json +0 -68
  1290. package/library/utility_tools-daily_office_tasks/deveco-studio-jd-login-navigation-interface.json +0 -68
  1291. package/library/utility_tools-daily_office_tasks/develop-computer-keyboard-uni-app.json +0 -68
  1292. package/library/utility_tools-daily_office_tasks/electron-json-tool-macos-desktop-app.json +0 -68
  1293. package/library/utility_tools-daily_office_tasks/electron-vue-secure-dual-window-communication.json +0 -68
  1294. package/library/utility_tools-daily_office_tasks/electronic-signature-plugin-canvas.json +0 -68
  1295. package/library/utility_tools-daily_office_tasks/email-template-generator-with-drag-and-drop.json +0 -68
  1296. package/library/utility_tools-daily_office_tasks/excel-data-import-tool-html.json +0 -68
  1297. package/library/utility_tools-daily_office_tasks/excel-file-upload-split-download.json +0 -68
  1298. package/library/utility_tools-daily_office_tasks/generate-calendar-with-specific-work-pattern.json +0 -68
  1299. package/library/utility_tools-daily_office_tasks/generate-family-annual-budget-table.json +0 -68
  1300. package/library/utility_tools-daily_office_tasks/generate-roll-call-program-html-format.json +0 -68
  1301. package/library/utility_tools-daily_office_tasks/gui-framework-function-switching.json +0 -68
  1302. package/library/utility_tools-daily_office_tasks/hbuilder-apk-document-reader-text-to-speech.json +0 -68
  1303. package/library/utility_tools-daily_office_tasks/html-ansi-decoder-tool.json +0 -68
  1304. package/library/utility_tools-daily_office_tasks/html-browser-python-compiler.json +0 -68
  1305. package/library/utility_tools-daily_office_tasks/html-css-convert-word-document-to-webpage.json +0 -68
  1306. package/library/utility_tools-daily_office_tasks/html-random-name-selector-with-excel-import.json +0 -68
  1307. package/library/utility_tools-daily_office_tasks/html-speech-synthesis-multi-voice-tool.json +0 -68
  1308. package/library/utility_tools-daily_office_tasks/html-webpage-comparison-analysis-html-documents.json +0 -68
  1309. package/library/utility_tools-daily_office_tasks/html-xiaohongshu-image-text-overlay-generator.json +0 -68
  1310. package/library/utility_tools-daily_office_tasks/implement-simple-mind-map-tool.json +0 -68
  1311. package/library/utility_tools-daily_office_tasks/intelligent-screenshot-annotation-tool.json +0 -68
  1312. package/library/utility_tools-daily_office_tasks/medication-reminders-mini-program-elderly.json +0 -68
  1313. package/library/utility_tools-daily_office_tasks/meeting-schedule-qq-music-reminder-system.json +0 -68
  1314. package/library/utility_tools-daily_office_tasks/memo-application-with-audio-playback.json +0 -68
  1315. package/library/utility_tools-daily_office_tasks/merge-multiple-excel-workbooks.json +0 -68
  1316. package/library/utility_tools-daily_office_tasks/mini-program-survey-generator.json +0 -68
  1317. package/library/utility_tools-daily_office_tasks/mobile-qr-code-scanner-webpage.json +0 -68
  1318. package/library/utility_tools-daily_office_tasks/online-text-to-speech-tts-tool.json +0 -68
  1319. package/library/utility_tools-daily_office_tasks/password-generation-management-tool.json +0 -68
  1320. package/library/utility_tools-daily_office_tasks/pdf-text-extraction-tool.json +0 -68
  1321. package/library/utility_tools-daily_office_tasks/ping-pong-score-counter-html-mobile-devices.json +0 -68
  1322. package/library/utility_tools-daily_office_tasks/read-excel-display-data-html.json +0 -68
  1323. package/library/utility_tools-daily_office_tasks/real-time-baseball-score-display-for-streaming.json +0 -68
  1324. package/library/utility_tools-daily_office_tasks/rich-text-editor-spelling-idiom-word-count.json +0 -68
  1325. package/library/utility_tools-daily_office_tasks/shopping-price-comparison-program.json +0 -68
  1326. package/library/utility_tools-daily_office_tasks/small-japanese-translation-program.json +0 -68
  1327. package/library/utility_tools-daily_office_tasks/smart-spreadsheet-tool.json +0 -68
  1328. package/library/utility_tools-daily_office_tasks/tauri-clock-application-development.json +0 -68
  1329. package/library/utility_tools-daily_office_tasks/to-do-item-recorder-with-categories-dates-reminders.json +0 -68
  1330. package/library/utility_tools-daily_office_tasks/to-do-list-mini-program-for-boyfriend.json +0 -68
  1331. package/library/utility_tools-daily_office_tasks/to-do-list-mini-program-in-english.json +0 -68
  1332. package/library/utility_tools-daily_office_tasks/to-do-reminder-interface-with-time-limits.json +0 -68
  1333. package/library/utility_tools-daily_office_tasks/typescript-canvas-rich-text-editor.json +0 -68
  1334. package/library/utility_tools-daily_office_tasks/uni-app-vue2-clock-in-page.json +0 -68
  1335. package/library/utility_tools-daily_office_tasks/uniapp-alibaba-cloud-one-click-login.json +0 -68
  1336. package/library/utility_tools-daily_office_tasks/vision-test-program-random-e-directions.json +0 -68
  1337. package/library/utility_tools-daily_office_tasks/vs-code-excel-import-print-no-office.json +0 -68
  1338. package/library/utility_tools-daily_office_tasks/vue-2-frontend-pdf-fill-in-tool.json +0 -68
  1339. package/library/utility_tools-daily_office_tasks/vue-uni-app-writing-pad-finger-trajectories.json +0 -68
  1340. package/library/utility_tools-daily_office_tasks/vue2-data-dictionary-component.json +0 -68
  1341. package/library/utility_tools-daily_office_tasks/vue2-download-component-with-a-tag.json +0 -68
  1342. package/library/utility_tools-daily_office_tasks/vue2-download-pdf-open-canvas.json +0 -68
  1343. package/library/utility_tools-daily_office_tasks/vue3-ts-save-page-as-pdf.json +0 -68
  1344. package/library/utility_tools-daily_office_tasks/vue3-typescript-pdf-signature.json +0 -68
  1345. package/library/utility_tools-daily_office_tasks/weather-forecast-mini-program-html-preview.json +0 -68
  1346. package/library/utility_tools-daily_office_tasks/weather-forecast-query-tool.json +0 -68
  1347. package/library/utility_tools-daily_office_tasks/weather-forecast-software-design.json +0 -68
  1348. package/library/utility_tools-daily_office_tasks/web-audio-visualizer-with-labeling.json +0 -68
  1349. package/library/utility_tools-daily_office_tasks/webpage-screenshot-annotation-tool.json +0 -68
  1350. package/library/utility_tools-daily_office_tasks/wechat-mini-program-restrooms-tencent-maps.json +0 -68
  1351. package/library/utility_tools-daily_office_tasks/wechat-mini-program-virtual-list-miniprogram-recycle-view.json +0 -68
  1352. package/library/utility_tools-hardware_management/java-swing-hikvision-sdk-video-stream-display-linux.json +0 -68
  1353. package/library/utility_tools-web_scraping/automated-web-content-extraction-tool.json +0 -68
  1354. package/library/utility_tools-web_scraping/chrome-extension-extract-iframe-table-data.json +0 -68
  1355. package/library/utility_tools-web_scraping/e-commerce-product-filter-affordable-prices.json +0 -68
  1356. package/library/utility_tools-web_scraping/online-webpage-screenshot-tool-with-download-and-save.json +0 -68
  1357. package/library/utility_tools-web_scraping/seo-analysis-tool.json +0 -68
  1358. package/library/utility_tools-web_scraping/super-lotto-scraper-and-number-generator.json +0 -68
  1359. package/library/web_applications-blogs_forums/alibaba-cloud-club-website-html-css-js.json +0 -68
  1360. package/library/web_applications-blogs_forums/blog-community-topic-circles-articles.json +0 -68
  1361. package/library/web_applications-blogs_forums/blog-recommendation-system.json +0 -68
  1362. package/library/web_applications-blogs_forums/blog-subscription-new-article-notification.json +0 -68
  1363. package/library/web_applications-blogs_forums/blog-system-vue3-koa-mongodb.json +0 -68
  1364. package/library/web_applications-blogs_forums/community-blog-platform-with-social-features.json +0 -68
  1365. package/library/web_applications-blogs_forums/grateful-to-mothers-webpage-the-only.json +0 -68
  1366. package/library/web_applications-blogs_forums/html-blog-with-social-features.json +0 -68
  1367. package/library/web_applications-blogs_forums/linux-forum-registration-posting.json +0 -68
  1368. package/library/web_applications-blogs_forums/nuxt-article-editor-with-element-plus.json +0 -68
  1369. package/library/web_applications-blogs_forums/personal-space-with-custom-profile-and-content.json +0 -68
  1370. package/library/web_applications-blogs_forums/simple-forum-html.json +0 -68
  1371. package/library/web_applications-blogs_forums/three-column-web-content-layout.json +0 -68
  1372. package/library/web_applications-blogs_forums/vue-news-briefings-search-and-display.json +0 -68
  1373. package/library/web_applications-business_website/automotive-lean-production-website.json +0 -68
  1374. package/library/web_applications-business_website/electronic-product-homepage-intro-drivers-support.json +0 -68
  1375. package/library/web_applications-communication/aesthetically-pleasing-login-page.json +0 -68
  1376. package/library/web_applications-communication/agreement-image-upload-component.json +0 -68
  1377. package/library/web_applications-communication/ai-chat-conversation-page-react-tdesign.json +0 -68
  1378. package/library/web_applications-communication/android-chat-interface-json-data.json +0 -68
  1379. package/library/web_applications-communication/animal-translator-html-software.json +0 -68
  1380. package/library/web_applications-communication/anonymous-online-voting-system.json +0 -68
  1381. package/library/web_applications-communication/blazor-server-auth-microservice-timestamp.json +0 -68
  1382. package/library/web_applications-communication/campus-lost-found-wechat-mini-program.json +0 -68
  1383. package/library/web_applications-communication/chaoshan-culture-calendar-forum-app.json +0 -68
  1384. package/library/web_applications-communication/collaborative-whiteboard-tool.json +0 -68
  1385. package/library/web_applications-communication/collapsible-sidebar-streaming-content-input-bar.json +0 -68
  1386. package/library/web_applications-communication/customer-service-chat-button-with-backend.json +0 -68
  1387. package/library/web_applications-communication/customer-service-chat-springboot-websocket-offline.json +0 -68
  1388. package/library/web_applications-communication/dormitory-room-414-official-website.json +0 -68
  1389. package/library/web_applications-communication/draggable-menu-buttons.json +0 -68
  1390. package/library/web_applications-communication/dynamic-login-form-validation-captcha.json +0 -68
  1391. package/library/web_applications-communication/gradio-dynamic-dark-mode-themes.json +0 -68
  1392. package/library/web_applications-communication/h5-java-user-login-interface.json +0 -68
  1393. package/library/web_applications-communication/h5-qr-code-chat-room.json +0 -68
  1394. package/library/web_applications-communication/hikvision-vue-realtime-monitoring-video-page.json +0 -68
  1395. package/library/web_applications-communication/homepage-appointment-booking-store-management.json +0 -68
  1396. package/library/web_applications-communication/html-javascript-real-time-chat-system.json +0 -68
  1397. package/library/web_applications-communication/html-simple-login-page.json +0 -68
  1398. package/library/web_applications-communication/html-springboot-login-registration-button.json +0 -68
  1399. package/library/web_applications-communication/html-text-to-speech-with-rich-voice-features.json +0 -68
  1400. package/library/web_applications-communication/implement-sso-page-auth-automatic-login-vue-router-vuex.json +0 -68
  1401. package/library/web_applications-communication/intelligent-email-template-generator-with-ab-testing.json +0 -68
  1402. package/library/web_applications-communication/java-wechat-chat-window-ui.json +0 -68
  1403. package/library/web_applications-communication/livekit-vue3-audio-video-conferencing.json +0 -68
  1404. package/library/web_applications-communication/login-page-image-left-responsive-layout.json +0 -68
  1405. package/library/web_applications-communication/login-registration-component-with-styling.json +0 -68
  1406. package/library/web_applications-communication/media-sharing-annotation-system.json +0 -68
  1407. package/library/web_applications-communication/mini-program-online-customer-service.json +0 -68
  1408. package/library/web_applications-communication/multi-user-online-whiteboard-tool.json +0 -68
  1409. package/library/web_applications-communication/music-listening-webpage-jay-chou-bigbang-tara-exo.json +0 -68
  1410. package/library/web_applications-communication/nodejs-chunk-file-upload-interface.json +0 -68
  1411. package/library/web_applications-communication/online-meeting-room-video-audio-chat-app.json +0 -68
  1412. package/library/web_applications-communication/online-voting-and-surveys.json +0 -68
  1413. package/library/web_applications-communication/online-whiteboard-with-realtime-sync.json +0 -68
  1414. package/library/web_applications-communication/personal-website-sharing-family-friends.json +0 -68
  1415. package/library/web_applications-communication/private-messaging-feature-forum.json +0 -68
  1416. package/library/web_applications-communication/prize-drawing-web-page.json +0 -68
  1417. package/library/web_applications-communication/product-login-page-with-multiple-options.json +0 -68
  1418. package/library/web_applications-communication/qml-wechat-work-interface.json +0 -68
  1419. package/library/web_applications-communication/react-autocomplete-text-box-implementation.json +0 -68
  1420. package/library/web_applications-communication/react-native-flashlist-chat-application.json +0 -68
  1421. package/library/web_applications-communication/react-tailwind-homepage-development.json +0 -68
  1422. package/library/web_applications-communication/real-time-captioning-mobile-app-ui-design.json +0 -68
  1423. package/library/web_applications-communication/responsive-html-webpage-with-tree-navigation.json +0 -68
  1424. package/library/web_applications-communication/robot-dialogue-stream-printing-uniapp-mini-program.json +0 -68
  1425. package/library/web_applications-communication/ros-image-display-vue-flask.json +0 -68
  1426. package/library/web_applications-communication/rust-nuxt-windows-im-client.json +0 -68
  1427. package/library/web_applications-communication/sdu-compuex-network-repair-activity-record.json +0 -68
  1428. package/library/web_applications-communication/secret-mailbox-webpage.json +0 -68
  1429. package/library/web_applications-communication/send-well-wishes-child-birth.json +0 -68
  1430. package/library/web_applications-communication/simple-forum-website-no-database.json +0 -68
  1431. package/library/web_applications-communication/social-media-feed-with-posts-likes-comments.json +0 -68
  1432. package/library/web_applications-communication/song-request-app-with-social-features.json +0 -68
  1433. package/library/web_applications-communication/tencent-yuanbao-ai-response-interface-bootstrap-v5.json +0 -68
  1434. package/library/web_applications-communication/tencent-yuanbao-ant-design-pro-chat-window.json +0 -68
  1435. package/library/web_applications-communication/uni-app-simple-browser-web-view.json +0 -68
  1436. package/library/web_applications-communication/uni-app-tencent-chat-integration.json +0 -68
  1437. package/library/web_applications-communication/uniapp-mobile-im-app-serverless.json +0 -68
  1438. package/library/web_applications-communication/uniapp-socket-io-client-webrtc-video-chat.json +0 -68
  1439. package/library/web_applications-communication/uniapp-vue3-q-a-system-architecture.json +0 -68
  1440. package/library/web_applications-communication/uniapp-wallpaper-homepage-password-logs.json +0 -68
  1441. package/library/web_applications-communication/user-live-streaming-viewing-page.json +0 -68
  1442. package/library/web_applications-communication/user-my-page-with-login-profile.json +0 -68
  1443. package/library/web_applications-communication/user-registration-chat-dynamic-modules.json +0 -68
  1444. package/library/web_applications-communication/vue-3-facial-registration-mobile-camera-background.json +0 -68
  1445. package/library/web_applications-communication/vue-3-tiktok-like-video-app.json +0 -68
  1446. package/library/web_applications-communication/vue-ai-conversation-wechat-work-login-spring-boot.json +0 -68
  1447. package/library/web_applications-communication/vue-chat-conversation-list.json +0 -68
  1448. package/library/web_applications-communication/vue-continuous-log-query-sse-output.json +0 -68
  1449. package/library/web_applications-communication/vue-deepseek-api-streaming-text-display.json +0 -68
  1450. package/library/web_applications-communication/vue-login-homepage-with-users-table.json +0 -68
  1451. package/library/web_applications-communication/vue-login-navigation-system.json +0 -68
  1452. package/library/web_applications-communication/vue-nodejs-express-mysql-xiaohongshu-webpage.json +0 -68
  1453. package/library/web_applications-communication/vue-three-section-social-website.json +0 -68
  1454. package/library/web_applications-communication/vue-wechat-chat-effect-implementation.json +0 -68
  1455. package/library/web_applications-communication/vue2-elementui-flask-file-download-interface.json +0 -68
  1456. package/library/web_applications-communication/vue2-uniapp-membership-card.json +0 -68
  1457. package/library/web_applications-communication/vue3-announcement-viewer-count-real-time-updates.json +0 -68
  1458. package/library/web_applications-communication/vue3-element-plus-wechat-chat-interface.json +0 -68
  1459. package/library/web_applications-communication/vue3-pinia-token-auth-login-module.json +0 -68
  1460. package/library/web_applications-communication/vue3-tiptap-yjs-shared-editor.json +0 -68
  1461. package/library/web_applications-communication/vue3-uni-app-chat-conversation-text-display.json +0 -68
  1462. package/library/web_applications-communication/vue3-uniapp-socketio-chat-dialogue-box.json +0 -68
  1463. package/library/web_applications-communication/web-app-login-profile-chat-pages.json +0 -68
  1464. package/library/web_applications-communication/web-chat-tool-create-join-room.json +0 -68
  1465. package/library/web_applications-communication/web-document-collaboration-editor-frontend.json +0 -68
  1466. package/library/web_applications-communication/web-message-board-code.json +0 -68
  1467. package/library/web_applications-communication/webpage-auto-assign-tasks.json +0 -68
  1468. package/library/web_applications-communication/webpage-deepseek-model-interaction.json +0 -68
  1469. package/library/web_applications-communication/webrtc-frontend-backend-springboot.json +0 -68
  1470. package/library/web_applications-communication/webrtc-frontend-player-index.json +0 -68
  1471. package/library/web_applications-communication/webrtc-sdp-exchange-example.json +0 -68
  1472. package/library/web_applications-communication/website-design-login-registration-carousel.json +0 -68
  1473. package/library/web_applications-communication/website-registration-login-music-black-green.json +0 -68
  1474. package/library/web_applications-communication/wechat-chat-window-vue3-ant-design.json +0 -68
  1475. package/library/web_applications-communication/wechat-cloud-printing-mini-program.json +0 -68
  1476. package/library/web_applications-communication/wechat-like-chat-tool-with-admin-backend.json +0 -68
  1477. package/library/web_applications-communication/wechat-mini-program-framework-profile-orders-settings.json +0 -68
  1478. package/library/web_applications-communication/wechat-mini-program-my-page-login.json +0 -68
  1479. package/library/web_applications-communication/wechat-mini-program-photo-video-management.json +0 -68
  1480. package/library/web_applications-communication/wechat-mini-program-psychological-counseling.json +0 -68
  1481. package/library/web_applications-communication/wechat-mini-program-registration-login-identity-verification.json +0 -68
  1482. package/library/web_applications-communication/wechat-mini-program-voice-form-component.json +0 -68
  1483. package/library/web_applications-communication/wechat-multi-platform-personal-center.json +0 -68
  1484. package/library/web_applications-communication/wechat-official-account-graphic-message-draft.json +0 -68
  1485. package/library/web_applications-communication/wechat-user-login-authorization-data-management.json +0 -68
  1486. package/library/web_applications-education_learning/8th-grade-english-sentence-completion-interactive-html.json +0 -68
  1487. package/library/web_applications-education_learning/academic-research-platform-frontend.json +0 -68
  1488. package/library/web_applications-education_learning/ai-teaching-assistant-educational-platform.json +0 -68
  1489. package/library/web_applications-education_learning/andrej-karpathy-minimalist-note-taking-method.json +0 -68
  1490. package/library/web_applications-education_learning/android-novel-reader-app-json-url.json +0 -68
  1491. package/library/web_applications-education_learning/anesthesia-record-form-web-code.json +0 -68
  1492. package/library/web_applications-education_learning/apple-iphone-generations-intro.json +0 -68
  1493. package/library/web_applications-education_learning/automotive-chip-industry-subdivisions-html-code.json +0 -68
  1494. package/library/web_applications-education_learning/blazor-binary-dat-file-parsing.json +0 -68
  1495. package/library/web_applications-education_learning/bootstrap-4-dynamic-table-ajax-backend.json +0 -68
  1496. package/library/web_applications-education_learning/botanical-garden-interface.json +0 -68
  1497. package/library/web_applications-education_learning/brachistochrone-curve-frontend-demonstration.json +0 -68
  1498. package/library/web_applications-education_learning/calligraphy-stroke-practice-page.json +0 -68
  1499. package/library/web_applications-education_learning/campus-technology-festival-robot-showcase-website.json +0 -68
  1500. package/library/web_applications-education_learning/chinese-chess-commentary-journey-west-style.json +0 -68
  1501. package/library/web_applications-education_learning/class-schedule-draggable-courses.json +0 -68
  1502. package/library/web_applications-education_learning/classroom-info-maintenance-interface.json +0 -68
  1503. package/library/web_applications-education_learning/classroom-random-name-calling-website.json +0 -68
  1504. package/library/web_applications-education_learning/classroom-roll-call-program-html.json +0 -68
  1505. package/library/web_applications-education_learning/classroom-seating-chart-performance-groups.json +0 -68
  1506. package/library/web_applications-education_learning/code-editor-with-live-preview.json +0 -68
  1507. package/library/web_applications-education_learning/code-preview-split-screen.json +0 -68
  1508. package/library/web_applications-education_learning/code-time-complexity-calculator.json +0 -68
  1509. package/library/web_applications-education_learning/college-entrance-examination-application-software.json +0 -68
  1510. package/library/web_applications-education_learning/conversational-vocabulary-learning-app.json +0 -68
  1511. package/library/web_applications-education_learning/creative-writing-assistance-platform.json +0 -68
  1512. package/library/web_applications-education_learning/daily-wellness-app-with-card-unlocking-interface.json +0 -68
  1513. package/library/web_applications-education_learning/dynamic-weather-forecast-website.json +0 -68
  1514. package/library/web_applications-education_learning/dynamic-web-page-oxidation-reduction-reactions.json +0 -68
  1515. package/library/web_applications-education_learning/elementary-chinese-recitation-program.json +0 -68
  1516. package/library/web_applications-education_learning/elementary-english-text-learning-coze-tool.json +0 -68
  1517. package/library/web_applications-education_learning/energy-storage-hr-information-webpage.json +0 -68
  1518. package/library/web_applications-education_learning/english-dictation-system.json +0 -68
  1519. package/library/web_applications-education_learning/english-teacher-word-wheel-web-code.json +0 -68
  1520. package/library/web_applications-education_learning/english-vocabulary-flashcards-for-memorization.json +0 -68
  1521. package/library/web_applications-education_learning/english-word-quiz-program-elementary-grades.json +0 -68
  1522. package/library/web_applications-education_learning/enterprise-digital-transformation-maturity-assessment.json +0 -68
  1523. package/library/web_applications-education_learning/exam-paper-grading-interface-auto-manual.json +0 -68
  1524. package/library/web_applications-education_learning/exam-room-arrangement-student-label-generator.json +0 -68
  1525. package/library/web_applications-education_learning/experiment-report-generator.json +0 -68
  1526. package/library/web_applications-education_learning/fifth-grade-english-vocabulary-game.json +0 -68
  1527. package/library/web_applications-education_learning/flask-vue-project-login-page-redirection-main-page.json +0 -68
  1528. package/library/web_applications-education_learning/frontend-yang-huis-triangle-binary-tree.json +0 -68
  1529. package/library/web_applications-education_learning/full-screen-calendar-webpage-date-import.json +0 -68
  1530. package/library/web_applications-education_learning/fun-english-learning-preschool-elementary-transition.json +0 -68
  1531. package/library/web_applications-education_learning/fuzhou-themed-tourism-website.json +0 -68
  1532. package/library/web_applications-education_learning/gamified-web-design-8th-grade-modern-chinese-history-knowledge.json +0 -68
  1533. package/library/web_applications-education_learning/genshin-impact-html-webpage.json +0 -68
  1534. package/library/web_applications-education_learning/high-school-english-word-memorization-system.json +0 -68
  1535. package/library/web_applications-education_learning/high-school-physics-knowledge-summary.json +0 -68
  1536. package/library/web_applications-education_learning/historical-random-roll-call-system-web.json +0 -68
  1537. package/library/web_applications-education_learning/html-chip-performance-comparison-webpage.json +0 -68
  1538. package/library/web_applications-education_learning/html-cooking-class-attendance-function.json +0 -68
  1539. package/library/web_applications-education_learning/html-css-javascript-learning-tool-live-editor.json +0 -68
  1540. package/library/web_applications-education_learning/html-demo-visualize-automotive-knowledge.json +0 -68
  1541. package/library/web_applications-education_learning/html-math-quiz-generator.json +0 -68
  1542. package/library/web_applications-education_learning/html-mbti-webpage-with-images.json +0 -68
  1543. package/library/web_applications-education_learning/html-mid-term-review-questions-industrial-revolutions-scores-rankings.json +0 -68
  1544. package/library/web_applications-education_learning/html-parse-math-formulas-marked-library.json +0 -68
  1545. package/library/web_applications-education_learning/html-webpage-gravity-falls.json +0 -68
  1546. package/library/web_applications-education_learning/html-website-configure-delta-game-weapons.json +0 -68
  1547. package/library/web_applications-education_learning/hunan-sichuan-attractions-cuisine.json +0 -68
  1548. package/library/web_applications-education_learning/interactive-audio-visual-learning-tool-sound-clips-images.json +0 -68
  1549. package/library/web_applications-education_learning/interactive-geometric-proof-system.json +0 -68
  1550. package/library/web_applications-education_learning/interactive-html-page-classroom-group-scoring.json +0 -68
  1551. package/library/web_applications-education_learning/interactive-instrument-learning-platform.json +0 -68
  1552. package/library/web_applications-education_learning/interactive-periodic-table-with-details-filtering.json +0 -68
  1553. package/library/web_applications-education_learning/interactive-prefix-sum-animation-cpp-code.json +0 -68
  1554. package/library/web_applications-education_learning/java-miniprogram-html-framework-smart-campus-social-creative-tools.json +0 -68
  1555. package/library/web_applications-education_learning/javascript-dynamic-three-level-train-menu.json +0 -68
  1556. package/library/web_applications-education_learning/javascript-tourism-app-backend-code-explanation.json +0 -68
  1557. package/library/web_applications-education_learning/javascript-website-grade-geography-questions.json +0 -68
  1558. package/library/web_applications-education_learning/learning-partner-matching-system.json +0 -68
  1559. package/library/web_applications-education_learning/lisao-webpage-dynamic-video-audio-narration.json +0 -68
  1560. package/library/web_applications-education_learning/literature-retrieval-frontend-design.json +0 -68
  1561. package/library/web_applications-education_learning/lunar-calendar-moon-phase-webpage.json +0 -68
  1562. package/library/web_applications-education_learning/major-historical-disasters-on-this-day.json +0 -68
  1563. package/library/web_applications-education_learning/material-testing-specifications-data.json +0 -68
  1564. package/library/web_applications-education_learning/math-prize-wheel-for-students.json +0 -68
  1565. package/library/web_applications-education_learning/merge-sort-visualization.json +0 -68
  1566. package/library/web_applications-education_learning/mobile-fish-recognition-webpage-tabs.json +0 -68
  1567. package/library/web_applications-education_learning/movie-information-page-with-dynamic-effects.json +0 -68
  1568. package/library/web_applications-education_learning/multilayer-perceptron-animation-explanation.json +0 -68
  1569. package/library/web_applications-education_learning/music-player-with-vuejs-and-ssm.json +0 -68
  1570. package/library/web_applications-education_learning/nodejs-webpage-amap-weather-aqi-data.json +0 -68
  1571. package/library/web_applications-education_learning/online-english-listening-practice-website.json +0 -68
  1572. package/library/web_applications-education_learning/online-handicraft-teaching-platform-frontend.json +0 -68
  1573. package/library/web_applications-education_learning/online-learning-progress-reminder-application.json +0 -68
  1574. package/library/web_applications-education_learning/online-literature-reading-annotation-platform.json +0 -68
  1575. package/library/web_applications-education_learning/online-music-theory-learning-website.json +0 -68
  1576. package/library/web_applications-education_learning/online-quiz-platform-discipline-inspection.json +0 -68
  1577. package/library/web_applications-education_learning/online-text-editor-with-code-highlighting.json +0 -68
  1578. package/library/web_applications-education_learning/party-history-quiz-module.json +0 -68
  1579. package/library/web_applications-education_learning/peer-competition-statistics-table-webpage.json +0 -68
  1580. package/library/web_applications-education_learning/periodic-table-for-middle-school-chemistry.json +0 -68
  1581. package/library/web_applications-education_learning/personalized-learning-recommendation-website-vue-django-mysql.json +0 -68
  1582. package/library/web_applications-education_learning/pomodoro-diary-system-vue-springboot-mysql.json +0 -68
  1583. package/library/web_applications-education_learning/programming-teaching-website-with-editor.json +0 -68
  1584. package/library/web_applications-education_learning/pyside6-flashcards-random-sequential-reverse-order.json +0 -68
  1585. package/library/web_applications-education_learning/qingdao-subway-map-vue2-canvas.json +0 -68
  1586. package/library/web_applications-education_learning/random-name-caller-html-webpage-apple-style.json +0 -68
  1587. package/library/web_applications-education_learning/react-jupyter-notebook-renderer.json +0 -68
  1588. package/library/web_applications-education_learning/real-time-convertible-bond-market-info-webpage.json +0 -68
  1589. package/library/web_applications-education_learning/recipe-search-system-frontend-backend-java.json +0 -68
  1590. package/library/web_applications-education_learning/runnable-laboratory-website-template.json +0 -68
  1591. package/library/web_applications-education_learning/school-network-framework-semantic-ui.json +0 -68
  1592. package/library/web_applications-education_learning/second-grade-multiplication-arithmetic-mini-program.json +0 -68
  1593. package/library/web_applications-education_learning/seventh-grade-west-asia-southeast-asia-quiz.json +0 -68
  1594. package/library/web_applications-education_learning/shaanlu-elementary-english-word-quiz.json +0 -68
  1595. package/library/web_applications-education_learning/shang-han-lun-tcm-diagnostic-app.json +0 -68
  1596. package/library/web_applications-education_learning/side-by-side-translation-comparison-reading.json +0 -68
  1597. package/library/web_applications-education_learning/spelling-flashcards-apple-cat-dog.json +0 -68
  1598. package/library/web_applications-education_learning/spring-wellness-guide-march-12-2025.json +0 -68
  1599. package/library/web_applications-education_learning/star-trail-app-wechat-mini-program.json +0 -68
  1600. package/library/web_applications-education_learning/streamlit-ocr-math-solver-app.json +0 -68
  1601. package/library/web_applications-education_learning/student-id-verification-webpage.json +0 -68
  1602. package/library/web_applications-education_learning/student-preview-assignment-with-answer-check.json +0 -68
  1603. package/library/web_applications-education_learning/student-table-display-with-gender-grouping.json +0 -68
  1604. package/library/web_applications-education_learning/student-teacher-course-selection-system.json +0 -68
  1605. package/library/web_applications-education_learning/su-shi-poems-with-traditional-chinese-style.json +0 -68
  1606. package/library/web_applications-education_learning/teaching-website-7th-grade-asia-focus.json +0 -68
  1607. package/library/web_applications-education_learning/technical-article-aggregation-platform-with-subscriptions.json +0 -68
  1608. package/library/web_applications-education_learning/to-do-list-with-learning-reminders.json +0 -68
  1609. package/library/web_applications-education_learning/traditional-intangible-cultural-heritage-webpage.json +0 -68
  1610. package/library/web_applications-education_learning/travel-guide-weather-amap-integration.json +0 -68
  1611. package/library/web_applications-education_learning/typing-training-simulator.json +0 -68
  1612. package/library/web_applications-education_learning/uniapp-mini-program-creation.json +0 -68
  1613. package/library/web_applications-education_learning/university-homepage-vue.json +0 -68
  1614. package/library/web_applications-education_learning/university-homework-assignment-mini-program.json +0 -68
  1615. package/library/web_applications-education_learning/valorant-tutorial-page-html-multimedia.json +0 -68
  1616. package/library/web_applications-education_learning/video-interactive-q-a-creation-tool.json +0 -68
  1617. package/library/web_applications-education_learning/virtual-spread-plate-experiment-webpage.json +0 -68
  1618. package/library/web_applications-education_learning/visualization-based-q-a-software-20-questions.json +0 -68
  1619. package/library/web_applications-education_learning/vocabulary-learning-app.json +0 -68
  1620. package/library/web_applications-education_learning/vocabulary-learning-webpage.json +0 -68
  1621. package/library/web_applications-education_learning/vocabulary-memorization-pep-8th-grade-english.json +0 -68
  1622. package/library/web_applications-education_learning/vocabulary-practice-app-chinese-8th-grade.json +0 -68
  1623. package/library/web_applications-education_learning/vue-3-offline-deepseek-application.json +0 -68
  1624. package/library/web_applications-education_learning/vue-3-pdf-analysis-page.json +0 -68
  1625. package/library/web_applications-education_learning/vue-3-sql-query-beautify-results.json +0 -68
  1626. package/library/web_applications-education_learning/vue-blockly-project-generation.json +0 -68
  1627. package/library/web_applications-education_learning/vue-example-for-comprehensive-understanding.json +0 -68
  1628. package/library/web_applications-education_learning/vue-mathlive-web-applications.json +0 -68
  1629. package/library/web_applications-education_learning/vue-reader-template-text-splitting-page-turning.json +0 -68
  1630. package/library/web_applications-education_learning/vue-simple-news-webpage.json +0 -68
  1631. package/library/web_applications-education_learning/vue3-sql-to-er-diagram-converter.json +0 -68
  1632. package/library/web_applications-education_learning/vue3-vant-pdf-preview-functionality.json +0 -68
  1633. package/library/web_applications-education_learning/vue3-vite-render-docx-webpage.json +0 -68
  1634. package/library/web_applications-education_learning/web-based-text-editor.json +0 -68
  1635. package/library/web_applications-education_learning/web-based-vocabulary-learning-program-with-import.json +0 -68
  1636. package/library/web_applications-education_learning/web-realtime-bus-inquiry-gaode-chelaile.json +0 -68
  1637. package/library/web_applications-education_learning/web-version-roll-call-system-css-javascript.json +0 -68
  1638. package/library/web_applications-education_learning/webpage-api-docs-function-navigation.json +0 -68
  1639. package/library/web_applications-education_learning/webpage-code-preview-editor.json +0 -68
  1640. package/library/web_applications-education_learning/webpage-display-realtime-data-specific-stocks-trading-limit.json +0 -68
  1641. package/library/web_applications-education_learning/webpage-exams-score-calculation.json +0 -68
  1642. package/library/web_applications-education_learning/webpage-for-reading-free-novels.json +0 -68
  1643. package/library/web_applications-education_learning/webpage-security-checklist-scl-to-word-converter.json +0 -68
  1644. package/library/web_applications-education_learning/wechat-login-medical-knowledge-viewer.json +0 -68
  1645. package/library/web_applications-education_learning/wechat-mini-program-intelligent-lighting-design-form.json +0 -68
  1646. package/library/web_applications-education_learning/wechat-mini-program-novel-reader.json +0 -68
  1647. package/library/web_applications-education_learning/wechat-mini-program-running-track-recorder.json +0 -68
  1648. package/library/web_applications-education_learning/word-memorization-flashcards.json +0 -68
  1649. package/library/web_applications-education_learning/zhejiang-high-school-chemistry-quiz-software.json +0 -68
  1650. package/library/web_applications-entertainment/anime-website-creation.json +0 -68
  1651. package/library/web_applications-entertainment/genshin-impact-gacha-simulation.json +0 -68
  1652. package/library/web_applications-entertainment/music-player-app-with-online-playback-and-api.json +0 -68
  1653. package/library/web_applications-entertainment/vue-3-local-music-card-layout-modern-ui.json +0 -68
  1654. package/library/web_applications-entertainment/web-based-intelligent-music-player-with-scheduled-playlists.json +0 -68
  1655. package/library/web_applications-entertainment/web-based-music-synthesizer-with-modules-and-export.json +0 -68
  1656. package/library/web_applications-entertainment_platform/movie-website-login-registration-homepage.json +0 -68
  1657. package/library/web_applications-entertainment_platform/webpage-code-for-xian-cuisine.json +0 -68
  1658. package/library/web_applications-mapping_location_services/mapbox-kml-viewer-with-tools.json +0 -68
  1659. package/library/web_applications-mapping_location_services/vue3-tianditu-address-search.json +0 -68
  1660. package/library/web_applications-online_shopping/beauty-product-samples-app.json +0 -68
  1661. package/library/web_applications-online_shopping/bootstrap-product-store-display-format.json +0 -68
  1662. package/library/web_applications-online_shopping/clothing-customization-mini-program.json +0 -68
  1663. package/library/web_applications-online_shopping/college-second-hand-trading-platform.json +0 -68
  1664. package/library/web_applications-online_shopping/create-localized-jd-website-framework.json +0 -68
  1665. package/library/web_applications-online_shopping/doce-5-in-1-payment-system-template.json +0 -68
  1666. package/library/web_applications-online_shopping/donation-webpage-creation.json +0 -68
  1667. package/library/web_applications-online_shopping/dynamic-clothing-purchases-webpage.json +0 -68
  1668. package/library/web_applications-online_shopping/e-commerce-flash-sale-interface-frontend.json +0 -68
  1669. package/library/web_applications-online_shopping/e-commerce-mini-program-homepage-info-profile.json +0 -68
  1670. package/library/web_applications-online_shopping/e-commerce-product-detail-page.json +0 -68
  1671. package/library/web_applications-online_shopping/e-commerce-product-management-system.json +0 -68
  1672. package/library/web_applications-online_shopping/e-commerce-webpage-image-text-minimalist-european.json +0 -68
  1673. package/library/web_applications-online_shopping/food-ordering-delivery-webpage.json +0 -68
  1674. package/library/web_applications-online_shopping/frontend-payment-verification-page-callback.json +0 -68
  1675. package/library/web_applications-online_shopping/green-hui-farm-store-pre-order-special.json +0 -68
  1676. package/library/web_applications-online_shopping/hotel-room-reservation-system-frontend.json +0 -68
  1677. package/library/web_applications-online_shopping/international-trade-product-website-carousel.json +0 -68
  1678. package/library/web_applications-online_shopping/jd-ecommerce-homepage-vue.json +0 -68
  1679. package/library/web_applications-online_shopping/online-food-recommendation-page.json +0 -68
  1680. package/library/web_applications-online_shopping/online-furniture-shopping-platform-with-drag-and-drop.json +0 -68
  1681. package/library/web_applications-online_shopping/online-furniture-shopping-website.json +0 -68
  1682. package/library/web_applications-online_shopping/online-second-hand-trading-platform.json +0 -68
  1683. package/library/web_applications-online_shopping/online-shoe-shopping-frontend-project.json +0 -68
  1684. package/library/web_applications-online_shopping/online-shoe-shopping-website-user-center-after-sales.json +0 -68
  1685. package/library/web_applications-online_shopping/online-shopping-platform-with-personal-recommendations.json +0 -68
  1686. package/library/web_applications-online_shopping/online-shopping-website-with-ar-and-gift-wrapping.json +0 -68
  1687. package/library/web_applications-online_shopping/online-shopping-website-with-recommendations.json +0 -68
  1688. package/library/web_applications-online_shopping/pet-store-login-registration-frontend.json +0 -68
  1689. package/library/web_applications-online_shopping/product-bundling-feature.json +0 -68
  1690. package/library/web_applications-online_shopping/product-reviews-dianping-imitation.json +0 -68
  1691. package/library/web_applications-online_shopping/react-retail-receipt-printing.json +0 -68
  1692. package/library/web_applications-online_shopping/second-hand-trading-app-page.json +0 -68
  1693. package/library/web_applications-online_shopping/shopping-app-price-aggregator-purchasing-channels.json +0 -68
  1694. package/library/web_applications-online_shopping/shopping-mall-registration-login-page.json +0 -68
  1695. package/library/web_applications-online_shopping/simple-secondhand-shopping-website.json +0 -68
  1696. package/library/web_applications-online_shopping/snack-menu-mini-program-food-delivery.json +0 -68
  1697. package/library/web_applications-online_shopping/supermarket-wechat-mini-program.json +0 -68
  1698. package/library/web_applications-online_shopping/taobao-order-list-page.json +0 -68
  1699. package/library/web_applications-online_shopping/tech-oriented-e-commerce-website.json +0 -68
  1700. package/library/web_applications-online_shopping/uniapp-jd-app-four-pages.json +0 -68
  1701. package/library/web_applications-online_shopping/uniapp-vue3-jd-product-filter-list.json +0 -68
  1702. package/library/web_applications-online_shopping/visual-agriculture-ecommerce-mini-program.json +0 -68
  1703. package/library/web_applications-online_shopping/vue-bootstrap-secondhand-shopping-website.json +0 -68
  1704. package/library/web_applications-online_shopping/vue2-smart-agriculture-personal-page.json +0 -68
  1705. package/library/web_applications-online_shopping/vue2-spring-boot-web-app-homepage-orders-personal-center.json +0 -68
  1706. package/library/web_applications-online_shopping/vue2-springboot-mysql-e-commerce-system.json +0 -68
  1707. package/library/web_applications-online_shopping/web-based-express-delivery-tracker.json +0 -68
  1708. package/library/web_applications-online_shopping/web-novel-reading-project-vue-pages.json +0 -68
  1709. package/library/web_applications-online_shopping/wechat-delivery-platform-sf-express-integration.json +0 -68
  1710. package/library/web_applications-online_shopping/wechat-mall-app-rewards-delivery-frontend-backend.json +0 -68
  1711. package/library/web_applications-online_shopping/wechat-menu-ordering-mini-program.json +0 -68
  1712. package/library/web_applications-online_shopping/wechat-mini-program-campus-second-hand-trading.json +0 -68
  1713. package/library/web_applications-online_shopping/wechat-mini-program-family-water-card.json +0 -68
  1714. package/library/web_applications-online_shopping/wechat-mini-program-fast-food-ordering-system.json +0 -68
  1715. package/library/web_applications-online_shopping/wechat-mini-program-hotel-booking-page.json +0 -68
  1716. package/library/web_applications-online_shopping/wechat-mini-program-local-tour-waterfall.json +0 -68
  1717. package/library/web_applications-online_shopping/wechat-mini-program-online-shopping.json +0 -68
  1718. package/library/web_applications-online_shopping/wechat-mini-program-price-comparison-shopping.json +0 -68
  1719. package/library/web_applications-online_shopping/wechat-mini-program-restaurant-homepage.json +0 -68
  1720. package/library/web_applications-online_shopping/wechat-mini-program-shawls-fur-products.json +0 -68
  1721. package/library/web_applications-online_shopping/wechat-mini-program-shopping-features.json +0 -68
  1722. package/library/web_applications-online_shopping/wechat-mini-program-store-orders.json +0 -68
  1723. package/library/web_applications-online_shopping/wechat-selling-clothes-mini-program.json +0 -68
  1724. package/library/web_applications-online_shopping/wholesale-retail-condiments-seasonings-product-showcase.json +0 -68
  1725. package/library/web_applications-other/create-capsule-page-with-editor.json +0 -68
  1726. package/library/web_applications-other/mini-program-self-service-car-washing.json +0 -68
  1727. package/library/web_applications-other/real-estate-vr-showcase.json +0 -68
  1728. package/library/web_applications-other/vue-spring-movie-seat-selection.json +0 -68
  1729. package/library/web_applications-other/web-30-minute-countdown-timer.json +0 -68
  1730. package/library/web_applications-other/wechat-mini-program-self-service-car-wash.json +0 -68
  1731. package/library/web_applications-web_visuals/3d-map-amap-vue3-custom-building-blocks-mvt-polyhedrons.json +0 -68
  1732. package/library/web_applications-web_visuals/ai-park-innovation-platform.json +0 -68
  1733. package/library/web_applications-web_visuals/alarm-data-overview-module.json +0 -68
  1734. package/library/web_applications-web_visuals/birthday-card-with-oldies-music.json +0 -68
  1735. package/library/web_applications-web_visuals/create-bouncing-heart-dev-code.json +0 -68
  1736. package/library/web_applications-web_visuals/create-nicegui-marquee-text-scrolling-effect.json +0 -68
  1737. package/library/web_applications-web_visuals/css-visual-effects-spring-theme.json +0 -68
  1738. package/library/web_applications-web_visuals/customizable-rectangles-with-embedded-panel.json +0 -68
  1739. package/library/web_applications-web_visuals/display-videos-from-local-folder-on-web-page.json +0 -68
  1740. package/library/web_applications-web_visuals/dotnet-6-website-baidu-map-location-markers.json +0 -68
  1741. package/library/web_applications-web_visuals/draggable-nodes-to-forms-using-vue-flow.json +0 -68
  1742. package/library/web_applications-web_visuals/electronic-map-mark-points-insert-photos.json +0 -68
  1743. package/library/web_applications-web_visuals/elementui-navigation-page-custom-layout.json +0 -68
  1744. package/library/web_applications-web_visuals/engineering-graphics-3d-visualization-vue-element-plus-interface.json +0 -68
  1745. package/library/web_applications-web_visuals/face-swapping-frontend-interface.json +0 -68
  1746. package/library/web_applications-web_visuals/font-awesome-icon-preview-webpage.json +0 -68
  1747. package/library/web_applications-web_visuals/frontend-online-preview-file-streams-vue2.json +0 -68
  1748. package/library/web_applications-web_visuals/frontend-rotating-ppt-charts-program.json +0 -68
  1749. package/library/web_applications-web_visuals/gridstackjs-vue3-designer.json +0 -68
  1750. package/library/web_applications-web_visuals/h5-panoramic-vr-effect-code.json +0 -68
  1751. package/library/web_applications-web_visuals/homepage-spinning-animation-loading-popup.json +0 -68
  1752. package/library/web_applications-web_visuals/horror-game-official-website-html.json +0 -68
  1753. package/library/web_applications-web_visuals/html-3d-street-view-renderer.json +0 -68
  1754. package/library/web_applications-web_visuals/html-button-new-page-esp32-arduino.json +0 -68
  1755. package/library/web_applications-web_visuals/html-code-minecraft-theme.json +0 -68
  1756. package/library/web_applications-web_visuals/html-display-local-media.json +0 -68
  1757. package/library/web_applications-web_visuals/html-iphone-image-video-viewer-interface.json +0 -68
  1758. package/library/web_applications-web_visuals/html-upload-image-analyze-results.json +0 -68
  1759. package/library/web_applications-web_visuals/html-webpage-mp3-wav-playlist-playback.json +0 -68
  1760. package/library/web_applications-web_visuals/implement-curve-drawing-ol-js.json +0 -68
  1761. package/library/web_applications-web_visuals/implement-windows-like-multi-window-html.json +0 -68
  1762. package/library/web_applications-web_visuals/integrate-mapbox-gl-in-react.json +0 -68
  1763. package/library/web_applications-web_visuals/interstellar-black-hole-html-drawing.json +0 -68
  1764. package/library/web_applications-web_visuals/javascript-showcase-artwork-dynamic-webpages.json +0 -68
  1765. package/library/web_applications-web_visuals/jquery-floating-text-website.json +0 -68
  1766. package/library/web_applications-web_visuals/mobile-wallpaper-webpage.json +0 -68
  1767. package/library/web_applications-web_visuals/nested-webpage-clickable-expandable-sections.json +0 -68
  1768. package/library/web_applications-web_visuals/new-year-wishes-program-interface.json +0 -68
  1769. package/library/web_applications-web_visuals/nezha-character-description-css-preprocessing.json +0 -68
  1770. package/library/web_applications-web_visuals/nezha-sea-dragon-anime-style.json +0 -68
  1771. package/library/web_applications-web_visuals/online-editable-menu-image-exporter.json +0 -68
  1772. package/library/web_applications-web_visuals/online-network-topology-editor-antv-g6.json +0 -68
  1773. package/library/web_applications-web_visuals/panoramic-photo-project-vue3-threejs.json +0 -68
  1774. package/library/web_applications-web_visuals/prize-drawing-webpage-with-admin-panel.json +0 -68
  1775. package/library/web_applications-web_visuals/python-semantic-ui-webpage-creation.json +0 -68
  1776. package/library/web_applications-web_visuals/react-ant-design-text-flipping-function.json +0 -68
  1777. package/library/web_applications-web_visuals/react-antd-windows-desktop-menu-design.json +0 -68
  1778. package/library/web_applications-web_visuals/react-single-page-application-development.json +0 -68
  1779. package/library/web_applications-web_visuals/rural-courtyard-six-bedrooms-html-design.json +0 -68
  1780. package/library/web_applications-web_visuals/traffic-light-web-interface.json +0 -68
  1781. package/library/web_applications-web_visuals/unity-cloud-rendering-html-interaction.json +0 -68
  1782. package/library/web_applications-web_visuals/vue-3-amap-autonavi-3d-map-building-blocks.json +0 -68
  1783. package/library/web_applications-web_visuals/vue-3-canvas-2.5d-effect-button-click.json +0 -68
  1784. package/library/web_applications-web_visuals/vue-amap-realtime-location-monitor.json +0 -68
  1785. package/library/web_applications-web_visuals/vue2-offline-map-cesium-zhengzhou.json +0 -68
  1786. package/library/web_applications-web_visuals/vue3-cabinet-topology-diagram-demo.json +0 -68
  1787. package/library/web_applications-web_visuals/vue3-categorized-video-platform-with-upload.json +0 -68
  1788. package/library/web_applications-web_visuals/vue3-creating-openlayers.json +0 -68
  1789. package/library/web_applications-web_visuals/vue3-element-ui-weather-app.json +0 -68
  1790. package/library/web_applications-web_visuals/vue3-openlayers-gcj02-tile-coordinate-display.json +0 -68
  1791. package/library/web_applications-web_visuals/vue3-vite-gis-2d-3d-layers.json +0 -68
  1792. package/library/web_applications-web_visuals/vue3-webgis-overlay-bar-charts-offline-maps.json +0 -68
  1793. package/library/web_applications-web_visuals/web-album-case-javascript-implementation.json +0 -68
  1794. package/library/web_applications-web_visuals/web-editor-for-tombstone-design.json +0 -68
  1795. package/library/web_applications-web_visuals/web-scraping-video-website-with-pagination.json +0 -68
  1796. package/library/web_applications-web_visuals/webpage-chick-overalls-playing-basketball.json +0 -68
  1797. package/library/web_applications-web_visuals/webpage-dancing-dog.json +0 -68
  1798. package/library/web_applications-web_visuals/webpage-lets-farm-variety-show-html.json +0 -68
  1799. package/library/web_applications-web_visuals/webpage-tree-growing-animation.json +0 -68
  1800. package/library/web_applications-web_visuals/webpage-white-cat-playing-ping-pong.json +0 -68
  1801. package/library/web_applications-web_visuals/wechat-mini-program-image-functionality.json +0 -68
  1802. package/library/web_applications-web_visuals/xiaohongshu-style-html-image-code-for-screenshots.json +0 -68
  1803. package/src/cli.ts +0 -81
  1804. package/src/prompt.ts +0 -128
package/dist/cli.js ADDED
@@ -0,0 +1,2598 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/cli.ts
4
+ import { CommanderError } from "commander";
5
+
6
+ // src/cli-program.ts
7
+ import { Command } from "commander";
8
+
9
+ // src/config.ts
10
+ import { access, stat } from "fs/promises";
11
+ import { resolve as resolve2 } from "path";
12
+
13
+ // src/sandbox/mounts.ts
14
+ import { realpathSync, statSync } from "fs";
15
+ import { posix, resolve } from "path";
16
+
17
+ // src/utils/errors.ts
18
+ var CliError = class extends Error {
19
+ constructor(message, exitCode = 1) {
20
+ super(message);
21
+ this.exitCode = exitCode;
22
+ this.name = "CliError";
23
+ }
24
+ exitCode;
25
+ };
26
+ function getErrorMessage(error) {
27
+ if (error instanceof Error) {
28
+ return error.message;
29
+ }
30
+ return String(error);
31
+ }
32
+
33
+ // src/sandbox/mounts.ts
34
+ var SANDBOX_WORKSPACE_PATH = "/workspace";
35
+ function pathsOverlap(left, right) {
36
+ return left === right || left.startsWith(`${right}/`) || right.startsWith(`${left}/`);
37
+ }
38
+ function validateMountPoint(mountPoint) {
39
+ if (!posix.isAbsolute(mountPoint) || mountPoint === "/" || mountPoint.includes("\\") || mountPoint.includes("\0") || posix.normalize(mountPoint) !== mountPoint) {
40
+ throw new CliError(
41
+ `Mount point must be a normalized absolute sandbox path other than /: ${mountPoint}`
42
+ );
43
+ }
44
+ if (pathsOverlap(mountPoint, SANDBOX_WORKSPACE_PATH)) {
45
+ throw new CliError(`Mount point must be outside ${SANDBOX_WORKSPACE_PATH}: ${mountPoint}`);
46
+ }
47
+ }
48
+ function validateSandboxMounts(mounts) {
49
+ const validated = [];
50
+ for (const mount of mounts) {
51
+ validateMountPoint(mount.mountPoint);
52
+ let hostPath;
53
+ try {
54
+ hostPath = realpathSync(resolve(mount.hostPath));
55
+ if (!statSync(hostPath).isDirectory()) {
56
+ throw new Error("not a directory");
57
+ }
58
+ } catch {
59
+ throw new CliError(
60
+ `Mount source does not exist or is not a directory: ${resolve(mount.hostPath)}`
61
+ );
62
+ }
63
+ const conflict = validated.find(
64
+ (candidate) => pathsOverlap(candidate.mountPoint, mount.mountPoint)
65
+ );
66
+ if (conflict) {
67
+ throw new CliError(
68
+ `Mount points must not overlap: ${conflict.mountPoint} and ${mount.mountPoint}`
69
+ );
70
+ }
71
+ validated.push({ hostPath, mountPoint: mount.mountPoint });
72
+ }
73
+ return validated;
74
+ }
75
+ function parseSandboxMounts(specs = []) {
76
+ const mounts = specs.map((spec) => {
77
+ const separator = spec.lastIndexOf(":");
78
+ if (separator <= 0 || separator === spec.length - 1) {
79
+ throw new CliError(
80
+ `Invalid mount ${JSON.stringify(spec)}. Expected <host-path>:<sandbox-path>`
81
+ );
82
+ }
83
+ return {
84
+ hostPath: spec.slice(0, separator),
85
+ mountPoint: spec.slice(separator + 1)
86
+ };
87
+ });
88
+ return validateSandboxMounts(mounts);
89
+ }
90
+
91
+ // src/config.ts
92
+ var DEFAULT_PROVIDER = "openai";
93
+ var DEFAULT_MODEL = "gpt-5.6";
94
+ var DEFAULT_MAX_STEPS = 20;
95
+ var DEFAULT_COMMAND_TIMEOUT_MS = 3e4;
96
+ var DEFAULT_MAX_OUTPUT_BYTES = 65536;
97
+ var DEFAULT_EXECUTOR = "none";
98
+ function parseNumber(name, value, fallback) {
99
+ if (value === void 0 || value === "") {
100
+ return fallback;
101
+ }
102
+ const parsed = typeof value === "number" ? value : Number.parseInt(value, 10);
103
+ if (!Number.isFinite(parsed) || parsed < 0) {
104
+ throw new CliError(`${name} must be a non-negative integer`);
105
+ }
106
+ return Math.floor(parsed);
107
+ }
108
+ function clamp(value, min, max) {
109
+ return Math.min(max, Math.max(min, value));
110
+ }
111
+ function parseExecutor(value) {
112
+ const executor = value ?? DEFAULT_EXECUTOR;
113
+ if (executor !== "none" && executor !== "local" && executor !== "daytona") {
114
+ throw new CliError(`Unsupported executor: ${executor}. Expected one of: none, local, daytona`);
115
+ }
116
+ return executor;
117
+ }
118
+ async function resolveRunConfig(input = {}, env = process.env) {
119
+ const cwd = resolve2(input.cwd ?? env.OLLIE_CWD ?? process.cwd());
120
+ const stats = await stat(cwd).catch(() => null);
121
+ if (!stats?.isDirectory()) {
122
+ throw new CliError(`Working directory does not exist or is not a directory: ${cwd}`);
123
+ }
124
+ await access(cwd);
125
+ const executor = parseExecutor(input.executor ?? env.OLLIE_EXECUTOR);
126
+ return {
127
+ cwd,
128
+ mounts: parseSandboxMounts(input.mount),
129
+ provider: input.provider ?? env.OLLIE_PROVIDER ?? DEFAULT_PROVIDER,
130
+ model: input.model ?? env.OLLIE_MODEL ?? DEFAULT_MODEL,
131
+ executor,
132
+ maxSteps: clamp(
133
+ parseNumber("max steps", input.maxSteps ?? env.OLLIE_MAX_STEPS, DEFAULT_MAX_STEPS),
134
+ 1,
135
+ 100
136
+ ),
137
+ commandTimeoutMs: clamp(
138
+ parseNumber(
139
+ "command timeout",
140
+ input.timeout ?? env.OLLIE_COMMAND_TIMEOUT_MS,
141
+ DEFAULT_COMMAND_TIMEOUT_MS
142
+ ),
143
+ 1,
144
+ 3e5
145
+ ),
146
+ maxOutputBytes: clamp(
147
+ parseNumber(
148
+ "max output",
149
+ input.maxOutput ?? env.OLLIE_MAX_OUTPUT_BYTES,
150
+ DEFAULT_MAX_OUTPUT_BYTES
151
+ ),
152
+ 1,
153
+ 2e6
154
+ ),
155
+ ndjson: input.ndjson ?? false,
156
+ json: input.json ?? false,
157
+ color: input.color ?? !env.NO_COLOR
158
+ };
159
+ }
160
+
161
+ // src/doctor.ts
162
+ import { access as access2, stat as stat2 } from "fs/promises";
163
+
164
+ // src/sandbox/just-bash.ts
165
+ import { realpathSync as realpathSync2, statSync as statSync2 } from "fs";
166
+ import { Bash, InMemoryFs, MountableFs, ReadWriteFs } from "just-bash";
167
+
168
+ // src/sandbox/git/index.ts
169
+ import { posix as posix3 } from "path";
170
+ import { createTwoFilesPatch } from "diff";
171
+ import * as git from "isomorphic-git";
172
+ import { defineCommand } from "just-bash";
173
+
174
+ // src/sandbox/git/fs-adapter.ts
175
+ import { posix as posix2 } from "path";
176
+ var ROOT = "/workspace";
177
+ function safePath(path) {
178
+ if (path.includes("\0") || path.includes("\\")) {
179
+ throw Object.assign(new Error("Invalid virtual Git path"), { code: "EINVAL" });
180
+ }
181
+ const normalized = posix2.resolve(path);
182
+ if (normalized !== ROOT && !normalized.startsWith(`${ROOT}/`)) {
183
+ throw Object.assign(new Error("Git path is outside /workspace"), { code: "EACCES" });
184
+ }
185
+ return normalized;
186
+ }
187
+ function normalizeError(error) {
188
+ if (error instanceof Error) {
189
+ const coded = error;
190
+ if (!coded.code) {
191
+ if (/not found|does not exist|enoent/i.test(error.message)) coded.code = "ENOENT";
192
+ else if (/exist/i.test(error.message)) coded.code = "EEXIST";
193
+ else if (/directory/i.test(error.message)) coded.code = "ENOTDIR";
194
+ else coded.code = "EIO";
195
+ }
196
+ throw coded;
197
+ }
198
+ throw Object.assign(new Error("Virtual filesystem operation failed"), { code: "EIO" });
199
+ }
200
+ async function ensureParent(fs, path) {
201
+ const parent = posix2.dirname(path);
202
+ if (!await fs.exists(parent)) await fs.mkdir(parent, { recursive: true });
203
+ }
204
+ function statShape(stat4) {
205
+ const typeMode = stat4.isDirectory ? 16384 : stat4.isSymbolicLink ? 40960 : 32768;
206
+ const mode = typeMode | stat4.mode & 4095;
207
+ return {
208
+ isFile: () => stat4.isFile,
209
+ isDirectory: () => stat4.isDirectory,
210
+ isSymbolicLink: () => stat4.isSymbolicLink,
211
+ mode,
212
+ size: stat4.size,
213
+ mtime: stat4.mtime,
214
+ mtimeMs: stat4.mtime.getTime(),
215
+ ctimeMs: stat4.mtime.getTime(),
216
+ ino: 0,
217
+ uid: 0,
218
+ gid: 0,
219
+ dev: 0
220
+ };
221
+ }
222
+ function createGitFs(fs) {
223
+ const promises = {
224
+ async readFile(path, options) {
225
+ try {
226
+ const virtualPath2 = safePath(path);
227
+ const encoding = typeof options === "string" ? options : options?.encoding;
228
+ return encoding ? fs.readFile(virtualPath2, "utf8") : fs.readFileBuffer(virtualPath2);
229
+ } catch (error) {
230
+ normalizeError(error);
231
+ }
232
+ },
233
+ async writeFile(path, data) {
234
+ try {
235
+ const virtualPath2 = safePath(path);
236
+ await ensureParent(fs, virtualPath2);
237
+ await fs.writeFile(virtualPath2, data);
238
+ } catch (error) {
239
+ normalizeError(error);
240
+ }
241
+ },
242
+ async unlink(path) {
243
+ try {
244
+ await fs.rm(safePath(path));
245
+ } catch (error) {
246
+ normalizeError(error);
247
+ }
248
+ },
249
+ async readdir(path) {
250
+ try {
251
+ return await fs.readdir(safePath(path));
252
+ } catch (error) {
253
+ normalizeError(error);
254
+ }
255
+ },
256
+ async mkdir(path) {
257
+ try {
258
+ await fs.mkdir(safePath(path), { recursive: true });
259
+ } catch (error) {
260
+ normalizeError(error);
261
+ }
262
+ },
263
+ async rmdir(path) {
264
+ try {
265
+ await fs.rm(safePath(path));
266
+ } catch (error) {
267
+ normalizeError(error);
268
+ }
269
+ },
270
+ async rename(from, to) {
271
+ try {
272
+ await ensureParent(fs, safePath(to));
273
+ await fs.mv(safePath(from), safePath(to));
274
+ } catch (error) {
275
+ normalizeError(error);
276
+ }
277
+ },
278
+ async stat(path) {
279
+ try {
280
+ return statShape(await fs.stat(safePath(path)));
281
+ } catch (error) {
282
+ normalizeError(error);
283
+ }
284
+ },
285
+ async lstat(path) {
286
+ try {
287
+ return statShape(await fs.lstat(safePath(path)));
288
+ } catch (error) {
289
+ normalizeError(error);
290
+ }
291
+ },
292
+ async readlink(path) {
293
+ try {
294
+ return await fs.readlink(safePath(path));
295
+ } catch (error) {
296
+ normalizeError(error);
297
+ }
298
+ },
299
+ async symlink(target, path) {
300
+ try {
301
+ await fs.symlink(target, safePath(path));
302
+ } catch (error) {
303
+ normalizeError(error);
304
+ }
305
+ },
306
+ async chmod(path, mode) {
307
+ try {
308
+ await fs.chmod(safePath(path), mode);
309
+ } catch (error) {
310
+ normalizeError(error);
311
+ }
312
+ },
313
+ async utimes(path, atime, mtime) {
314
+ try {
315
+ await fs.utimes(safePath(path), atime, mtime);
316
+ } catch (error) {
317
+ normalizeError(error);
318
+ }
319
+ }
320
+ };
321
+ return { promises };
322
+ }
323
+
324
+ // src/sandbox/git/http-adapter.ts
325
+ function isPrivateLiteralHost(hostname) {
326
+ const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
327
+ if (host === "localhost" || host.endsWith(".localhost") || host === "::1") return true;
328
+ const octets = host.split(".").map(Number);
329
+ if (octets.length !== 4 || octets.some((octet) => !Number.isInteger(octet))) return false;
330
+ return octets[0] === 10 || octets[0] === 127 || octets[0] === 169 && octets[1] === 254 || octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31 || octets[0] === 192 && octets[1] === 168;
331
+ }
332
+ function validateRemoteUrl(value) {
333
+ let url;
334
+ try {
335
+ url = new URL(value);
336
+ } catch {
337
+ throw new Error("Only absolute HTTPS remote URLs are supported");
338
+ }
339
+ if (url.protocol !== "https:") throw new Error("Only HTTPS remote URLs are supported");
340
+ if (url.username || url.password) throw new Error("Remote URLs must not contain credentials");
341
+ if (url.hash) throw new Error("Remote URLs must not contain fragments");
342
+ if (isPrivateLiteralHost(url.hostname)) {
343
+ throw new Error("Remote URLs must not target local or private hosts");
344
+ }
345
+ return url.toString();
346
+ }
347
+ async function collectBody(body, signal) {
348
+ if (!body) return new Uint8Array();
349
+ const chunks = [];
350
+ let size = 0;
351
+ for await (const chunk of body) {
352
+ if (signal?.aborted) throw new Error("Git operation was aborted");
353
+ chunks.push(chunk);
354
+ size += chunk.byteLength;
355
+ }
356
+ const result = new Uint8Array(size);
357
+ let offset = 0;
358
+ for (const chunk of chunks) {
359
+ result.set(chunk, offset);
360
+ offset += chunk.byteLength;
361
+ }
362
+ return result;
363
+ }
364
+ async function* oneChunk(body) {
365
+ yield body;
366
+ }
367
+ function createGitHttp(ctx) {
368
+ return {
369
+ async request(request) {
370
+ if (!ctx.fetch) throw new Error("Network access is not configured for this sandbox");
371
+ if (ctx.signal?.aborted) throw new Error("Git operation was aborted");
372
+ const url = validateRemoteUrl(request.url);
373
+ const bytes = await collectBody(request.body, ctx.signal);
374
+ const response = await ctx.fetch(url, {
375
+ method: request.method ?? "GET",
376
+ headers: request.headers,
377
+ // SecureFetch forwards BodyInit values unchanged, but its public type is narrower.
378
+ body: bytes.length > 0 ? bytes : void 0,
379
+ followRedirects: true
380
+ });
381
+ if (ctx.signal?.aborted) throw new Error("Git operation was aborted");
382
+ const finalUrl = validateRemoteUrl(response.url);
383
+ return {
384
+ url: finalUrl,
385
+ method: request.method,
386
+ headers: response.headers,
387
+ body: oneChunk(response.body),
388
+ statusCode: response.status,
389
+ statusMessage: response.statusText
390
+ };
391
+ }
392
+ };
393
+ }
394
+
395
+ // src/sandbox/git/index.ts
396
+ var WORKSPACE = "/workspace";
397
+ var VERSION = "ollie-git/0.1 (isomorphic-git)";
398
+ var COMMANDS = [
399
+ "init",
400
+ "clone",
401
+ "status",
402
+ "add",
403
+ "commit",
404
+ "log",
405
+ "diff",
406
+ "branch",
407
+ "checkout",
408
+ "remote",
409
+ "config",
410
+ "fetch",
411
+ "pull",
412
+ "push"
413
+ ];
414
+ var UsageError = class extends Error {
415
+ };
416
+ function ok(stdout = "") {
417
+ return { stdout, stderr: "", exitCode: 0 };
418
+ }
419
+ function usage(message) {
420
+ throw new UsageError(message ?? "unsupported arguments");
421
+ }
422
+ function assertNotAborted(ctx) {
423
+ if (ctx.signal?.aborted) throw new Error("operation aborted");
424
+ }
425
+ function virtualPath(ctx, input = ".") {
426
+ if (input.includes("\0") || input.includes("\\")) throw new Error("invalid path");
427
+ const resolved = ctx.fs.resolvePath(ctx.cwd, input);
428
+ if (resolved !== WORKSPACE && !resolved.startsWith(`${WORKSPACE}/`)) {
429
+ throw new Error("path is outside /workspace");
430
+ }
431
+ return resolved;
432
+ }
433
+ async function repositoryDir(ctx) {
434
+ let current = virtualPath(ctx);
435
+ while (current === WORKSPACE || current.startsWith(`${WORKSPACE}/`)) {
436
+ if (await ctx.fs.exists(posix3.join(current, ".git"))) return current;
437
+ if (current === WORKSPACE) break;
438
+ current = posix3.dirname(current);
439
+ }
440
+ throw new Error("not a git repository (or any parent up to /workspace)");
441
+ }
442
+ function optionValue(args, names) {
443
+ let value;
444
+ const rest = [];
445
+ for (let index = 0; index < args.length; index++) {
446
+ const arg = args[index];
447
+ if (arg && names.includes(arg)) {
448
+ const next = args[++index];
449
+ if (!next) usage(`${arg} requires a value`);
450
+ value = next;
451
+ } else if (arg && names.some((name) => arg.startsWith(`${name}=`))) {
452
+ value = arg.slice(arg.indexOf("=") + 1);
453
+ } else if (arg) rest.push(arg);
454
+ }
455
+ return { value, rest };
456
+ }
457
+ function flag(args, names) {
458
+ let enabled = false;
459
+ const rest = args.filter((arg) => {
460
+ if (names.includes(arg)) {
461
+ enabled = true;
462
+ return false;
463
+ }
464
+ return true;
465
+ });
466
+ return { enabled, rest };
467
+ }
468
+ function rejectOptions(args) {
469
+ const unknown = args.find((arg) => arg.startsWith("-"));
470
+ if (unknown) usage(`unsupported option '${unknown}'`);
471
+ }
472
+ function positiveInteger(value, option) {
473
+ if (value === void 0) return void 0;
474
+ const parsed = Number(value);
475
+ if (!Number.isSafeInteger(parsed) || parsed <= 0) usage(`${option} requires a positive integer`);
476
+ return parsed;
477
+ }
478
+ function authFor(context, url) {
479
+ if (!url || !context.options.resolveAuth) return void 0;
480
+ return async () => context.options.resolveAuth?.(url);
481
+ }
482
+ async function remoteUrl(context, dir, remote) {
483
+ const value = await git.getConfig({ fs: context.fs, dir, path: `remote.${remote}.url` });
484
+ if (!value) throw new Error(`remote '${remote}' has no URL`);
485
+ return validateRemoteUrl(value);
486
+ }
487
+ var GLOBAL_CONFIG_PATH = "/home/user/.gitconfig";
488
+ async function readGlobalConfig(ctx) {
489
+ if (!await ctx.fs.exists(GLOBAL_CONFIG_PATH)) return /* @__PURE__ */ new Map();
490
+ const values = /* @__PURE__ */ new Map();
491
+ let section = "";
492
+ for (const rawLine of (await ctx.fs.readFile(GLOBAL_CONFIG_PATH)).split("\n")) {
493
+ const line = rawLine.trim();
494
+ const sectionMatch = /^\[([^\]]+)\]$/.exec(line);
495
+ if (sectionMatch?.[1]) {
496
+ section = sectionMatch[1].trim().toLowerCase();
497
+ continue;
498
+ }
499
+ const valueMatch = /^([^=]+)=(.*)$/.exec(line);
500
+ if (section && valueMatch?.[1] !== void 0 && valueMatch[2] !== void 0) {
501
+ values.set(`${section}.${valueMatch[1].trim().toLowerCase()}`, valueMatch[2].trim());
502
+ }
503
+ }
504
+ return values;
505
+ }
506
+ async function writeGlobalConfig(ctx, values) {
507
+ const sections = /* @__PURE__ */ new Map();
508
+ for (const [path, value] of [...values].sort(([left], [right]) => left.localeCompare(right))) {
509
+ const separator = path.indexOf(".");
510
+ if (separator < 1) usage("config key must contain a section");
511
+ const section = path.slice(0, separator);
512
+ const name = path.slice(separator + 1);
513
+ const entries = sections.get(section) ?? [];
514
+ entries.push([name, value]);
515
+ sections.set(section, entries);
516
+ }
517
+ const content = [...sections].map(
518
+ ([section, entries]) => `[${section}]
519
+ ${entries.map(([key, value]) => ` ${key} = ${value}`).join("\n")}`
520
+ ).join("\n");
521
+ await ctx.fs.mkdir(posix3.dirname(GLOBAL_CONFIG_PATH), { recursive: true });
522
+ await ctx.fs.writeFile(GLOBAL_CONFIG_PATH, content ? `${content}
523
+ ` : "");
524
+ }
525
+ async function handleInit(context, args) {
526
+ const branchOpt = optionValue(args, ["-b", "--initial-branch"]);
527
+ rejectOptions(branchOpt.rest);
528
+ if (branchOpt.rest.length > 1) usage("git init accepts at most one directory");
529
+ const dir = virtualPath(context.command, branchOpt.rest[0]);
530
+ await context.command.fs.mkdir(dir, { recursive: true }).catch(async () => {
531
+ if (!await context.command.fs.exists(dir))
532
+ throw new Error("cannot create repository directory");
533
+ });
534
+ await git.init({ fs: context.fs, dir, defaultBranch: branchOpt.value ?? "main" });
535
+ return ok(`Initialized empty Git repository in ${posix3.join(dir, ".git")}/
536
+ `);
537
+ }
538
+ async function handleStatus(context, args) {
539
+ const shortFlag = flag(args, ["-s", "--short", "--porcelain"]);
540
+ rejectOptions(shortFlag.rest);
541
+ if (shortFlag.rest.length) usage();
542
+ const dir = await repositoryDir(context.command);
543
+ const matrix = await git.statusMatrix({ fs: context.fs, dir });
544
+ const lines = matrix.filter(([, head, workdir, stage]) => head !== workdir || workdir !== stage).map(([path, head, workdir, stage]) => {
545
+ let x = " ";
546
+ let y = " ";
547
+ if (head === 0 && stage !== 0) x = "A";
548
+ else if (head !== stage) x = stage === 0 ? "D" : "M";
549
+ if (workdir !== stage) y = workdir === 0 ? "D" : "M";
550
+ if (head === 0 && stage === 0 && workdir !== 0) return `?? ${path}`;
551
+ return `${x}${y} ${path}`;
552
+ });
553
+ if (shortFlag.enabled) return ok(lines.length ? `${lines.join("\n")}
554
+ ` : "");
555
+ const branch2 = await git.currentBranch({ fs: context.fs, dir }) ?? "HEAD detached";
556
+ return ok(
557
+ `On branch ${branch2}
558
+ ${lines.length ? `${lines.join("\n")}
559
+ ` : "nothing to commit, working tree clean\n"}`
560
+ );
561
+ }
562
+ async function handleAdd(context, args) {
563
+ const separator = args.indexOf("--");
564
+ const optionArgs = separator < 0 ? args : args.slice(0, separator);
565
+ const literalPaths = separator < 0 ? [] : args.slice(separator + 1);
566
+ const allFlag = flag(optionArgs, ["-A", "--all"]);
567
+ rejectOptions(allFlag.rest);
568
+ const paths = [...allFlag.rest, ...literalPaths];
569
+ if (!allFlag.enabled && paths.length === 0) usage("nothing specified");
570
+ const dir = await repositoryDir(context.command);
571
+ const all = allFlag.enabled || paths.includes(".");
572
+ if (all) {
573
+ const matrix = await git.statusMatrix({ fs: context.fs, dir });
574
+ for (const [filepath, , workdir, stage] of matrix) {
575
+ assertNotAborted(context.command);
576
+ if (workdir === stage) continue;
577
+ if (workdir === 0) await git.remove({ fs: context.fs, dir, filepath });
578
+ else await git.add({ fs: context.fs, dir, filepath });
579
+ }
580
+ } else {
581
+ for (const filepath of paths) {
582
+ if (filepath.startsWith("/") || filepath.split("/").some((segment) => segment === ".." || segment === ".git"))
583
+ throw new Error("invalid pathspec");
584
+ await git.add({ fs: context.fs, dir, filepath });
585
+ }
586
+ }
587
+ return ok();
588
+ }
589
+ function parseAuthor(value) {
590
+ const match = /^(.*?)\s*<([^<>]+)>$/.exec(value);
591
+ if (!match?.[1] || !match[2]) usage("--author must be 'Name <email>'");
592
+ return { name: match[1].trim(), email: match[2] };
593
+ }
594
+ async function handleCommit(context, args) {
595
+ const messageOpt = optionValue(args, ["-m", "--message"]);
596
+ const authorOpt = optionValue(messageOpt.rest, ["--author"]);
597
+ rejectOptions(authorOpt.rest);
598
+ if (authorOpt.rest.length || !messageOpt.value) usage("git commit requires -m <message>");
599
+ const dir = await repositoryDir(context.command);
600
+ const globalConfig = await readGlobalConfig(context.command);
601
+ const repoName = await git.getConfig({ fs: context.fs, dir, path: "user.name" });
602
+ const repoEmail = await git.getConfig({ fs: context.fs, dir, path: "user.email" });
603
+ const configuredAuthor = repoName && repoEmail ? { name: repoName, email: repoEmail } : globalConfig.get("user.name") && globalConfig.get("user.email") ? {
604
+ name: globalConfig.get("user.name"),
605
+ email: globalConfig.get("user.email")
606
+ } : context.options.author;
607
+ const author = authorOpt.value ? parseAuthor(authorOpt.value) : configuredAuthor;
608
+ const matrix = await git.statusMatrix({ fs: context.fs, dir });
609
+ if (!matrix.some(([, headStatus, , stageStatus]) => headStatus !== stageStatus)) {
610
+ const message = matrix.some(([, , workdirStatus, stageStatus]) => workdirStatus !== stageStatus) ? "no changes added to commit" : "nothing to commit, working tree clean";
611
+ throw new Error(message);
612
+ }
613
+ const oid = await git.commit({ fs: context.fs, dir, message: messageOpt.value, author });
614
+ const branch2 = await git.currentBranch({ fs: context.fs, dir }) ?? "detached HEAD";
615
+ return ok(`[${branch2} ${oid.slice(0, 7)}] ${messageOpt.value.split("\n")[0]}
616
+ `);
617
+ }
618
+ async function handleLog(context, args) {
619
+ const countOpt = optionValue(args, ["-n", "--max-count"]);
620
+ const onelineFlag = flag(countOpt.rest, ["--oneline"]);
621
+ rejectOptions(onelineFlag.rest);
622
+ if (onelineFlag.rest.length > 1) usage();
623
+ const depth = countOpt.value ? Number.parseInt(countOpt.value, 10) : 20;
624
+ if (!Number.isFinite(depth) || depth < 1) usage("invalid max count");
625
+ const dir = await repositoryDir(context.command);
626
+ const commits = await git.log({ fs: context.fs, dir, ref: onelineFlag.rest[0] ?? "HEAD", depth });
627
+ if (onelineFlag.enabled) {
628
+ return ok(
629
+ commits.map((entry) => `${entry.oid.slice(0, 7)} ${entry.commit.message.split("\n")[0]}`).join("\n") + (commits.length ? "\n" : "")
630
+ );
631
+ }
632
+ return ok(
633
+ commits.map(
634
+ (entry) => `commit ${entry.oid}
635
+ Author: ${entry.commit.author.name} <${entry.commit.author.email}>
636
+
637
+ ${entry.commit.message.trim().replaceAll("\n", "\n ")}
638
+ `
639
+ ).join("\n")
640
+ );
641
+ }
642
+ async function handleDiff(context, args) {
643
+ const cachedFlag = flag(args, ["--cached", "--staged"]);
644
+ rejectOptions(cachedFlag.rest);
645
+ const dir = await repositoryDir(context.command);
646
+ const selected = cachedFlag.rest.map((path) => path.replace(/^\.\//, "").replace(/\/$/, ""));
647
+ const decoder = new TextDecoder();
648
+ const patch = (filepath, oldBytes, newBytes) => {
649
+ if (oldBytes.includes(0) || newBytes.includes(0)) {
650
+ return `Binary files a/${filepath} and b/${filepath} differ
651
+ `;
652
+ }
653
+ return createTwoFilesPatch(
654
+ `a/${filepath}`,
655
+ `b/${filepath}`,
656
+ decoder.decode(oldBytes),
657
+ decoder.decode(newBytes),
658
+ "",
659
+ "",
660
+ { context: 3 }
661
+ );
662
+ };
663
+ const matrix = await git.statusMatrix({
664
+ fs: context.fs,
665
+ dir,
666
+ filepaths: selected.length ? selected : void 0
667
+ });
668
+ const stageOids = /* @__PURE__ */ new Map();
669
+ await git.walk({
670
+ fs: context.fs,
671
+ dir,
672
+ trees: [git.STAGE()],
673
+ map: async (filepath, [entry]) => {
674
+ if (entry && await entry.type() !== "tree") stageOids.set(filepath, await entry.oid());
675
+ }
676
+ });
677
+ const head = await git.resolveRef({ fs: context.fs, dir, ref: "HEAD" }).catch(() => void 0);
678
+ const empty = new Uint8Array();
679
+ const readStage = async (filepath) => {
680
+ const oid = stageOids.get(filepath);
681
+ return oid ? (await git.readBlob({ fs: context.fs, dir, oid })).blob : empty;
682
+ };
683
+ const patches = [];
684
+ for (const [filepath, headStatus, workdirStatus, stageStatus] of matrix) {
685
+ const changed = cachedFlag.enabled ? headStatus !== stageStatus : workdirStatus !== stageStatus;
686
+ if (!changed) continue;
687
+ const oldBytes = cachedFlag.enabled ? head && headStatus !== 0 ? (await git.readBlob({ fs: context.fs, dir, oid: head, filepath })).blob : empty : await readStage(filepath);
688
+ const newBytes = cachedFlag.enabled ? await readStage(filepath) : workdirStatus === 0 ? empty : await context.command.fs.readFileBuffer(posix3.join(dir, filepath));
689
+ patches.push(patch(filepath, oldBytes, newBytes));
690
+ }
691
+ return ok(patches.join(""));
692
+ }
693
+ async function handleBranch(context, args) {
694
+ const deleteFlag = flag(args, ["-d", "-D", "--delete"]);
695
+ rejectOptions(deleteFlag.rest);
696
+ const dir = await repositoryDir(context.command);
697
+ if (deleteFlag.enabled) {
698
+ if (deleteFlag.rest.length !== 1) usage("branch deletion requires one name");
699
+ await git.deleteBranch({ fs: context.fs, dir, ref: deleteFlag.rest[0] });
700
+ return ok(`Deleted branch ${deleteFlag.rest[0]}.
701
+ `);
702
+ }
703
+ if (deleteFlag.rest.length) {
704
+ if (deleteFlag.rest.length > 2) usage();
705
+ await git.branch({
706
+ fs: context.fs,
707
+ dir,
708
+ ref: deleteFlag.rest[0],
709
+ object: deleteFlag.rest[1]
710
+ });
711
+ return ok();
712
+ }
713
+ const [branches, current] = await Promise.all([
714
+ git.listBranches({ fs: context.fs, dir }),
715
+ git.currentBranch({ fs: context.fs, dir })
716
+ ]);
717
+ return ok(
718
+ branches.map((name) => `${name === current ? "*" : " "} ${name}`).join("\n") + (branches.length ? "\n" : "")
719
+ );
720
+ }
721
+ async function readCheckoutBlob(context, dir, commitOid, filepath) {
722
+ let treeOid = (await git.readCommit({ fs: context.fs, dir, oid: commitOid })).commit.tree;
723
+ const segments = filepath.split("/").filter(Boolean);
724
+ for (let index = 0; index < segments.length; index++) {
725
+ const entries = (await git.readTree({ fs: context.fs, dir, oid: treeOid })).tree;
726
+ const entry = entries.find((candidate) => candidate.path === segments[index]);
727
+ if (!entry) throw new Error(`path '${filepath}' does not exist in the selected ref`);
728
+ if (entry.mode === "120000") throw new Error("symbolic links are not supported in the sandbox");
729
+ if (index === segments.length - 1) {
730
+ if (entry.type !== "blob") throw new Error(`path '${filepath}' is not a file`);
731
+ return (await git.readBlob({ fs: context.fs, dir, oid: entry.oid })).blob;
732
+ }
733
+ if (entry.type !== "tree") throw new Error(`path '${filepath}' is not a file`);
734
+ treeOid = entry.oid;
735
+ }
736
+ throw new Error("invalid checkout path");
737
+ }
738
+ async function handleCheckout(context, args) {
739
+ const separator = args.indexOf("--");
740
+ const commandArgs = separator >= 0 ? args.slice(0, separator) : args;
741
+ const filepaths = separator >= 0 ? args.slice(separator + 1) : [];
742
+ const createOpt = optionValue(commandArgs, ["-b"]);
743
+ const forceFlag = flag(createOpt.rest, ["-f", "--force"]);
744
+ rejectOptions(forceFlag.rest);
745
+ const dir = await repositoryDir(context.command);
746
+ if (filepaths.length) {
747
+ if (createOpt.value || forceFlag.rest.length > 1) usage();
748
+ if (filepaths.some((path) => path.startsWith("/") || path.split("/").includes(".."))) {
749
+ throw new Error("invalid checkout path");
750
+ }
751
+ const ref = forceFlag.rest[0] ?? "HEAD";
752
+ const oid = await git.resolveRef({ fs: context.fs, dir, ref });
753
+ for (const filepath of filepaths) {
754
+ const blob = await readCheckoutBlob(context, dir, oid, filepath);
755
+ await context.command.fs.writeFile(posix3.join(dir, filepath), blob);
756
+ }
757
+ return ok();
758
+ }
759
+ if (separator >= 0) usage("checkout requires at least one path after --");
760
+ if (createOpt.value) {
761
+ if (forceFlag.rest.length > 1) usage();
762
+ await git.branch({
763
+ fs: context.fs,
764
+ dir,
765
+ ref: createOpt.value,
766
+ object: forceFlag.rest[0],
767
+ checkout: true
768
+ });
769
+ await git.checkout({ fs: context.fs, dir, ref: createOpt.value, force: forceFlag.enabled });
770
+ return ok(`Switched to a new branch '${createOpt.value}'
771
+ `);
772
+ }
773
+ if (forceFlag.rest.length !== 1) usage("checkout requires one branch or ref");
774
+ await git.checkout({ fs: context.fs, dir, ref: forceFlag.rest[0], force: forceFlag.enabled });
775
+ return ok(`Switched to '${forceFlag.rest[0]}'
776
+ `);
777
+ }
778
+ async function handleRemote(context, args) {
779
+ const dir = await repositoryDir(context.command);
780
+ if (!args.length || args.length === 1 && args[0] === "-v") {
781
+ const remotes = await git.listRemotes({ fs: context.fs, dir });
782
+ const verbose = args[0] === "-v";
783
+ return ok(
784
+ remotes.map(
785
+ ({ remote, url }) => verbose ? `${remote} ${url} (fetch)
786
+ ${remote} ${url} (push)` : remote
787
+ ).join("\n") + (remotes.length ? "\n" : "")
788
+ );
789
+ }
790
+ const [action, name, value, ...rest] = args;
791
+ if (rest.length || !name) usage();
792
+ if (action === "add") {
793
+ if (!value) usage("remote add requires a URL");
794
+ validateRemoteUrl(value);
795
+ await git.addRemote({ fs: context.fs, dir, remote: name, url: value });
796
+ return ok();
797
+ }
798
+ if (action === "remove" || action === "rm") {
799
+ if (value) usage();
800
+ await git.deleteRemote({ fs: context.fs, dir, remote: name });
801
+ return ok();
802
+ }
803
+ if (action === "get-url") {
804
+ if (value) usage();
805
+ const url = await remoteUrl(context, dir, name);
806
+ return ok(`${url}
807
+ `);
808
+ }
809
+ if (action === "set-url") {
810
+ if (!value) usage();
811
+ validateRemoteUrl(value);
812
+ await git.setConfig({ fs: context.fs, dir, path: `remote.${name}.url`, value });
813
+ return ok();
814
+ }
815
+ usage();
816
+ }
817
+ async function handleConfig(context, args) {
818
+ const globalFlag = flag(args, ["--global"]);
819
+ const unsetFlag = flag(globalFlag.rest, ["--unset"]);
820
+ const listFlag = flag(unsetFlag.rest, ["--list", "-l"]);
821
+ rejectOptions(listFlag.rest);
822
+ const globalValues = globalFlag.enabled ? await readGlobalConfig(context.command) : void 0;
823
+ const dir = globalFlag.enabled ? void 0 : await repositoryDir(context.command);
824
+ if (listFlag.enabled) {
825
+ if (listFlag.rest.length) usage();
826
+ if (globalValues) {
827
+ const output2 = [...globalValues].map(([key2, value2]) => `${key2}=${value2}`).join("\n");
828
+ return ok(output2 ? `${output2}
829
+ ` : "");
830
+ }
831
+ const keys = ["user.name", "user.email", "core.repositoryformatversion", "core.bare"];
832
+ const values = await Promise.all(
833
+ keys.map(
834
+ async (key2) => [key2, await git.getConfig({ fs: context.fs, dir, path: key2 })]
835
+ )
836
+ );
837
+ const output = values.filter(([, value2]) => value2 !== void 0).map(([key2, value2]) => `${key2}=${value2}`).join("\n");
838
+ return ok(output ? `${output}
839
+ ` : "");
840
+ }
841
+ const [key, value, ...rest] = listFlag.rest;
842
+ if (rest.length || !key) usage();
843
+ if (!key.includes(".")) usage("config key must contain a section");
844
+ if (globalValues) {
845
+ if (unsetFlag.enabled) {
846
+ if (value) usage();
847
+ globalValues.delete(key.toLowerCase());
848
+ await writeGlobalConfig(context.command, globalValues);
849
+ return ok();
850
+ }
851
+ if (value === void 0) {
852
+ const found = globalValues.get(key.toLowerCase());
853
+ return found === void 0 ? { stdout: "", stderr: "", exitCode: 1 } : ok(`${found}
854
+ `);
855
+ }
856
+ globalValues.set(key.toLowerCase(), value);
857
+ await writeGlobalConfig(context.command, globalValues);
858
+ return ok();
859
+ }
860
+ if (unsetFlag.enabled) {
861
+ if (value) usage();
862
+ await git.setConfig({ fs: context.fs, dir, path: key, value: void 0 });
863
+ return ok();
864
+ }
865
+ if (value === void 0) {
866
+ const found = await git.getConfig({ fs: context.fs, dir, path: key });
867
+ return found === void 0 ? { stdout: "", stderr: "", exitCode: 1 } : ok(`${found}
868
+ `);
869
+ }
870
+ await git.setConfig({ fs: context.fs, dir, path: key, value });
871
+ return ok();
872
+ }
873
+ async function handleClone(context, args) {
874
+ const branchOpt = optionValue(args, ["-b", "--branch"]);
875
+ const depthOpt = optionValue(branchOpt.rest, ["--depth"]);
876
+ const singleFlag = flag(depthOpt.rest, ["--single-branch"]);
877
+ const noCheckoutFlag = flag(singleFlag.rest, ["--no-checkout"]);
878
+ rejectOptions(noCheckoutFlag.rest);
879
+ const [rawUrl, destination, ...rest] = noCheckoutFlag.rest;
880
+ if (!rawUrl || rest.length) usage("clone requires a URL and optional directory");
881
+ const url = validateRemoteUrl(rawUrl);
882
+ const inferred = posix3.basename(new URL(url).pathname).replace(/\.git$/, "") || "repository";
883
+ const dir = virtualPath(context.command, destination ?? inferred);
884
+ const depth = positiveInteger(depthOpt.value, "--depth");
885
+ await git.clone({
886
+ fs: context.fs,
887
+ http: context.http,
888
+ dir,
889
+ url,
890
+ ref: branchOpt.value,
891
+ depth,
892
+ singleBranch: singleFlag.enabled || Boolean(branchOpt.value),
893
+ noCheckout: noCheckoutFlag.enabled,
894
+ onAuth: authFor(context, url)
895
+ });
896
+ return ok(`Cloning into '${destination ?? inferred}'...
897
+ `);
898
+ }
899
+ async function handleFetch(context, args) {
900
+ const depthOpt = optionValue(args, ["--depth"]);
901
+ rejectOptions(depthOpt.rest);
902
+ if (depthOpt.rest.length > 2) usage();
903
+ const dir = await repositoryDir(context.command);
904
+ const remote = depthOpt.rest[0] ?? "origin";
905
+ const url = await remoteUrl(context, dir, remote);
906
+ await git.fetch({
907
+ fs: context.fs,
908
+ http: context.http,
909
+ dir,
910
+ remote,
911
+ ref: depthOpt.rest[1],
912
+ depth: positiveInteger(depthOpt.value, "--depth"),
913
+ onAuth: authFor(context, url)
914
+ });
915
+ return ok();
916
+ }
917
+ async function handlePull(context, args) {
918
+ const ffFlag = flag(args, ["--ff-only"]);
919
+ rejectOptions(ffFlag.rest);
920
+ if (ffFlag.rest.length > 2) usage();
921
+ const dir = await repositoryDir(context.command);
922
+ const remote = ffFlag.rest[0] ?? "origin";
923
+ const url = await remoteUrl(context, dir, remote);
924
+ await git.pull({
925
+ fs: context.fs,
926
+ http: context.http,
927
+ dir,
928
+ remote,
929
+ ref: ffFlag.rest[1],
930
+ fastForwardOnly: true,
931
+ // isomorphic-git requires an author even when fastForwardOnly prevents merge commits.
932
+ author: context.options.author ?? { name: "Ollie Git", email: "git@localhost" },
933
+ onAuth: authFor(context, url)
934
+ });
935
+ return ok("Already up to date or fast-forwarded.\n");
936
+ }
937
+ async function handlePush(context, args) {
938
+ const forceFlag = flag(args, ["--force", "-f"]);
939
+ const upstreamFlag = flag(forceFlag.rest, ["--set-upstream", "-u"]);
940
+ rejectOptions(upstreamFlag.rest);
941
+ if (upstreamFlag.rest.length > 2) usage();
942
+ const dir = await repositoryDir(context.command);
943
+ const remote = upstreamFlag.rest[0] ?? "origin";
944
+ const ref = upstreamFlag.rest[1] ?? await git.currentBranch({ fs: context.fs, dir });
945
+ if (!ref) throw new Error("cannot determine branch to push");
946
+ const url = await remoteUrl(context, dir, remote);
947
+ const result = await git.push({
948
+ fs: context.fs,
949
+ http: context.http,
950
+ dir,
951
+ remote,
952
+ ref,
953
+ force: forceFlag.enabled,
954
+ onAuth: authFor(context, url)
955
+ });
956
+ if (!result.ok) {
957
+ const refError = Object.values(result.refs).find((status) => !status.ok)?.error;
958
+ throw new Error(result.error ?? refError ?? "remote rejected the push");
959
+ }
960
+ if (upstreamFlag.enabled) {
961
+ await git.setConfig({ fs: context.fs, dir, path: `branch.${ref}.remote`, value: remote });
962
+ await git.setConfig({
963
+ fs: context.fs,
964
+ dir,
965
+ path: `branch.${ref}.merge`,
966
+ value: `refs/heads/${ref}`
967
+ });
968
+ }
969
+ return ok(`To ${url}
970
+ `);
971
+ }
972
+ var handlers = {
973
+ init: handleInit,
974
+ clone: handleClone,
975
+ status: handleStatus,
976
+ add: handleAdd,
977
+ commit: handleCommit,
978
+ log: handleLog,
979
+ diff: handleDiff,
980
+ branch: handleBranch,
981
+ checkout: handleCheckout,
982
+ remote: handleRemote,
983
+ config: handleConfig,
984
+ fetch: handleFetch,
985
+ pull: handlePull,
986
+ push: handlePush
987
+ };
988
+ function redact(message, secrets) {
989
+ let result = message.replace(/https:\/\/[^\s/@]+@/g, "https://").replaceAll(process.cwd(), "<host>");
990
+ for (const secret of secrets) {
991
+ if (secret) result = result.replaceAll(secret, "<redacted>");
992
+ }
993
+ return result;
994
+ }
995
+ function createGitCommand(options = {}) {
996
+ return defineCommand("git", async (args, command) => {
997
+ const secrets = /* @__PURE__ */ new Set();
998
+ const safeOptions = options.resolveAuth ? {
999
+ ...options,
1000
+ resolveAuth: async (url) => {
1001
+ const auth = await options.resolveAuth?.(url);
1002
+ if (auth?.username) secrets.add(auth.username);
1003
+ if (auth?.password) secrets.add(auth.password);
1004
+ return auth;
1005
+ }
1006
+ } : options;
1007
+ try {
1008
+ if (!args.length || args[0] === "help" || args.includes("--help")) {
1009
+ return ok(`usage: git <command> [options]
1010
+
1011
+ Supported commands: ${COMMANDS.join(", ")}
1012
+ `);
1013
+ }
1014
+ if (args[0] === "--version" || args[0] === "-v") return ok(`${VERSION}
1015
+ `);
1016
+ const subcommand = args[0];
1017
+ const handler = subcommand ? handlers[subcommand] : void 0;
1018
+ if (!handler) usage(`'${subcommand ?? ""}' is not a supported git command`);
1019
+ assertNotAborted(command);
1020
+ return await handler(
1021
+ {
1022
+ command,
1023
+ fs: createGitFs(command.fs),
1024
+ http: createGitHttp(command),
1025
+ options: safeOptions
1026
+ },
1027
+ args.slice(1)
1028
+ );
1029
+ } catch (error) {
1030
+ const message = redact(
1031
+ error instanceof Error ? error.message : "unknown Git failure",
1032
+ secrets
1033
+ );
1034
+ const exitCode = error instanceof UsageError ? 129 : /not a git repository|NotFoundError/.test(message) ? 128 : 1;
1035
+ return {
1036
+ stdout: "",
1037
+ stderr: `${error instanceof UsageError ? "error" : "fatal"}: ${message}
1038
+ `,
1039
+ exitCode
1040
+ };
1041
+ }
1042
+ });
1043
+ }
1044
+
1045
+ // src/sandbox/just-bash.ts
1046
+ var SANDBOX_WORKSPACE_PATH2 = "/workspace";
1047
+ function canonicalizeWorkspaceRoot(workspaceRoot) {
1048
+ const canonicalRoot = realpathSync2(workspaceRoot);
1049
+ if (!statSync2(canonicalRoot).isDirectory()) {
1050
+ throw new Error("The sandbox workspace root must be a directory");
1051
+ }
1052
+ return canonicalRoot;
1053
+ }
1054
+ function createWorkspaceFs(workspaceRoot, options) {
1055
+ const root = canonicalizeWorkspaceRoot(workspaceRoot);
1056
+ const additionalMounts = validateSandboxMounts(options.mounts ?? []).map((mount) => ({
1057
+ mountPoint: mount.mountPoint,
1058
+ filesystem: new ReadWriteFs({ root: mount.hostPath, allowSymlinks: false })
1059
+ }));
1060
+ return new MountableFs({
1061
+ base: new InMemoryFs(),
1062
+ mounts: [
1063
+ {
1064
+ mountPoint: SANDBOX_WORKSPACE_PATH2,
1065
+ filesystem: new ReadWriteFs({ root, allowSymlinks: false })
1066
+ },
1067
+ ...additionalMounts
1068
+ ]
1069
+ });
1070
+ }
1071
+ function createJustBash(workspaceRoot, options = {}) {
1072
+ return new Bash({
1073
+ fs: createWorkspaceFs(workspaceRoot, options),
1074
+ cwd: SANDBOX_WORKSPACE_PATH2,
1075
+ env: {
1076
+ HOME: "/home/user",
1077
+ TERM: "xterm-256color"
1078
+ },
1079
+ python: true,
1080
+ javascript: true,
1081
+ customCommands: options.git === false ? [] : [createGitCommand(options.git)],
1082
+ network: {
1083
+ dangerouslyAllowFullInternetAccess: true,
1084
+ maxResponseSize: 100 * 1024 * 1024
1085
+ }
1086
+ });
1087
+ }
1088
+ async function isJustBashAvailable() {
1089
+ try {
1090
+ const bash = new Bash();
1091
+ await bash.exec("echo ok");
1092
+ return true;
1093
+ } catch {
1094
+ return false;
1095
+ }
1096
+ }
1097
+
1098
+ // src/index.ts
1099
+ var packageName = "@getollie/cli";
1100
+ var packageVersion = "0.2.0";
1101
+
1102
+ // src/doctor.ts
1103
+ async function runDoctor(options) {
1104
+ const nodeVersion = process.versions.node;
1105
+ const nodeMajor = Number.parseInt(nodeVersion.split(".")[0] ?? "0", 10);
1106
+ const cwdStats = await stat2(options.cwd).catch(() => null);
1107
+ const cwdAccessible = cwdStats?.isDirectory() ? await access2(options.cwd).then(
1108
+ () => true,
1109
+ () => false
1110
+ ) : false;
1111
+ const justBashAvailable = await isJustBashAvailable();
1112
+ const providerConfigured = options.provider === "openai" ? Boolean(process.env.OPENAI_API_KEY) : false;
1113
+ const report = {
1114
+ packageName,
1115
+ packageVersion,
1116
+ nodeVersion,
1117
+ nodeOk: nodeMajor >= 22,
1118
+ cwd: options.cwd,
1119
+ cwdAccessible,
1120
+ provider: options.provider,
1121
+ model: options.model,
1122
+ providerConfigured,
1123
+ justBashAvailable
1124
+ };
1125
+ if (options.json) {
1126
+ process.stdout.write(`${JSON.stringify(report)}
1127
+ `);
1128
+ } else {
1129
+ process.stdout.write(`${packageName} ${packageVersion}
1130
+ `);
1131
+ process.stdout.write(`node: ${nodeVersion} ${report.nodeOk ? "ok" : "requires >=22"}
1132
+ `);
1133
+ process.stdout.write(`workspace: ${options.cwd} ${cwdAccessible ? "ok" : "not accessible"}
1134
+ `);
1135
+ process.stdout.write(
1136
+ `provider: ${options.provider} / ${options.model} ${providerConfigured ? "configured" : "missing credentials"}
1137
+ `
1138
+ );
1139
+ process.stdout.write(`just-bash: ${justBashAvailable ? "ok" : "unavailable"}
1140
+ `);
1141
+ }
1142
+ return report.nodeOk && cwdAccessible && justBashAvailable ? 0 : 1;
1143
+ }
1144
+
1145
+ // src/exec.ts
1146
+ function timeoutSignal(timeoutMs) {
1147
+ const controller = new AbortController();
1148
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
1149
+ return {
1150
+ signal: controller.signal,
1151
+ cancel: () => clearTimeout(timer)
1152
+ };
1153
+ }
1154
+ function combineSignals(signals) {
1155
+ const active = signals.filter((signal) => Boolean(signal));
1156
+ if (active.length === 0) {
1157
+ return void 0;
1158
+ }
1159
+ const controller = new AbortController();
1160
+ for (const signal of active) {
1161
+ if (signal.aborted) {
1162
+ controller.abort(signal.reason);
1163
+ break;
1164
+ }
1165
+ signal.addEventListener("abort", () => controller.abort(signal.reason), { once: true });
1166
+ }
1167
+ return controller.signal;
1168
+ }
1169
+ async function runExecCommand(cwd, command, options, signal) {
1170
+ const started = Date.now();
1171
+ const timeout = timeoutSignal(options.timeoutMs);
1172
+ const combinedSignal = combineSignals([signal, timeout.signal]);
1173
+ const timedOut = () => timeout.signal.aborted && !signal?.aborted;
1174
+ try {
1175
+ const bash = createJustBash(cwd);
1176
+ const result = await bash.exec(command, { env: options.env, signal: combinedSignal });
1177
+ return {
1178
+ ...result,
1179
+ durationMs: Date.now() - started,
1180
+ timedOut: timedOut()
1181
+ };
1182
+ } catch (error) {
1183
+ if (timedOut()) {
1184
+ return {
1185
+ exitCode: 124,
1186
+ stdout: "",
1187
+ stderr: `Command timed out after ${options.timeoutMs} ms`,
1188
+ env: {},
1189
+ durationMs: Date.now() - started,
1190
+ timedOut: true
1191
+ };
1192
+ }
1193
+ throw error;
1194
+ } finally {
1195
+ timeout.cancel();
1196
+ }
1197
+ }
1198
+
1199
+ // src/render.ts
1200
+ import { Chalk } from "chalk";
1201
+ var ELLIPSIS = "\u2026";
1202
+ var CENTER_ELLIPSIS = ` ${ELLIPSIS} `;
1203
+ function singleRowJson(value) {
1204
+ const seen = /* @__PURE__ */ new WeakSet();
1205
+ return JSON.stringify(value, (_key, item) => {
1206
+ if (typeof item === "bigint") {
1207
+ return item.toString();
1208
+ }
1209
+ if (item && typeof item === "object") {
1210
+ if (seen.has(item)) {
1211
+ return "[Circular]";
1212
+ }
1213
+ seen.add(item);
1214
+ }
1215
+ return item;
1216
+ }) ?? "null";
1217
+ }
1218
+ function isCombiningCodePoint(codePoint) {
1219
+ return codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071;
1220
+ }
1221
+ function isFullWidthCodePoint(codePoint) {
1222
+ return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || codePoint >= 11904 && codePoint <= 42191 && codePoint !== 12351 || codePoint >= 44032 && codePoint <= 55203 || codePoint >= 63744 && codePoint <= 64255 || codePoint >= 65040 && codePoint <= 65049 || codePoint >= 65072 && codePoint <= 65135 || codePoint >= 65280 && codePoint <= 65376 || codePoint >= 65504 && codePoint <= 65510 || codePoint >= 127744 && codePoint <= 128591 || codePoint >= 129280 && codePoint <= 129535 || codePoint >= 131072 && codePoint <= 262141);
1223
+ }
1224
+ function displayWidth(text) {
1225
+ let width = 0;
1226
+ for (const char of text) {
1227
+ const codePoint = char.codePointAt(0) ?? 0;
1228
+ if (codePoint === 0 || codePoint === 8205 || isCombiningCodePoint(codePoint)) {
1229
+ continue;
1230
+ }
1231
+ if (codePoint < 32 || codePoint >= 127 && codePoint < 160) {
1232
+ continue;
1233
+ }
1234
+ width += isFullWidthCodePoint(codePoint) ? 2 : 1;
1235
+ }
1236
+ return width;
1237
+ }
1238
+ function sliceStartByColumns(text, maxColumns) {
1239
+ let width = 0;
1240
+ let result = "";
1241
+ for (const char of text) {
1242
+ const charWidth = displayWidth(char);
1243
+ if (width + charWidth > maxColumns) {
1244
+ break;
1245
+ }
1246
+ result += char;
1247
+ width += charWidth;
1248
+ }
1249
+ return result;
1250
+ }
1251
+ function sliceEndByColumns(text, maxColumns) {
1252
+ let width = 0;
1253
+ let result = "";
1254
+ const chars = Array.from(text);
1255
+ for (let index = chars.length - 1; index >= 0; index -= 1) {
1256
+ const char = chars[index] ?? "";
1257
+ const charWidth = displayWidth(char);
1258
+ if (width + charWidth > maxColumns) {
1259
+ break;
1260
+ }
1261
+ result = `${char}${result}`;
1262
+ width += charWidth;
1263
+ }
1264
+ return result;
1265
+ }
1266
+ function ellipsizeToColumnParts(text, maxColumns) {
1267
+ if (maxColumns === void 0 || displayWidth(text) <= maxColumns) {
1268
+ return { head: text, marker: "", tail: "" };
1269
+ }
1270
+ if (maxColumns <= 0) {
1271
+ return { head: "", marker: "", tail: "" };
1272
+ }
1273
+ if (maxColumns === 1) {
1274
+ return { head: "", marker: ELLIPSIS, tail: "" };
1275
+ }
1276
+ const marker = maxColumns >= displayWidth(CENTER_ELLIPSIS) ? CENTER_ELLIPSIS : ELLIPSIS;
1277
+ const targetWidth = maxColumns - displayWidth(marker);
1278
+ const head = sliceStartByColumns(text, Math.ceil(targetWidth / 2));
1279
+ const tail = sliceEndByColumns(text, targetWidth - displayWidth(head));
1280
+ return { head, marker, tail };
1281
+ }
1282
+ function getStderrColumns() {
1283
+ return process.stderr.columns && process.stderr.columns > 0 ? process.stderr.columns : void 0;
1284
+ }
1285
+ function resolveToolRowColumns(columns) {
1286
+ return Math.min(columns ?? 120, 120);
1287
+ }
1288
+ function formatToolRow(options) {
1289
+ const prefix = `${options.symbol} ${options.toolName} `;
1290
+ const maxPayloadColumns = Math.max(1, options.columns - displayWidth(prefix));
1291
+ return ellipsizeToColumnParts(singleRowJson(options.value), maxPayloadColumns);
1292
+ }
1293
+ function colorToolRow(c, row) {
1294
+ return `${c.dim(row.head)}${c.yellow(row.marker)}${c.dim(row.tail)}`;
1295
+ }
1296
+ function toolSymbol(arrow, source) {
1297
+ return source === "delegate" ? ` \u21B3 ${arrow}` : arrow;
1298
+ }
1299
+ function createRenderer(options) {
1300
+ if (options.ndjson) {
1301
+ return {
1302
+ render(event) {
1303
+ process.stdout.write(`${singleRowJson(event)}
1304
+ `);
1305
+ }
1306
+ };
1307
+ }
1308
+ const c = new Chalk({ level: options.color ? 1 : 0 });
1309
+ const columns = resolveToolRowColumns(options.columns ?? getStderrColumns());
1310
+ return {
1311
+ render(event) {
1312
+ switch (event.type) {
1313
+ case "text":
1314
+ process.stdout.write(event.text);
1315
+ break;
1316
+ case "tool-call": {
1317
+ const symbol = toolSymbol("\u2192", event.source);
1318
+ process.stderr.write(
1319
+ `${c.dim(symbol)} ${c.cyan(event.toolName)} ${colorToolRow(
1320
+ c,
1321
+ formatToolRow({
1322
+ symbol,
1323
+ toolName: event.toolName,
1324
+ value: event.input,
1325
+ columns
1326
+ })
1327
+ )}
1328
+ `
1329
+ );
1330
+ break;
1331
+ }
1332
+ case "tool-result": {
1333
+ const symbol = toolSymbol("\u2190", event.source);
1334
+ process.stderr.write(
1335
+ `${c.dim(symbol)} ${c.green(event.toolName)} ${colorToolRow(
1336
+ c,
1337
+ formatToolRow({
1338
+ symbol,
1339
+ toolName: event.toolName,
1340
+ value: event.output,
1341
+ columns
1342
+ })
1343
+ )}
1344
+ `
1345
+ );
1346
+ break;
1347
+ }
1348
+ case "error":
1349
+ process.stderr.write(`${c.red("error:")} ${event.message}
1350
+ `);
1351
+ break;
1352
+ case "done":
1353
+ process.stderr.write(c.dim("\n[done]\n"));
1354
+ break;
1355
+ }
1356
+ }
1357
+ };
1358
+ }
1359
+
1360
+ // src/runner.ts
1361
+ import { stepCountIs as stepCountIs2, streamText } from "ai";
1362
+
1363
+ // src/executor/controller.ts
1364
+ var ExecutorController = class {
1365
+ constructor(provider, delegator) {
1366
+ this.provider = provider;
1367
+ this.delegator = delegator;
1368
+ }
1369
+ provider;
1370
+ delegator;
1371
+ #session;
1372
+ #creatingSession;
1373
+ #running = false;
1374
+ #disposed = false;
1375
+ async delegateTask(task, signal) {
1376
+ if (this.#disposed) throw new Error("Executor controller has been disposed");
1377
+ if (this.#running) throw new Error("Executor delegation is already in progress");
1378
+ signal?.throwIfAborted();
1379
+ this.#running = true;
1380
+ let session;
1381
+ let result;
1382
+ let taskError;
1383
+ try {
1384
+ session = await this.#getSession(signal);
1385
+ await session.resume(signal);
1386
+ result = await this.delegator.runTask({ session, task, signal });
1387
+ } catch (error) {
1388
+ taskError = error;
1389
+ }
1390
+ let pauseError;
1391
+ try {
1392
+ await session?.pause(signal?.aborted ? void 0 : signal);
1393
+ } catch (error) {
1394
+ pauseError = error;
1395
+ } finally {
1396
+ this.#running = false;
1397
+ }
1398
+ if (taskError !== void 0) throw taskError;
1399
+ if (pauseError !== void 0) throw pauseError;
1400
+ if (!result) throw new Error("Delegated task completed without a result");
1401
+ return result;
1402
+ }
1403
+ async dispose() {
1404
+ if (this.#disposed) return;
1405
+ this.#disposed = true;
1406
+ const session = this.#session ?? await this.#creatingSession?.catch(() => void 0);
1407
+ await session?.dispose();
1408
+ }
1409
+ async #getSession(signal) {
1410
+ if (this.#session) return this.#session;
1411
+ if (!this.#creatingSession) {
1412
+ this.#creatingSession = this.provider.createSession({ signal }).then((session) => {
1413
+ this.#session = session;
1414
+ return session;
1415
+ });
1416
+ }
1417
+ return this.#creatingSession;
1418
+ }
1419
+ };
1420
+
1421
+ // src/executor/daytona.ts
1422
+ import { randomUUID } from "crypto";
1423
+ import { mkdir, readdir, readFile, rm, stat as stat3, writeFile } from "fs/promises";
1424
+ import { dirname, isAbsolute, relative, resolve as resolve3, sep } from "path";
1425
+ import {
1426
+ Daytona,
1427
+ DaytonaProcessExecutionTimeoutError
1428
+ } from "@daytona/sdk";
1429
+ var DEFAULT_REMOTE_WORKSPACE = "/workspace";
1430
+ var DEFAULT_TTL_MINUTES = 10;
1431
+ function timeoutSeconds(timeoutMs) {
1432
+ return Math.max(1, Math.ceil(timeoutMs / 1e3));
1433
+ }
1434
+ function abortable(promise, signal) {
1435
+ signal?.throwIfAborted();
1436
+ if (!signal) return promise;
1437
+ return new Promise((resolvePromise, reject) => {
1438
+ const onAbort = () => reject(signal.reason ?? new Error("Daytona operation aborted"));
1439
+ signal.addEventListener("abort", onAbort, { once: true });
1440
+ promise.then(
1441
+ (value) => {
1442
+ signal.removeEventListener("abort", onAbort);
1443
+ resolvePromise(value);
1444
+ },
1445
+ (error) => {
1446
+ signal.removeEventListener("abort", onAbort);
1447
+ reject(error);
1448
+ }
1449
+ );
1450
+ });
1451
+ }
1452
+ function shellQuote(value) {
1453
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
1454
+ }
1455
+ async function listLocalFiles(root) {
1456
+ const files = /* @__PURE__ */ new Map();
1457
+ async function visit(directory) {
1458
+ for (const entry of await readdir(directory, { withFileTypes: true })) {
1459
+ const absolutePath = resolve3(directory, entry.name);
1460
+ if (entry.isDirectory()) {
1461
+ await visit(absolutePath);
1462
+ } else if (entry.isFile()) {
1463
+ const path = relative(root, absolutePath).split(sep).join("/");
1464
+ files.set(path, (await stat3(absolutePath)).size);
1465
+ }
1466
+ }
1467
+ }
1468
+ await visit(root);
1469
+ return files;
1470
+ }
1471
+ var DaytonaSandbox = class {
1472
+ #sandbox;
1473
+ #workspacePath;
1474
+ #commandTimeoutMs;
1475
+ #signal;
1476
+ #disposed = false;
1477
+ constructor(sandbox, options) {
1478
+ this.#sandbox = sandbox;
1479
+ this.#workspacePath = options.workspacePath;
1480
+ this.#commandTimeoutMs = options.commandTimeoutMs;
1481
+ this.#signal = options.signal;
1482
+ }
1483
+ async executeCommand(command) {
1484
+ this.#assertActive();
1485
+ this.#signal?.throwIfAborted();
1486
+ const marker = `__OLLIE_STDERR_${randomUUID()}__`;
1487
+ const stderrPath = `/tmp/ollie-stderr-${randomUUID()}`;
1488
+ const wrapped = `( ${command}
1489
+ ) 2>${shellQuote(stderrPath)}; ollie_code=$?; printf '
1490
+ ${marker}
1491
+ '; base64 < ${shellQuote(stderrPath)}; rm -f ${shellQuote(stderrPath)}; exit $ollie_code`;
1492
+ try {
1493
+ const response = await abortable(
1494
+ this.#sandbox.process.executeCommand(
1495
+ wrapped,
1496
+ this.#workspacePath,
1497
+ void 0,
1498
+ timeoutSeconds(this.#commandTimeoutMs)
1499
+ ),
1500
+ this.#signal
1501
+ );
1502
+ const separator = `
1503
+ ${marker}
1504
+ `;
1505
+ const markerIndex = response.result.lastIndexOf(separator);
1506
+ if (markerIndex < 0) {
1507
+ return { exitCode: response.exitCode, stdout: response.result, stderr: "" };
1508
+ }
1509
+ const encodedStderr = response.result.slice(markerIndex + separator.length).trim();
1510
+ return {
1511
+ exitCode: response.exitCode,
1512
+ stdout: response.result.slice(0, markerIndex),
1513
+ stderr: encodedStderr ? Buffer.from(encodedStderr, "base64").toString("utf8") : ""
1514
+ };
1515
+ } catch (error) {
1516
+ if (error instanceof DaytonaProcessExecutionTimeoutError) {
1517
+ return {
1518
+ exitCode: 124,
1519
+ stdout: "",
1520
+ stderr: `Command timed out after ${this.#commandTimeoutMs} ms`
1521
+ };
1522
+ }
1523
+ throw error;
1524
+ }
1525
+ }
1526
+ async readFile(path) {
1527
+ this.#assertActive();
1528
+ const content = await this.#sandbox.fs.downloadFile(this.#resolvePath(path));
1529
+ return content.toString("utf8");
1530
+ }
1531
+ async writeFiles(files) {
1532
+ this.#assertActive();
1533
+ for (const file of files) {
1534
+ const target = this.#resolvePath(file.path);
1535
+ await this.#sandbox.process.executeCommand(`mkdir -p ${shellQuote(dirname(target))}`);
1536
+ await this.#sandbox.fs.uploadFile(Buffer.from(file.content), target);
1537
+ }
1538
+ }
1539
+ dispose() {
1540
+ this.#disposed = true;
1541
+ }
1542
+ #resolvePath(path) {
1543
+ const target = isAbsolute(path) ? resolve3(path) : resolve3(this.#workspacePath, path);
1544
+ if (target !== this.#workspacePath && !target.startsWith(`${this.#workspacePath}/`)) {
1545
+ throw new Error(`Path is outside the Daytona workspace: ${path}`);
1546
+ }
1547
+ return target;
1548
+ }
1549
+ #assertActive() {
1550
+ if (this.#disposed) throw new Error("Daytona executor session has been disposed");
1551
+ }
1552
+ };
1553
+ var DaytonaWorkspaceSynchronizer = class {
1554
+ #cwd;
1555
+ #remoteWorkspacePath;
1556
+ #sandbox;
1557
+ #knownFiles = /* @__PURE__ */ new Set();
1558
+ constructor(cwd, remoteWorkspacePath, sandbox) {
1559
+ this.#cwd = resolve3(cwd);
1560
+ this.#remoteWorkspacePath = remoteWorkspacePath;
1561
+ this.#sandbox = sandbox;
1562
+ }
1563
+ async syncToExecutor(signal) {
1564
+ signal?.throwIfAborted();
1565
+ const prepareResult = await abortable(
1566
+ this.#sandbox.process.executeCommand(`mkdir -p ${shellQuote(this.#remoteWorkspacePath)}`),
1567
+ signal
1568
+ );
1569
+ if (prepareResult.exitCode !== 0) {
1570
+ throw new Error(
1571
+ `Failed to create Daytona workspace ${this.#remoteWorkspacePath}: ${prepareResult.result}`
1572
+ );
1573
+ }
1574
+ const localFiles = await listLocalFiles(this.#cwd);
1575
+ let filesCreated = 0;
1576
+ let filesUpdated = 0;
1577
+ let filesDeleted = 0;
1578
+ let bytesTransferred = 0;
1579
+ for (const path of this.#knownFiles) {
1580
+ if (localFiles.has(path)) continue;
1581
+ await abortable(
1582
+ this.#sandbox.fs.deleteFile(this.#remotePath(path)).catch(() => void 0),
1583
+ signal
1584
+ );
1585
+ filesDeleted++;
1586
+ }
1587
+ for (const [path, size] of localFiles) {
1588
+ signal?.throwIfAborted();
1589
+ await abortable(
1590
+ this.#sandbox.fs.uploadFile(resolve3(this.#cwd, path), this.#remotePath(path)),
1591
+ signal
1592
+ );
1593
+ if (this.#knownFiles.has(path)) filesUpdated++;
1594
+ else filesCreated++;
1595
+ bytesTransferred += size;
1596
+ }
1597
+ this.#knownFiles = new Set(localFiles.keys());
1598
+ return this.#result(filesCreated, filesUpdated, filesDeleted, bytesTransferred);
1599
+ }
1600
+ async syncToLocal(signal) {
1601
+ signal?.throwIfAborted();
1602
+ const response = await abortable(
1603
+ this.#sandbox.process.executeCommand(
1604
+ "find . -type f -print0 | base64 -w0",
1605
+ this.#remoteWorkspacePath
1606
+ ),
1607
+ signal
1608
+ );
1609
+ if (response.exitCode !== 0) {
1610
+ throw new Error(`Failed to enumerate Daytona workspace files: ${response.result}`);
1611
+ }
1612
+ const decoded = response.result.trim() ? Buffer.from(response.result.trim(), "base64").toString("utf8") : "";
1613
+ const remoteFiles = new Set(
1614
+ decoded.split("\0").filter(Boolean).map((path) => path.startsWith("./") ? path.slice(2) : path)
1615
+ );
1616
+ let filesCreated = 0;
1617
+ let filesUpdated = 0;
1618
+ let filesDeleted = 0;
1619
+ let bytesTransferred = 0;
1620
+ for (const path of this.#knownFiles) {
1621
+ if (remoteFiles.has(path)) continue;
1622
+ await rm(resolve3(this.#cwd, path), { force: true });
1623
+ filesDeleted++;
1624
+ }
1625
+ for (const path of remoteFiles) {
1626
+ signal?.throwIfAborted();
1627
+ const localPath = this.#localPath(path);
1628
+ const existed = await stat3(localPath).then(
1629
+ () => true,
1630
+ () => false
1631
+ );
1632
+ const content = await abortable(
1633
+ this.#sandbox.fs.downloadFile(this.#remotePath(path)),
1634
+ signal
1635
+ );
1636
+ await mkdir(dirname(localPath), { recursive: true });
1637
+ const previous = existed ? await readFile(localPath) : void 0;
1638
+ if (!previous?.equals(content)) {
1639
+ await writeFile(localPath, content);
1640
+ if (existed) filesUpdated++;
1641
+ else filesCreated++;
1642
+ bytesTransferred += content.byteLength;
1643
+ }
1644
+ }
1645
+ this.#knownFiles = remoteFiles;
1646
+ return this.#result(filesCreated, filesUpdated, filesDeleted, bytesTransferred);
1647
+ }
1648
+ #remotePath(path) {
1649
+ return `${this.#remoteWorkspacePath}/${path}`;
1650
+ }
1651
+ #localPath(path) {
1652
+ const target = resolve3(this.#cwd, path);
1653
+ if (target !== this.#cwd && !target.startsWith(`${this.#cwd}${sep}`)) {
1654
+ throw new Error(`Daytona returned a path outside the workspace: ${path}`);
1655
+ }
1656
+ return target;
1657
+ }
1658
+ #result(filesCreated, filesUpdated, filesDeleted, bytesTransferred) {
1659
+ return {
1660
+ status: filesCreated || filesUpdated || filesDeleted || bytesTransferred ? "synchronized" : "no-changes",
1661
+ filesCreated,
1662
+ filesUpdated,
1663
+ filesDeleted,
1664
+ bytesTransferred
1665
+ };
1666
+ }
1667
+ };
1668
+ var DaytonaExecutorSession = class {
1669
+ sandbox;
1670
+ context;
1671
+ #remote;
1672
+ #synchronizer;
1673
+ #stopped = false;
1674
+ #disposed = false;
1675
+ constructor(remote, options, signal) {
1676
+ const workspacePath = options.remoteWorkspacePath ?? DEFAULT_REMOTE_WORKSPACE;
1677
+ this.#remote = remote;
1678
+ this.#synchronizer = new DaytonaWorkspaceSynchronizer(options.cwd, workspacePath, remote);
1679
+ this.sandbox = new DaytonaSandbox(remote, {
1680
+ workspacePath,
1681
+ commandTimeoutMs: options.commandTimeoutMs,
1682
+ signal
1683
+ });
1684
+ this.context = {
1685
+ kind: "daytona",
1686
+ workspacePath,
1687
+ isolated: true,
1688
+ networkAccess: "full"
1689
+ };
1690
+ }
1691
+ async resume(signal) {
1692
+ this.#assertActive();
1693
+ signal?.throwIfAborted();
1694
+ if (this.#stopped) {
1695
+ await abortable(this.#remote.start(), signal);
1696
+ this.#stopped = false;
1697
+ }
1698
+ await this.syncWorkspace({ destination: "executor", signal });
1699
+ }
1700
+ async pause(signal) {
1701
+ this.#assertActive();
1702
+ signal?.throwIfAborted();
1703
+ await this.syncWorkspace({ destination: "local", signal });
1704
+ await abortable(this.#remote.stop(), signal);
1705
+ this.#stopped = true;
1706
+ }
1707
+ async syncWorkspace(options) {
1708
+ this.#assertActive();
1709
+ return options.destination === "executor" ? this.#synchronizer.syncToExecutor(options.signal) : this.#synchronizer.syncToLocal(options.signal);
1710
+ }
1711
+ async dispose() {
1712
+ if (this.#disposed) return;
1713
+ this.#disposed = true;
1714
+ this.sandbox.dispose();
1715
+ await this.#remote.delete(60, true);
1716
+ }
1717
+ #assertActive() {
1718
+ if (this.#disposed) throw new Error("Daytona executor session has been disposed");
1719
+ }
1720
+ };
1721
+ var DaytonaExecutorProvider = class {
1722
+ systemPrompt = `Executor-backed delegation:
1723
+ - The delegateTask tool starts a fresh delegated agent with native workspace tools in an isolated Daytona sandbox.
1724
+ - Use delegateTask when the task requires unavailable executables, package managers, full system tooling, or native test/build commands.
1725
+ - The delegated agent cannot delegate further. Its trajectory and exact final summary are returned to you.
1726
+ - The Daytona workspace uses a provider-selected writable path that differs from your /workspace path. In delegated task descriptions, say "the workspace root" and do not hardcode /workspace; the child receives its actual workspace path.
1727
+ - One remote executor session is reused for this run. Workspace changes are synchronized back before delegateTask returns and are then visible through your workspace tools.
1728
+ - Remote startup and workspace transfer have overhead, so delegate bounded, substantial work rather than individual commands.
1729
+ - Do not claim delegated work succeeded unless the returned trajectory or summary confirms it.`;
1730
+ #options;
1731
+ #client;
1732
+ constructor(options) {
1733
+ this.#options = options;
1734
+ this.#client = options.client;
1735
+ }
1736
+ async createSession({ signal }) {
1737
+ signal?.throwIfAborted();
1738
+ const client = this.#client ?? new Daytona();
1739
+ const remote = await abortable(
1740
+ client.create(
1741
+ {
1742
+ ...this.#options.snapshot ? { snapshot: this.#options.snapshot } : {},
1743
+ autoStopInterval: 0,
1744
+ autoDeleteInterval: 3,
1745
+ ttlMinutes: this.#options.ttlMinutes ?? DEFAULT_TTL_MINUTES,
1746
+ labels: { managedBy: "ollie" }
1747
+ },
1748
+ { timeout: 120 }
1749
+ ),
1750
+ signal
1751
+ );
1752
+ try {
1753
+ const workDir = await abortable(remote.getWorkDir(), signal);
1754
+ if (!workDir) throw new Error("Daytona did not report a writable working directory");
1755
+ const remoteWorkspacePath = this.#options.remoteWorkspacePath ?? `${workDir.replace(/\/+$/, "")}/ollie-workspace`;
1756
+ return new DaytonaExecutorSession(remote, { ...this.#options, remoteWorkspacePath }, signal);
1757
+ } catch (error) {
1758
+ await remote.delete(60, true).catch(() => void 0);
1759
+ throw error;
1760
+ }
1761
+ }
1762
+ };
1763
+
1764
+ // src/executor/delegator.ts
1765
+ import { generateText, stepCountIs } from "ai";
1766
+
1767
+ // src/prompt.ts
1768
+ function buildSystemPrompt(options) {
1769
+ const executorSection = options.executorInstructions ? `
1770
+
1771
+ ${options.executorInstructions}` : "";
1772
+ return `You are Terminus, a concise one-shot CLI evaluation agent inspired by Harbor Terminus-2.
1773
+
1774
+ Terminus-2 spirit:
1775
+ - Prefer terminal-centric operation through the bash tool.
1776
+ - Treat bash as the primary terminal environment: inspect files, list directories, search text, run tests, and gather state by issuing shell commands.
1777
+ - Operate autonomously and finish the user's task in this single run.
1778
+ - Do not ask for interactive confirmation or user input during execution.
1779
+ - Prefer concrete terminal inspection over speculation. Verify facts through shell output before claiming them.
1780
+ - Keep actions minimal, bounded, and relevant to the task.
1781
+ - Explain failures clearly and recover where practical.
1782
+ - Do not claim a command, file observation, test result, or search result succeeded unless shell output confirms it.
1783
+ - Summarize final findings and important command results clearly.
1784
+
1785
+ Runtime context:
1786
+ - Working directory: ${SANDBOX_WORKSPACE_PATH2}
1787
+ - Current time: ${options.now.toISOString()}
1788
+ - Maximum model/tool steps: ${options.maxSteps}
1789
+ - Per-command timeout: ${options.commandTimeoutMs} ms
1790
+
1791
+ Environment capabilities and limitations:
1792
+ - This is a restricted Bash environment. Only the provided built-in commands and Ollie's Git command can run.
1793
+ - Arbitrary executables and package managers such as node, npm, pnpm, npx, bun, deno, and system Python are unavailable; downloading a binary does not make it executable.
1794
+ - Use python/python3 (CPython compiled to WebAssembly) or js-exec (QuickJS) for supported scripting. They are not full Python or Node.js environments and cannot install or import arbitrary packages.
1795
+ - Common built-ins include find, rg, grep, sed, awk, jq, yq, curl, diff, tar, and sqlite3. Run help or <command> --help when uncertain; do not repeatedly probe unavailable commands.
1796
+ - Shell state is isolated per bash tool call: cd, exported variables, aliases, and functions do not carry into the next call. Combine dependent shell-state operations in one call, or pass explicit paths.
1797
+ - There is no process/job control or background execution. Shell arithmetic is limited to signed 32-bit integers, and loops, recursion, command counts, runtime, and output are bounded.
1798
+ - The environment defaults to UTC. Symbolic links are disabled.
1799
+ - Full HTTP(S) network access is enabled through curl and compatible commands. Network requests can have permanent external side effects.${executorSection}
1800
+
1801
+ Tool policy:
1802
+ - There is no approval flow. Tool calls execute automatically.
1803
+ - Git supports a practical subset of commands. Hooks, submodules, signing, SSH remotes, editors, pagers, and advanced options are unavailable.
1804
+ - A successful git push or other mutating network request changes the remote permanently and is allowed only when explicitly requested by the user.
1805
+ - Avoid destructive actions unless the user's task explicitly requires them.`;
1806
+ }
1807
+ function buildDelegatedSystemPrompt(options) {
1808
+ const executionBoundary = options.context.isolated ? "Commands run natively inside an isolated remote environment." : "Commands run natively with the current user's permissions and are not isolated.";
1809
+ return `You are Ollie's delegated execution agent. Complete one bounded task using native workspace tools.
1810
+
1811
+ Runtime context:
1812
+ - Workspace root: ${options.context.workspacePath}
1813
+ - Current time: ${options.now.toISOString()}
1814
+ - Maximum model/tool steps: ${options.maxSteps}
1815
+ - Per-command timeout: ${options.commandTimeoutMs} ms
1816
+ - ${executionBoundary}
1817
+
1818
+ Operating rules:
1819
+ - Start at the workspace root and use relative paths for workspace files.
1820
+ - Inspect the relevant state before making changes.
1821
+ - Keep changes minimal and directly related to the delegated task.
1822
+ - Run appropriate native checks or tests and report their actual results.
1823
+ - Do not delegate work and do not attempt to synchronize the workspace; neither capability is available.
1824
+ - Avoid destructive or permanent external actions unless the delegated task explicitly requires them.
1825
+ - Finish with a concise text summary describing what you did, what changed, and how you verified it. This final text block is returned verbatim to the parent agent.`;
1826
+ }
1827
+
1828
+ // src/tools.ts
1829
+ import { createBashTool } from "bash-tool";
1830
+ async function createWorkspaceTools(options) {
1831
+ const toolkit = await createBashTool({
1832
+ sandbox: options.sandbox,
1833
+ destination: options.destination,
1834
+ maxOutputLength: options.maxOutputBytes,
1835
+ extraInstructions: options.extraInstructions
1836
+ });
1837
+ return toolkit.tools;
1838
+ }
1839
+ async function createTools(options) {
1840
+ return createWorkspaceTools({
1841
+ sandbox: createJustBash(options.cwd, { mounts: options.mounts }),
1842
+ destination: SANDBOX_WORKSPACE_PATH2,
1843
+ maxOutputBytes: options.maxOutputBytes,
1844
+ extraInstructions: "Use bash commands to inspect files, search, run tests, and gather terminal state. Sandbox-native git is available; local Git changes persist in the workspace, and git push has permanent remote effects, so destructive actions and pushes must only be used when explicitly requested. Keep commands bounded."
1845
+ });
1846
+ }
1847
+
1848
+ // src/executor/delegator.ts
1849
+ var ModelTaskDelegator = class {
1850
+ constructor(options) {
1851
+ this.options = options;
1852
+ }
1853
+ options;
1854
+ async runTask({
1855
+ session,
1856
+ task,
1857
+ signal
1858
+ }) {
1859
+ const instructions = buildDelegatedSystemPrompt({
1860
+ now: this.options.now?.() ?? /* @__PURE__ */ new Date(),
1861
+ maxSteps: this.options.maxSteps,
1862
+ commandTimeoutMs: this.options.commandTimeoutMs,
1863
+ context: session.context
1864
+ });
1865
+ const tools = await createWorkspaceTools({
1866
+ sandbox: session.sandbox,
1867
+ destination: session.context.workspacePath,
1868
+ maxOutputBytes: this.options.maxOutputBytes,
1869
+ extraInstructions: "Use the native workspace tools to complete the delegated task. Start at the workspace root, use relative paths, keep changes focused, and verify the result before reporting it."
1870
+ });
1871
+ const result = await generateText({
1872
+ model: this.options.model,
1873
+ instructions,
1874
+ prompt: task,
1875
+ tools,
1876
+ stopWhen: stepCountIs(this.options.maxSteps),
1877
+ abortSignal: signal,
1878
+ maxRetries: 1,
1879
+ onStepFinish: async (step) => {
1880
+ for (const toolCall of step.toolCalls) {
1881
+ await this.options.onEvent?.({
1882
+ type: "tool-call",
1883
+ toolName: toolCall.toolName,
1884
+ input: toolCall.input,
1885
+ source: "delegate"
1886
+ });
1887
+ }
1888
+ for (const toolResult of step.toolResults) {
1889
+ await this.options.onEvent?.({
1890
+ type: "tool-result",
1891
+ toolName: toolResult.toolName,
1892
+ output: toolResult.output,
1893
+ source: "delegate"
1894
+ });
1895
+ }
1896
+ }
1897
+ });
1898
+ const finalTextParts = result.finalStep.content.filter(
1899
+ (part) => part.type === "text"
1900
+ );
1901
+ const summary = finalTextParts.at(-1)?.text;
1902
+ if (summary === void 0) {
1903
+ throw new Error("Delegated agent did not return a final text summary");
1904
+ }
1905
+ const trajectory = [
1906
+ { role: "system", content: instructions },
1907
+ { role: "user", content: task },
1908
+ ...result.responseMessages
1909
+ ];
1910
+ return { trajectory, summary };
1911
+ }
1912
+ };
1913
+
1914
+ // src/executor/local.ts
1915
+ import { spawn } from "child_process";
1916
+ import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile2 } from "fs/promises";
1917
+ import { dirname as dirname2, isAbsolute as isAbsolute2, resolve as resolve4 } from "path";
1918
+ var LocalSandbox = class {
1919
+ #cwd;
1920
+ #commandTimeoutMs;
1921
+ #env;
1922
+ #signal;
1923
+ #processes = /* @__PURE__ */ new Set();
1924
+ #disposed = false;
1925
+ constructor(options, signal) {
1926
+ this.#cwd = resolve4(options.cwd);
1927
+ this.#commandTimeoutMs = options.commandTimeoutMs;
1928
+ this.#env = options.env ?? process.env;
1929
+ this.#signal = signal;
1930
+ }
1931
+ async executeCommand(command) {
1932
+ this.#assertActive();
1933
+ this.#signal?.throwIfAborted();
1934
+ return new Promise((resolveResult, reject) => {
1935
+ const child = spawn("/bin/sh", ["-lc", command], {
1936
+ cwd: this.#cwd,
1937
+ env: this.#env,
1938
+ detached: true,
1939
+ stdio: ["ignore", "pipe", "pipe"]
1940
+ });
1941
+ this.#processes.add(child);
1942
+ let stdout = "";
1943
+ let stderr = "";
1944
+ let timedOut = false;
1945
+ let abortReason;
1946
+ let forceTimer;
1947
+ let settled = false;
1948
+ const finish = (callback) => {
1949
+ if (settled) return;
1950
+ settled = true;
1951
+ clearTimeout(timer);
1952
+ if (forceTimer) clearTimeout(forceTimer);
1953
+ this.#signal?.removeEventListener("abort", onAbort);
1954
+ this.#processes.delete(child);
1955
+ callback();
1956
+ };
1957
+ const terminate = (signal) => {
1958
+ if (!child.pid) return;
1959
+ try {
1960
+ process.kill(-child.pid, signal);
1961
+ } catch {
1962
+ child.kill(signal);
1963
+ }
1964
+ };
1965
+ const beginTermination = () => {
1966
+ terminate("SIGTERM");
1967
+ forceTimer = setTimeout(() => terminate("SIGKILL"), 100);
1968
+ forceTimer.unref();
1969
+ };
1970
+ const onAbort = () => {
1971
+ abortReason = this.#signal?.reason ?? new Error("Executor command aborted");
1972
+ beginTermination();
1973
+ };
1974
+ const timer = setTimeout(() => {
1975
+ timedOut = true;
1976
+ beginTermination();
1977
+ }, this.#commandTimeoutMs);
1978
+ child.stdout?.setEncoding("utf8");
1979
+ child.stderr?.setEncoding("utf8");
1980
+ child.stdout?.on("data", (chunk) => {
1981
+ stdout += chunk;
1982
+ });
1983
+ child.stderr?.on("data", (chunk) => {
1984
+ stderr += chunk;
1985
+ });
1986
+ child.once("error", (error) => finish(() => reject(error)));
1987
+ child.once("close", (code, signal) => {
1988
+ finish(() => {
1989
+ if (abortReason !== void 0) {
1990
+ reject(abortReason);
1991
+ return;
1992
+ }
1993
+ if (timedOut) {
1994
+ resolveResult({
1995
+ exitCode: 124,
1996
+ stdout,
1997
+ stderr: `${stderr}${stderr ? "\n" : ""}Command timed out after ${this.#commandTimeoutMs} ms`
1998
+ });
1999
+ return;
2000
+ }
2001
+ resolveResult({
2002
+ exitCode: code ?? (signal ? 128 : 1),
2003
+ stdout,
2004
+ stderr
2005
+ });
2006
+ });
2007
+ });
2008
+ this.#signal?.addEventListener("abort", onAbort, { once: true });
2009
+ });
2010
+ }
2011
+ async readFile(path) {
2012
+ this.#assertActive();
2013
+ return readFile2(this.#resolvePath(path), "utf8");
2014
+ }
2015
+ async writeFiles(files) {
2016
+ this.#assertActive();
2017
+ await Promise.all(
2018
+ files.map(async ({ path, content }) => {
2019
+ const target = this.#resolvePath(path);
2020
+ await mkdir2(dirname2(target), { recursive: true });
2021
+ await writeFile2(target, content);
2022
+ })
2023
+ );
2024
+ }
2025
+ dispose() {
2026
+ if (this.#disposed) return;
2027
+ this.#disposed = true;
2028
+ for (const child of this.#processes) {
2029
+ if (!child.pid) continue;
2030
+ try {
2031
+ process.kill(-child.pid, "SIGTERM");
2032
+ } catch {
2033
+ child.kill("SIGTERM");
2034
+ }
2035
+ }
2036
+ this.#processes.clear();
2037
+ }
2038
+ #resolvePath(path) {
2039
+ return isAbsolute2(path) ? path : resolve4(this.#cwd, path);
2040
+ }
2041
+ #assertActive() {
2042
+ if (this.#disposed) throw new Error("Local executor session has been disposed");
2043
+ }
2044
+ };
2045
+ var LocalExecutorSession = class {
2046
+ sandbox;
2047
+ context;
2048
+ #disposed = false;
2049
+ constructor(options, signal) {
2050
+ const workspacePath = resolve4(options.cwd);
2051
+ this.sandbox = new LocalSandbox(options, signal);
2052
+ this.context = {
2053
+ kind: "local",
2054
+ workspacePath,
2055
+ isolated: false,
2056
+ networkAccess: "full"
2057
+ };
2058
+ }
2059
+ async resume(signal) {
2060
+ this.#assertActive();
2061
+ signal?.throwIfAborted();
2062
+ }
2063
+ async pause(signal) {
2064
+ this.#assertActive();
2065
+ signal?.throwIfAborted();
2066
+ }
2067
+ async dispose() {
2068
+ if (this.#disposed) return;
2069
+ this.#disposed = true;
2070
+ this.sandbox.dispose();
2071
+ }
2072
+ #assertActive() {
2073
+ if (this.#disposed) throw new Error("Local executor session has been disposed");
2074
+ }
2075
+ };
2076
+ var LocalExecutorProvider = class {
2077
+ constructor(options) {
2078
+ this.options = options;
2079
+ }
2080
+ options;
2081
+ systemPrompt = `Executor-backed delegation:
2082
+ - The delegateTask tool starts a fresh delegated agent with native workspace tools at the current local workspace root.
2083
+ - Use delegateTask when the task requires unavailable executables, package managers, full system tooling, or native test/build commands.
2084
+ - Native execution runs with the current user's permissions and is not isolated. Delegate only bounded, task-relevant work.
2085
+ - The delegated agent cannot delegate further. Its trajectory and exact final summary are returned to you.
2086
+ - One executor session is reused for this run. Because the local executor shares the workspace, its file changes are immediately visible through your workspace tools.
2087
+ - Do not claim delegated work succeeded unless the returned trajectory or summary confirms it.`;
2088
+ async createSession({ signal }) {
2089
+ signal?.throwIfAborted();
2090
+ return new LocalExecutorSession(this.options, signal);
2091
+ }
2092
+ };
2093
+
2094
+ // src/executor/tools.ts
2095
+ import { jsonSchema, tool } from "ai";
2096
+ function createExecutorTools(controller) {
2097
+ return {
2098
+ delegateTask: tool({
2099
+ description: "Delegate one bounded task to a fresh agent with native workspace tools in the configured execution environment.",
2100
+ inputSchema: jsonSchema({
2101
+ type: "object",
2102
+ additionalProperties: false,
2103
+ required: ["task"],
2104
+ properties: {
2105
+ task: {
2106
+ type: "string",
2107
+ minLength: 1,
2108
+ description: "A complete, self-contained description of the task to perform"
2109
+ }
2110
+ }
2111
+ }),
2112
+ execute: async ({ task }, { abortSignal }) => {
2113
+ const trimmedTask = task.trim();
2114
+ if (!trimmedTask) throw new Error("Delegated task must not be empty");
2115
+ return controller.delegateTask(trimmedTask, abortSignal);
2116
+ }
2117
+ })
2118
+ };
2119
+ }
2120
+
2121
+ // src/provider.ts
2122
+ import { createOpenAI } from "@ai-sdk/openai";
2123
+ function createLanguageModel({
2124
+ provider,
2125
+ model,
2126
+ env = process.env
2127
+ }) {
2128
+ if (provider !== "openai") {
2129
+ throw new CliError(
2130
+ `Unsupported provider: ${provider}. The reference implementation currently supports openai.`
2131
+ );
2132
+ }
2133
+ if (!env.OPENAI_API_KEY) {
2134
+ throw new CliError("OPENAI_API_KEY is required when using the openai provider.");
2135
+ }
2136
+ const openai = createOpenAI({ apiKey: env.OPENAI_API_KEY });
2137
+ return openai(model);
2138
+ }
2139
+
2140
+ // src/runner.ts
2141
+ function createExecutorProvider(options) {
2142
+ switch (options.executor) {
2143
+ case "none":
2144
+ return void 0;
2145
+ case "local":
2146
+ return new LocalExecutorProvider({
2147
+ cwd: options.cwd,
2148
+ commandTimeoutMs: options.commandTimeoutMs
2149
+ });
2150
+ case "daytona":
2151
+ return new DaytonaExecutorProvider({
2152
+ cwd: options.cwd,
2153
+ commandTimeoutMs: options.commandTimeoutMs,
2154
+ snapshot: process.env.OLLIE_DAYTONA_SNAPSHOT
2155
+ });
2156
+ }
2157
+ }
2158
+ async function runOneShot(options) {
2159
+ let executorController;
2160
+ try {
2161
+ const model = createLanguageModel({
2162
+ provider: options.provider,
2163
+ model: options.model
2164
+ });
2165
+ const workspaceTools = await createTools({
2166
+ cwd: options.cwd,
2167
+ mounts: options.mounts,
2168
+ maxOutputBytes: options.maxOutputBytes
2169
+ });
2170
+ const executorProvider = createExecutorProvider(options);
2171
+ if (executorProvider) {
2172
+ executorController = new ExecutorController(
2173
+ executorProvider,
2174
+ new ModelTaskDelegator({
2175
+ model,
2176
+ maxSteps: options.maxSteps,
2177
+ maxOutputBytes: options.maxOutputBytes,
2178
+ commandTimeoutMs: options.commandTimeoutMs,
2179
+ onEvent: options.onEvent
2180
+ })
2181
+ );
2182
+ }
2183
+ const tools = {
2184
+ ...workspaceTools,
2185
+ ...executorController ? createExecutorTools(executorController) : {}
2186
+ };
2187
+ const result = streamText({
2188
+ model,
2189
+ tools,
2190
+ instructions: buildSystemPrompt({
2191
+ now: /* @__PURE__ */ new Date(),
2192
+ maxSteps: options.maxSteps,
2193
+ commandTimeoutMs: options.commandTimeoutMs,
2194
+ executorInstructions: executorProvider?.systemPrompt
2195
+ }),
2196
+ prompt: options.prompt,
2197
+ stopWhen: stepCountIs2(options.maxSteps),
2198
+ abortSignal: options.signal,
2199
+ maxRetries: 1
2200
+ });
2201
+ for await (const part of result.stream) {
2202
+ switch (part.type) {
2203
+ case "text-delta":
2204
+ await options.onEvent({ type: "text", text: part.text });
2205
+ break;
2206
+ case "tool-call":
2207
+ await options.onEvent({ type: "tool-call", toolName: part.toolName, input: part.input });
2208
+ break;
2209
+ case "tool-result":
2210
+ await options.onEvent({
2211
+ type: "tool-result",
2212
+ toolName: part.toolName,
2213
+ output: part.output
2214
+ });
2215
+ break;
2216
+ case "tool-error":
2217
+ await options.onEvent({
2218
+ type: "error",
2219
+ message: `${part.toolName}: ${getErrorMessage(part.error)}`
2220
+ });
2221
+ break;
2222
+ case "error":
2223
+ await options.onEvent({ type: "error", message: getErrorMessage(part.error) });
2224
+ break;
2225
+ case "finish":
2226
+ await options.onEvent({ type: "done", usage: part.totalUsage });
2227
+ break;
2228
+ }
2229
+ }
2230
+ return 0;
2231
+ } catch (error) {
2232
+ if (options.signal?.aborted) {
2233
+ await options.onEvent({ type: "error", message: "aborted" });
2234
+ return 130;
2235
+ }
2236
+ await options.onEvent({ type: "error", message: getErrorMessage(error) });
2237
+ return 1;
2238
+ } finally {
2239
+ await executorController?.dispose();
2240
+ }
2241
+ }
2242
+
2243
+ // src/sandbox/runtime.ts
2244
+ import { once } from "events";
2245
+ import { posix as posix4 } from "path";
2246
+ import { createInterface } from "readline";
2247
+ function isRecord(value) {
2248
+ return typeof value === "object" && value !== null && !Array.isArray(value);
2249
+ }
2250
+ function parseRequest(line) {
2251
+ let value;
2252
+ try {
2253
+ value = JSON.parse(line);
2254
+ } catch {
2255
+ throw new Error("Invalid JSON request");
2256
+ }
2257
+ if (!isRecord(value)) {
2258
+ throw new Error("Request must be a JSON object");
2259
+ }
2260
+ if (typeof value.id !== "string" && typeof value.id !== "number") {
2261
+ throw new Error("Request id must be a string or number");
2262
+ }
2263
+ if (value.method !== "exec" && value.method !== "readFile" && value.method !== "writeFile") {
2264
+ throw new Error("Unknown worker method");
2265
+ }
2266
+ if (!isRecord(value.params)) {
2267
+ throw new Error("Request params must be a JSON object");
2268
+ }
2269
+ return {
2270
+ id: value.id,
2271
+ method: value.method,
2272
+ params: value.params
2273
+ };
2274
+ }
2275
+ function requireString(params, name) {
2276
+ const value = params[name];
2277
+ if (typeof value !== "string") {
2278
+ throw new Error(`Parameter ${name} must be a string`);
2279
+ }
2280
+ return value;
2281
+ }
2282
+ function validateVirtualPath(path) {
2283
+ if (!posix4.isAbsolute(path) || path.includes("\\") || path.includes("\0") || posix4.normalize(path) !== path || path.split("/").some((component) => component === "." || component === "..")) {
2284
+ throw new Error("Path must be a normalized absolute virtual path");
2285
+ }
2286
+ return path;
2287
+ }
2288
+ function requestIdFromLine(line) {
2289
+ try {
2290
+ const value = JSON.parse(line);
2291
+ if (isRecord(value) && (typeof value.id === "string" || typeof value.id === "number")) {
2292
+ return value.id;
2293
+ }
2294
+ } catch {
2295
+ }
2296
+ return null;
2297
+ }
2298
+ function safeErrorMessage(error, workspaceRoot) {
2299
+ const message = error instanceof Error ? error.message : "Worker operation failed";
2300
+ return message.split(workspaceRoot).join("<workspace>");
2301
+ }
2302
+ async function handleWorkerLine(bash, line, workspaceRoot) {
2303
+ const fallbackId = requestIdFromLine(line);
2304
+ try {
2305
+ const request = parseRequest(line);
2306
+ switch (request.method) {
2307
+ case "exec": {
2308
+ const command = requireString(request.params, "command");
2309
+ const result = await bash.exec(command);
2310
+ return {
2311
+ id: request.id,
2312
+ result: {
2313
+ stdout: result.stdout,
2314
+ stderr: result.stderr,
2315
+ exitCode: result.exitCode
2316
+ }
2317
+ };
2318
+ }
2319
+ case "readFile": {
2320
+ const path = validateVirtualPath(requireString(request.params, "path"));
2321
+ return { id: request.id, result: await bash.fs.readFile(path) };
2322
+ }
2323
+ case "writeFile": {
2324
+ const path = validateVirtualPath(requireString(request.params, "path"));
2325
+ const content = requireString(request.params, "content");
2326
+ await bash.fs.writeFile(path, content);
2327
+ return { id: request.id, result: null };
2328
+ }
2329
+ }
2330
+ } catch (error) {
2331
+ return { id: fallbackId, error: { message: safeErrorMessage(error, workspaceRoot) } };
2332
+ }
2333
+ }
2334
+ async function writeResponse(output, response) {
2335
+ if (!output.write(`${JSON.stringify(response)}
2336
+ `)) {
2337
+ await once(output, "drain");
2338
+ }
2339
+ }
2340
+ async function runWorker(options = {}) {
2341
+ const workspaceRoot = options.cwd ?? process.cwd();
2342
+ const input = options.input ?? process.stdin;
2343
+ const output = options.output ?? process.stdout;
2344
+ const bash = createJustBash(workspaceRoot, { mounts: options.mounts });
2345
+ const lines = createInterface({ input, crlfDelay: Number.POSITIVE_INFINITY });
2346
+ const close = () => lines.close();
2347
+ if (options.signal?.aborted) {
2348
+ close();
2349
+ } else {
2350
+ options.signal?.addEventListener("abort", close, { once: true });
2351
+ }
2352
+ try {
2353
+ for await (const line of lines) {
2354
+ await writeResponse(output, await handleWorkerLine(bash, line, workspaceRoot));
2355
+ }
2356
+ } finally {
2357
+ options.signal?.removeEventListener("abort", close);
2358
+ lines.close();
2359
+ }
2360
+ }
2361
+
2362
+ // src/utils/output.ts
2363
+ var encoder = new TextEncoder();
2364
+ function truncateText(input, maxBytes) {
2365
+ if (maxBytes <= 0) {
2366
+ return {
2367
+ text: "\n[truncated: output limit is 0 bytes]",
2368
+ truncated: input.length > 0
2369
+ };
2370
+ }
2371
+ if (encoder.encode(input).byteLength <= maxBytes) {
2372
+ return { text: input, truncated: false };
2373
+ }
2374
+ let bytes = 0;
2375
+ let end = 0;
2376
+ for (const char of input) {
2377
+ const size = encoder.encode(char).byteLength;
2378
+ if (bytes + size > maxBytes) {
2379
+ break;
2380
+ }
2381
+ bytes += size;
2382
+ end += char.length;
2383
+ }
2384
+ return {
2385
+ text: `${input.slice(0, end)}
2386
+ [truncated: output exceeded ${maxBytes} bytes]`,
2387
+ truncated: true
2388
+ };
2389
+ }
2390
+
2391
+ // src/cli-program.ts
2392
+ function addExecOptions(command, ndjsonDescription = "emit one JSON result record") {
2393
+ return command.option("--cwd <path>", "working directory").option("--timeout <ms>", "command timeout in milliseconds").option("--max-output <bytes>", "maximum retained output").option("--ndjson", ndjsonDescription);
2394
+ }
2395
+ function collectOption(value, previous) {
2396
+ return [...previous ?? [], value];
2397
+ }
2398
+ function addMountOption(command) {
2399
+ return command.option(
2400
+ "--mount <host-path:sandbox-path>",
2401
+ "mount a host directory read-write (repeatable)",
2402
+ collectOption
2403
+ );
2404
+ }
2405
+ function addAgentOptions(command) {
2406
+ return addMountOption(addExecOptions(command, "emit newline-delimited JSON event records")).option("--provider <provider>", "model provider", "openai").option("--model <model>", "model id").option(
2407
+ "--executor <executor>",
2408
+ "delegated executor: none, local, or daytona (local is unisolated; daytona requires DAYTONA_API_KEY)",
2409
+ "none"
2410
+ ).option("--max-steps <number>", "maximum model/tool steps").option("--no-color", "disable color output");
2411
+ }
2412
+ async function runAgent(promptParts, options) {
2413
+ const prompt = promptParts.join(" ").trim();
2414
+ if (!prompt) {
2415
+ throw new CliError('A prompt is required. Example: ollie agent "summarize this repository"');
2416
+ }
2417
+ const config = await resolveRunConfig(options);
2418
+ const renderer = createRenderer({ ndjson: config.ndjson, color: config.color });
2419
+ const controller = new AbortController();
2420
+ const onSigint = () => controller.abort();
2421
+ process.once("SIGINT", onSigint);
2422
+ try {
2423
+ const exitCode = await runOneShot({
2424
+ ...config,
2425
+ prompt,
2426
+ signal: controller.signal,
2427
+ onEvent: (event) => renderer.render(event)
2428
+ });
2429
+ process.exitCode = exitCode;
2430
+ } finally {
2431
+ process.removeListener("SIGINT", onSigint);
2432
+ }
2433
+ }
2434
+ async function runExec(commandParts, options) {
2435
+ const shellCommand = commandParts.join(" ").trim();
2436
+ if (!shellCommand) {
2437
+ throw new CliError('A command is required. Example: ollie "pwd && ls -la"');
2438
+ }
2439
+ const config = await resolveRunConfig(options);
2440
+ const controller = new AbortController();
2441
+ let signalExitCode;
2442
+ const onSigint = () => {
2443
+ signalExitCode = 130;
2444
+ controller.abort();
2445
+ };
2446
+ const onSigterm = () => {
2447
+ signalExitCode = 143;
2448
+ controller.abort();
2449
+ };
2450
+ process.once("SIGINT", onSigint);
2451
+ process.once("SIGTERM", onSigterm);
2452
+ try {
2453
+ const result = await runExecCommand(
2454
+ config.cwd,
2455
+ shellCommand,
2456
+ {
2457
+ timeoutMs: config.commandTimeoutMs,
2458
+ env: process.env
2459
+ },
2460
+ controller.signal
2461
+ );
2462
+ const stdout = truncateText(result.stdout, config.maxOutputBytes);
2463
+ const stderr = truncateText(result.stderr, config.maxOutputBytes);
2464
+ if (config.ndjson) {
2465
+ process.stdout.write(
2466
+ `${JSON.stringify({
2467
+ exitCode: result.exitCode,
2468
+ stdout: stdout.text,
2469
+ stderr: stderr.text,
2470
+ durationMs: result.durationMs,
2471
+ timedOut: result.timedOut,
2472
+ truncated: stdout.truncated || stderr.truncated
2473
+ })}
2474
+ `
2475
+ );
2476
+ } else {
2477
+ if (stdout.text) {
2478
+ process.stdout.write(stdout.text);
2479
+ }
2480
+ if (stderr.text) {
2481
+ process.stderr.write(stderr.text);
2482
+ }
2483
+ }
2484
+ process.exitCode = signalExitCode ?? (result.timedOut ? 124 : result.exitCode);
2485
+ } catch (error) {
2486
+ if (signalExitCode !== void 0) {
2487
+ process.exitCode = signalExitCode;
2488
+ return;
2489
+ }
2490
+ throw error;
2491
+ } finally {
2492
+ process.removeListener("SIGINT", onSigint);
2493
+ process.removeListener("SIGTERM", onSigterm);
2494
+ }
2495
+ }
2496
+ async function runSandbox(options) {
2497
+ const controller = new AbortController();
2498
+ let signalExitCode;
2499
+ const onSigint = () => {
2500
+ signalExitCode = 130;
2501
+ controller.abort();
2502
+ };
2503
+ const onSigterm = () => {
2504
+ signalExitCode = 143;
2505
+ controller.abort();
2506
+ };
2507
+ process.once("SIGINT", onSigint);
2508
+ process.once("SIGTERM", onSigterm);
2509
+ try {
2510
+ await runWorker({
2511
+ cwd: options.cwd,
2512
+ mounts: parseSandboxMounts(options.mount),
2513
+ signal: controller.signal
2514
+ });
2515
+ if (signalExitCode !== void 0) {
2516
+ process.exitCode = signalExitCode;
2517
+ }
2518
+ } finally {
2519
+ process.removeListener("SIGINT", onSigint);
2520
+ process.removeListener("SIGTERM", onSigterm);
2521
+ }
2522
+ }
2523
+ function createRootProgram() {
2524
+ const program = new Command();
2525
+ program.name("ollie").description(`${packageName}: sandboxed command runner and optional model agent`).version(packageVersion).enablePositionalOptions().passThroughOptions().exitOverride();
2526
+ addExecOptions(program.argument("[command...]", "command to execute in a fresh sandbox")).action(
2527
+ async (commandParts, options) => {
2528
+ await runExec(commandParts, options);
2529
+ }
2530
+ );
2531
+ return program;
2532
+ }
2533
+ function createProgram() {
2534
+ const program = createRootProgram();
2535
+ const agent = addAgentOptions(
2536
+ program.command("agent").description("run a one-shot model agent task").argument("[prompt...]", "task prompt").enablePositionalOptions().passThroughOptions()
2537
+ );
2538
+ agent.action(async (prompt, options) => {
2539
+ await runAgent(prompt, options);
2540
+ });
2541
+ const sandbox = addMountOption(
2542
+ program.command("sandbox").description("run the persistent sandbox NDJSON command interface").option("--cwd <path>", "working directory")
2543
+ );
2544
+ sandbox.action(async (options) => {
2545
+ await runSandbox(options);
2546
+ });
2547
+ program.command("doctor").description("validate the local Ollie setup without making model calls").option("--cwd <path>", "working directory").option("--provider <provider>", "model provider", "openai").option("--model <model>", "model id").option("--json", "emit JSON report").action(async (options) => {
2548
+ const config = await resolveRunConfig(options);
2549
+ process.exitCode = await runDoctor(config);
2550
+ });
2551
+ return program;
2552
+ }
2553
+ var RESERVED_SUBCOMMANDS = /* @__PURE__ */ new Set(["agent", "sandbox", "doctor"]);
2554
+ var ROOT_OPTIONS_WITH_VALUES = /* @__PURE__ */ new Set(["--cwd", "--timeout", "--max-output"]);
2555
+ function rootBoundaryPrecedesCommand(args) {
2556
+ for (let index = 0; index < args.length; index += 1) {
2557
+ const token = args[index] ?? "";
2558
+ if (token === "--") {
2559
+ return true;
2560
+ }
2561
+ if (RESERVED_SUBCOMMANDS.has(token)) {
2562
+ return false;
2563
+ }
2564
+ if (ROOT_OPTIONS_WITH_VALUES.has(token)) {
2565
+ index += 1;
2566
+ continue;
2567
+ }
2568
+ if ([...ROOT_OPTIONS_WITH_VALUES].some((option) => token.startsWith(`${option}=`))) {
2569
+ continue;
2570
+ }
2571
+ if (token === "--ndjson") {
2572
+ continue;
2573
+ }
2574
+ return false;
2575
+ }
2576
+ return false;
2577
+ }
2578
+ async function main(argv = process.argv) {
2579
+ const args = argv.slice(2);
2580
+ const program = rootBoundaryPrecedesCommand(args) ? createRootProgram() : createProgram();
2581
+ if (args.length === 0) {
2582
+ program.outputHelp();
2583
+ throw new CliError('A command is required. Example: ollie "pwd && ls -la"');
2584
+ }
2585
+ await program.parseAsync(argv);
2586
+ }
2587
+
2588
+ // src/cli.ts
2589
+ main().catch((error) => {
2590
+ if (error instanceof CommanderError) {
2591
+ process.exitCode = error.exitCode;
2592
+ return;
2593
+ }
2594
+ process.stderr.write(`error: ${getErrorMessage(error)}
2595
+ `);
2596
+ process.exitCode = 1;
2597
+ });
2598
+ //# sourceMappingURL=cli.js.map