@codemarc/blt 1.10.5 → 1.10.7

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.
package/README.md CHANGED
@@ -615,31 +615,12 @@ Snapshots default under `data-snapshots/` from the **current working directory**
615
615
 
616
616
  ## Init Commands
617
617
 
618
- ### `blt init root`
619
-
620
- Clone the umbrella repository (`bltcore-com/blt`). Start here on a fresh machine.
621
-
622
- ```bash
623
- blt init root -s
624
- cd blt
625
- blt init -w -s
626
- ./getblt.sh
627
- ```
628
-
629
- **Options:**
630
-
631
- - `-d, --directory <name>` — Clone directory name (default: `blt`)
632
- - `-p, --parent <path>` — Parent directory (default: `.`)
633
- - `-s, --ssh` — Use SSH URL instead of HTTPS
634
- - `-g, --gh` — Use GitHub CLI (`gh repo clone`)
635
-
636
618
  ### `blt init [options]`
637
619
 
638
620
  Create a shell script to fast-forward sync sibling BLT repositories. Run the generated script from the **umbrella repo root** (`bltcore-com/blt`), not from a parent directory.
639
621
 
640
622
  ```bash
641
- blt init root -s
642
- cd blt
623
+ git clone git@github.com:bltcore-com/blt.git && cd blt
643
624
  blt init -w -s
644
625
  blt init -b -s # bundle: single-root workspace
645
626
  ./getblt.sh
@@ -1,5 +1,6 @@
1
1
  export declare function findWorkspaceRoot(startDir?: string): string;
2
2
  export declare function resolveDeploySiteDir(target: string, workspaceRoot?: string): string;
3
+ export declare function resolveDeploySitesRoot(siteDir: string): string;
3
4
  export declare function resolveDataRepoDir(workspaceRoot?: string): string;
4
5
  export declare function resolveDataEnvBundle(envName: string, dataDir?: string): string;
5
6
  export { trailzEnvBasePath, trailzEnvBundlePath } from "./env-check";
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAmBlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,CAMhG;AAED,wBAAgB,kBAAkB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAM9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAuB,GAAG,MAAM,CAM5F;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAmBlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,CAUhG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAM9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAuB,GAAG,MAAM,CAM5F;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -17,12 +17,19 @@ export function findWorkspaceRoot(startDir = process.cwd()) {
17
17
  }
18
18
  }
19
19
  export function resolveDeploySiteDir(target, workspaceRoot = findWorkspaceRoot()) {
20
- const siteDir = join(workspaceRoot, "deploy", "sites", `${target}.bltcore.com`);
21
- if (!existsSync(siteDir)) {
22
- throw new Error(`Deploy site directory not found: ${siteDir}`);
20
+ const candidates = [
21
+ join(workspaceRoot, "deploy", "sites", "bltcore.com", target),
22
+ join(workspaceRoot, "deploy", "sites", `${target}.bltcore.com`),
23
+ ];
24
+ const siteDir = candidates.find((candidate) => existsSync(candidate));
25
+ if (!siteDir) {
26
+ throw new Error(`Deploy site directory not found. Checked: ${candidates.join(", ")}`);
23
27
  }
24
28
  return siteDir;
25
29
  }
30
+ export function resolveDeploySitesRoot(siteDir) {
31
+ return join(findWorkspaceRoot(siteDir), "deploy", "sites");
32
+ }
26
33
  export function resolveDataRepoDir(workspaceRoot = findWorkspaceRoot()) {
27
34
  const dataDir = join(workspaceRoot, "data");
28
35
  if (!existsSync(dataDir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACzD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC;QACT,IACC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAChC,CAAC;YACF,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,6FAA6F,CAC7F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,aAAa,GAAG,iBAAiB,EAAE;IACvF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAO,GAAG,kBAAkB,EAAE;IACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACzD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC;QACT,IACC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAChC,CAAC;YACF,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,6FAA6F,CAC7F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,aAAa,GAAG,iBAAiB,EAAE;IACvF,MAAM,UAAU,GAAG;QAClB,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;QAC7D,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC;KAC/D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAO,GAAG,kBAAkB,EAAE;IACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import type { Logger } from "@caporal/core";
2
2
  export declare const DEFAULT_POS_BRANCH = "laf-test";
3
+ export declare const POS_REMOTE_DEPLOY_COMMAND = "rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose up -d";
3
4
  export type DeployPosAppOptions = {
4
5
  target: string;
5
6
  branch: string;
6
7
  env?: string;
7
8
  };
9
+ export declare function resolvePosDeployPaths(siteDir: string): {
10
+ sitesRoot: string;
11
+ dockerfile: string;
12
+ keysBase: string;
13
+ siteEnvHelper: string;
14
+ };
8
15
  export declare function deployPosApp(opts: DeployPosAppOptions, logger: Logger): Promise<void>;
9
16
  //# sourceMappingURL=pos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pos.d.ts","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAoBF,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF3F"}
1
+ {"version":3,"file":"pos.d.ts","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAW5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,yBAAyB,0FACkD,CAAC;AAEzF,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB,CASA;AAoBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F3F"}
@@ -1,11 +1,22 @@
1
1
  import { appendFileSync, existsSync, rmSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { findWorkspaceRoot, resolveDeploySiteDir } from "./paths";
2
+ import { join, relative } from "node:path";
3
+ import { findWorkspaceRoot, resolveDeploySiteDir, resolveDeploySitesRoot } from "./paths";
4
4
  import { ensureAppEnv } from "./env-check";
5
5
  import { decryptTrailzEnvBase } from "./env-decrypt";
6
- import { loadSiteEnvContext, renderNginxTemplatesIfPresent } from "./site-env";
6
+ import { loadSiteEnvContext, renderNginxTemplatesIfPresent, resolveSiteEnvHelper, } from "./site-env";
7
7
  import { runCommand } from "./shell";
8
8
  export const DEFAULT_POS_BRANCH = "laf-test";
9
+ export const POS_REMOTE_DEPLOY_COMMAND = "rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose up -d";
10
+ export function resolvePosDeployPaths(siteDir) {
11
+ const workspaceRoot = findWorkspaceRoot(siteDir);
12
+ const sitesRoot = resolveDeploySitesRoot(siteDir);
13
+ return {
14
+ sitesRoot,
15
+ dockerfile: relative(sitesRoot, join(siteDir, "Dockerfile")),
16
+ keysBase: join(workspaceRoot, ".trailz", "keys", "keys"),
17
+ siteEnvHelper: resolveSiteEnvHelper(siteDir),
18
+ };
19
+ }
9
20
  function removeIfExists(path) {
10
21
  if (existsSync(path)) {
11
22
  rmSync(path, { recursive: true, force: true });
@@ -24,6 +35,7 @@ export async function deployPosApp(opts, logger) {
24
35
  const workspaceRoot = findWorkspaceRoot();
25
36
  const siteDir = resolveDeploySiteDir(opts.target, workspaceRoot);
26
37
  const site = loadSiteEnvContext(siteDir, logger);
38
+ const paths = resolvePosDeployPaths(siteDir);
27
39
  const envName = opts.env ?? site.bltEnvName;
28
40
  const envPlain = join(siteDir, ".env");
29
41
  const appZip = join(siteDir, "app.zip");
@@ -36,13 +48,11 @@ export async function deployPosApp(opts, logger) {
36
48
  ensureAppEnv({ envName, cwd: siteDir, logger });
37
49
  logger.info(`Deploying POS branch "${opts.branch}" with env "${envName}" to "${site.target}"`);
38
50
  logger.info(`Site directory: ${siteDir}`);
39
- runCommand("bash", ["-lc", `smash -n ../../../.trailz/keys/keys | grep GITHUB_TOKEN > .env`], logger, { cwd: siteDir });
51
+ runCommand("bash", ["-lc", `smash -n ${JSON.stringify(paths.keysBase)} | grep GITHUB_TOKEN > .env`], logger, { cwd: siteDir });
40
52
  runCommand("bash", ["-lc", `printf '\\nTZ=America/New_York\\n' >> .env`], logger, {
41
53
  cwd: siteDir,
42
54
  });
43
- runCommand("docker", ["build", "-f", "Dockerfile", "-t", "blt-core-pos", "."], logger, {
44
- cwd: siteDir,
45
- });
55
+ runCommand("docker", ["build", "-f", paths.dockerfile, "-t", "blt-core-pos", "."], logger, { cwd: paths.sitesRoot });
46
56
  logger.info("Merging expanded site env into build .env");
47
57
  appendExpandedSiteEnv(envPlain, site.siteEnvBase, siteDir);
48
58
  runCommand("docker", [
@@ -54,21 +64,22 @@ export async function deployPosApp(opts, logger) {
54
64
  "-e",
55
65
  `BRANCH=${opts.branch}`,
56
66
  "-v",
57
- "./app/laf:/home/blt/laf",
67
+ "./app/dist:/home/blt/dist",
58
68
  "blt-core-pos",
59
69
  "/home/blt/buildcore.sh",
60
70
  ], logger, { cwd: siteDir });
61
71
  renderNginxTemplatesIfPresent(site, logger);
72
+ runCommand("bash", [
73
+ "-lc",
74
+ `source ${JSON.stringify(paths.siteEnvHelper)} && blt_prepare_site_certs "$(pwd)"`,
75
+ ], logger, { cwd: siteDir });
62
76
  removeIfExists(appZip);
63
77
  runCommand("zip", ["-9r", "app.zip", "app/"], logger, { cwd: siteDir });
64
78
  logger.info("Writing expanded site .env for droplet deploy");
65
79
  writeExpandedSiteEnv(envPlain, site.siteEnvBase, siteDir);
66
80
  runCommand("scp", [envPlain, `${site.target}:`], logger, { cwd: siteDir });
67
81
  runCommand("scp", [appZip, `${site.target}:`], logger, { cwd: siteDir });
68
- runCommand("ssh", [
69
- site.target,
70
- "rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose restart",
71
- ], logger, { cwd: siteDir });
82
+ runCommand("ssh", [site.target, POS_REMOTE_DEPLOY_COMMAND], logger, { cwd: siteDir });
72
83
  logger.info("POS deploy complete.");
73
84
  }
74
85
  //# sourceMappingURL=pos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export type SiteEnvContext = {
10
10
  agentPort: string;
11
11
  siteEnvBase: string;
12
12
  };
13
+ export declare function resolveSiteEnvHelper(siteDir: string): string;
13
14
  export declare function loadSiteEnvContext(siteDir: string, logger: Logger): SiteEnvContext;
14
15
  export declare function renderNginxTemplatesIfPresent(site: SiteEnvContext, logger: Logger): void;
15
16
  //# sourceMappingURL=site-env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-env.d.ts","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAmDlF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBxF"}
1
+ {"version":3,"file":"site-env.d.ts","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAmDlF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBxF"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
+ import { findWorkspaceRoot } from "./paths";
3
4
  import { readCommand, runCommand } from "./shell";
4
5
  function parseSiteEnvOutput(output) {
5
6
  const values = {};
@@ -11,8 +12,11 @@ function parseSiteEnvOutput(output) {
11
12
  }
12
13
  return values;
13
14
  }
15
+ export function resolveSiteEnvHelper(siteDir) {
16
+ return join(findWorkspaceRoot(siteDir), "deploy", "sites", "_lib", "site-env.sh");
17
+ }
14
18
  export function loadSiteEnvContext(siteDir, logger) {
15
- const libPath = join(siteDir, "..", "_lib", "site-env.sh");
19
+ const libPath = resolveSiteEnvHelper(siteDir);
16
20
  if (!existsSync(libPath)) {
17
21
  throw new Error(`Site env helper not found: ${libPath}`);
18
22
  }
@@ -53,7 +57,7 @@ export function renderNginxTemplatesIfPresent(site, logger) {
53
57
  if (!hasTemplates) {
54
58
  return;
55
59
  }
56
- const libPath = join(site.siteDir, "..", "_lib", "site-env.sh");
60
+ const libPath = resolveSiteEnvHelper(site.siteDir);
57
61
  logger.info(`Rendering nginx templates in ${templatesDir}`);
58
62
  runCommand("bash", [
59
63
  "-lc",
@@ -1 +1 @@
1
- {"version":3,"file":"site-env.js","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-env.js","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAyF5C,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC9D"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAgH5C,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD9D"}
@@ -1,4 +1,8 @@
1
1
  import { execSync } from "node:child_process";
2
+ import { existsSync } from "node:fs";
3
+ import { findWorkspaceRoot } from "../app/paths";
4
+ import { readTrailzKey, trailzKeysBundlePath } from "../notify/keys";
5
+ const PAYMENT_PROVIDER_SECRETS = ["STRIPE_SECRET_KEY", "SQUARE_ACCESS_TOKEN"];
2
6
  const DEFAULT_PROJECT_REF = "erpofhdbqnvltzggpnrn";
3
7
  function exec(command, options = {}) {
4
8
  try {
@@ -71,15 +75,37 @@ function checkSupabaseLogin(logger, cwd) {
71
75
  return false;
72
76
  }
73
77
  }
78
+ function resolvePaymentSecret(name, logger) {
79
+ const fromEnv = process.env[name]?.trim();
80
+ if (fromEnv) {
81
+ return fromEnv;
82
+ }
83
+ const fromKeys = readTrailzKey(name, { cwd: process.cwd() });
84
+ if (fromKeys) {
85
+ logger.info(`${name} resolved from .trailz/keys/keys.bin`);
86
+ return fromKeys;
87
+ }
88
+ return undefined;
89
+ }
74
90
  export async function setSecrets(logger) {
75
91
  if (!checkSupabaseCli(logger) || !checkSupabaseLogin(logger)) {
76
92
  process.exit(1);
77
93
  }
78
- const stripeKey = process.env.STRIPE_SECRET_KEY;
79
- const squareToken = process.env.SQUARE_ACCESS_TOKEN;
94
+ const stripeKey = resolvePaymentSecret("STRIPE_SECRET_KEY", logger);
95
+ const squareToken = resolvePaymentSecret("SQUARE_ACCESS_TOKEN", logger);
80
96
  if (!stripeKey && !squareToken) {
81
- logger.error("No payment provider secrets found in environment variables.");
82
- console.log("Make sure you have a .env file with one or more of:");
97
+ logger.error("No payment provider secrets found.");
98
+ console.log("Set one or more in your environment (.env) or in the workspace keys bundle:");
99
+ console.log(" .trailz/keys/keys.bin (decrypt with SMASH_KEY; see blt env get)");
100
+ try {
101
+ const workspaceRoot = findWorkspaceRoot(process.cwd());
102
+ if (existsSync(trailzKeysBundlePath(workspaceRoot)) && !process.env.SMASH_KEY?.trim()) {
103
+ console.log(" SMASH_KEY is unset — export it to decrypt keys.bin");
104
+ }
105
+ }
106
+ catch {
107
+ // not in a BLT workspace checkout
108
+ }
83
109
  console.log("STRIPE_SECRET_KEY=sk_test_...");
84
110
  console.log("SQUARE_ACCESS_TOKEN=EAAAl...");
85
111
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAQnD,SAAS,IAAI,CAAC,OAAe,EAAE,UAAuB,EAAE;IACvD,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,OAAO,EAAE;YACxB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,GAAY;IACrD,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAErD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,GAAY;IACvD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAE9D,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,uBAAuB,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,IAAI,CAAC;QACJ,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CACV,0DAA0D,GAAG,wBAAwB,CACrF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC9C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAEpD,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,WAAW,GAAG,mBAAmB,UAAU,GAAG,CAAC;IAErD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI,CAAC,gDAAgD,SAAS,IAAI,WAAW,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,UAAU,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,IAAI,CAAC,kDAAkD,WAAW,IAAI,WAAW,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,6BAA6B,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ Available operations:
18
18
  data Deploy data instance from .sql files
19
19
  sql Deploy a named SQL file to database
20
20
  functions Deploy Supabase Edge Functions
21
- secrets Set Supabase secrets from environment
21
+ secrets Set Supabase secrets from environment or .trailz/keys/keys.bin
22
22
 
23
23
  Run 'blt deploy <operation> --help' for more information on a specific command.
24
24
  `;
@@ -97,7 +97,7 @@ Run 'blt deploy <operation> --help' for more information on a specific command.
97
97
  }
98
98
  });
99
99
  program
100
- .command("deploy secrets", "Set Supabase secrets from environment")
100
+ .command("deploy secrets", "Set Supabase secrets from environment or .trailz/keys/keys.bin")
101
101
  .hide()
102
102
  .action(async ({ logger }) => {
103
103
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QA0GnD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QA8DnD"}
@@ -1,49 +1,8 @@
1
1
  import { generateInitScript } from "./init/script";
2
- import { cloneUmbrellaRoot } from "./init/root";
3
2
  /**
4
3
  * Register init command with the CLI program
5
4
  */
6
5
  export default function initCommand(program) {
7
- const initRootHelpText = `
8
- Clone the BLT umbrella repository (bltcore-com/blt)
9
-
10
- Usage:
11
- blt init root [options]
12
-
13
- Equivalent to:
14
- git clone git@github.com:bltcore-com/blt.git blt
15
- cd blt
16
-
17
- Then generate getblt.sh from inside the clone:
18
- blt init -w -s
19
-
20
- Example:
21
- blt init root -s
22
- cd blt
23
- blt init -w -s
24
- ./getblt.sh
25
- `;
26
- program
27
- .command("init root", "clone umbrella blt repo")
28
- .help(initRootHelpText)
29
- .option("-d, --directory <name>", "Directory name for the clone", {
30
- default: "blt",
31
- })
32
- .option("-p, --parent <path>", "Parent directory to clone into", {
33
- default: ".",
34
- })
35
- .option("-s, --ssh", "Use SSH URL instead of HTTPS", { default: false })
36
- .option("-g, --gh", "Use GitHub CLI (gh repo clone) instead of git clone", {
37
- default: false,
38
- })
39
- .action(async ({ options, logger }) => {
40
- await cloneUmbrellaRoot({
41
- directory: options.directory,
42
- parent: options.parent,
43
- ssh: options.ssh,
44
- gh: options.gh,
45
- }, logger);
46
- });
47
6
  const initHelpText = `
48
7
  Initialize a BLT workspace by creating a script to clone/pull all projects
49
8
 
@@ -63,9 +22,10 @@ With -c, adds sqltools.connections from SUPABASE_* vars in .env (requires -w or
63
22
  With -g, use GitHub CLI (gh repo clone) instead of git clone. Requires gh auth login.
64
23
 
65
24
  Example:
66
- blt init root -s
67
- cd blt
68
- blt init -w -s
25
+ blt init
26
+ blt init -w -c
27
+ blt init -b
28
+ blt init -g
69
29
  ./getblt.sh
70
30
 
71
31
  Repository list: bundled src/lib/repositories.manifest.json, or override with
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAgB;IACnD,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;CAkBzB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC;SAC/C,IAAI,CAAC,gBAAgB,CAAC;SACtB,MAAM,CAAC,wBAAwB,EAAE,8BAA8B,EAAE;QACjE,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,EAAE;QAChE,OAAO,EAAE,GAAG;KACZ,CAAC;SACD,MAAM,CAAC,WAAW,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SACvE,MAAM,CAAC,UAAU,EAAE,qDAAqD,EAAE;QAC1E,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,MAAM,iBAAiB,CACtB;YACC,SAAS,EAAE,OAAO,CAAC,SAAmB;YACtC,MAAM,EAAE,OAAO,CAAC,MAAgB;YAChC,GAAG,EAAE,OAAO,CAAC,GAAc;YAC3B,EAAE,EAAE,OAAO,CAAC,EAAa;SACzB,EACD,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;SACpC,IAAI,CAAC,YAAY,CAAC;SAClB,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE;QAC5D,OAAO,EAAE,aAAa;KACtB,CAAC;SACD,MAAM,CAAC,WAAW,EAAE,oCAAoC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC7E,MAAM,CAAC,UAAU,EAAE,qDAAqD,EAAE;QAC1E,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,EAAE;QAC7F,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,cAAc,EAAE,uEAAuE,EAAE;QAChG,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,EAAE;QACtF,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,MAAM,kBAAkB,CACvB;YACC,MAAM,EAAE,OAAO,CAAC,MAAgB;YAChC,GAAG,EAAE,OAAO,CAAC,GAAc;YAC3B,EAAE,EAAE,OAAO,CAAC,EAAa;YACzB,SAAS,EAAE,OAAO,CAAC,SAAoB;YACvC,eAAe,EAAE,OAAO,CAAC,MAAiB;YAC1C,kBAAkB,EAAE,OAAO,CAAC,WAAsB;SAClD,EACD,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAgB;IACnD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;SACpC,IAAI,CAAC,YAAY,CAAC;SAClB,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE;QAC5D,OAAO,EAAE,aAAa;KACtB,CAAC;SACD,MAAM,CAAC,WAAW,EAAE,oCAAoC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC7E,MAAM,CAAC,UAAU,EAAE,qDAAqD,EAAE;QAC1E,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,EAAE;QAC7F,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,cAAc,EAAE,uEAAuE,EAAE;QAChG,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,EAAE;QACtF,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,MAAM,kBAAkB,CACvB;YACC,MAAM,EAAE,OAAO,CAAC,MAAgB;YAChC,GAAG,EAAE,OAAO,CAAC,GAAc;YAC3B,EAAE,EAAE,OAAO,CAAC,EAAa;YACzB,SAAS,EAAE,OAAO,CAAC,SAAoB;YACvC,eAAe,EAAE,OAAO,CAAC,MAAiB;YAC1C,kBAAkB,EAAE,OAAO,CAAC,WAAsB;SAClD,EACD,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC7C,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,GAAG,SAAS,CAEpB"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC7C,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBxB;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,GAAG,SAAS,CAEpB"}
@@ -33,9 +33,10 @@ export function readTrailzKeysExpansionContext(options = {}) {
33
33
  return {};
34
34
  }
35
35
  const keysBase = resolveTrailzKeysBase(workspaceRoot);
36
+ const smashCwd = options.cwd ?? workspaceRoot;
36
37
  let content;
37
38
  try {
38
- content = decryptTrailzEnvBase(keysBase, { cwd: workspaceRoot, expand: false });
39
+ content = decryptTrailzEnvBase(keysBase, { cwd: smashCwd, expand: false });
39
40
  }
40
41
  catch {
41
42
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,UAAU,qBAAqB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACxE,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACzD,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAoD,EAAE;IAEtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACJ,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,OAAe,EACf,UAAoD,EAAE;IAEtD,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,UAAU,qBAAqB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACxE,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACzD,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAoD,EAAE;IAEtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACJ,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC;IAC9C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,OAAe,EACf,UAAoD,EAAE;IAEtD,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemarc/blt",
3
- "version": "1.10.5",
3
+ "version": "1.10.7",
4
4
  "description": "blt cli",
5
5
  "type": "module",
6
6
  "main": "dist/blt",
@@ -20,7 +20,7 @@
20
20
  "dev": "bunx --bun tsc --watch",
21
21
  "start": "bun run src/blt.ts",
22
22
  "prepublishOnly": "bun run build",
23
- "test": "bun test src/lib/yaml-converter.test.ts src/commands/data/apply.test.ts src/commands/app/env-check.test.ts src/commands/env/get.test.ts src/commands/db/dump.test.ts src/commands/db/env-url.test.ts src/commands/db/patch.test.ts src/commands/db/supabase-schema.test.ts src/commands/notify/google-chat.test.ts src/commands/wai.registration.test.ts src/commands/wai/multi-agent.test.ts",
23
+ "test": "bun test src/lib/yaml-converter.test.ts src/commands/data/apply.test.ts src/commands/app/env-check.test.ts src/commands/app/paths.test.ts src/commands/app/pos.test.ts src/commands/app/site-env.test.ts src/commands/env/get.test.ts src/commands/db/dump.test.ts src/commands/db/env-url.test.ts src/commands/db/patch.test.ts src/commands/db/supabase-schema.test.ts src/commands/notify/google-chat.test.ts src/commands/wai.registration.test.ts src/commands/wai/multi-agent.test.ts",
24
24
  "graphify": "bash .trailz/graphify/graph.sh",
25
25
  "graphify:update": "bash .trailz/graphify/graph.sh update",
26
26
  "graphify:init": "bash .trailz/graphify/graph.sh init",
@@ -1,10 +0,0 @@
1
- import type { Logger } from "@caporal/core";
2
- export interface InitRootOptions {
3
- directory: string;
4
- parent: string;
5
- ssh: boolean;
6
- gh: boolean;
7
- }
8
- /** Clone the umbrella BLT repository into parent/directory. */
9
- export declare function cloneUmbrellaRoot(options: InitRootOptions, logger: Logger): Promise<void>;
10
- //# sourceMappingURL=root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/commands/init/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;CACb;AAgBD,+DAA+D;AAC/D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -1,34 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- import { existsSync } from "node:fs";
3
- import { join, resolve } from "node:path";
4
- import { ensureGhReady, ghCloneTarget } from "../../lib/github";
5
- import { getBundleRepository } from "../../lib/repositories";
6
- function runOrExit(command, args, cwd, logger, label) {
7
- const result = spawnSync(command, args, { cwd, stdio: "inherit" });
8
- if (result.status !== 0) {
9
- logger.error(`${label} failed`);
10
- process.exit(result.status === null ? 1 : result.status);
11
- }
12
- }
13
- /** Clone the umbrella BLT repository into parent/directory. */
14
- export async function cloneUmbrellaRoot(options, logger) {
15
- const parent = resolve(options.parent);
16
- const target = join(parent, options.directory);
17
- if (existsSync(target)) {
18
- logger.error(`Target already exists: ${target}`);
19
- process.exit(1);
20
- }
21
- const bundle = getBundleRepository();
22
- if (options.gh) {
23
- ensureGhReady(logger);
24
- runOrExit("gh", ["repo", "clone", ghCloneTarget(bundle, options.ssh), options.directory], parent, logger, "gh repo clone");
25
- }
26
- else {
27
- const url = options.ssh ? bundle.sshUrl : bundle.url;
28
- runOrExit("git", ["clone", url, options.directory], parent, logger, "git clone");
29
- }
30
- logger.info(`Cloned umbrella repo to ${target}`);
31
- logger.info(`cd ${options.directory}`);
32
- logger.info("Then run: blt init -w -s # or blt init -b -s");
33
- }
34
- //# sourceMappingURL=root.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/commands/init/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAS7D,SAAS,SAAS,CAChB,OAAe,EACf,IAAc,EACd,GAAW,EACX,MAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAwB,EACxB,MAAc;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,SAAS,CACP,IAAI,EACJ,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EACxE,MAAM,EACN,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrD,SAAS,CACP,KAAK,EACL,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EACjC,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC"}