@dreamboard-games/cli 0.1.30-alpha.2 → 0.1.30-alpha.20

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 (136) hide show
  1. package/README.md +25 -107
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs +1682 -0
  3. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -0
  4. package/dist/agent-verifier/chunk-4I2WWAPK.mjs +399 -0
  5. package/dist/agent-verifier/chunk-4I2WWAPK.mjs.map +1 -0
  6. package/dist/agent-verifier/chunk-BWBN2TDJ.mjs +2811 -0
  7. package/dist/agent-verifier/chunk-BWBN2TDJ.mjs.map +1 -0
  8. package/dist/agent-verifier/chunk-DQUYBIGQ.mjs +353 -0
  9. package/dist/agent-verifier/chunk-DQUYBIGQ.mjs.map +1 -0
  10. package/dist/agent-verifier/chunk-F2DIOJJZ.mjs +302 -0
  11. package/dist/agent-verifier/chunk-F2DIOJJZ.mjs.map +1 -0
  12. package/dist/agent-verifier/chunk-GCFGAFYC.mjs +720 -0
  13. package/dist/agent-verifier/chunk-GCFGAFYC.mjs.map +1 -0
  14. package/dist/agent-verifier/chunk-GWRZRWCF.mjs +107 -0
  15. package/dist/agent-verifier/chunk-GWRZRWCF.mjs.map +1 -0
  16. package/dist/agent-verifier/chunk-H6XDQJ3N.mjs +11 -0
  17. package/dist/agent-verifier/chunk-HUBV22JQ.mjs +89 -0
  18. package/dist/agent-verifier/chunk-HUBV22JQ.mjs.map +1 -0
  19. package/dist/agent-verifier/chunk-IWB4L2HV.mjs +273 -0
  20. package/dist/agent-verifier/chunk-IWB4L2HV.mjs.map +1 -0
  21. package/dist/agent-verifier/chunk-JZTH3EMV.mjs +14523 -0
  22. package/dist/agent-verifier/chunk-JZTH3EMV.mjs.map +1 -0
  23. package/dist/agent-verifier/chunk-KDAQ4CZY.mjs +192 -0
  24. package/dist/agent-verifier/chunk-KDAQ4CZY.mjs.map +1 -0
  25. package/dist/agent-verifier/chunk-M7UVBANQ.mjs +58 -0
  26. package/dist/agent-verifier/chunk-M7UVBANQ.mjs.map +1 -0
  27. package/dist/agent-verifier/chunk-MYMVXTZT.mjs +766 -0
  28. package/dist/agent-verifier/chunk-MYMVXTZT.mjs.map +1 -0
  29. package/dist/agent-verifier/chunk-OJFZVGEL.mjs +492 -0
  30. package/dist/agent-verifier/chunk-OJFZVGEL.mjs.map +1 -0
  31. package/dist/agent-verifier/chunk-QD4SQNUP.mjs +75 -0
  32. package/dist/agent-verifier/chunk-QD4SQNUP.mjs.map +1 -0
  33. package/dist/agent-verifier/chunk-RDYXWXXC.mjs +47 -0
  34. package/dist/agent-verifier/chunk-RDYXWXXC.mjs.map +1 -0
  35. package/dist/agent-verifier/chunk-TIDX3YLW.mjs +158 -0
  36. package/dist/agent-verifier/chunk-TIDX3YLW.mjs.map +1 -0
  37. package/dist/agent-verifier/chunk-TTB7AIHZ.mjs +214 -0
  38. package/dist/agent-verifier/chunk-TTB7AIHZ.mjs.map +1 -0
  39. package/dist/agent-verifier/chunk-UXGTT25Q.mjs +59 -0
  40. package/dist/agent-verifier/chunk-UXGTT25Q.mjs.map +1 -0
  41. package/dist/agent-verifier/chunk-YE7UAO3T.mjs +129 -0
  42. package/dist/agent-verifier/chunk-YE7UAO3T.mjs.map +1 -0
  43. package/dist/agent-verifier/chunk-ZEELHSY3.mjs +20 -0
  44. package/dist/agent-verifier/chunk-ZEELHSY3.mjs.map +1 -0
  45. package/dist/agent-verifier/global-config-IXZLY4BS.mjs +19 -0
  46. package/dist/agent-verifier/keychain-backend-UF3Z26JM.mjs +140 -0
  47. package/dist/agent-verifier/keychain-backend-UF3Z26JM.mjs.map +1 -0
  48. package/dist/agent-verifier/local-files-OF4QFISU.mjs +45 -0
  49. package/dist/agent-verifier/local-files-OF4QFISU.mjs.map +1 -0
  50. package/dist/agent-verifier/local-typecheck-DHVLM37Z.mjs +150 -0
  51. package/dist/agent-verifier/local-typecheck-DHVLM37Z.mjs.map +1 -0
  52. package/dist/agent-verifier/materialize-workspace-VS5RHSBO.mjs +90 -0
  53. package/dist/agent-verifier/materialize-workspace-VS5RHSBO.mjs.map +1 -0
  54. package/dist/agent-verifier/project-state-XKUSCFSV.mjs +33 -0
  55. package/dist/agent-verifier/project-state-XKUSCFSV.mjs.map +1 -0
  56. package/dist/agent-verifier/prompt-VKHMCQT6.mjs +756 -0
  57. package/dist/agent-verifier/prompt-VKHMCQT6.mjs.map +1 -0
  58. package/dist/agent-verifier/reducer-bundle-preflight-GLUJKTWU.mjs +312 -0
  59. package/dist/agent-verifier/reducer-bundle-preflight-GLUJKTWU.mjs.map +1 -0
  60. package/dist/agent-verifier/reducer-contract-preflight-WVQQPW5F.mjs +46 -0
  61. package/dist/agent-verifier/reducer-contract-preflight-WVQQPW5F.mjs.map +1 -0
  62. package/dist/agent-verifier/reducer-native-test-harness-H6G6RBRY.mjs +3436 -0
  63. package/dist/agent-verifier/reducer-native-test-harness-H6G6RBRY.mjs.map +1 -0
  64. package/dist/agent-verifier/static-scaffold-C36KROJA.mjs +24 -0
  65. package/dist/agent-verifier/static-scaffold-C36KROJA.mjs.map +1 -0
  66. package/dist/agent-verifier/workspace-codegen-SPPVHURX.mjs +10 -0
  67. package/dist/agent-verifier/workspace-codegen-SPPVHURX.mjs.map +1 -0
  68. package/dist/agent-verifier/workspace-dependencies-5HEEKZFP.mjs +17 -0
  69. package/dist/agent-verifier/workspace-dependencies-5HEEKZFP.mjs.map +1 -0
  70. package/dist/authoring-compatibility-internal.js +12 -0
  71. package/dist/authoring-compatibility-internal.js.map +1 -0
  72. package/dist/chunk-2H7UOFLK.js +11 -0
  73. package/dist/chunk-2H7UOFLK.js.map +1 -0
  74. package/dist/chunk-5PJWUB6W.js +4281 -0
  75. package/dist/chunk-5PJWUB6W.js.map +1 -0
  76. package/dist/{chunk-TAQKH67O.js → chunk-EJGB3IR7.js} +2700 -7338
  77. package/dist/chunk-EJGB3IR7.js.map +1 -0
  78. package/dist/chunk-EQNBQVIW.js +204 -0
  79. package/dist/chunk-EQNBQVIW.js.map +1 -0
  80. package/dist/chunk-UI7NWSYA.js +334 -0
  81. package/dist/chunk-UI7NWSYA.js.map +1 -0
  82. package/dist/{global-config-S4ZIPECE.js → global-config-GK2UC2X6.js} +4 -3
  83. package/dist/global-config-GK2UC2X6.js.map +1 -0
  84. package/dist/index.js +3411 -6433
  85. package/dist/index.js.map +1 -1
  86. package/dist/internal.js +15 -9
  87. package/dist/{keychain-backend-HDF4TZDL.js → keychain-backend-GO34KGTG.js} +12 -7
  88. package/dist/keychain-backend-GO34KGTG.js.map +1 -0
  89. package/dist/{prompt-NDV3AE5L.js → prompt-GMZABCJC.js} +2 -2
  90. package/package.json +11 -20
  91. package/release/authoring-release-set.json +38 -0
  92. package/skills/dreamboard/SKILL.md +30 -28
  93. package/skills/dreamboard/references/building-your-first-game.md +15 -15
  94. package/skills/dreamboard/references/cli.md +48 -47
  95. package/skills/dreamboard/references/manifest-authoring.md +11 -3
  96. package/skills/dreamboard/references/quickstart.md +16 -13
  97. package/skills/dreamboard/references/testing.md +10 -10
  98. package/dist/chunk-N7XPNNUI.js +0 -432
  99. package/dist/chunk-N7XPNNUI.js.map +0 -1
  100. package/dist/chunk-SEGVTWSK.js +0 -44
  101. package/dist/chunk-TAQKH67O.js.map +0 -1
  102. package/dist/dev-host/components/drawer.tsx +0 -132
  103. package/dist/dev-host/components/input.tsx +0 -21
  104. package/dist/dev-host/dev-api-proxy-plugin.ts +0 -328
  105. package/dist/dev-host/dev-author-dom-warnings.ts +0 -100
  106. package/dist/dev-host/dev-diagnostics.ts +0 -62
  107. package/dist/dev-host/dev-fallback-stylesheet.ts +0 -53
  108. package/dist/dev-host/dev-hmr-guard-plugin.ts +0 -47
  109. package/dist/dev-host/dev-host-controller.ts +0 -674
  110. package/dist/dev-host/dev-host-player-query.ts +0 -17
  111. package/dist/dev-host/dev-host-session-transport.ts +0 -52
  112. package/dist/dev-host/dev-host-storage.ts +0 -56
  113. package/dist/dev-host/dev-log-relay-plugin.ts +0 -510
  114. package/dist/dev-host/dev-runtime-config.ts +0 -14
  115. package/dist/dev-host/dev-runtime-platform.ts +0 -335
  116. package/dist/dev-host/dev-virtual-modules-plugin.ts +0 -64
  117. package/dist/dev-host/host-main.css +0 -224
  118. package/dist/dev-host/host-main.tsx +0 -948
  119. package/dist/dev-host/index.html +0 -56
  120. package/dist/dev-host/lib/utils.ts +0 -6
  121. package/dist/dev-host/plugin-main.ts +0 -61
  122. package/dist/dev-host/plugin.html +0 -24
  123. package/dist/dev-host/shared-styles.css +0 -144
  124. package/dist/dev-host/start-dev-server.ts +0 -140
  125. package/dist/dev-host/virtual-modules.d.ts +0 -27
  126. package/dist/keychain-backend-HDF4TZDL.js.map +0 -1
  127. package/skills/dreamboard/scripts/events-extract.mjs +0 -218
  128. /package/dist/{chunk-SEGVTWSK.js.map → agent-verifier/chunk-H6XDQJ3N.mjs.map} +0 -0
  129. /package/dist/{global-config-S4ZIPECE.js.map → agent-verifier/global-config-IXZLY4BS.mjs.map} +0 -0
  130. /package/dist/{prompt-NDV3AE5L.js.map → prompt-GMZABCJC.js.map} +0 -0
  131. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.framework.json +0 -0
  132. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.json +0 -0
  133. /package/{dist/scaffold → scaffold}/assets/static/ui/index.tsx +0 -0
  134. /package/{dist/scaffold → scaffold}/assets/static/ui/style.css +0 -0
  135. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.framework.json +0 -0
  136. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.json +0 -0
package/README.md CHANGED
@@ -32,16 +32,14 @@ The published CLI targets Node 20+.
32
32
  Use browser login:
33
33
 
34
34
  ```bash
35
- dreamboard login
35
+ dreamboard auth login
36
36
  ```
37
37
 
38
- The published CLI stores your refreshable session in:
38
+ The CLI stores your refreshable session in `~/.dreamboard/auth.json` by default. The file is written atomically with owner-only permissions (`0600`).
39
39
 
40
- ```bash
41
- ~/.dreamboard/config.json
42
- ```
40
+ The operating system keychain is optional. Set `"credentialBackend": "keychain"` in `~/.dreamboard/config.json`, or use `DREAMBOARD_CREDENTIAL_BACKEND=keychain`, to opt in.
43
41
 
44
- That stored session includes the refresh token the CLI needs to renew access automatically. Direct JWT injection is intentionally not part of the published CLI flow.
42
+ That stored session includes the Clerk refresh token the CLI needs to renew and exchange for short-lived Dreamboard API tokens automatically. Direct JWT injection is intentionally not part of the published CLI flow.
45
43
 
46
44
  ## Source Checkout Setup
47
45
 
@@ -51,7 +49,7 @@ For local source-checkout development, install workspace dependencies with pnpm
51
49
  pnpm install
52
50
  ```
53
51
 
54
- Playwright (for `dreamboard run`):
52
+ Playwright (for browser tests and local dev-host verification):
55
53
 
56
54
  ```bash
57
55
  npx playwright install
@@ -62,137 +60,58 @@ npx playwright install
62
60
  Create a new game:
63
61
 
64
62
  ```bash
65
- dreamboard new my-game --description "A trick-taking card game"
63
+ dreamboard project create my-game --description "A trick-taking card game"
66
64
  ```
67
65
 
68
- Clone an existing game:
66
+ Clone an existing project:
69
67
 
70
68
  ```bash
71
- dreamboard clone my-game
69
+ dreamboard project clone my-game
72
70
  ```
73
71
 
74
- Sync local authored changes and regenerate scaffolded files:
72
+ Commit and push authored changes with Git:
75
73
 
76
74
  ```bash
77
- dreamboard sync
78
- dreamboard sync --update-sdk
75
+ git add .
76
+ git commit -m "Update game"
77
+ git push
79
78
  ```
80
79
 
81
- If the remote has advanced unexpectedly, reconcile authored changes explicitly with:
80
+ Inspect server state for an exact commit:
82
81
 
83
82
  ```bash
84
- dreamboard pull
83
+ dreamboard project status --commit HEAD --wait
85
84
  ```
86
85
 
87
- Compile the current authored head:
86
+ Verify an exact commit:
88
87
 
89
88
  ```bash
90
- dreamboard compile
91
- dreamboard compile --skip-local-check
89
+ dreamboard verify --commit HEAD
92
90
  ```
93
91
 
94
- Inspect local vs remote state:
92
+ Build or preview a pushed commit:
95
93
 
96
94
  ```bash
97
- dreamboard status
98
- dreamboard status --json
95
+ dreamboard build --commit HEAD
96
+ dreamboard preview --commit HEAD
99
97
  ```
100
98
 
101
- Run the game locally (server-compiled UI):
99
+ Run tests:
102
100
 
103
101
  ```bash
104
- dreamboard run
105
- dreamboard run --players 4
106
- dreamboard run --seed 1337
107
- dreamboard run --new-session
108
- ```
109
-
110
- If no successful compile exists for the current authored state yet, `dreamboard run` will ask you to run `dreamboard compile` first.
111
- By default, the CLI uses `manifest.json`'s `playerConfig.minPlayers` to decide how many seats to create.
112
-
113
- `dreamboard run` now defaults to a wait-and-observe loop when no scenario is provided:
114
-
115
- 1. Reuse the previous active session (`--resume` defaults to true) unless `--new-session` is set.
116
- 2. Subscribe to session SSE events.
117
- 3. Exit when `YOUR_TURN` (default `--until`) or `GAME_ENDED` is received.
118
- 4. Persist artifacts in `.dreamboard/run/`:
119
- - `session.json`
120
- - `events.ndjson`
121
- - `latest-your-turn.json`
122
- - `last-run-summary.json`
123
-
124
- `dreamboard run` is deterministic-by-default for new sessions: if `--seed` is not provided, it uses `1337`.
125
-
126
- Useful flags:
127
-
128
- - `--until YOUR_TURN|GAME_ENDED|ANY`
129
- - `--observe-events turns|all` (default `turns`; persist `YOUR_TURN` and `ACTION_REJECTED` messages)
130
- - `--seed <int>` (deterministic RNG seed for new sessions, default `1337`)
131
- - `--timeout-ms <ms>`
132
- - `--max-events <count>`
133
- - `--screenshot` (capture one Playwright screenshot for the selected run session)
134
- - `--output <path>`
135
- - `--delay <ms>`
136
- - `--width <px>`
137
- - `--height <px>`
138
- - `--scenario-driver api|ui` (default `api`)
139
-
140
- Playwright launch is now optional:
141
-
142
- 1. It is launched when `--scenario-driver ui` is used.
143
- 2. It is launched when `--screenshot` is used.
144
- 3. Default API scenarios (`--scenario` with `--scenario-driver api`) do not require Playwright.
145
- 4. Pure observe runs (`dreamboard run` without scenario/screenshot) do not require a browser session.
146
-
147
- ## Scenario Files
148
-
149
- `dreamboard run --scenario <file>` supports scenario JSON (API driver by default):
150
-
151
- ```json
152
- {
153
- "steps": [
154
- {
155
- "playerId": "player-1",
156
- "actionType": "playCard",
157
- "parameters": { "cardId": "hearts-7" },
158
- "turns": 1
159
- },
160
- {
161
- "playerId": "player-1",
162
- "actionType": "endTurn",
163
- "parameters": {},
164
- "turns": 1
165
- }
166
- ]
167
- }
102
+ dreamboard test
103
+ dreamboard test --scenario test/scenarios/main.scenario.ts
168
104
  ```
169
105
 
170
- `playerId` is required on every scenario step. The CLI executes all steps in order per invocation:
171
-
172
- ```bash
173
- dreamboard run
174
- dreamboard run --scenario path/to/scenario.json
175
- dreamboard run --scenario path/to/scenario.json --scenario-driver ui
176
- ```
177
-
178
- If there is no current `.dreamboard/run/latest-your-turn.json` for the active session (for example with `--new-session`), `dreamboard run --scenario ...` first observes SSE until it receives the initial `YOUR_TURN`, then starts executing scenario steps.
179
-
180
- API-driven scenarios are strict per step: after each `submitAction`, the CLI waits for either `ACTION_EXECUTED` or `ACTION_REJECTED`. On rejection, it stops immediately with `stopReason=scenario_rejected`.
181
-
182
- Screenshots are saved to `.dreamboard/screenshots/` by default. The CLI captures the same session selected by `--resume` / `--new-session`.
183
-
184
- To capture a screenshot during observe or scenario runs:
106
+ Start the local dev host:
185
107
 
186
108
  ```bash
187
- dreamboard run --screenshot
188
- dreamboard run --scenario path/to/scenario.json --screenshot
189
- dreamboard run --screenshot --output ./shot.png --delay 1500 --width 1440 --height 900
109
+ dreamboard dev
190
110
  ```
191
111
 
192
112
  ## Notes
193
113
 
194
114
  - Project state lives in `.dreamboard/project.json`.
195
- - Snapshots for `status` are stored in `.dreamboard/snapshot.json`.
196
115
  - Published/public CLI installs target Node 20+ and support remote workflows.
197
116
  - Published/public CLI builds are production-only; they do not support environment overrides or direct JWT injection.
198
117
  - Local embedded-harness testing remains Bun-only and requires a source checkout with local backend support.
@@ -202,6 +121,5 @@ dreamboard run --screenshot --output ./shot.png --delay 1500 --width 1440 --heig
202
121
 
203
122
  - Public skill source lives under `skills/dreamboard/`.
204
123
  - `skills/dreamboard/references/*.md` are generated from `docs/` via `pnpm run sync:skill-docs`.
205
- - `dreamboard new` installs the bundled skill into `.agents/skills/dreamboard/` in the generated game project.
206
- - The Node helper script for run-artifact inspection is `.agents/skills/dreamboard/scripts/events-extract.mjs`.
124
+ - `dreamboard project create` installs the bundled skill into `.agents/skills/dreamboard/` in the generated game project.
207
125
  - Public GitHub repo for the CLI is [dreamboard-games/dreamboard-cli](https://github.com/dreamboard-games/dreamboard-cli).