@hexclave/shared 1.0.62 → 1.0.64

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.
@@ -5,7 +5,7 @@ import { n as MoneyAmount } from "./currency-constants-Cq_q8twn.js";
5
5
  import { g as branchConfigSourceSchema, o as RestrictedReason, t as ConfigAgentRunApi } from "./schema-fields-DZtDQEEO.js";
6
6
  import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-CI-0TBQb.js";
7
7
  import { J as UserActivityResponse, K as MetricsUserCounts, R as MetricsResponse, a as AnalyticsClickmapKind, c as AnalyticsClickmapResponse, r as AnalyticsClickmapDevice, u as AnalyticsClickmapTokenResponse } from "./admin-metrics-bsOkw4YQ.js";
8
- import { t as EmailOutboxCrud } from "./email-outbox-CqzwInBL.js";
8
+ import { t as EmailOutboxCrud } from "./email-outbox-B1wmVPRG.js";
9
9
  import { t as InternalEmailsCrud } from "./emails-Ba4yEaCS.js";
10
10
  import { t as InternalApiKeysCrud } from "./internal-api-keys-D8IYDodH.js";
11
11
  import { t as ProjectPermissionDefinitionsCrud } from "./project-permissions-kdi675F-.js";
@@ -456,4 +456,4 @@ declare class HexclaveAdminInterface extends HexclaveServerInterface {
456
456
  }
457
457
  //#endregion
458
458
  export { AdminDeploymentRunJson as a, ChatContent as c, InternalApiKeyCreateCrudResponse as d, AdminDeploymentEnvVarOptions as i, HexclaveAdminInterface as l, AdminDeploymentDomainJson as n, AdminDeploymentServiceBuildOptions as o, AdminDeploymentEnvVarJson as r, AdminDeploymentServiceJson as s, AdminAuthApplicationOptions as t, InternalApiKeyCreateCrudRequest as u };
459
- //# sourceMappingURL=admin-interface-D63SFHX_.d.ts.map
459
+ //# sourceMappingURL=admin-interface-DaxVUjl4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-interface-D63SFHX_.d.ts","names":[],"sources":["../src/interface/admin-interface.ts"],"mappings":"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"}
1
+ {"version":3,"file":"admin-interface-DaxVUjl4.d.ts","names":[],"sources":["../src/interface/admin-interface.ts"],"mappings":"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"}
@@ -5,7 +5,7 @@ let _________utils_objects_js = require("../../../utils/objects.js");
5
5
  let _________utils_strings_js = require("../../../utils/strings.js");
6
6
  let ___reminders_js = require("../reminders.js");
7
7
  //#region package.json
8
- var version = "1.0.62";
8
+ var version = "1.0.64";
9
9
  //#endregion
10
10
  //#region \0@oxc-project+runtime@0.137.0/helpers/esm/taggedTemplateLiteral.js
11
11
  function _taggedTemplateLiteral(e, t) {
@@ -47,13 +47,25 @@ const deploymentsSkillSection = require("../../../utils/strings.js").deindent`
47
47
 
48
48
  Note also that the config file usually sits inside \`rootDirectory\`, which means it is uploaded with your source and compiled by the remote build like any other file. If the deployed app doesn't depend on the Hexclave SDK, add \`hexclave.config.ts\` to \`.vercelignore\`: the CLI reads the config from disk before packaging, so the build itself never needs it, and excluding it keeps an SDK import in the config from breaking a build that is otherwise unrelated to Hexclave.
49
49
 
50
- ## Domains
50
+ ## Agent workflow (do this — do not drive the dashboard UI)
51
+
52
+ AI agents must deploy and manage Deployments through the CLI and \`hexclave.config.ts\`, not by clicking around \`app.hexclave.com\` in a browser. The dashboard is a human fallback only.
51
53
 
52
- Every Vercel service gets a Vercel domain autoprovisioned. If you want to attach a custom domain, there are two ways to do so.
54
+ Preferred sequence:
53
55
 
54
- **Option 1 the dashboard.** Visit \`https://app.hexclave.com/projects/<project-id>/deployments\`, click the service of choice, go to the Domains tab, add your domain, and then create the returned DNS records at your DNS provider.
56
+ 1. **Read this skill** (\`https://skill.hexclave.com/deployments\` or the Deployments addendum you already have) and ensure \`deployments-alpha\` is enabled in config as above.
57
+ 2. **Authenticate for cloud deploys** (pick the first that works):
58
+ - If \`HEXCLAVE_SECRET_SERVER_KEY\` (or \`STACK_SECRET_SERVER_KEY\`) **and** \`HEXCLAVE_PROJECT_ID\` (or \`STACK_PROJECT_ID\`) are already in the environment, use them. No login step.
59
+ - Else if \`npx @hexclave/cli@latest whoami\` succeeds, you already have a CLI login session — proceed.
60
+ - Else ask the user to run \`npx @hexclave/cli@latest login\` (or run it for them). That command opens a **one-time browser login page for the human**. Do **not** use the browser yourself to open the Deployments dashboard, click Deploy, or configure the service in the UI. After login returns successfully, continue immediately with the CLI.
61
+ 3. **Write/update \`hexclave.config.ts\`**, then deploy with \`npx @hexclave/cli@latest deploy <service> ...\` (see below). Pass every \`type: "secret"\` env via \`--secret\`.
62
+ 4. **Poll status/logs with \`hexclave exec\`** (snippets below). Do not tell the user to "watch the dashboard" as the primary path.
55
63
 
56
- **Option 2 the CLI.** Here is an example of adding \`app.example.com\` to the service \`api\` and receiving the DNS records that then need to be set with your DNS provider:
64
+ \`deploy\` auth: \`HEXCLAVE_SECRET_SERVER_KEY\` if set, otherwise the \`hexclave login\` session. \`exec --cloud-project-id\` needs the login session (not the secret server key alone).
65
+
66
+ ## Domains
67
+
68
+ Every Vercel service gets a Vercel domain autoprovisioned. Prefer the CLI to attach a custom domain:
57
69
 
58
70
  \`\`\`sh title="Terminal"
59
71
  npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
@@ -62,6 +74,8 @@ const deploymentsSkillSection = require("../../../utils/strings.js").deindent`
62
74
  return p.getDeploymentServiceDomain('api', 'app.example.com');"
63
75
  \`\`\`
64
76
 
77
+ Humans can also add domains in the dashboard at \`https://app.hexclave.com/projects/<project-id>/deployments\` (service → Domains). Agents should not do that in a browser.
78
+
65
79
  ## Deploying
66
80
 
67
81
  Before deploying, run the service's \`installCommand\` and \`buildCommand\` locally and confirm they succeed. The remote build runs the same commands, but \`deploy\` exits before the build finishes, so a broken build does not fail the command — it surfaces only when you check the run afterwards.
@@ -72,7 +86,7 @@ const deploymentsSkillSection = require("../../../utils/strings.js").deindent`
72
86
  npx @hexclave/cli@latest deploy web --secret db_connection="$DATABASE_URL"
73
87
  \`\`\`
74
88
 
75
- The CLI packages the service's root directory (respecting \`.gitignore\` and \`.vercelignore\`, and always excluding \`node_modules\` and \`.git\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Follow the build in the dashboard's Deployments tab.
89
+ The CLI packages the service's root directory (respecting \`.gitignore\` and \`.vercelignore\`, and always excluding \`node_modules\` and \`.git\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Check that run with \`exec\` (next section), not by opening the dashboard.
76
90
 
77
91
  Every secret defined in the service's \`env\` must be passed via \`--secret\` on every deploy — a missing (or misspelled) one fails the deploy before anything is uploaded.
78
92
 
@@ -114,13 +128,15 @@ const deploymentsSkillSection = require("../../../utils/strings.js").deindent`
114
128
 
115
129
  ## Deleting a service
116
130
 
117
- If you want to delete a deployed service, you can do so through the dashboard, or through the CLI like so:
131
+ Prefer the CLI:
118
132
 
119
133
  \`\`\`sh title="Terminal"
120
134
  npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\
121
135
  "const p = await hexclaveServerApp.getProject(); \\
122
136
  await p.deleteDeploymentService('api');"
123
137
  \`\`\`
138
+
139
+ Humans can also delete a service in the dashboard; agents should not.
124
140
  `;
125
141
  //#endregion
126
142
  exports.deploymentsSkillSection = deploymentsSkillSection;
@@ -1 +1 @@
1
- {"version":3,"file":"deployments-skill.js","names":[],"sources":["../../../../src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts"],"sourcesContent":["import { deindent } from \"../../../utils/strings\";\n\n// The Deployments-specific addendum served at https://skill.hexclave.com/deployments.\n// It is appended verbatim after the full base skill, so this section assumes the\n// reader already has the general Hexclave skill (CLI auth, config format, SDKs) in\n// context and only teaches what is specific to the Deployments app.\nexport const deploymentsSkillSection = deindent`\n # Hexclave Deployments\n\n The Deployments app makes deploying a service very easy. You select a type of service to deploy and provide your code, build instructions, run instructions, environment variables, and the code framework. You can set up multiple deployments per Hexclave project — for example, a backend service and a frontend service. Once a service is deployed, it is publicly accessible.\n\n For this iteration of the Deployments app, only the \\`vercel\\` service type is available. It can be used to set up serverless deployments.\n\n To use Hexclave Deployments, you must do a few things. First, the Deployments app must be enabled, by adding \\`deployments-alpha\\` under \\`apps.installed\\`. Second, you must edit your \\`hexclave.config.ts\\` file to add the relevant configuration, as specified below. Both keys are \\`deployments-alpha\\`, not \\`deployments\\` — the app is in alpha and its id says so. Because of the hyphen, quote it.\n\n ## Config\n\n \\`\\`\\`ts title=\"hexclave.config.ts\"\n import type { HexclaveConfig } from \"@hexclave/js/config\"; // replace \\`js\\` with the correct framework SDK package\n\n export const config: HexclaveConfig = {\n apps: {\n installed: {\n authentication: { enabled: true },\n \"deployments-alpha\": { enabled: true },\n },\n },\n \"deployments-alpha\": {\n services: {\n web: {\n type: \"vercel\",\n rootDirectory: \"./\",\n framework: \"nextjs\",\n installCommand: \"pnpm install\",\n buildCommand: \"pnpm build\",\n outputDirectory: \".next\",\n env: {\n \"MY_ENV_VAR\": { value: \"true\" },\n \"DATABASE_CONNECTION_STRING\": { type: \"secret\", key: \"db_connection\" },\n \"NEXT_PUBLIC_HEXCLAVE_PROJECT_ID\": { type: \"connection\", value: \"hexclave.projectId\" },\n },\n },\n },\n },\n };\n \\`\\`\\`\n\n Here, \\`web\\` is the name of your service. \\`type\\` refers to the type of service you want to set up; for now, as mentioned earlier, only \\`vercel\\` is supported. \\`rootDirectory\\` is the directory in which the install and build commands are run, and where the code for your service is found. \\`installCommand\\` is the command run to install your application's dependencies, and \\`buildCommand\\` is what is run to build the necessary packages and files. \\`framework\\` is the framework used by your service; from it and \\`outputDirectory\\`, the run command is inferred.\n\n The \\`HexclaveConfig\\` annotation requires the SDK package it is imported from to be a dependency of the project. If it isn't, either install it or drop the annotation (the config is plain TypeScript — the CLI does not type-check it).\n\n Note also that the config file usually sits inside \\`rootDirectory\\`, which means it is uploaded with your source and compiled by the remote build like any other file. If the deployed app doesn't depend on the Hexclave SDK, add \\`hexclave.config.ts\\` to \\`.vercelignore\\`: the CLI reads the config from disk before packaging, so the build itself never needs it, and excluding it keeps an SDK import in the config from breaking a build that is otherwise unrelated to Hexclave.\n\n ## Domains\n\n Every Vercel service gets a Vercel domain autoprovisioned. If you want to attach a custom domain, there are two ways to do so.\n\n **Option 1 — the dashboard.** Visit \\`https://app.hexclave.com/projects/<project-id>/deployments\\`, click the service of choice, go to the Domains tab, add your domain, and then create the returned DNS records at your DNS provider.\n\n **Option 2 — the CLI.** Here is an example of adding \\`app.example.com\\` to the service \\`api\\` and receiving the DNS records that then need to be set with your DNS provider:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.addDeploymentServiceDomain('api', 'app.example.com'); \\\\\n return p.getDeploymentServiceDomain('api', 'app.example.com');\"\n \\`\\`\\`\n\n ## Deploying\n\n Before deploying, run the service's \\`installCommand\\` and \\`buildCommand\\` locally and confirm they succeed. The remote build runs the same commands, but \\`deploy\\` exits before the build finishes, so a broken build does not fail the command — it surfaces only when you check the run afterwards.\n\n From the directory containing your config file:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest deploy web --secret db_connection=\"$DATABASE_URL\"\n \\`\\`\\`\n\n The CLI packages the service's root directory (respecting \\`.gitignore\\` and \\`.vercelignore\\`, and always excluding \\`node_modules\\` and \\`.git\\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Follow the build in the dashboard's Deployments tab.\n\n Every secret defined in the service's \\`env\\` must be passed via \\`--secret\\` on every deploy — a missing (or misspelled) one fails the deploy before anything is uploaded.\n\n Options: \\`--config <path>\\` (default: auto-discover \\`hexclave.config.ts\\` in the current directory, dashboard configuration otherwise), \\`--cloud-project-id <id>\\` (default: the \\`HEXCLAVE_PROJECT_ID\\` env var), and \\`--secret KEY=VALUE\\` (repeatable, see above).\n\n You can also deploy through GitHub Actions, like so:\n\n \\`\\`\\`yaml title=\".github/workflows/deploy.yaml\"\n - run: npm i -g @hexclave/cli\n - run: hexclave deploy web --secret db_connection=\"$DATABASE_URL\"\n env:\n HEXCLAVE_PROJECT_ID: \\${{ secrets.HEXCLAVE_PROJECT_ID }}\n HEXCLAVE_SECRET_SERVER_KEY: \\${{ secrets.HEXCLAVE_SECRET_SERVER_KEY }}\n DATABASE_URL: \\${{ secrets.DATABASE_URL }}\n \\`\\`\\`\n\n ## Checking status and debugging failures\n\n Because \\`deploy\\` returns as soon as the build is queued, a successful exit does not mean the deploy succeeded. Check the service to find out:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n const svc = (await p.listDeploymentServices()).find(s => s.id === 'web'); \\\\\n return { status: svc.status, url: svc.url, run: svc.latest_run };\"\n \\`\\`\\`\n\n A service's \\`status\\` is one of \\`not_deployed\\`, \\`queued\\`, \\`building\\`, \\`deployed\\`, \\`failed\\`, or \\`canceled\\`; a run's is \\`queued\\`, \\`building\\`, \\`ready\\`, \\`error\\`, or \\`canceled\\`. Poll until the run leaves \\`queued\\`/\\`building\\`.\n\n A failed run's \\`error\\` field is only a one-line summary (for example \\`Command \"npm run build\" exited with 1\\`). Do not try to guess the cause from it, and do not reproduce the build locally to find out — fetch the actual build output by run id:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n return p.getDeploymentRunLogs('<run-id>');\"\n \\`\\`\\`\n\n \\`deploy\\` prints the run id it started. If you don't have one, \\`listDeploymentRuns('web', { limit: 5 })\\` returns the most recent runs, newest first — call it through \\`exec\\` like the snippets above.\n\n ## Deleting a service\n\n If you want to delete a deployed service, you can do so through the dashboard, or through the CLI like so:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.deleteDeploymentService('api');\"\n \\`\\`\\`\n`;\n"],"mappings":";;AAMA,MAAa,0BAA0B,mCAAA,CAAA,CAAA,QAAQ"}
1
+ {"version":3,"file":"deployments-skill.js","names":[],"sources":["../../../../src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts"],"sourcesContent":["import { deindent } from \"../../../utils/strings\";\n\n// The Deployments-specific addendum served at https://skill.hexclave.com/deployments.\n// It is appended verbatim after the full base skill, so this section assumes the\n// reader already has the general Hexclave skill (CLI auth, config format, SDKs) in\n// context and only teaches what is specific to the Deployments app.\nexport const deploymentsSkillSection = deindent`\n # Hexclave Deployments\n\n The Deployments app makes deploying a service very easy. You select a type of service to deploy and provide your code, build instructions, run instructions, environment variables, and the code framework. You can set up multiple deployments per Hexclave project — for example, a backend service and a frontend service. Once a service is deployed, it is publicly accessible.\n\n For this iteration of the Deployments app, only the \\`vercel\\` service type is available. It can be used to set up serverless deployments.\n\n To use Hexclave Deployments, you must do a few things. First, the Deployments app must be enabled, by adding \\`deployments-alpha\\` under \\`apps.installed\\`. Second, you must edit your \\`hexclave.config.ts\\` file to add the relevant configuration, as specified below. Both keys are \\`deployments-alpha\\`, not \\`deployments\\` — the app is in alpha and its id says so. Because of the hyphen, quote it.\n\n ## Config\n\n \\`\\`\\`ts title=\"hexclave.config.ts\"\n import type { HexclaveConfig } from \"@hexclave/js/config\"; // replace \\`js\\` with the correct framework SDK package\n\n export const config: HexclaveConfig = {\n apps: {\n installed: {\n authentication: { enabled: true },\n \"deployments-alpha\": { enabled: true },\n },\n },\n \"deployments-alpha\": {\n services: {\n web: {\n type: \"vercel\",\n rootDirectory: \"./\",\n framework: \"nextjs\",\n installCommand: \"pnpm install\",\n buildCommand: \"pnpm build\",\n outputDirectory: \".next\",\n env: {\n \"MY_ENV_VAR\": { value: \"true\" },\n \"DATABASE_CONNECTION_STRING\": { type: \"secret\", key: \"db_connection\" },\n \"NEXT_PUBLIC_HEXCLAVE_PROJECT_ID\": { type: \"connection\", value: \"hexclave.projectId\" },\n },\n },\n },\n },\n };\n \\`\\`\\`\n\n Here, \\`web\\` is the name of your service. \\`type\\` refers to the type of service you want to set up; for now, as mentioned earlier, only \\`vercel\\` is supported. \\`rootDirectory\\` is the directory in which the install and build commands are run, and where the code for your service is found. \\`installCommand\\` is the command run to install your application's dependencies, and \\`buildCommand\\` is what is run to build the necessary packages and files. \\`framework\\` is the framework used by your service; from it and \\`outputDirectory\\`, the run command is inferred.\n\n The \\`HexclaveConfig\\` annotation requires the SDK package it is imported from to be a dependency of the project. If it isn't, either install it or drop the annotation (the config is plain TypeScript — the CLI does not type-check it).\n\n Note also that the config file usually sits inside \\`rootDirectory\\`, which means it is uploaded with your source and compiled by the remote build like any other file. If the deployed app doesn't depend on the Hexclave SDK, add \\`hexclave.config.ts\\` to \\`.vercelignore\\`: the CLI reads the config from disk before packaging, so the build itself never needs it, and excluding it keeps an SDK import in the config from breaking a build that is otherwise unrelated to Hexclave.\n\n ## Agent workflow (do this — do not drive the dashboard UI)\n\n AI agents must deploy and manage Deployments through the CLI and \\`hexclave.config.ts\\`, not by clicking around \\`app.hexclave.com\\` in a browser. The dashboard is a human fallback only.\n\n Preferred sequence:\n\n 1. **Read this skill** (\\`https://skill.hexclave.com/deployments\\` or the Deployments addendum you already have) and ensure \\`deployments-alpha\\` is enabled in config as above.\n 2. **Authenticate for cloud deploys** (pick the first that works):\n - If \\`HEXCLAVE_SECRET_SERVER_KEY\\` (or \\`STACK_SECRET_SERVER_KEY\\`) **and** \\`HEXCLAVE_PROJECT_ID\\` (or \\`STACK_PROJECT_ID\\`) are already in the environment, use them. No login step.\n - Else if \\`npx @hexclave/cli@latest whoami\\` succeeds, you already have a CLI login session — proceed.\n - Else ask the user to run \\`npx @hexclave/cli@latest login\\` (or run it for them). That command opens a **one-time browser login page for the human**. Do **not** use the browser yourself to open the Deployments dashboard, click Deploy, or configure the service in the UI. After login returns successfully, continue immediately with the CLI.\n 3. **Write/update \\`hexclave.config.ts\\`**, then deploy with \\`npx @hexclave/cli@latest deploy <service> ...\\` (see below). Pass every \\`type: \"secret\"\\` env via \\`--secret\\`.\n 4. **Poll status/logs with \\`hexclave exec\\`** (snippets below). Do not tell the user to \"watch the dashboard\" as the primary path.\n\n \\`deploy\\` auth: \\`HEXCLAVE_SECRET_SERVER_KEY\\` if set, otherwise the \\`hexclave login\\` session. \\`exec --cloud-project-id\\` needs the login session (not the secret server key alone).\n\n ## Domains\n\n Every Vercel service gets a Vercel domain autoprovisioned. Prefer the CLI to attach a custom domain:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.addDeploymentServiceDomain('api', 'app.example.com'); \\\\\n return p.getDeploymentServiceDomain('api', 'app.example.com');\"\n \\`\\`\\`\n\n Humans can also add domains in the dashboard at \\`https://app.hexclave.com/projects/<project-id>/deployments\\` (service → Domains). Agents should not do that in a browser.\n\n ## Deploying\n\n Before deploying, run the service's \\`installCommand\\` and \\`buildCommand\\` locally and confirm they succeed. The remote build runs the same commands, but \\`deploy\\` exits before the build finishes, so a broken build does not fail the command — it surfaces only when you check the run afterwards.\n\n From the directory containing your config file:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest deploy web --secret db_connection=\"$DATABASE_URL\"\n \\`\\`\\`\n\n The CLI packages the service's root directory (respecting \\`.gitignore\\` and \\`.vercelignore\\`, and always excluding \\`node_modules\\` and \\`.git\\`), uploads it, and starts a remote build. Without a config file, the configuration stored in Hexclave governs the deploy, with the root directory resolved against the current directory. It always deploys to production, never prompts, and exits as soon as the build is queued, printing the run id. Check that run with \\`exec\\` (next section), not by opening the dashboard.\n\n Every secret defined in the service's \\`env\\` must be passed via \\`--secret\\` on every deploy — a missing (or misspelled) one fails the deploy before anything is uploaded.\n\n Options: \\`--config <path>\\` (default: auto-discover \\`hexclave.config.ts\\` in the current directory, dashboard configuration otherwise), \\`--cloud-project-id <id>\\` (default: the \\`HEXCLAVE_PROJECT_ID\\` env var), and \\`--secret KEY=VALUE\\` (repeatable, see above).\n\n You can also deploy through GitHub Actions, like so:\n\n \\`\\`\\`yaml title=\".github/workflows/deploy.yaml\"\n - run: npm i -g @hexclave/cli\n - run: hexclave deploy web --secret db_connection=\"$DATABASE_URL\"\n env:\n HEXCLAVE_PROJECT_ID: \\${{ secrets.HEXCLAVE_PROJECT_ID }}\n HEXCLAVE_SECRET_SERVER_KEY: \\${{ secrets.HEXCLAVE_SECRET_SERVER_KEY }}\n DATABASE_URL: \\${{ secrets.DATABASE_URL }}\n \\`\\`\\`\n\n ## Checking status and debugging failures\n\n Because \\`deploy\\` returns as soon as the build is queued, a successful exit does not mean the deploy succeeded. Check the service to find out:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n const svc = (await p.listDeploymentServices()).find(s => s.id === 'web'); \\\\\n return { status: svc.status, url: svc.url, run: svc.latest_run };\"\n \\`\\`\\`\n\n A service's \\`status\\` is one of \\`not_deployed\\`, \\`queued\\`, \\`building\\`, \\`deployed\\`, \\`failed\\`, or \\`canceled\\`; a run's is \\`queued\\`, \\`building\\`, \\`ready\\`, \\`error\\`, or \\`canceled\\`. Poll until the run leaves \\`queued\\`/\\`building\\`.\n\n A failed run's \\`error\\` field is only a one-line summary (for example \\`Command \"npm run build\" exited with 1\\`). Do not try to guess the cause from it, and do not reproduce the build locally to find out — fetch the actual build output by run id:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n return p.getDeploymentRunLogs('<run-id>');\"\n \\`\\`\\`\n\n \\`deploy\\` prints the run id it started. If you don't have one, \\`listDeploymentRuns('web', { limit: 5 })\\` returns the most recent runs, newest first — call it through \\`exec\\` like the snippets above.\n\n ## Deleting a service\n\n Prefer the CLI:\n\n \\`\\`\\`sh title=\"Terminal\"\n npx @hexclave/cli@latest exec --cloud-project-id <project-id> \\\\\n \"const p = await hexclaveServerApp.getProject(); \\\\\n await p.deleteDeploymentService('api');\"\n \\`\\`\\`\n\n Humans can also delete a service in the dashboard; agents should not.\n`;\n"],"mappings":";;AAMA,MAAa,0BAA0B,mCAAA,CAAA,CAAA,QAAQ"}