scriptorium 0.0.1 → 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 (102) hide show
  1. package/README.md +31 -8
  2. package/bin/scriptorium.js +1 -1
  3. package/build/client/assets/_layout-4p0zIumj.js +1 -0
  4. package/build/client/assets/_layout-CG4jvKXd.js +1 -0
  5. package/build/client/assets/_layout-DUvno75Q.js +1 -0
  6. package/build/client/assets/_layout-tj841ZFj.js +3 -0
  7. package/build/client/assets/auth-shell-CM4lzbUg.js +1 -0
  8. package/build/client/assets/breadcrumbs-CLMk50vh.js +1 -0
  9. package/build/client/assets/{chunk-EPOLDU6W-B-j6nV8T.js → chunk-EPOLDU6W-BT1NqV1s.js} +11 -11
  10. package/build/client/assets/confirm-passkey-sqNHrDN7.js +1 -0
  11. package/build/client/assets/document-title-CaFCBnQ-.js +1 -0
  12. package/build/client/assets/entry.client-B2qwDNf_.js +13 -0
  13. package/build/client/assets/events-BGAz2o24.js +39 -0
  14. package/build/client/assets/files-247Zppti.js +1 -0
  15. package/build/client/assets/files-COflIyot.js +1 -0
  16. package/build/client/assets/files-browser-DKxCza7c.js +1 -0
  17. package/build/client/assets/files.browse-BBMm6lgA.js +1 -0
  18. package/build/client/assets/files.browse-Dq0nnEAB.js +1 -0
  19. package/build/client/assets/index-BumTGMZF.js +1 -0
  20. package/build/client/assets/index-CLO24mr0.js +1 -0
  21. package/build/client/assets/index-D-coH8u1.js +34 -0
  22. package/build/client/assets/index-DxuBmPz-.js +1 -0
  23. package/build/client/assets/jsx-runtime-u17CrQMm.js +1 -0
  24. package/build/client/assets/login-SMI1sC8T.js +1 -0
  25. package/build/client/assets/manifest-27a6038b.js +1 -0
  26. package/build/client/assets/passkeys-Cg-Qx1Gj.js +1 -0
  27. package/build/client/assets/project-events-provider-Cz1h_7Z0.js +1 -0
  28. package/build/client/assets/project-route-Cqnw3iG7.js +1 -0
  29. package/build/client/assets/projects-CcOVpbnV.js +1 -0
  30. package/build/client/assets/projects._projectId.proxy._-l0sNRNKZ.js +1 -0
  31. package/build/client/assets/projects.new-BIAajDmU.js +1 -0
  32. package/build/client/assets/register-CwUWzMvC.js +1 -0
  33. package/build/client/assets/review-browser-CkLIZsiU.js +1 -0
  34. package/build/client/assets/review._mode-CjiM88Yw.js +1 -0
  35. package/build/client/assets/review.uncommitted-DnCOhh-l.js +1 -0
  36. package/build/client/assets/root-DtlaHd7Y.js +1 -0
  37. package/build/client/assets/root-h1ZnuAzH.css +1 -0
  38. package/build/client/assets/{scroll-indicator-CFaTM_rb.js → scroll-indicator-DxagqbkL.js} +8 -8
  39. package/build/client/assets/scrollable-layout-CR2OL0dM.js +1 -0
  40. package/build/client/assets/session-route-Cd_9l4G7.js +1 -0
  41. package/build/client/assets/sessions-provider-xySz_P7U.js +1 -0
  42. package/build/client/assets/settings-CYavUXKt.js +1 -0
  43. package/build/client/assets/sidebar-BpDMNa9u.js +1 -0
  44. package/build/client/assets/use-double-check-BJPDnzvf.js +1 -0
  45. package/build/runtime/app/lib/runtime-config/cache.server.js +15 -0
  46. package/build/runtime/app/lib/runtime-config/cli.server.js +79 -0
  47. package/build/runtime/app/lib/runtime-config/docs.server.js +170 -0
  48. package/build/runtime/app/lib/runtime-config/loader.server.js +69 -0
  49. package/build/runtime/app/lib/runtime-config/schema.server.js +128 -0
  50. package/build/runtime/server/index.js +176 -0
  51. package/build/server/index.js +8989 -4661
  52. package/docs/config.md +12 -8
  53. package/drizzle/20260324172031_curved_junta/migration.sql +20 -0
  54. package/drizzle/20260324172031_curved_junta/snapshot.json +684 -0
  55. package/drizzle/20260327233106_model_usage/migration.sql +15 -0
  56. package/drizzle/20260327233106_model_usage/snapshot.json +830 -0
  57. package/drizzle/20260331000000_projects_and_model_usages/migration.sql +41 -0
  58. package/package.json +18 -5
  59. package/build/client/assets/_layout-D-bxuQBW.js +0 -1
  60. package/build/client/assets/_layout-D2eOWFrG.js +0 -1
  61. package/build/client/assets/_layout-D4m0RbUC.js +0 -1
  62. package/build/client/assets/_layout-DggtTDZp.js +0 -1
  63. package/build/client/assets/auth-shell-FEL5QDuP.js +0 -1
  64. package/build/client/assets/confirm-passkey-ntLsS7_k.js +0 -1
  65. package/build/client/assets/entry.client-BkscxSA6.js +0 -5
  66. package/build/client/assets/file-list-DBDZbrBp.js +0 -1
  67. package/build/client/assets/files-Bzkr7-i7.js +0 -1
  68. package/build/client/assets/files-browser-KNurSsen.js +0 -1
  69. package/build/client/assets/files-cnv1kfgp.js +0 -1
  70. package/build/client/assets/files.browse-9p4xl9MV.js +0 -1
  71. package/build/client/assets/git-CjSY0eSC.js +0 -1
  72. package/build/client/assets/git-T0lLjMNd.js +0 -1
  73. package/build/client/assets/git-browser-DwSOY6QN.js +0 -1
  74. package/build/client/assets/iconify-BDcX0yw8.js +0 -1
  75. package/build/client/assets/index-8zQ7Fizv.js +0 -9
  76. package/build/client/assets/index-BUN6tnpl.js +0 -1
  77. package/build/client/assets/index-BlNoCKAt.js +0 -1
  78. package/build/client/assets/index-g2QB9BbT.js +0 -1
  79. package/build/client/assets/instance-events-provider-DTYnvumj.js +0 -39
  80. package/build/client/assets/instance-route-C25LRYYo.js +0 -1
  81. package/build/client/assets/instances-CzjXhR3c.js +0 -1
  82. package/build/client/assets/instances._instanceId.sessions._sessionId.test-COZIMxji.js +0 -208
  83. package/build/client/assets/instances.new-BZi5xwEV.js +0 -1
  84. package/build/client/assets/login-Bwt79t7_.js +0 -1
  85. package/build/client/assets/magic-string.es-DjU5CGuV.js +0 -10
  86. package/build/client/assets/manifest-3c01c628.js +0 -1
  87. package/build/client/assets/message-card-DJ5C3WNp.js +0 -34
  88. package/build/client/assets/passkeys-DpNQs4bn.js +0 -1
  89. package/build/client/assets/register-DXPj5RLZ.js +0 -1
  90. package/build/client/assets/root-DxD-Skic.css +0 -1
  91. package/build/client/assets/root-DxyfhNRI.js +0 -1
  92. package/build/client/assets/scrollable-layout-CS-vPTNM.js +0 -1
  93. package/build/client/assets/session-route-oxi4s_Qg.js +0 -1
  94. package/build/client/assets/sessions-provider-D1t07kir.js +0 -1
  95. package/build/client/assets/settings-CameSNIM.js +0 -1
  96. package/build/client/assets/sidebar-DRhB33rT.js +0 -1
  97. package/build/client/assets/use-double-check-CbbarqDt.js +0 -1
  98. package/build/runtime/app/lib/runtime-config.server.js +0 -422
  99. package/build/runtime/cli/scriptorium.js +0 -21
  100. package/build/runtime/cli/serve.js +0 -101
  101. /package/build/client/assets/{message-card-BclR_JqA.css → index-BclR_JqA.css} +0 -0
  102. /package/build/client/assets/{instances._instanceId.proxy._-l0sNRNKZ.js → projects._projectId.file-references.resolve-l0sNRNKZ.js} +0 -0
package/docs/config.md CHANGED
@@ -2,14 +2,16 @@
2
2
 
3
3
  Scriptorium reads non-sensitive settings from `config.yml` and secrets from `secrets.yml` in its per-user config directory.
4
4
  CLI flags override environment variables, which override YAML values, which override schema defaults.
5
+ The configuration directory can be overridden with `--config-dir <path>` or `SCRIPTORIUM_CONFIG_DIR`.
6
+ The data directory can be overridden with `--data-dir <path>` or `SCRIPTORIUM_DATA_DIR`.
5
7
 
6
- | Platform | <scriptorium_data_dir> |
7
- | --- | --- |
8
- | macOS | `~/Library/Application Support/scriptorium` |
9
- | Linux | `$XDG_DATA_HOME/scriptorium` or `~/.local/share/scriptorium` |
10
- | Windows | `%APPDATA%\scriptorium` |
8
+ | Platform | <scriptorium_config_dir> | <scriptorium_data_dir> |
9
+ | --- | --- | --- |
10
+ | macOS | `$XDG_CONFIG_HOME/scriptorium` or `~/.config/scriptorium` | `$XDG_DATA_HOME/scriptorium` or `~/.local/share/scriptorium` |
11
+ | Linux | `$XDG_CONFIG_HOME/scriptorium` or `~/.config/scriptorium` | `$XDG_DATA_HOME/scriptorium` or `~/.local/share/scriptorium` |
12
+ | Windows | `%XDG_CONFIG_HOME%\scriptorium` or `%USERPROFILE%\.config\scriptorium` | `%XDG_DATA_HOME%\scriptorium` or `%USERPROFILE%\.local\share\scriptorium` |
11
13
 
12
- Examples use `<scriptorium_data_dir>` as shorthand for Scriptorium's per-user data directory and `$HOME` for the user's home directory.
14
+ Examples use `<scriptorium_config_dir>` and `<scriptorium_data_dir>` as shorthand for Scriptorium's per-user config/data directories and `$HOME` for the user's home directory.
13
15
 
14
16
  ## config.yml
15
17
 
@@ -21,6 +23,7 @@ workspace:
21
23
  browserRoot: $HOME
22
24
  opencode:
23
25
  bin: opencode
26
+ url: <set opencode.url>
24
27
  network:
25
28
  tailscale: false
26
29
  database:
@@ -29,10 +32,11 @@ database:
29
32
 
30
33
  | Key | Type | Default | CLI | Env | Description |
31
34
  | --- | --- | --- | --- | --- | --- |
32
- | `server.host` | string | `0.0.0.0` | `--host` | `HOST` | Host interface for the web server. |
33
- | `server.port` | number | `5174` | `--port` | `PORT` | Port for the web server. |
35
+ | `server.host` | string | `0.0.0.0` | `--host` | `SCRIPTORIUM_HOST` | Host interface for the web server. |
36
+ | `server.port` | number | `5174` | `--port` | `SCRIPTORIUM_PORT` | Port for the web server. |
34
37
  | `workspace.browserRoot` | string | `$HOME` | `--browser-root` | `SCRIPTORIUM_BROWSER_ROOT` | Root directory exposed in the workspace browser. |
35
38
  | `opencode.bin` | string | `opencode` | `--opencode-bin` | `OPENCODE_BIN` | OpenCode executable name or path. |
39
+ | `opencode.url` | string | | `--opencode-url` | `SCRIPTORIUM_OPENCODE_URL` | OpenCode server base URL. When set, Scriptorium connects to this server instead of launching its own shared OpenCode process. |
36
40
  | `network.tailscale` | boolean | `false` | `--tailscale` | | Expose the app with tailscale serve. |
37
41
  | `database.path` | string | `<scriptorium_data_dir>/app.db` | `--db-path` | `SCRIPTORIUM_DB_PATH` | Path to the SQLite database file. |
38
42
 
@@ -0,0 +1,20 @@
1
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
2
+ CREATE TABLE `__new_session_read_statuses` (
3
+ `session_id` text PRIMARY KEY NOT NULL,
4
+ `last_read_at` text NOT NULL,
5
+ `created_at` text NOT NULL,
6
+ `updated_at` text NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ INSERT INTO `__new_session_read_statuses`(`session_id`, `last_read_at`, `created_at`, `updated_at`)
10
+ SELECT
11
+ `session_id`,
12
+ MAX(`last_read_at`) AS `last_read_at`,
13
+ MIN(`created_at`) AS `created_at`,
14
+ MAX(`updated_at`) AS `updated_at`
15
+ FROM `session_read_statuses`
16
+ GROUP BY `session_id`;--> statement-breakpoint
17
+ DROP TABLE `session_read_statuses`;--> statement-breakpoint
18
+ ALTER TABLE `__new_session_read_statuses` RENAME TO `session_read_statuses`;--> statement-breakpoint
19
+ PRAGMA foreign_keys=ON;--> statement-breakpoint
20
+ CREATE INDEX `idx_session_read_statuses_updated_at` ON `session_read_statuses` (`updated_at`);