@webship.co/workspace 1.0.0-alpha1 → 1.0.0-beta2

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 (634) hide show
  1. package/LICENSE +339 -0
  2. package/README.md +28 -364
  3. package/core/bin/workspace.js +135 -0
  4. package/core/config/settings.labels.yml +514 -0
  5. package/core/config/settings.template.yml +292 -0
  6. package/core/config/style.yml +53 -0
  7. package/core/config/theme.default.yml +161 -0
  8. package/core/config/theme.dispatch.yml +166 -0
  9. package/core/config/theme.drupal.yml +175 -0
  10. package/core/config/theme.ember.yml +160 -0
  11. package/core/config/theme.github.yml +172 -0
  12. package/core/config/theme.gitlab.yml +168 -0
  13. package/core/config/theme.press.yml +161 -0
  14. package/core/config/theme.slate.yml +160 -0
  15. package/core/config/theme.upsun.yml +174 -0
  16. package/core/docs/architecture.svg +65 -0
  17. package/core/docs/getting-started.md +51 -0
  18. package/core/docs/plugins.md +27 -0
  19. package/core/docs/releases.md +23 -0
  20. package/core/docs/testing.md +15 -0
  21. package/core/docs/workspaces.md +25 -0
  22. package/core/scripts/args/arg-ai-items.sh +65 -0
  23. package/core/scripts/args/arg-autostart.sh +31 -0
  24. package/core/scripts/args/arg-avatar-agent.sh +28 -0
  25. package/core/scripts/args/arg-avatar-catalog.sh +12 -0
  26. package/core/scripts/args/arg-avatar-character.sh +68 -0
  27. package/core/scripts/args/arg-avatar-voice.sh +24 -0
  28. package/core/scripts/args/arg-avatar.sh +22 -0
  29. package/core/scripts/args/arg-checks.sh +36 -0
  30. package/core/scripts/args/arg-clone.sh +42 -0
  31. package/core/scripts/args/arg-commands.sh +51 -0
  32. package/core/scripts/args/arg-cucumber.sh +34 -0
  33. package/core/scripts/args/arg-distribution.sh +30 -0
  34. package/core/scripts/args/arg-drupal.sh +39 -0
  35. package/core/scripts/args/arg-drupal_cms.sh +18 -0
  36. package/core/scripts/args/arg-gitlab-ci-local.sh +25 -0
  37. package/core/scripts/args/arg-graphify.sh +36 -0
  38. package/core/scripts/args/arg-graphs.sh +12 -0
  39. package/core/scripts/args/arg-hostnames.sh +23 -0
  40. package/core/scripts/args/arg-milvus-backup.sh +8 -0
  41. package/core/scripts/args/arg-milvus-mcp.sh +12 -0
  42. package/core/scripts/args/arg-milvus.sh +32 -0
  43. package/core/scripts/args/arg-obsidian.sh +17 -0
  44. package/core/scripts/args/arg-odoo.sh +18 -0
  45. package/core/scripts/args/arg-penpot-backup.sh +8 -0
  46. package/core/scripts/args/arg-penpot-mcp.sh +15 -0
  47. package/core/scripts/args/arg-penpot-token.sh +17 -0
  48. package/core/scripts/args/arg-penpot.sh +44 -0
  49. package/core/scripts/args/arg-rag.sh +21 -0
  50. package/core/scripts/args/arg-ragify.sh +35 -0
  51. package/core/scripts/args/arg-reclaim.sh +18 -0
  52. package/core/scripts/args/arg-release.sh +21 -0
  53. package/core/scripts/args/arg-screen.sh +28 -0
  54. package/core/scripts/args/arg-site-template.sh +13 -0
  55. package/core/scripts/args/arg-spdd.sh +16 -0
  56. package/core/scripts/args/arg-specs.sh +22 -0
  57. package/core/scripts/args/arg-storage.sh +36 -0
  58. package/core/scripts/args/arg-testing.sh +36 -0
  59. package/core/scripts/args/arg-webship.sh +34 -0
  60. package/core/scripts/args/arg-webships-project.sh +22 -0
  61. package/core/scripts/args/arg-webships-site-template.sh +17 -0
  62. package/core/scripts/args/arg-webships.sh +34 -0
  63. package/core/scripts/args/arg-website-site-template.sh +17 -0
  64. package/core/scripts/args/arg-website.sh +25 -0
  65. package/core/scripts/args/arg-wordpress.sh +18 -0
  66. package/core/scripts/autostart-run.sh +162 -0
  67. package/core/scripts/autostart-stop.sh +30 -0
  68. package/core/scripts/autostart-watch.sh +43 -0
  69. package/core/scripts/autostart.sh +26 -0
  70. package/core/scripts/bootstrap-functions.sh +117 -0
  71. package/core/scripts/bootstrap-libraries.sh +10 -0
  72. package/core/scripts/bootstrap.sh +71 -0
  73. package/core/scripts/ddev-shim/ddev +122 -0
  74. package/core/scripts/docker-gid.sh +119 -0
  75. package/core/scripts/functions/arg-site-template.sh +28 -0
  76. package/core/scripts/functions/fun-ai-items-lock.sh +175 -0
  77. package/core/scripts/functions/fun-ai-items-sources.sh +298 -0
  78. package/core/scripts/functions/fun-ai-items.sh +621 -0
  79. package/core/scripts/functions/fun-ai-providers.sh +72 -0
  80. package/core/scripts/functions/fun-autostart.sh +429 -0
  81. package/core/scripts/functions/fun-avatar.sh +441 -0
  82. package/core/scripts/functions/fun-backup-item.sh +50 -0
  83. package/core/scripts/functions/fun-build-distribution.sh +226 -0
  84. package/core/scripts/functions/fun-build-site-template.sh +104 -0
  85. package/core/scripts/functions/fun-build-webships.sh +161 -0
  86. package/core/scripts/functions/fun-build-website.sh +199 -0
  87. package/core/scripts/functions/fun-checks.sh +243 -0
  88. package/core/scripts/functions/fun-clone-project.sh +289 -0
  89. package/core/scripts/functions/fun-commands.sh +521 -0
  90. package/core/scripts/functions/fun-database.sh +63 -0
  91. package/core/scripts/functions/fun-ddev-hostnames.sh +213 -0
  92. package/core/scripts/functions/fun-ddev-nodejs.sh +15 -0
  93. package/core/scripts/functions/fun-ddev-telemetry.sh +15 -0
  94. package/core/scripts/functions/fun-default-settings.sh +28 -0
  95. package/core/scripts/functions/fun-distribution-cucumber.sh +45 -0
  96. package/core/scripts/functions/fun-distribution-drupal.sh +25 -0
  97. package/core/scripts/functions/fun-distribution-drupal_cms.sh +35 -0
  98. package/core/scripts/functions/fun-distribution-webship.sh +28 -0
  99. package/core/scripts/functions/fun-distribution-webships.sh +33 -0
  100. package/core/scripts/functions/fun-distribution-website.sh +19 -0
  101. package/core/scripts/functions/fun-drush.sh +48 -0
  102. package/core/scripts/functions/fun-elevenlabs.sh +179 -0
  103. package/core/scripts/functions/fun-files.sh +19 -0
  104. package/core/scripts/functions/fun-git-worktrees.sh +142 -0
  105. package/core/scripts/functions/fun-gitlab-ci.sh +156 -0
  106. package/core/scripts/functions/fun-hostnames-cli.sh +88 -0
  107. package/core/scripts/functions/fun-milvus.sh +584 -0
  108. package/core/scripts/functions/fun-odoo.sh +121 -0
  109. package/core/scripts/functions/fun-penpot.sh +724 -0
  110. package/core/scripts/functions/fun-project-name.sh +20 -0
  111. package/core/scripts/functions/fun-rag.sh +253 -0
  112. package/core/scripts/functions/fun-ragify.sh +165 -0
  113. package/core/scripts/functions/fun-reclaim.sh +297 -0
  114. package/core/scripts/functions/fun-release.sh +159 -0
  115. package/core/scripts/functions/fun-remove-project.sh +319 -0
  116. package/core/scripts/functions/fun-screen.sh +96 -0
  117. package/core/scripts/functions/fun-spdd.sh +676 -0
  118. package/core/scripts/functions/fun-specs-share.sh +237 -0
  119. package/core/scripts/functions/fun-storage.sh +347 -0
  120. package/core/scripts/functions/fun-testing.sh +329 -0
  121. package/core/scripts/functions/fun-users.sh +87 -0
  122. package/core/scripts/functions/fun-version.sh +72 -0
  123. package/core/scripts/functions/fun-video-edit.sh +48 -0
  124. package/core/scripts/functions/fun-voice.sh +45 -0
  125. package/core/scripts/functions/fun-wordpress.sh +59 -0
  126. package/core/scripts/host-mounts.sh +161 -0
  127. package/core/scripts/install.sh +602 -0
  128. package/core/scripts/libs/__pycache__/video_edit.cpython-312.pyc +0 -0
  129. package/core/scripts/libs/argparse.sh +93 -0
  130. package/core/scripts/libs/bash-yaml.sh +52 -0
  131. package/core/scripts/libs/checks_plan.js +312 -0
  132. package/core/scripts/libs/elevenlabs.py +627 -0
  133. package/core/scripts/libs/progress-bar.sh +19 -0
  134. package/core/scripts/libs/rag_index.py +446 -0
  135. package/core/scripts/libs/video_edit.py +636 -0
  136. package/core/scripts/libs/voice.py +430 -0
  137. package/core/scripts/plugins/jira/host-install.sh +119 -0
  138. package/core/scripts/plugins/jira/host-mounts.txt +2 -0
  139. package/core/scripts/plugins/upsun/args/arg-upsun.sh +51 -0
  140. package/core/scripts/plugins/upsun/functions/fun-upsun.sh +304 -0
  141. package/core/scripts/plugins/upsun/host-install.sh +99 -0
  142. package/core/scripts/plugins/upsun/host-mounts.txt +1 -0
  143. package/core/scripts/plugins/upsun/upsun-ai.sh +133 -0
  144. package/core/scripts/plugins.sh +152 -0
  145. package/core/scripts/release.sh +69 -0
  146. package/core/scripts/storage.sh +39 -0
  147. package/core/scripts/sync-tooling.sh +246 -0
  148. package/core/scripts/tests/cmd-smoke-test.sh +109 -0
  149. package/core/scripts/trust-https.sh +257 -0
  150. package/core/workspace-app/.ddev/commands/web/test-dashboard +49 -0
  151. package/core/workspace-app/.ddev/config.yaml +400 -0
  152. package/core/workspace-app/.ddev/docker-compose.dood.yaml +45 -0
  153. package/core/workspace-app/.ddev/docker-compose.plugin-jira-twg.yaml +26 -0
  154. package/core/workspace-app/.ddev/docker-compose.plugin-upsun-upsun-cli.yaml +8 -0
  155. package/core/workspace-app/.ddev/docker-compose.screens.yaml +15 -0
  156. package/core/workspace-app/.ddev/nginx_full/nginx-site.conf +114 -0
  157. package/core/workspace-app/.ddev/web-build/Dockerfile.workspace-app +203 -0
  158. package/core/workspace-app/.ddev/web-build/ddev-shim-ddev +122 -0
  159. package/{PLUGINS.md → core/workspace-app/PLUGINS.md} +1 -1
  160. package/core/workspace-app/README.md +380 -0
  161. package/{actions → core/workspace-app/actions}/ddev.js +0 -1
  162. package/{actions → core/workspace-app/actions}/rag.js +0 -1
  163. package/{actions → core/workspace-app/actions}/testing.js +0 -1
  164. package/{assistant.js → core/workspace-app/assistant.js} +1 -10
  165. package/{git-info.js → core/workspace-app/git-info.js} +17 -1
  166. package/core/workspace-app/package.json +29 -0
  167. package/core/workspace-app/plugin-catalog.js +50 -0
  168. package/{plugin-loader.js → core/workspace-app/plugin-loader.js} +19 -1
  169. package/{plugins-page.js → core/workspace-app/plugins-page.js} +28 -2
  170. package/{row-layout.js → core/workspace-app/row-layout.js} +0 -1
  171. package/{server.js → core/workspace-app/server.js} +26 -225
  172. package/core/workspace-app/tests/features/actions-rail.feature +44 -0
  173. package/core/workspace-app/tests/features/ai-items.feature +23 -0
  174. package/core/workspace-app/tests/features/assistant-speech.feature +63 -0
  175. package/core/workspace-app/tests/features/checks.feature +39 -0
  176. package/core/workspace-app/tests/features/clone-project.feature +30 -0
  177. package/core/workspace-app/tests/features/command-authoring.feature +58 -0
  178. package/core/workspace-app/tests/features/dashboard.feature +57 -0
  179. package/core/workspace-app/tests/features/menus.feature +29 -0
  180. package/core/workspace-app/tests/features/plugins/jira/jira.feature +47 -0
  181. package/core/workspace-app/tests/features/plugins.feature +20 -0
  182. package/core/workspace-app/tests/features/project-actions.feature +40 -0
  183. package/core/workspace-app/tests/features/screens.feature +29 -0
  184. package/core/workspace-app/tests/features/settings.feature +46 -0
  185. package/core/workspace-app/tests/features/test-reports.feature +32 -0
  186. package/core/workspace-app/tests/features/theme.feature +40 -0
  187. package/core/workspace-app/tests/step-definitions/actions-post.steps.js +25 -0
  188. package/core/workspace-app/tests/step-definitions/assistant-speech.steps.js +152 -0
  189. package/core/workspace-app/tests/step-definitions/preconditions.steps.js +100 -0
  190. package/core/workspace-app/tests/unit/_isolated-config.js +31 -0
  191. package/core/workspace-app/tests/unit/accessibility.test.js +124 -0
  192. package/core/workspace-app/tests/unit/actions-rail-ux.test.js +56 -0
  193. package/core/workspace-app/tests/unit/actions-rail.test.js +51 -0
  194. package/core/workspace-app/tests/unit/ai-inventory.test.js +64 -0
  195. package/core/workspace-app/tests/unit/app-docs.test.js +64 -0
  196. package/core/workspace-app/tests/unit/assistant-avatar.test.js +110 -0
  197. package/core/workspace-app/tests/unit/assistant-cast.test.js +105 -0
  198. package/core/workspace-app/tests/unit/assistant-send-animation.test.js +15 -0
  199. package/core/workspace-app/tests/unit/assistant-suggestions.test.js +112 -0
  200. package/core/workspace-app/tests/unit/assistant-switches.test.js +53 -0
  201. package/core/workspace-app/tests/unit/assistant-views.test.js +146 -0
  202. package/core/workspace-app/tests/unit/assistant-working-indicator.test.js +49 -0
  203. package/core/workspace-app/tests/unit/assistant.test.js +61 -0
  204. package/core/workspace-app/tests/unit/audio-player.test.js +147 -0
  205. package/core/workspace-app/tests/unit/audio-voice.test.js +634 -0
  206. package/core/workspace-app/tests/unit/auth-google.test.js +180 -0
  207. package/core/workspace-app/tests/unit/autostart-watch.test.js +76 -0
  208. package/core/workspace-app/tests/unit/browsers.test.js +76 -0
  209. package/core/workspace-app/tests/unit/build-distribution.test.js +125 -0
  210. package/core/workspace-app/tests/unit/build-order.test.js +153 -0
  211. package/core/workspace-app/tests/unit/builder-args.test.js +113 -0
  212. package/core/workspace-app/tests/unit/builders.test.js +158 -0
  213. package/core/workspace-app/tests/unit/card-state-toggle.test.js +29 -0
  214. package/core/workspace-app/tests/unit/changelog.test.js +177 -0
  215. package/core/workspace-app/tests/unit/chat-thread.test.js +92 -0
  216. package/core/workspace-app/tests/unit/checks-plan.test.js +205 -0
  217. package/core/workspace-app/tests/unit/claude-args.test.js +182 -0
  218. package/core/workspace-app/tests/unit/claude-code-here.test.js +15 -0
  219. package/core/workspace-app/tests/unit/claude-resume.test.js +147 -0
  220. package/core/workspace-app/tests/unit/claude-screen-options.test.js +84 -0
  221. package/core/workspace-app/tests/unit/claude-session.test.js +41 -0
  222. package/core/workspace-app/tests/unit/command-flags.test.js +45 -0
  223. package/core/workspace-app/tests/unit/command-palette.test.js +105 -0
  224. package/core/workspace-app/tests/unit/commands-center.test.js +338 -0
  225. package/core/workspace-app/tests/unit/composer-menu.test.js +187 -0
  226. package/core/workspace-app/tests/unit/config-yaml.test.js +116 -0
  227. package/core/workspace-app/tests/unit/confirm-dialog.test.js +69 -0
  228. package/core/workspace-app/tests/unit/create-card.test.js +85 -0
  229. package/core/workspace-app/tests/unit/ddev-addons.test.js +144 -0
  230. package/core/workspace-app/tests/unit/ddev-auth-ssh.test.js +40 -0
  231. package/core/workspace-app/tests/unit/ddev-custom-commands.test.js +56 -0
  232. package/core/workspace-app/tests/unit/ddev-diagnose.test.js +57 -0
  233. package/core/workspace-app/tests/unit/ddev-domains.test.js +153 -0
  234. package/core/workspace-app/tests/unit/ddev-hostnames.test.js +143 -0
  235. package/core/workspace-app/tests/unit/ddev-import.test.js +82 -0
  236. package/core/workspace-app/tests/unit/ddev-mail.test.js +135 -0
  237. package/core/workspace-app/tests/unit/ddev-menu-and-create.test.js +28 -0
  238. package/core/workspace-app/tests/unit/ddev-mutagen.test.js +37 -0
  239. package/core/workspace-app/tests/unit/ddev-options.test.js +51 -0
  240. package/core/workspace-app/tests/unit/ddev-share.test.js +40 -0
  241. package/core/workspace-app/tests/unit/ddev-shim.test.js +57 -0
  242. package/core/workspace-app/tests/unit/ddev-snapshots.test.js +142 -0
  243. package/core/workspace-app/tests/unit/ddev-start-daemons.test.js +62 -0
  244. package/core/workspace-app/tests/unit/ddev-xdebug.test.js +41 -0
  245. package/core/workspace-app/tests/unit/deep-chat-origin.test.js +38 -0
  246. package/core/workspace-app/tests/unit/density.test.js +52 -0
  247. package/core/workspace-app/tests/unit/elevenlabs.test.js +453 -0
  248. package/core/workspace-app/tests/unit/event-log.test.js +102 -0
  249. package/core/workspace-app/tests/unit/favicon.test.js +68 -0
  250. package/core/workspace-app/tests/unit/files-browser.test.js +224 -0
  251. package/core/workspace-app/tests/unit/git-info.test.js +26 -0
  252. package/core/workspace-app/tests/unit/grid-and-list.test.js +103 -0
  253. package/core/workspace-app/tests/unit/host-tool-wrapper.test.js +18 -0
  254. package/core/workspace-app/tests/unit/html-patterns.test.js +51 -0
  255. package/core/workspace-app/tests/unit/ide-infra.test.js +28 -0
  256. package/core/workspace-app/tests/unit/images-ai.test.js +201 -0
  257. package/core/workspace-app/tests/unit/images-create.test.js +59 -0
  258. package/core/workspace-app/tests/unit/images-providers.test.js +248 -0
  259. package/core/workspace-app/tests/unit/images-svg.test.js +213 -0
  260. package/core/workspace-app/tests/unit/images-workspace.test.js +144 -0
  261. package/core/workspace-app/tests/unit/jobs-fragment.test.js +66 -0
  262. package/core/workspace-app/tests/unit/media-ux.test.js +164 -0
  263. package/core/workspace-app/tests/unit/modal-fit.test.js +87 -0
  264. package/core/workspace-app/tests/unit/modules-load.test.js +23 -0
  265. package/core/workspace-app/tests/unit/narration.test.js +186 -0
  266. package/core/workspace-app/tests/unit/navigation-editor.test.js +260 -0
  267. package/core/workspace-app/tests/unit/navigation.test.js +254 -0
  268. package/core/workspace-app/tests/unit/new-folder.test.js +121 -0
  269. package/core/workspace-app/tests/unit/new-screen-form.test.js +149 -0
  270. package/core/workspace-app/tests/unit/node-menu.test.js +161 -0
  271. package/core/workspace-app/tests/unit/notes.test.js +128 -0
  272. package/core/workspace-app/tests/unit/page-structure.test.js +40 -0
  273. package/core/workspace-app/tests/unit/page-width.test.js +59 -0
  274. package/core/workspace-app/tests/unit/php-version.test.js +90 -0
  275. package/core/workspace-app/tests/unit/plan-card.test.js +44 -0
  276. package/core/workspace-app/tests/unit/plugin-catalog.test.js +31 -0
  277. package/core/workspace-app/tests/unit/plugin-system.test.js +251 -0
  278. package/core/workspace-app/tests/unit/plugins-page.test.js +28 -0
  279. package/core/workspace-app/tests/unit/plugins.test.js +58 -0
  280. package/core/workspace-app/tests/unit/project-activity-filter.test.js +180 -0
  281. package/core/workspace-app/tests/unit/project-make.test.js +143 -0
  282. package/core/workspace-app/tests/unit/project-name.test.js +202 -0
  283. package/core/workspace-app/tests/unit/reader.test.js +62 -0
  284. package/core/workspace-app/tests/unit/release.test.js +92 -0
  285. package/core/workspace-app/tests/unit/remove-confirm.test.js +37 -0
  286. package/core/workspace-app/tests/unit/report-pdf.test.js +171 -0
  287. package/core/workspace-app/tests/unit/round-11.test.js +31 -0
  288. package/core/workspace-app/tests/unit/round-12.test.js +37 -0
  289. package/core/workspace-app/tests/unit/row-layout.test.js +585 -0
  290. package/core/workspace-app/tests/unit/row-menus-fold.test.js +29 -0
  291. package/core/workspace-app/tests/unit/rows-add-modal.test.js +68 -0
  292. package/core/workspace-app/tests/unit/screen-runner-queue.test.js +41 -0
  293. package/core/workspace-app/tests/unit/screen-window.test.js +116 -0
  294. package/core/workspace-app/tests/unit/screens-beside-running.test.js +19 -0
  295. package/core/workspace-app/tests/unit/screens-columns.test.js +79 -0
  296. package/core/workspace-app/tests/unit/screens-menu.test.js +84 -0
  297. package/core/workspace-app/tests/unit/screens-modal-overlay.test.js +14 -0
  298. package/core/workspace-app/tests/unit/screens-waiting.test.js +129 -0
  299. package/core/workspace-app/tests/unit/screens.test.js +74 -0
  300. package/core/workspace-app/tests/unit/second-storage.test.js +218 -0
  301. package/core/workspace-app/tests/unit/session-name.test.js +64 -0
  302. package/core/workspace-app/tests/unit/settings-file.test.js +173 -0
  303. package/core/workspace-app/tests/unit/settings-nested-list.test.js +54 -0
  304. package/core/workspace-app/tests/unit/settings-raw.test.js +177 -0
  305. package/core/workspace-app/tests/unit/shared-prefs.test.js +49 -0
  306. package/core/workspace-app/tests/unit/speech.test.js +290 -0
  307. package/core/workspace-app/tests/unit/static-caching.test.js +39 -0
  308. package/core/workspace-app/tests/unit/status-language.test.js +47 -0
  309. package/core/workspace-app/tests/unit/tab-modal.test.js +69 -0
  310. package/core/workspace-app/tests/unit/tab-title.test.js +37 -0
  311. package/core/workspace-app/tests/unit/template-literals.test.js +52 -0
  312. package/core/workspace-app/tests/unit/terminal-scrollback.test.js +61 -0
  313. package/core/workspace-app/tests/unit/terminal-size.test.js +103 -0
  314. package/core/workspace-app/tests/unit/terminal-style.test.js +84 -0
  315. package/core/workspace-app/tests/unit/terminal-windows.test.js +154 -0
  316. package/core/workspace-app/tests/unit/themes.test.js +453 -0
  317. package/core/workspace-app/tests/unit/tool-labels.test.js +34 -0
  318. package/core/workspace-app/tests/unit/topbar-icons.test.js +47 -0
  319. package/core/workspace-app/tests/unit/update-docker-gid.test.js +51 -0
  320. package/core/workspace-app/tests/unit/user-guide.test.js +60 -0
  321. package/core/workspace-app/tests/unit/version-check.test.js +98 -0
  322. package/core/workspace-app/tests/unit/version-link.test.js +50 -0
  323. package/core/workspace-app/tests/unit/video-borrow.test.js +198 -0
  324. package/core/workspace-app/tests/unit/video-edit-ask.test.js +93 -0
  325. package/core/workspace-app/tests/unit/video-edit-short.test.js +42 -0
  326. package/core/workspace-app/tests/unit/video-edit.test.js +417 -0
  327. package/core/workspace-app/tests/unit/video-transcript.test.js +237 -0
  328. package/core/workspace-app/tests/unit/waiting.test.js +48 -0
  329. package/core/workspace-app/tests/unit/wordpress-odoo-builders.test.js +38 -0
  330. package/core/workspace-app/tests/unit/workspace-bin.test.js +48 -0
  331. package/core/workspace-app/tests/unit/workspace-card-tools.test.js +30 -0
  332. package/core/workspace-app/tests/unit/workspace-delete.test.js +77 -0
  333. package/core/workspace-app/tests/unit/workspace-types.test.js +68 -0
  334. package/core/workspace-app/tests/unit/worktree-clone.test.js +250 -0
  335. package/{workspace-types.js → core/workspace-app/workspace-types.js} +2 -2
  336. package/{workspaces.js → core/workspace-app/workspaces.js} +1 -5
  337. package/package.json +38 -36
  338. package/actions/graphs.js +0 -107
  339. package/actions/obsidian.js +0 -59
  340. package/graphs.js +0 -104
  341. package/obsidian.js +0 -405
  342. /package/{WORKSPACES.md → core/workspace-app/WORKSPACES.md} +0 -0
  343. /package/{actions → core/workspace-app/actions}/ai-items.js +0 -0
  344. /package/{actions → core/workspace-app/actions}/audio.js +0 -0
  345. /package/{actions → core/workspace-app/actions}/build-order.js +0 -0
  346. /package/{actions → core/workspace-app/actions}/checks.js +0 -0
  347. /package/{actions → core/workspace-app/actions}/claude-session.js +0 -0
  348. /package/{actions → core/workspace-app/actions}/commands-center.js +0 -0
  349. /package/{actions → core/workspace-app/actions}/composer.js +0 -0
  350. /package/{actions → core/workspace-app/actions}/ddev-addons.js +0 -0
  351. /package/{actions → core/workspace-app/actions}/ddev-mail.js +0 -0
  352. /package/{actions → core/workspace-app/actions}/folders.js +0 -0
  353. /package/{actions → core/workspace-app/actions}/images-svg.js +0 -0
  354. /package/{actions → core/workspace-app/actions}/images.js +0 -0
  355. /package/{actions → core/workspace-app/actions}/navigation.js +0 -0
  356. /package/{actions → core/workspace-app/actions}/node.js +0 -0
  357. /package/{actions → core/workspace-app/actions}/notes.js +0 -0
  358. /package/{actions → core/workspace-app/actions}/plugins.js +0 -0
  359. /package/{actions → core/workspace-app/actions}/project-make.js +0 -0
  360. /package/{actions → core/workspace-app/actions}/row-actions.js +0 -0
  361. /package/{actions → core/workspace-app/actions}/screens.js +0 -0
  362. /package/{actions → core/workspace-app/actions}/video-edit.js +0 -0
  363. /package/{ai-inventory.js → core/workspace-app/ai-inventory.js} +0 -0
  364. /package/{ai-items.js → core/workspace-app/ai-items.js} +0 -0
  365. /package/{assistant-cast.js → core/workspace-app/assistant-cast.js} +0 -0
  366. /package/{assistant-suggestions.js → core/workspace-app/assistant-suggestions.js} +0 -0
  367. /package/{audio-voice.js → core/workspace-app/audio-voice.js} +0 -0
  368. /package/{auth-google.js → core/workspace-app/auth-google.js} +0 -0
  369. /package/{build-ai.js → core/workspace-app/build-ai.js} +0 -0
  370. /package/{build-order-page.js → core/workspace-app/build-order-page.js} +0 -0
  371. /package/{build-order.js → core/workspace-app/build-order.js} +0 -0
  372. /package/{builder-args.js → core/workspace-app/builder-args.js} +0 -0
  373. /package/{changelog.js → core/workspace-app/changelog.js} +0 -0
  374. /package/{chat-threads.js → core/workspace-app/chat-threads.js} +0 -0
  375. /package/{checks.js → core/workspace-app/checks.js} +0 -0
  376. /package/{claude-args.js → core/workspace-app/claude-args.js} +0 -0
  377. /package/{claude-sessions.js → core/workspace-app/claude-sessions.js} +0 -0
  378. /package/{command-author.js → core/workspace-app/command-author.js} +0 -0
  379. /package/{command-block.js → core/workspace-app/command-block.js} +0 -0
  380. /package/{commands → core/workspace-app/commands}/defaults.yml +0 -0
  381. /package/{commands-page.js → core/workspace-app/commands-page.js} +0 -0
  382. /package/{commands.js → core/workspace-app/commands.js} +0 -0
  383. /package/{cucumber.js → core/workspace-app/cucumber.js} +0 -0
  384. /package/{ddev-addons-page.js → core/workspace-app/ddev-addons-page.js} +0 -0
  385. /package/{ddev-addons.js → core/workspace-app/ddev-addons.js} +0 -0
  386. /package/{ddev-custom-commands.js → core/workspace-app/ddev-custom-commands.js} +0 -0
  387. /package/{ddev-domains.js → core/workspace-app/ddev-domains.js} +0 -0
  388. /package/{ddev-import.js → core/workspace-app/ddev-import.js} +0 -0
  389. /package/{ddev-mail-page.js → core/workspace-app/ddev-mail-page.js} +0 -0
  390. /package/{ddev-mail.js → core/workspace-app/ddev-mail.js} +0 -0
  391. /package/{ddev-options.js → core/workspace-app/ddev-options.js} +0 -0
  392. /package/{ddev-snapshots.js → core/workspace-app/ddev-snapshots.js} +0 -0
  393. /package/{ddev.js → core/workspace-app/ddev.js} +0 -0
  394. /package/{docs → core/workspace-app/docs}/DEVELOPER-GUIDE.md +0 -0
  395. /package/{docs → core/workspace-app/docs}/README.md +0 -0
  396. /package/{docs → core/workspace-app/docs}/REFERENCE.md +0 -0
  397. /package/{docs → core/workspace-app/docs}/USER-GUIDE.md +0 -0
  398. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-board.png +0 -0
  399. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-coffee.png +0 -0
  400. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-colours.png +0 -0
  401. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-icons.png +0 -0
  402. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-moves.png +0 -0
  403. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-pick-cookieman.png +0 -0
  404. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-settings-voices.png +0 -0
  405. /package/{docs → core/workspace-app/docs}/screenshots/assistant/avatar-status.png +0 -0
  406. /package/{docs → core/workspace-app/docs}/screenshots/create-card/create-card.png +0 -0
  407. /package/{docs → core/workspace-app/docs}/screenshots/create-card/start-ai.png +0 -0
  408. /package/{docs → core/workspace-app/docs}/screenshots/guide-clone-address.png +0 -0
  409. /package/{docs → core/workspace-app/docs}/screenshots/guide-clone-worktree-off.png +0 -0
  410. /package/{docs → core/workspace-app/docs}/screenshots/guide-clone-worktree-on.png +0 -0
  411. /package/{docs → core/workspace-app/docs}/screenshots/guide-ddev-menu.png +0 -0
  412. /package/{docs → core/workspace-app/docs}/screenshots/guide-domains.png +0 -0
  413. /package/{docs → core/workspace-app/docs}/screenshots/guide-home.png +0 -0
  414. /package/{docs → core/workspace-app/docs}/screenshots/guide-ide-menu.png +0 -0
  415. /package/{docs → core/workspace-app/docs}/screenshots/guide-remove-refusal.png +0 -0
  416. /package/{docs → core/workspace-app/docs}/screenshots/guide-rows-worktree.png +0 -0
  417. /package/{docs → core/workspace-app/docs}/screenshots/guide-screens.png +0 -0
  418. /package/{docs → core/workspace-app/docs}/screenshots/guide-settings.png +0 -0
  419. /package/{docs → core/workspace-app/docs}/screenshots/guide-workspace-page.png +0 -0
  420. /package/{docs → core/workspace-app/docs}/screenshots/home/card-settings.png +0 -0
  421. /package/{docs → core/workspace-app/docs}/screenshots/home/drag-reorder.png +0 -0
  422. /package/{docs → core/workspace-app/docs}/screenshots/home/edit-card.png +0 -0
  423. /package/{docs → core/workspace-app/docs}/screenshots/images/claude-code-image.png +0 -0
  424. /package/{docs → core/workspace-app/docs}/screenshots/images/edit-with-ai.png +0 -0
  425. /package/{docs → core/workspace-app/docs}/screenshots/images/gallery.png +0 -0
  426. /package/{docs → core/workspace-app/docs}/screenshots/images/generate-description.png +0 -0
  427. /package/{docs → core/workspace-app/docs}/screenshots/images/generate-plan.png +0 -0
  428. /package/{docs → core/workspace-app/docs}/screenshots/images/providers.png +0 -0
  429. /package/{docs → core/workspace-app/docs}/screenshots/images/svg-form.png +0 -0
  430. /package/{docs → core/workspace-app/docs}/screenshots/images/svg-result.png +0 -0
  431. /package/{docs → core/workspace-app/docs}/screenshots/images/upload.png +0 -0
  432. /package/{docs → core/workspace-app/docs}/screenshots/new-folder/2-form.png +0 -0
  433. /package/{docs → core/workspace-app/docs}/screenshots/new-folder/8-ddev-options.png +0 -0
  434. /package/{docs → core/workspace-app/docs}/screenshots/new-folder/files-folder.png +0 -0
  435. /package/{docs → core/workspace-app/docs}/screenshots/projects/ddev-custom-commands.png +0 -0
  436. /package/{docs → core/workspace-app/docs}/screenshots/projects/state-chip-stop.png +0 -0
  437. /package/{docs → core/workspace-app/docs}/screenshots/readme/dashboard-dark.png +0 -0
  438. /package/{docs → core/workspace-app/docs}/screenshots/readme/dashboard-light.png +0 -0
  439. /package/{docs → core/workspace-app/docs}/screenshots/readme/dev-dark.png +0 -0
  440. /package/{docs → core/workspace-app/docs}/screenshots/readme/dev-light.png +0 -0
  441. /package/{docs → core/workspace-app/docs}/screenshots/readme/docs-dark.png +0 -0
  442. /package/{docs → core/workspace-app/docs}/screenshots/readme/docs-light.png +0 -0
  443. /package/{docs → core/workspace-app/docs}/screenshots/readme/icons/ai.svg +0 -0
  444. /package/{docs → core/workspace-app/docs}/screenshots/readme/icons/code.svg +0 -0
  445. /package/{docs → core/workspace-app/docs}/screenshots/readme/icons/docs.svg +0 -0
  446. /package/{docs → core/workspace-app/docs}/screenshots/readme/icons/services.svg +0 -0
  447. /package/{docs → core/workspace-app/docs}/screenshots/readme/icons/sites.svg +0 -0
  448. /package/{docs → core/workspace-app/docs}/screenshots/readme/test-report-dark.png +0 -0
  449. /package/{docs → core/workspace-app/docs}/screenshots/readme/test-report-light.png +0 -0
  450. /package/{docs → core/workspace-app/docs}/screenshots/readme/test-scenarios.png +0 -0
  451. /package/{docs → core/workspace-app/docs}/screenshots/readme/test-steps.png +0 -0
  452. /package/{docs → core/workspace-app/docs}/screenshots/readme/videos-dark.png +0 -0
  453. /package/{docs → core/workspace-app/docs}/screenshots/readme/videos-light.png +0 -0
  454. /package/{docs → core/workspace-app/docs}/screenshots/screens-menu.png +0 -0
  455. /package/{docs → core/workspace-app/docs}/screenshots/screens-new.png +0 -0
  456. /package/{docs → core/workspace-app/docs}/screenshots/settings/auth-google-lists.png +0 -0
  457. /package/{docs → core/workspace-app/docs}/screenshots/settings/delete-1-row.png +0 -0
  458. /package/{docs → core/workspace-app/docs}/screenshots/settings/delete-2-confirm.png +0 -0
  459. /package/{docs → core/workspace-app/docs}/screenshots/settings/delete-3-type-name.png +0 -0
  460. /package/{docs → core/workspace-app/docs}/screenshots/settings/delete-4-type-yes.png +0 -0
  461. /package/{event-log.js → core/workspace-app/event-log.js} +0 -0
  462. /package/{files-browser.js → core/workspace-app/files-browser.js} +0 -0
  463. /package/{folders.js → core/workspace-app/folders.js} +0 -0
  464. /package/{format.js → core/workspace-app/format.js} +0 -0
  465. /package/{github-auth.js → core/workspace-app/github-auth.js} +0 -0
  466. /package/{html.js → core/workspace-app/html.js} +0 -0
  467. /package/{icons.js → core/workspace-app/icons.js} +0 -0
  468. /package/{images-ai.js → core/workspace-app/images-ai.js} +0 -0
  469. /package/{images-create.js → core/workspace-app/images-create.js} +0 -0
  470. /package/{images-page.js → core/workspace-app/images-page.js} +0 -0
  471. /package/{images-records.js → core/workspace-app/images-records.js} +0 -0
  472. /package/{images-render.js → core/workspace-app/images-render.js} +0 -0
  473. /package/{images-svg-core.js → core/workspace-app/images-svg-core.js} +0 -0
  474. /package/{images-svg-sanitize.js → core/workspace-app/images-svg-sanitize.js} +0 -0
  475. /package/{images-svg.js → core/workspace-app/images-svg.js} +0 -0
  476. /package/{images.js → core/workspace-app/images.js} +0 -0
  477. /package/{jobs.js → core/workspace-app/jobs.js} +0 -0
  478. /package/{linger.js → core/workspace-app/linger.js} +0 -0
  479. /package/{lists.js → core/workspace-app/lists.js} +0 -0
  480. /package/{media-info.js → core/workspace-app/media-info.js} +0 -0
  481. /package/{navigation-page.js → core/workspace-app/navigation-page.js} +0 -0
  482. /package/{navigation.js → core/workspace-app/navigation.js} +0 -0
  483. /package/{notes.js → core/workspace-app/notes.js} +0 -0
  484. /package/{palette-index.js → core/workspace-app/palette-index.js} +0 -0
  485. /package/{playwright.config.js → core/workspace-app/playwright.config.js} +0 -0
  486. /package/{plugin-install.js → core/workspace-app/plugin-install.js} +0 -0
  487. /package/{plugin-manifest.js → core/workspace-app/plugin-manifest.js} +0 -0
  488. /package/{plugin-settings.js → core/workspace-app/plugin-settings.js} +0 -0
  489. /package/{plugins → core/workspace-app/plugins}/workspace-notes/index.js +0 -0
  490. /package/{project-make.js → core/workspace-app/project-make.js} +0 -0
  491. /package/{project-name.js → core/workspace-app/project-name.js} +0 -0
  492. /package/{public → core/workspace-app/public}/assistant-avatar-moves.js +0 -0
  493. /package/{public → core/workspace-app/public}/assistant-avatar-ui.js +0 -0
  494. /package/{public → core/workspace-app/public}/assistant-avatar.js +0 -0
  495. /package/{public → core/workspace-app/public}/avatar/druplicon.vrm +0 -0
  496. /package/{public → core/workspace-app/public}/css/base.css +0 -0
  497. /package/{public → core/workspace-app/public}/css/components/ai-assistant.css +0 -0
  498. /package/{public → core/workspace-app/public}/css/components/assistant-avatar.css +0 -0
  499. /package/{public → core/workspace-app/public}/css/components/assistant-views.css +0 -0
  500. /package/{public → core/workspace-app/public}/css/components/build-order.css +0 -0
  501. /package/{public → core/workspace-app/public}/css/components/clone-as-a-git-worktree.css +0 -0
  502. /package/{public → core/workspace-app/public}/css/components/command-palette.css +0 -0
  503. /package/{public → core/workspace-app/public}/css/components/commands-center.css +0 -0
  504. /package/{public → core/workspace-app/public}/css/components/confirm-dialog.css +0 -0
  505. /package/{public → core/workspace-app/public}/css/components/create-card.css +0 -0
  506. /package/{public → core/workspace-app/public}/css/components/ddev-menu.css +0 -0
  507. /package/{public → core/workspace-app/public}/css/components/deep-chat.css +0 -0
  508. /package/{public → core/workspace-app/public}/css/components/density.css +0 -0
  509. /package/{public → core/workspace-app/public}/css/components/floating-assistant-workspace-pages.css +0 -0
  510. /package/{public → core/workspace-app/public}/css/components/folders.css +0 -0
  511. /package/{public → core/workspace-app/public}/css/components/full-height-left-assistant-sidebar-all-pages.css +0 -0
  512. /package/{public → core/workspace-app/public}/css/components/full-height-right-actions-rail-pages-that-have-actions.css +0 -0
  513. /package/{public → core/workspace-app/public}/css/components/grid-and-list.css +0 -0
  514. /package/{public → core/workspace-app/public}/css/components/help-page.css +0 -0
  515. /package/{public → core/workspace-app/public}/css/components/hero.css +0 -0
  516. /package/{public → core/workspace-app/public}/css/components/images.css +0 -0
  517. /package/{public → core/workspace-app/public}/css/components/layout-rhythm-and-spacing-polish.css +0 -0
  518. /package/{public → core/workspace-app/public}/css/components/mic-on-any-field-that-wants-typing.css +0 -0
  519. /package/{public → core/workspace-app/public}/css/components/modal-fit.css +0 -0
  520. /package/{public → core/workspace-app/public}/css/components/page-width.css +0 -0
  521. /package/{public → core/workspace-app/public}/css/components/plugins-page.css +0 -0
  522. /package/{public → core/workspace-app/public}/css/components/project-cards.css +0 -0
  523. /package/{public → core/workspace-app/public}/css/components/project-rows.css +0 -0
  524. /package/{public → core/workspace-app/public}/css/components/reordering-the-workspace-cards.css +0 -0
  525. /package/{public → core/workspace-app/public}/css/components/responsive-home-and-the-workspace-pages.css +0 -0
  526. /package/{public → core/workspace-app/public}/css/components/running-commands-as-toasts.css +0 -0
  527. /package/{public → core/workspace-app/public}/css/components/settings-editor-core-config-yml.css +0 -0
  528. /package/{public → core/workspace-app/public}/css/components/short-results-as-a-toast-at-the-top.css +0 -0
  529. /package/{public → core/workspace-app/public}/css/components/sound-player.css +0 -0
  530. /package/{public → core/workspace-app/public}/css/components/suggest-agents-skills-commands.css +0 -0
  531. /package/{public → core/workspace-app/public}/css/components/tab-modal.css +0 -0
  532. /package/{public → core/workspace-app/public}/css/components/terminals.css +0 -0
  533. /package/{public → core/workspace-app/public}/css/components/test-report-media-one-file-per-row-paged.css +0 -0
  534. /package/{public → core/workspace-app/public}/css/components/top-toolbar-logo-breadcrumb.css +0 -0
  535. /package/{public → core/workspace-app/public}/css/components/video-edit.css +0 -0
  536. /package/{public → core/workspace-app/public}/css/components/web-ide-open-with.css +0 -0
  537. /package/{public → core/workspace-app/public}/css/components/working-indicators.css +0 -0
  538. /package/{public → core/workspace-app/public}/css/components/workspace-cards.css +0 -0
  539. /package/{public → core/workspace-app/public}/favicon.ico +0 -0
  540. /package/{public → core/workspace-app/public}/favicon.png +0 -0
  541. /package/{public → core/workspace-app/public}/htmx.min.js +0 -0
  542. /package/{public → core/workspace-app/public}/logo.png +0 -0
  543. /package/{public → core/workspace-app/public}/media-player.js +0 -0
  544. /package/{public → core/workspace-app/public}/mic.js +0 -0
  545. /package/{public → core/workspace-app/public}/narration.js +0 -0
  546. /package/{public → core/workspace-app/public}/palette.js +0 -0
  547. /package/{public → core/workspace-app/public}/sortable.js +0 -0
  548. /package/{public → core/workspace-app/public}/suggest.js +0 -0
  549. /package/{public → core/workspace-app/public}/terminal.js +0 -0
  550. /package/{public → core/workspace-app/public}/themes/default/theme.css +0 -0
  551. /package/{public → core/workspace-app/public}/themes/ember/theme.css +0 -0
  552. /package/{public → core/workspace-app/public}/themes/press/theme.css +0 -0
  553. /package/{public → core/workspace-app/public}/themes/slate/theme.css +0 -0
  554. /package/{public → core/workspace-app/public}/touch-icon.png +0 -0
  555. /package/{public → core/workspace-app/public}/ui.js +0 -0
  556. /package/{public → core/workspace-app/public}/vendor/ace/LICENSE.txt +0 -0
  557. /package/{public → core/workspace-app/public}/vendor/ace/ace.js +0 -0
  558. /package/{public → core/workspace-app/public}/vendor/ace/ext-language_tools.js +0 -0
  559. /package/{public → core/workspace-app/public}/vendor/ace/ext-searchbox.js +0 -0
  560. /package/{public → core/workspace-app/public}/vendor/ace/mode-css.js +0 -0
  561. /package/{public → core/workspace-app/public}/vendor/ace/mode-html.js +0 -0
  562. /package/{public → core/workspace-app/public}/vendor/ace/mode-javascript.js +0 -0
  563. /package/{public → core/workspace-app/public}/vendor/ace/mode-markdown.js +0 -0
  564. /package/{public → core/workspace-app/public}/vendor/ace/mode-sh.js +0 -0
  565. /package/{public → core/workspace-app/public}/vendor/ace/mode-yaml.js +0 -0
  566. /package/{public → core/workspace-app/public}/vendor/ace/theme-textmate.js +0 -0
  567. /package/{public → core/workspace-app/public}/vendor/ace/theme-tomorrow_night.js +0 -0
  568. /package/{public → core/workspace-app/public}/vendor/ace/worker-yaml.js +0 -0
  569. /package/{public → core/workspace-app/public}/vendor/deep-chat.LICENSE +0 -0
  570. /package/{public → core/workspace-app/public}/vendor/deep-chat.bundle.js +0 -0
  571. /package/{public → core/workspace-app/public}/vendor/fonts/dm-serif-text-LICENSE.txt +0 -0
  572. /package/{public → core/workspace-app/public}/vendor/fonts/dm-serif-text-latin-400-italic.woff2 +0 -0
  573. /package/{public → core/workspace-app/public}/vendor/fonts/dm-serif-text-latin-400-normal.woff2 +0 -0
  574. /package/{public → core/workspace-app/public}/vendor/fonts/figtree-LICENSE.txt +0 -0
  575. /package/{public → core/workspace-app/public}/vendor/fonts/figtree-latin-400-italic.woff2 +0 -0
  576. /package/{public → core/workspace-app/public}/vendor/fonts/figtree-latin-400-normal.woff2 +0 -0
  577. /package/{public → core/workspace-app/public}/vendor/fonts/figtree-latin-600-italic.woff2 +0 -0
  578. /package/{public → core/workspace-app/public}/vendor/fonts/figtree-latin-600-normal.woff2 +0 -0
  579. /package/{public → core/workspace-app/public}/vendor/fonts/jetbrains-mono-LICENSE.txt +0 -0
  580. /package/{public → core/workspace-app/public}/vendor/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  581. /package/{public → core/workspace-app/public}/vendor/fonts/ubuntu-mono-LICENSE.txt +0 -0
  582. /package/{public → core/workspace-app/public}/vendor/fonts/ubuntu-mono-latin-wght-normal.woff2 +0 -0
  583. /package/{public → core/workspace-app/public}/vendor/tabler-LICENSE.txt +0 -0
  584. /package/{public → core/workspace-app/public}/vendor/tabler-sprite.svg +0 -0
  585. /package/{public → core/workspace-app/public}/vendor/three/LICENSE +0 -0
  586. /package/{public → core/workspace-app/public}/vendor/three/addons/loaders/GLTFLoader.js +0 -0
  587. /package/{public → core/workspace-app/public}/vendor/three/addons/utils/BufferGeometryUtils.js +0 -0
  588. /package/{public → core/workspace-app/public}/vendor/three/addons/utils/SkeletonUtils.js +0 -0
  589. /package/{public → core/workspace-app/public}/vendor/three/three.core.min.js +0 -0
  590. /package/{public → core/workspace-app/public}/vendor/three/three.module.min.js +0 -0
  591. /package/{public → core/workspace-app/public}/vendor/three-vrm/LICENSE +0 -0
  592. /package/{public → core/workspace-app/public}/vendor/three-vrm/three-vrm.module.min.js +0 -0
  593. /package/{public → core/workspace-app/public}/vendor/uikit-icons.min.js +0 -0
  594. /package/{public → core/workspace-app/public}/vendor/uikit.min.css +0 -0
  595. /package/{public → core/workspace-app/public}/vendor/uikit.min.js +0 -0
  596. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/bookmark-outlined.svg +0 -0
  597. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/headset.svg +0 -0
  598. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/menu.svg +0 -0
  599. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/pause.svg +0 -0
  600. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/play.svg +0 -0
  601. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/share.svg +0 -0
  602. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/sound-off.svg +0 -0
  603. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/sound-on.svg +0 -0
  604. /package/{public → core/workspace-app/public}/vendor/webship-icons/ui/stop.svg +0 -0
  605. /package/{public → core/workspace-app/public}/vendor/xterm/addon-fit.js +0 -0
  606. /package/{public → core/workspace-app/public}/vendor/xterm/addon-unicode11.js +0 -0
  607. /package/{public → core/workspace-app/public}/vendor/xterm/addon-web-links.js +0 -0
  608. /package/{public → core/workspace-app/public}/vendor/xterm/xterm.css +0 -0
  609. /package/{public → core/workspace-app/public}/vendor/xterm/xterm.js +0 -0
  610. /package/{rag.js → core/workspace-app/rag.js} +0 -0
  611. /package/{reader.js → core/workspace-app/reader.js} +0 -0
  612. /package/{repo-blobs.js → core/workspace-app/repo-blobs.js} +0 -0
  613. /package/{report-pdf.js → core/workspace-app/report-pdf.js} +0 -0
  614. /package/{screenrc → core/workspace-app/screenrc} +0 -0
  615. /package/{screens.js → core/workspace-app/screens.js} +0 -0
  616. /package/{scripts → core/workspace-app/scripts}/code-server-start.sh +0 -0
  617. /package/{scripts → core/workspace-app/scripts}/images-claude-finish.js +0 -0
  618. /package/{scripts → core/workspace-app/scripts}/screen-host.sh +0 -0
  619. /package/{scripts → core/workspace-app/scripts}/screen-runner.js +0 -0
  620. /package/{scripts → core/workspace-app/scripts}/screen-then.js +0 -0
  621. /package/{scripts → core/workspace-app/scripts}/update.sh +0 -0
  622. /package/{settings-file.js → core/workspace-app/settings-file.js} +0 -0
  623. /package/{speech.js → core/workspace-app/speech.js} +0 -0
  624. /package/{tab-modal.js → core/workspace-app/tab-modal.js} +0 -0
  625. /package/{test-reports.js → core/workspace-app/test-reports.js} +0 -0
  626. /package/{themes.js → core/workspace-app/themes.js} +0 -0
  627. /package/{transcripts.js → core/workspace-app/transcripts.js} +0 -0
  628. /package/{urls.js → core/workspace-app/urls.js} +0 -0
  629. /package/{validate.js → core/workspace-app/validate.js} +0 -0
  630. /package/{version-check.js → core/workspace-app/version-check.js} +0 -0
  631. /package/{video-edit.js → core/workspace-app/video-edit.js} +0 -0
  632. /package/{waiting.js → core/workspace-app/waiting.js} +0 -0
  633. /package/{workspace-card-tools.js → core/workspace-app/workspace-card-tools.js} +0 -0
  634. /package/{workspace-delete.js → core/workspace-app/workspace-delete.js} +0 -0
@@ -0,0 +1,175 @@
1
+ # Drupal — core/config/theme.drupal.yml
2
+ #
3
+ # A style in the shape of Drupal.org. The values were read off drupal.org itself — its --drupal-blue,
4
+ # --drupal-navy, --drupal-dark-blue and the font-size ramp, resolved in the browser.
5
+ #
6
+ # Its signatures: the #009cde Drupal blue, the #12285f navy that Drupal uses for body text rather
7
+ # than a grey or a black, #006aa9 for links, and a type ramp on a modular scale (2.027 / 1.802 /
8
+ # 1.602 / 1.424 / 1.266rem) rather than round numbers. Noto Sans is not vendored; the stack falls
9
+ # back.
10
+ #
11
+ # The dark half is not drupal.org's — the site has no dark mode to read — so it is built from the
12
+ # same palette, with the navy taken to a surface and the blue lifted to carry on it.
13
+
14
+ # The TYPE has a finding in it. Drupal.org sets its HEADINGS in ZTGatha and its BODY in Noto Sans —
15
+ # two families, which is exactly the split this workspace already has as --font-secondary and
16
+ # --font-primary. Measured: h1 40px/1.1 at 700 in ZTGatha, h2 30.4px at 300, h3 24px at 400, and
17
+ # body 16px on 1.385 in NotoSans.
18
+ #
19
+ # The sizes below are drupal.org's own --font-size-h* ramp rather than those rendered numbers: the
20
+ # ramp is the design system, and a hero h1 on one page is not. ZTGatha is not vendored here, so
21
+ # headings fall back to Noto Sans.
22
+
23
+ name: Drupal
24
+
25
+ tokens:
26
+ brand-primary: "#009cde"
27
+ brand-secondary: "#12285f"
28
+ brand-accent: "#ccedf9"
29
+ brand-dark: "#12285f"
30
+ brand-light: "#f8f9fc"
31
+ subtle-light: "#f8f9fc"
32
+ subtle-brand: "#ccedf9"
33
+ subtle-accent: "#efeafc"
34
+ text-default: "#12285f"
35
+ text-subtle: "#55607a"
36
+ text-inverse: "#ffffff"
37
+ text-light: "#f8f9fc"
38
+ text-brand: "var(--brand-primary)"
39
+ text-accent: "var(--brand-accent)"
40
+ font-primary: "NotoSans, \"Noto Sans\", system-ui, -apple-system, \"Segoe UI\", Helvetica, Arial, sans-serif"
41
+ font-secondary: "ZTGatha, NotoSans, \"Noto Sans\", Georgia, serif"
42
+ font-code: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
43
+ weight-regular: 400
44
+ weight-semibold: 600
45
+ leading-heading: 1.4
46
+ leading-display: 1.3
47
+ leading-body: 1.385
48
+ tracking-wide: 0.0625em
49
+ size-h1: 2.027rem
50
+ size-h2: 1.802rem
51
+ size-h3: 1.602rem
52
+ size-h4: 1.424rem
53
+ size-h5: 1.266rem
54
+ size-h6: 1.125rem
55
+ size-body: 1rem
56
+ size-small: 0.889rem
57
+ type-h1: "var(--weight-bold, 700) var(--size-h1)/1.1 var(--font-secondary)"
58
+ type-h2: "var(--weight-regular) var(--size-h2)/1.35 var(--font-secondary)"
59
+ type-h3: "var(--weight-regular) var(--size-h3)/1.2 var(--font-secondary)"
60
+ type-h4: "var(--weight-semibold) var(--size-h4)/1.3 var(--font-primary)"
61
+ type-h5: "var(--weight-semibold) var(--size-h5)/1.35 var(--font-primary)"
62
+ type-h6: "var(--weight-semibold) var(--size-h6)/1 var(--font-primary)"
63
+ type-body: "var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-primary)"
64
+ type-body-sm: "var(--weight-regular) var(--size-small)/1.45 var(--font-primary)"
65
+ type-label: "var(--weight-semibold) var(--size-body)/1 var(--font-primary)"
66
+ type-caption: "var(--weight-regular) var(--size-small)/1.35 var(--font-primary)"
67
+ type-mono: "var(--weight-regular) var(--size-body)/1.5 var(--font-code)"
68
+ type-mono-sm: "var(--weight-regular) var(--size-small)/1.4 var(--font-code)"
69
+ tracking-h1: normal
70
+ tracking-h2: normal
71
+ tracking-h3: normal
72
+ tracking-h4: normal
73
+ tracking-h5: normal
74
+ tracking-h6: "var(--tracking-wide)"
75
+ surface: "#ffffff"
76
+ surface-card: "#ffffff"
77
+ surface-muted: "#f8f9fc"
78
+ surface-input: "#ffffff"
79
+ text-subtle-2: "#2b3c6f"
80
+ line: "#dbe0ea"
81
+ line-strong: "#a2acbe"
82
+ link: "#006aa9"
83
+ brand-pressed: "#006aa9"
84
+ brand-2-pressed: "#0b1c45"
85
+ focus-ring: "#ccbaf466"
86
+ ok: "#3fa02f"
87
+ ok-soft: "#e1f6d5"
88
+ pcard-tool-label: 0rem
89
+ ok-ink: "#2a6e1f"
90
+ danger: "#dc2323"
91
+ danger-soft: "#fbe6e6"
92
+ danger-ink: "#b01c1c"
93
+ danger-armed: "#c61f1f"
94
+ danger-text: "#dc2323"
95
+ warning: "#e5a300"
96
+ warning-soft: "#fdf3d8"
97
+ warning-ink: "#8a6300"
98
+ info: "#009cde"
99
+ info-soft: "#ccedf9"
100
+ info-ink: "#006aa9"
101
+ success: "#146c43"
102
+ success-soft: "#d0e2d9"
103
+ success-ink: "#0f5132"
104
+ busy-soft: "var(--subtle-brand)"
105
+ busy-ink: "var(--brand-secondary)"
106
+ accent-soft: "#efeafc"
107
+ accent-ink: "#5b3fa8"
108
+ chip-bg: "#009cde"
109
+ chip-ink: "#ffffff"
110
+ shadow-card: "0 4px 16px rgba(35, 41, 70, .06)"
111
+ shadow-card-hover: "0 12px 28px rgba(43, 68, 124, .16)"
112
+ shadow-float: "0 1.5rem 3rem rgba(43, 68, 124, .28)"
113
+ shadow-toast: "0 14px 34px rgba(35, 41, 70, .26)"
114
+ toast-ring: "rgba(255, 255, 255, .9)"
115
+ code-bg: "#12285f"
116
+ code-ink: "#ccedf9"
117
+ terminal-ink: "#c9f7d4"
118
+ media-bg: "#000000"
119
+ paper: "#ffffff"
120
+ checker-a: "#dcdcdc"
121
+ checker-b: "#d8d8d8"
122
+ checker-bg: "#f4f4f4"
123
+ overlay: "#12285fcc"
124
+ brand-1: "var(--brand-primary)"
125
+ brand-2: "var(--brand-secondary)"
126
+ brand-3: "var(--brand-accent)"
127
+ brand-grad: "linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))"
128
+ ink: "var(--brand-secondary)"
129
+
130
+ # The dark half.
131
+ dark:
132
+ surface: "#0b1c45"
133
+ surface-card: "#12285f"
134
+ surface-muted: "#1c3573"
135
+ surface-input: "#0b1c45"
136
+ text-default: "#eaf6fd"
137
+ text-subtle-2: "#ccedf9"
138
+ text-subtle: "#a2acbe"
139
+ line: "#2b3c6f"
140
+ line-strong: "#44578f"
141
+ link: "#6fd0f7"
142
+ brand-pressed: "#57c4f2"
143
+ brand-2-pressed: "#1b2b4d"
144
+ focus-ring: "#ccbaf466"
145
+ ok-soft: "#12401a"
146
+ ok-ink: "#a8e6b8"
147
+ danger-soft: "#4a1414"
148
+ danger-ink: "#ffb3b3"
149
+ danger-armed: "#e0466b"
150
+ danger-text: "#ff8fa3"
151
+ warning-soft: "#3f3008"
152
+ warning-ink: "#f4d58a"
153
+ info-soft: "#123a63"
154
+ info-ink: "#9fe2fb"
155
+ success-soft: "#10291d"
156
+ success-ink: "#a3d9bd"
157
+ busy-soft: "#1a2440"
158
+ busy-ink: "#b9c9ff"
159
+ accent-soft: "#2a2360"
160
+ accent-ink: "#d6c9f7"
161
+ chip-bg: "#009cde"
162
+ chip-ink: "#0b1c45"
163
+ subtle-light: "#12285f"
164
+ subtle-brand: "#123a63"
165
+ subtle-accent: "#2a2360"
166
+ shadow-card: "0 4px 16px rgba(0, 0, 0, .35)"
167
+ shadow-card-hover: "0 12px 28px rgba(0, 0, 0, .50)"
168
+ shadow-float: "0 1.5rem 3rem rgba(0, 0, 0, .55)"
169
+ shadow-toast: "0 14px 34px rgba(0, 0, 0, .50)"
170
+ toast-ring: "rgba(0, 0, 0, .5)"
171
+ checker-a: "#2a3550"
172
+ checker-b: "#26314a"
173
+ checker-bg: "#131b2c"
174
+ overlay: "#0b1c45e5"
175
+ ink: "var(--text-default)"
@@ -0,0 +1,160 @@
1
+ # Every token the "ember" theme sets — core/config/theme.ember.yml
2
+ #
3
+ # Ember. A theme is a palette: it declares custom properties and selects nothing, so every
4
+ # value in it is configuration. They are all here, editable on the Settings screen, rather than
5
+ # only by editing a stylesheet inside the app.
6
+ #
7
+ # Names go without the leading dashes. `tokens:` applies to both halves; `dark:` applies to the
8
+ # dark half only, exactly like the html.dark block in a theme file. Anything here overrides the
9
+ # theme CSS, which is what you get with no YAML at all.
10
+
11
+ tokens:
12
+ brand-primary: "var(--brand-secondary)"
13
+ brand-secondary: "#b45309"
14
+ brand-accent: "#ea580c"
15
+ brand-grad: "linear-gradient(135deg, var(--brand-primary), var(--brand-secondary) 65%, var(--brand-accent))"
16
+ text-default: "#292524"
17
+ text-subtle-2: "#57534e"
18
+ text-subtle: "#8a827c"
19
+ surface: "#faf7f2"
20
+ surface-card: "#fff"
21
+ surface-muted: "#f2ece3"
22
+ line: "#e7ded1"
23
+ line-strong: "#d3c4ae"
24
+ ok: "#4d7c0f"
25
+ ok-soft: "#f5f9ec"
26
+ pcard-tool-label: 0rem
27
+ ok-ink: "#33501a"
28
+ danger: "#b91c1c"
29
+ danger-soft: "#fdf2f2"
30
+ danger-ink: "#7f1d1d"
31
+ danger-armed: "#991b1b"
32
+ danger-text: "#b91c1c"
33
+ warning: "#d97706"
34
+ warning-soft: "#fdf3e0"
35
+ warning-ink: "#7c4a03"
36
+ info: "#0e7490"
37
+ info-soft: "#e6f4f7"
38
+ info-ink: "#164e63"
39
+ success: "#146c43"
40
+ success-soft: "#d0e2d9"
41
+ success-ink: "#0f5132"
42
+ link: "#b45309"
43
+ subtle-brand: "#fdf4e7"
44
+ busy-soft: "#fbf0dd"
45
+ busy-ink: "var(--brand-secondary)"
46
+ subtle-light: "#fdfbf7"
47
+ brand-1: "var(--brand-primary)"
48
+ brand-2: "var(--brand-secondary)"
49
+ font-code: "\"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace"
50
+ font-primary: "Figtree, \"Helvetica Neue\", Arial, sans-serif"
51
+ font-secondary: "\"DM Serif Text\", Georgia, serif"
52
+ ink: "var(--brand-secondary)"
53
+ leading-body: 1.6
54
+ leading-display: 1.3
55
+ leading-heading: 1.4
56
+ size-body: 0.9375rem
57
+ size-h1: 2rem
58
+ size-h2: 1.625rem
59
+ size-h3: 1.5rem
60
+ size-h4: 1.25rem
61
+ size-h5: 1.125rem
62
+ size-h6: 1rem
63
+ subtle-accent: "#fdf6ec"
64
+ weight-regular: 400
65
+ weight-semibold: 600
66
+ tracking-wide: 0.0625em
67
+ size-small: 0.875rem
68
+ type-h1: "var(--weight-regular) var(--size-h1)/1.15 var(--font-secondary)"
69
+ type-h2: "var(--weight-regular) var(--size-h2)/1.2 var(--font-secondary)"
70
+ type-h3: "var(--weight-semibold) var(--size-h3)/1.25 var(--font-primary)"
71
+ type-h4: "var(--weight-semibold) var(--size-h4)/1.3 var(--font-primary)"
72
+ type-h5: "var(--weight-semibold) var(--size-h5)/1.35 var(--font-primary)"
73
+ type-h6: "var(--weight-semibold) var(--size-h6)/1 var(--font-primary)"
74
+ type-body: "var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-primary)"
75
+ type-body-sm: "var(--weight-regular) var(--size-small)/1.45 var(--font-primary)"
76
+ type-label: "var(--weight-semibold) var(--size-body)/1 var(--font-primary)"
77
+ type-caption: "var(--weight-regular) var(--size-small)/1.35 var(--font-primary)"
78
+ type-mono: "var(--weight-regular) var(--size-body)/1.5 var(--font-code)"
79
+ type-mono-sm: "var(--weight-regular) var(--size-small)/1.4 var(--font-code)"
80
+ tracking-h1: normal
81
+ tracking-h2: normal
82
+ tracking-h3: normal
83
+ tracking-h4: normal
84
+ tracking-h5: normal
85
+ tracking-h6: "var(--tracking-wide)"
86
+ brand-3: "var(--brand-accent)"
87
+ brand-dark: "#1c1410"
88
+ brand-light: "#f5ede2"
89
+ text-inverse: "#ffffff"
90
+ text-light: "#f5ede2"
91
+ text-brand: "var(--brand-primary)"
92
+ text-accent: "var(--brand-accent)"
93
+ surface-input: "#ffffff"
94
+ brand-pressed: "#a24f07"
95
+ brand-2-pressed: "#92430a"
96
+ focus-ring: "rgba(217, 119, 6, .35)"
97
+ accent-soft: "#fdf0e2"
98
+ accent-ink: "#8a4708"
99
+ chip-bg: "var(--brand-primary)"
100
+ chip-ink: "var(--text-inverse)"
101
+ shadow-card: "0 4px 16px rgba(69, 42, 15, .07)"
102
+ shadow-card-hover: "0 12px 28px rgba(69, 42, 15, .18)"
103
+ shadow-float: "0 1.5rem 3rem rgba(69, 42, 15, .28)"
104
+ shadow-toast: "0 14px 34px rgba(69, 42, 15, .26)"
105
+ toast-ring: "rgba(255, 255, 255, .9)"
106
+ code-bg: "#241c14"
107
+ code-ink: "#f0e6d8"
108
+ terminal-ink: "#f0c674"
109
+ media-bg: "#000000"
110
+ paper: "#ffffff"
111
+ checker-a: "#e0d8cc"
112
+ checker-b: "#dad2c6"
113
+ checker-bg: "#f4f0e9"
114
+ overlay: "rgba(20, 12, 6, .6)"
115
+
116
+ # The dark half. Only the tokens that differ at night are listed.
117
+ dark:
118
+ text-default: "#f5ede2"
119
+ text-subtle-2: "#d6c9b8"
120
+ text-subtle: "#a1937f"
121
+ surface: "#17130f"
122
+ surface-card: "#211b15"
123
+ surface-muted: "#1c1712"
124
+ line: "#362c22"
125
+ line-strong: "#4d3f31"
126
+ ok-soft: "#1a2410"
127
+ ok-ink: "#c2e08a"
128
+ danger-soft: "#2a1512"
129
+ danger-ink: "#f4b8b8"
130
+ danger-armed: "#ef4444"
131
+ danger-text: "#f87171"
132
+ warning-soft: "#2a1f10"
133
+ warning-ink: "#f5c46b"
134
+ info-soft: "#0f2429"
135
+ info-ink: "#8fd3e3"
136
+ success-soft: "#10291d"
137
+ success-ink: "#a3d9bd"
138
+ link: "#f59e0b"
139
+ subtle-brand: "#2a2118"
140
+ busy-soft: "#14100c"
141
+ busy-ink: "#f0c674"
142
+ subtle-light: "#1c1712"
143
+ surface-input: "#1a1510"
144
+ brand-pressed: "#f59e0b"
145
+ brand-2-pressed: "#c2700b"
146
+ focus-ring: "rgba(245, 158, 11, .40)"
147
+ accent-soft: "#2e2015"
148
+ accent-ink: "#f3c98a"
149
+ chip-bg: "#5a3d1c"
150
+ chip-ink: "#f5ede2"
151
+ shadow-card: "0 4px 16px rgba(0, 0, 0, .40)"
152
+ shadow-card-hover: "0 12px 28px rgba(0, 0, 0, .55)"
153
+ shadow-float: "0 1.5rem 3rem rgba(0, 0, 0, .60)"
154
+ shadow-toast: "0 14px 34px rgba(0, 0, 0, .55)"
155
+ toast-ring: "rgba(0, 0, 0, .5)"
156
+ checker-a: "#322820"
157
+ checker-b: "#2c231b"
158
+ checker-bg: "#1c1712"
159
+ overlay: "rgba(0, 0, 0, .72)"
160
+ ink: "var(--text-default)"
@@ -0,0 +1,172 @@
1
+ # GitHub — core/config/theme.github.yml
2
+ #
3
+ # A style in the shape of GitHub. The LIGHT values were read straight off a GitHub page: its Primer
4
+ # tokens (--fgColor-default, --bgColor-muted, --borderColor-default and the rest) resolved in the
5
+ # browser, so they are the ones it actually renders with.
6
+ #
7
+ # The DARK half is Primer's published dark palette rather than a second measurement: GitHub ships
8
+ # its dark tokens in a stylesheet that is only fetched when you switch, so they were not on the page
9
+ # to read. Said plainly here because the two halves of this file were not established the same way.
10
+ #
11
+ # Its signatures: the #0969da accent blue, the #1f883d green on the primary button — GitHub is the
12
+ # one product here whose main action is green, not its accent colour — a near-black #1f2328 ink, and
13
+ # a 14px body. Mona Sans and Monaspace Neon are not vendored; the stacks fall back.
14
+
15
+ # The TYPE is Primer's own scale, read off the page as custom properties rather than measured from
16
+ # one heading: --text-title-size-large 2rem, -medium 1.25rem, -small 1rem, body-medium .875rem,
17
+ # body-small .75rem, with line heights 1.5 / 1.625 / 1.5. It is a FLAT ramp — 32px to 20px to 16px,
18
+ # then body at 14px — which is what a dense interface wants and is the opposite of a landing page.
19
+
20
+ name: GitHub
21
+
22
+ tokens:
23
+ brand-primary: "#0969da"
24
+ brand-secondary: "#1f2328"
25
+ brand-accent: "#ddf4ff"
26
+ brand-dark: "#1f2328"
27
+ brand-light: "#f6f8fa"
28
+ subtle-light: "#f6f8fa"
29
+ subtle-brand: "#ddf4ff"
30
+ subtle-accent: "#fbefff"
31
+ text-default: "#1f2328"
32
+ text-subtle: "#59636e"
33
+ text-inverse: "#ffffff"
34
+ text-light: "#f6f8fa"
35
+ text-brand: "var(--brand-primary)"
36
+ text-accent: "var(--brand-accent)"
37
+ font-primary: "\"Mona Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans\", Helvetica, Arial, sans-serif"
38
+ font-secondary: "\"Mona Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans\", Helvetica, Arial, sans-serif"
39
+ font-code: "\"Monaspace Neon\", ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace"
40
+ weight-regular: 400
41
+ weight-semibold: 600
42
+ leading-heading: 1.4
43
+ leading-display: 1.3
44
+ leading-body: 1.5
45
+ tracking-wide: 0.0625em
46
+ size-h1: 2rem
47
+ size-h2: 1.25rem
48
+ size-h3: 1rem
49
+ size-h4: 0.875rem
50
+ size-h5: 0.875rem
51
+ size-h6: 0.75rem
52
+ size-body: 0.875rem
53
+ size-small: 0.75rem
54
+ type-h1: "var(--weight-semibold) var(--size-h1)/1.5 var(--font-primary)"
55
+ type-h2: "var(--weight-semibold) var(--size-h2)/1.625 var(--font-primary)"
56
+ type-h3: "var(--weight-semibold) var(--size-h3)/1.5 var(--font-primary)"
57
+ type-h4: "var(--weight-semibold) var(--size-h4)/1.5 var(--font-primary)"
58
+ type-h5: "var(--weight-semibold) var(--size-h5)/1.5 var(--font-primary)"
59
+ type-h6: "var(--weight-semibold) var(--size-h6)/1.4 var(--font-primary)"
60
+ type-body: "var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-primary)"
61
+ type-body-sm: "var(--weight-regular) var(--size-small)/1.45 var(--font-primary)"
62
+ type-label: "var(--weight-semibold) var(--size-body)/1 var(--font-primary)"
63
+ type-caption: "var(--weight-regular) var(--size-small)/1.35 var(--font-primary)"
64
+ type-mono: "var(--weight-regular) var(--size-body)/1.5 var(--font-code)"
65
+ type-mono-sm: "var(--weight-regular) var(--size-small)/1.4 var(--font-code)"
66
+ tracking-h1: normal
67
+ tracking-h2: normal
68
+ tracking-h3: normal
69
+ tracking-h4: normal
70
+ tracking-h5: normal
71
+ tracking-h6: 0.06em
72
+ surface: "#ffffff"
73
+ surface-card: "#ffffff"
74
+ surface-muted: "#f6f8fa"
75
+ surface-input: "#ffffff"
76
+ text-subtle-2: "#424a53"
77
+ line: "#d1d9e0"
78
+ line-strong: "#b7bfc7"
79
+ link: "#0969da"
80
+ brand-pressed: "#0550ae"
81
+ brand-2-pressed: "#22355f"
82
+ focus-ring: "#0969da66"
83
+ ok: "#1f883d"
84
+ ok-soft: "#dafbe1"
85
+ pcard-tool-label: 0rem
86
+ ok-ink: "#1a7f37"
87
+ danger: "#cf222e"
88
+ danger-soft: "#ffebe9"
89
+ danger-ink: "#d1242f"
90
+ danger-armed: "#a40e26"
91
+ danger-text: "#d1242f"
92
+ warning: "#9a6700"
93
+ warning-soft: "#fff8c5"
94
+ warning-ink: "#7d4e00"
95
+ info: "#0969da"
96
+ info-soft: "#ddf4ff"
97
+ info-ink: "#0550ae"
98
+ success: "#146c43"
99
+ success-soft: "#d0e2d9"
100
+ success-ink: "#0f5132"
101
+ busy-soft: "var(--subtle-brand)"
102
+ busy-ink: "var(--brand-secondary)"
103
+ accent-soft: "#fbefff"
104
+ accent-ink: "#8250df"
105
+ chip-bg: "#0969da"
106
+ chip-ink: "#ffffff"
107
+ shadow-card: "0 4px 16px rgba(35, 41, 70, .06)"
108
+ shadow-card-hover: "0 12px 28px rgba(43, 68, 124, .16)"
109
+ shadow-float: "0 1.5rem 3rem rgba(43, 68, 124, .28)"
110
+ shadow-toast: "0 14px 34px rgba(35, 41, 70, .26)"
111
+ toast-ring: "rgba(255, 255, 255, .9)"
112
+ code-bg: "#0d1117"
113
+ code-ink: "#f0f6fc"
114
+ terminal-ink: "#c9f7d4"
115
+ media-bg: "#000000"
116
+ paper: "#ffffff"
117
+ checker-a: "#dcdcdc"
118
+ checker-b: "#d8d8d8"
119
+ checker-bg: "#f4f4f4"
120
+ overlay: "#1f232899"
121
+ brand-1: "var(--brand-primary)"
122
+ brand-2: "var(--brand-secondary)"
123
+ brand-3: "var(--brand-accent)"
124
+ brand-grad: "linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))"
125
+ ink: "var(--brand-secondary)"
126
+
127
+ # The dark half.
128
+ dark:
129
+ surface: "#0d1117"
130
+ surface-card: "#151b23"
131
+ surface-muted: "#151b23"
132
+ surface-input: "#010409"
133
+ text-default: "#f0f6fc"
134
+ text-subtle-2: "#d1d7e0"
135
+ text-subtle: "#9198a1"
136
+ line: "#3d444d"
137
+ line-strong: "#656c76"
138
+ link: "#4493f8"
139
+ brand-pressed: "#316dca"
140
+ brand-2-pressed: "#1b2b4d"
141
+ focus-ring: "#4493f866"
142
+ ok-soft: "#0f2f1a"
143
+ ok-ink: "#3fb950"
144
+ danger-soft: "#3c1618"
145
+ danger-ink: "#f85149"
146
+ danger-armed: "#da3633"
147
+ danger-text: "#ff7b72"
148
+ warning-soft: "#3a2d12"
149
+ warning-ink: "#d29922"
150
+ info-soft: "#121d2f"
151
+ info-ink: "#4493f8"
152
+ success-soft: "#10291d"
153
+ success-ink: "#a3d9bd"
154
+ busy-soft: "#1a2440"
155
+ busy-ink: "#b9c9ff"
156
+ accent-soft: "#211f36"
157
+ accent-ink: "#ab7df8"
158
+ chip-bg: "#316dca"
159
+ chip-ink: "#f0f6fc"
160
+ subtle-light: "#151b23"
161
+ subtle-brand: "#121d2f"
162
+ subtle-accent: "#211f36"
163
+ shadow-card: "0 4px 16px rgba(0, 0, 0, .35)"
164
+ shadow-card-hover: "0 12px 28px rgba(0, 0, 0, .50)"
165
+ shadow-float: "0 1.5rem 3rem rgba(0, 0, 0, .55)"
166
+ shadow-toast: "0 14px 34px rgba(0, 0, 0, .50)"
167
+ toast-ring: "rgba(0, 0, 0, .5)"
168
+ checker-a: "#2a3550"
169
+ checker-b: "#26314a"
170
+ checker-bg: "#131b2c"
171
+ overlay: "#010409cc"
172
+ ink: "var(--text-default)"
@@ -0,0 +1,168 @@
1
+ # GitLab — core/config/theme.gitlab.yml
2
+ #
3
+ # A style in the shape of GitLab. The values were read off a GitLab page from its Pajamas design
4
+ # system — --gl-text-color-default, --gl-background-color-strong, --gl-border-color-default and the
5
+ # --gl-color-* ramp — resolved in the browser rather than sampled from a screenshot.
6
+ #
7
+ # Its signatures: the #6d49cb brand purple, an #ececef page under white cards (GitLab tints the page
8
+ # and keeps the cards white, which is the opposite of what most of these do), a #3a383f warm-grey
9
+ # ink rather than a black one, and a 14px body. GitLab Sans and GitLab Mono are not vendored.
10
+
11
+ # The TYPE was measured from GitLab's own .gl-heading-1 … .gl-heading-6 classes, rendered in the
12
+ # page and read back: 30 / 25 / 20 / 16 / 14 / 14px, all at 600 and all on a 1.25 line height, with
13
+ # -0.01em tracking on the first two only. Body is 14px on 1.5. Every step is 600 — GitLab does not
14
+ # use weight to separate heading levels, only size.
15
+
16
+ name: GitLab
17
+
18
+ tokens:
19
+ brand-primary: "#6d49cb"
20
+ brand-secondary: "#28272d"
21
+ brand-accent: "#fd7e14"
22
+ brand-dark: "#18171d"
23
+ brand-light: "#fbfafd"
24
+ subtle-light: "#fbfafd"
25
+ subtle-brand: "#ece7fb"
26
+ subtle-accent: "#fdf1dd"
27
+ text-default: "#3a383f"
28
+ text-subtle: "#626168"
29
+ text-inverse: "#ffffff"
30
+ text-light: "#fbfafd"
31
+ text-brand: "var(--brand-primary)"
32
+ text-accent: "var(--brand-accent)"
33
+ font-primary: "\"GitLab Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Noto Sans\", Ubuntu, Cantarell, sans-serif"
34
+ font-secondary: "\"GitLab Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Noto Sans\", Ubuntu, Cantarell, sans-serif"
35
+ font-code: "\"GitLab Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
36
+ weight-regular: 400
37
+ weight-semibold: 600
38
+ leading-heading: 1.4
39
+ leading-display: 1.3
40
+ leading-body: 1.5
41
+ tracking-wide: 0.0625em
42
+ size-h1: 1.875rem
43
+ size-h2: 1.5625rem
44
+ size-h3: 1.25rem
45
+ size-h4: 1rem
46
+ size-h5: 0.875rem
47
+ size-h6: 0.875rem
48
+ size-body: 0.875rem
49
+ size-small: 0.75rem
50
+ type-h1: "var(--weight-semibold) var(--size-h1)/1.25 var(--font-primary)"
51
+ type-h2: "var(--weight-semibold) var(--size-h2)/1.25 var(--font-primary)"
52
+ type-h3: "var(--weight-semibold) var(--size-h3)/1.25 var(--font-primary)"
53
+ type-h4: "var(--weight-semibold) var(--size-h4)/1.25 var(--font-primary)"
54
+ type-h5: "var(--weight-semibold) var(--size-h5)/1.25 var(--font-primary)"
55
+ type-h6: "var(--weight-semibold) var(--size-h6)/1.2 var(--font-primary)"
56
+ type-body: "var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-primary)"
57
+ type-body-sm: "var(--weight-regular) var(--size-small)/1.45 var(--font-primary)"
58
+ type-label: "var(--weight-semibold) var(--size-body)/1 var(--font-primary)"
59
+ type-caption: "var(--weight-regular) var(--size-small)/1.35 var(--font-primary)"
60
+ type-mono: "var(--weight-regular) var(--size-body)/1.5 var(--font-code)"
61
+ type-mono-sm: "var(--weight-regular) var(--size-small)/1.4 var(--font-code)"
62
+ tracking-h1: -0.01em
63
+ tracking-h2: -0.01em
64
+ tracking-h3: normal
65
+ tracking-h4: normal
66
+ tracking-h5: normal
67
+ tracking-h6: normal
68
+ surface: "#ececef"
69
+ surface-card: "#ffffff"
70
+ surface-muted: "#fbfafd"
71
+ surface-input: "#ffffff"
72
+ text-subtle-2: "#4c4b51"
73
+ line: "#dcdcde"
74
+ line-strong: "#bfbfc3"
75
+ link: "#1f75cb"
76
+ brand-pressed: "#6a4fb4"
77
+ brand-2-pressed: "#22355f"
78
+ focus-ring: "#1f75cb66"
79
+ ok: "#108548"
80
+ ok-soft: "#ecf4ee"
81
+ pcard-tool-label: 0rem
82
+ ok-ink: "#0d7038"
83
+ danger: "#dd2b0e"
84
+ danger-soft: "#fcf1ef"
85
+ danger-ink: "#ae1800"
86
+ danger-armed: "#ae1800"
87
+ danger-text: "#dd2b0e"
88
+ warning: "#ab6100"
89
+ warning-soft: "#fdf1dd"
90
+ warning-ink: "#8f4700"
91
+ info: "#1f75cb"
92
+ info-soft: "#e9f3fc"
93
+ info-ink: "#1068bf"
94
+ success: "#146c43"
95
+ success-soft: "#d0e2d9"
96
+ success-ink: "#0f5132"
97
+ busy-soft: "var(--subtle-brand)"
98
+ busy-ink: "var(--brand-secondary)"
99
+ accent-soft: "#ece7fb"
100
+ accent-ink: "#6d49cb"
101
+ chip-bg: "#6d49cb"
102
+ chip-ink: "#ffffff"
103
+ shadow-card: "0 4px 16px rgba(35, 41, 70, .06)"
104
+ shadow-card-hover: "0 12px 28px rgba(43, 68, 124, .16)"
105
+ shadow-float: "0 1.5rem 3rem rgba(43, 68, 124, .28)"
106
+ shadow-toast: "0 14px 34px rgba(35, 41, 70, .26)"
107
+ toast-ring: "rgba(255, 255, 255, .9)"
108
+ code-bg: "#28272d"
109
+ code-ink: "#ececef"
110
+ terminal-ink: "#c9f7d4"
111
+ media-bg: "#000000"
112
+ paper: "#ffffff"
113
+ checker-a: "#dcdcdc"
114
+ checker-b: "#d8d8d8"
115
+ checker-bg: "#f4f4f4"
116
+ overlay: "#18171dcc"
117
+ brand-1: "var(--brand-primary)"
118
+ brand-2: "var(--brand-secondary)"
119
+ brand-3: "var(--brand-accent)"
120
+ brand-grad: "linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))"
121
+ ink: "var(--brand-secondary)"
122
+
123
+ # The dark half.
124
+ dark:
125
+ surface: "#18171d"
126
+ surface-card: "#28272d"
127
+ surface-muted: "#3a383f"
128
+ surface-input: "#28272d"
129
+ text-default: "#ececef"
130
+ text-subtle-2: "#dcdcde"
131
+ text-subtle: "#bfbfc3"
132
+ line: "#4c4b51"
133
+ line-strong: "#626168"
134
+ link: "#63a6e9"
135
+ brand-pressed: "#a989f5"
136
+ brand-2-pressed: "#1b2b4d"
137
+ focus-ring: "#63a6e966"
138
+ ok-soft: "#0a4020"
139
+ ok-ink: "#91d4a8"
140
+ danger-soft: "#4b140b"
141
+ danger-ink: "#f57f6c"
142
+ danger-armed: "#e0466b"
143
+ danger-text: "#ff8fa3"
144
+ warning-soft: "#422800"
145
+ warning-ink: "#e9be74"
146
+ info-soft: "#0b2640"
147
+ info-ink: "#9dc7f1"
148
+ success-soft: "#10291d"
149
+ success-ink: "#a3d9bd"
150
+ busy-soft: "#1a2440"
151
+ busy-ink: "#b9c9ff"
152
+ accent-soft: "#232150"
153
+ accent-ink: "#cbbbf2"
154
+ chip-bg: "#6d49cb"
155
+ chip-ink: "#ffffff"
156
+ subtle-light: "#28272d"
157
+ subtle-brand: "#232150"
158
+ subtle-accent: "#3a2c17"
159
+ shadow-card: "0 4px 16px rgba(0, 0, 0, .35)"
160
+ shadow-card-hover: "0 12px 28px rgba(0, 0, 0, .50)"
161
+ shadow-float: "0 1.5rem 3rem rgba(0, 0, 0, .55)"
162
+ shadow-toast: "0 14px 34px rgba(0, 0, 0, .50)"
163
+ toast-ring: "rgba(0, 0, 0, .5)"
164
+ checker-a: "#2a3550"
165
+ checker-b: "#26314a"
166
+ checker-bg: "#131b2c"
167
+ overlay: "#18171de5"
168
+ ink: "var(--text-default)"