@dreamboard-games/cli 0.1.30-alpha.31 → 0.1.30-alpha.32

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 (24) hide show
  1. package/README.md +8 -8
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs +19 -11
  3. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -1
  4. package/dist/agent-verifier/{chunk-NBRUEJUK.mjs → chunk-3SPDNMLA.mjs} +3 -3
  5. package/dist/agent-verifier/{chunk-NBRUEJUK.mjs.map → chunk-3SPDNMLA.mjs.map} +1 -1
  6. package/dist/agent-verifier/{materialize-workspace-MAGKDMK5.mjs → materialize-workspace-J2S4XIIC.mjs} +2 -2
  7. package/dist/agent-verifier/{static-scaffold-CLRRWXON.mjs → static-scaffold-56QBCO6P.mjs} +2 -2
  8. package/dist/authoring-compatibility-internal.js +1 -1
  9. package/dist/{chunk-X244CUU4.js → chunk-DWWMZBFB.js} +21 -12
  10. package/dist/chunk-DWWMZBFB.js.map +1 -0
  11. package/dist/{chunk-YNJVKC2T.js → chunk-TRF7IPXK.js} +3 -3
  12. package/dist/{chunk-YNJVKC2T.js.map → chunk-TRF7IPXK.js.map} +1 -1
  13. package/dist/index.js +16 -13
  14. package/dist/index.js.map +1 -1
  15. package/dist/internal.js +2 -2
  16. package/package.json +1 -1
  17. package/release/authoring-release-set.json +2 -2
  18. package/skills/dreamboard/SKILL.md +3 -3
  19. package/skills/dreamboard/references/building-your-first-game.md +1 -1
  20. package/skills/dreamboard/references/cli.md +20 -19
  21. package/skills/dreamboard/references/quickstart.md +3 -3
  22. package/dist/chunk-X244CUU4.js.map +0 -1
  23. /package/dist/agent-verifier/{materialize-workspace-MAGKDMK5.mjs.map → materialize-workspace-J2S4XIIC.mjs.map} +0 -0
  24. /package/dist/agent-verifier/{static-scaffold-CLRRWXON.mjs.map → static-scaffold-56QBCO6P.mjs.map} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # dreamboard
2
2
 
3
- Dreamboard CLI for working with Dreamboard games from your own editor/tooling.
3
+ Dreamboard for working with Dreamboard games from your own editor/tooling.
4
4
 
5
5
  Dreamboard is built to take you from napkin sketch to playable prototype without the paper cuts:
6
6
 
@@ -18,7 +18,7 @@ Published npm package:
18
18
  npm install -g dreamboard
19
19
  ```
20
20
 
21
- The published CLI targets Node 20+.
21
+ The published `dreamboard` package targets Node 20+.
22
22
 
23
23
  ## Why Dreamboard
24
24
 
@@ -35,11 +35,11 @@ Use browser login:
35
35
  dreamboard auth login
36
36
  ```
37
37
 
38
- The CLI stores your refreshable session in `~/.dreamboard/auth.json` by default. The file is written atomically with owner-only permissions (`0600`).
38
+ Dreamboard stores your refreshable session in `~/.dreamboard/auth.json` by default. The file is written atomically with owner-only permissions (`0600`).
39
39
 
40
40
  The operating system keychain is optional. Set `"credentialBackend": "keychain"` in `~/.dreamboard/config.json`, or use `DREAMBOARD_CREDENTIAL_BACKEND=keychain`, to opt in.
41
41
 
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.
42
+ That stored session includes the Clerk refresh token Dreamboard needs to renew and exchange for short-lived Dreamboard API tokens automatically. Direct JWT injection is intentionally not part of the published Dreamboard flow.
43
43
 
44
44
  ## Source Checkout Setup
45
45
 
@@ -112,15 +112,15 @@ dreamboard dev
112
112
  ## Notes
113
113
 
114
114
  - Project state lives in `.dreamboard/project.json`.
115
- - Published/public CLI installs target Node 20+ and support commit-scoped
115
+ - Published/public `dreamboard` installs target Node 20+ and support commit-scoped
116
116
  build, preview, release, and status workflows.
117
- - Published/public CLI builds are production-only; they do not support environment overrides or direct JWT injection.
117
+ - Published stable `dreamboard` builds are production-only and do not support environment overrides or direct JWT injection. Published alpha builds allow `--env <local|staging|prod>` for operator verification, but still reject direct JWT injection.
118
118
  - Local embedded-harness testing remains Bun-only and requires a source checkout with local backend support.
119
- - Internal source-checkout builds may expose extra auth and environment helpers, but those are not part of the published CLI contract.
119
+ - Internal source-checkout builds may expose extra auth and environment helpers, but those are not part of the published Dreamboard contract.
120
120
 
121
121
  ## Skill Source
122
122
 
123
123
  - Public skill source lives under `skills/dreamboard/`.
124
124
  - `skills/dreamboard/references/*.md` are generated from `docs/` via `pnpm run sync:skill-docs`.
125
125
  - `dreamboard project create` installs the bundled skill into `.agents/skills/dreamboard/` in the generated game project.
126
- - Public GitHub repo for the CLI is [dreamboard-games/dreamboard-cli](https://github.com/dreamboard-games/dreamboard-cli).
126
+ - Public GitHub repo for Dreamboard is [dreamboard-games/dreamboard](https://github.com/dreamboard-games/dreamboard).
@@ -1129,8 +1129,15 @@ var consola = createConsola2();
1129
1129
 
1130
1130
  // src/build-target.ts
1131
1131
  var injectedBuildChannel = true ? "development" : void 0;
1132
+ var injectedPackageVersion = typeof __DREAMBOARD_PACKAGE_VERSION__ === "string" ? __DREAMBOARD_PACKAGE_VERSION__ : void 0;
1132
1133
  var BUILD_CHANNEL = injectedBuildChannel === "published" ? "published" : "development";
1134
+ var PACKAGE_VERSION = injectedPackageVersion ?? "0.0.0-development";
1135
+ function isAlphaReleaseVersion(version) {
1136
+ return /(?:^|-|\.)alpha(?:$|-|\.)/.test(version);
1137
+ }
1133
1138
  var IS_PUBLISHED_BUILD = BUILD_CHANNEL === "published";
1139
+ var IS_ALPHA_RELEASE = isAlphaReleaseVersion(PACKAGE_VERSION);
1140
+ var CAN_SELECT_ENVIRONMENT = !IS_PUBLISHED_BUILD || IS_ALPHA_RELEASE;
1134
1141
  var PUBLISHED_ENVIRONMENT = "prod";
1135
1142
 
1136
1143
  // src/auth/refresh-error.ts
@@ -1618,15 +1625,15 @@ function resolveConfig(globalConfig, flags, project, credentials) {
1618
1625
  if (IS_PUBLISHED_BUILD) {
1619
1626
  assertPublicRuntimeFlags(flags);
1620
1627
  }
1621
- const envEnvironment = IS_PUBLISHED_BUILD ? void 0 : environmentFromProcess();
1622
- const projectEnvironment = IS_PUBLISHED_BUILD ? void 0 : project?.environment;
1623
- const environment = IS_PUBLISHED_BUILD ? PUBLISHED_ENVIRONMENT : flags.env || envEnvironment || projectEnvironment || globalConfig.environment || "staging";
1628
+ const envEnvironment = CAN_SELECT_ENVIRONMENT ? environmentFromProcess() : void 0;
1629
+ const projectEnvironment = CAN_SELECT_ENVIRONMENT ? project?.environment : void 0;
1630
+ const environment = CAN_SELECT_ENVIRONMENT ? flags.env || envEnvironment || projectEnvironment || globalConfig.environment || (IS_PUBLISHED_BUILD ? PUBLISHED_ENVIRONMENT : "staging") : PUBLISHED_ENVIRONMENT;
1624
1631
  const envConfig = ENVIRONMENT_CONFIGS[environment];
1625
1632
  const publishedEnvConfig = ENVIRONMENT_CONFIGS[PUBLISHED_ENVIRONMENT];
1626
- const hasExplicitEnvironmentOverride = !IS_PUBLISHED_BUILD && Boolean(flags.env || envEnvironment || projectEnvironment);
1627
- const resolvedApiBaseUrl = IS_PUBLISHED_BUILD ? publishedEnvConfig?.apiBaseUrl ?? DEFAULT_API_BASE_URL : hasExplicitEnvironmentOverride ? projectLocalBaseUrl(project?.apiBaseUrl, environment) || envConfig?.apiBaseUrl || DEFAULT_API_BASE_URL : project?.apiBaseUrl || envConfig?.apiBaseUrl || DEFAULT_API_BASE_URL;
1633
+ const hasExplicitEnvironmentOverride = CAN_SELECT_ENVIRONMENT && Boolean(flags.env || envEnvironment || projectEnvironment);
1634
+ const resolvedApiBaseUrl = IS_PUBLISHED_BUILD && !CAN_SELECT_ENVIRONMENT ? publishedEnvConfig?.apiBaseUrl ?? DEFAULT_API_BASE_URL : hasExplicitEnvironmentOverride ? projectLocalBaseUrl(project?.apiBaseUrl, environment) || envConfig?.apiBaseUrl || DEFAULT_API_BASE_URL : project?.apiBaseUrl || envConfig?.apiBaseUrl || DEFAULT_API_BASE_URL;
1628
1635
  const apiBaseUrl = valueOrUndefined(process.env.DREAMBOARD_API_BASE_URL) ?? resolvedApiBaseUrl;
1629
- const resolvedWebBaseUrl = IS_PUBLISHED_BUILD ? publishedEnvConfig?.webBaseUrl ?? DEFAULT_WEB_BASE_URL : hasExplicitEnvironmentOverride ? projectLocalBaseUrl(project?.webBaseUrl, environment) || envConfig?.webBaseUrl || DEFAULT_WEB_BASE_URL : project?.webBaseUrl || envConfig?.webBaseUrl || DEFAULT_WEB_BASE_URL;
1636
+ const resolvedWebBaseUrl = IS_PUBLISHED_BUILD && !CAN_SELECT_ENVIRONMENT ? publishedEnvConfig?.webBaseUrl ?? DEFAULT_WEB_BASE_URL : hasExplicitEnvironmentOverride ? projectLocalBaseUrl(project?.webBaseUrl, environment) || envConfig?.webBaseUrl || DEFAULT_WEB_BASE_URL : project?.webBaseUrl || envConfig?.webBaseUrl || DEFAULT_WEB_BASE_URL;
1630
1637
  const webBaseUrl = valueOrUndefined(process.env.DREAMBOARD_WEB_BASE_URL) ?? resolvedWebBaseUrl;
1631
1638
  const snapshot = buildCredentialSnapshot(flags, credentials, environment);
1632
1639
  const oauthConfig = resolveEnvironmentOAuthConfig(environment, envConfig);
@@ -1731,9 +1738,10 @@ function projectLocalBaseUrl(rawUrl, environment) {
1731
1738
  return void 0;
1732
1739
  }
1733
1740
  }
1734
- function assertPublicRuntimeFlags(flags) {
1735
- const argv2 = process.argv.slice(2);
1736
- if (flags.env || argv2.includes("--env")) {
1741
+ function assertPublicRuntimeFlags(flags, options = {}) {
1742
+ const canSelectEnvironment = options.canSelectEnvironment ?? CAN_SELECT_ENVIRONMENT;
1743
+ const argv2 = options.argv ?? process.argv.slice(2);
1744
+ if (!canSelectEnvironment && (flags.env || argv2.includes("--env"))) {
1737
1745
  throw new Error(
1738
1746
  "The published Dreamboard CLI is production-only and does not accept `--env`."
1739
1747
  );
@@ -2012,7 +2020,7 @@ Usage:
2012
2020
  }
2013
2021
  async function materializePreparedWorkspace(args) {
2014
2022
  const inputPath = readRequiredOption(args, "--input");
2015
- const { materializeWorkspaceProject } = await import("./materialize-workspace-MAGKDMK5.mjs");
2023
+ const { materializeWorkspaceProject } = await import("./materialize-workspace-J2S4XIIC.mjs");
2016
2024
  const input = JSON.parse(await readFile(inputPath, "utf8"));
2017
2025
  await materializeWorkspaceProject({
2018
2026
  ...input,
@@ -2080,7 +2088,7 @@ async function runCloudLocalVerification(projectRoot, projectConfig, config) {
2080
2088
  { assertReducerContractPreflight },
2081
2089
  { getProjectLocalMaintainerRegistry }
2082
2090
  ] = await Promise.all([
2083
- import("./static-scaffold-CLRRWXON.mjs"),
2091
+ import("./static-scaffold-56QBCO6P.mjs"),
2084
2092
  import("./local-files-OF4QFISU.mjs"),
2085
2093
  import("./workspace-codegen-SPPVHURX.mjs"),
2086
2094
  import("./workspace-dependencies-5HEEKZFP.mjs"),