@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.
@@ -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,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,QAAQ"}
@@ -5,6 +5,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
5
5
  status: "paused";
6
6
  id: string;
7
7
  created_at_millis: number;
8
+ updated_at_millis: number;
9
+ tsx_source: string;
10
+ theme_id: string | null;
8
11
  to: {
9
12
  user_id: string;
10
13
  type: "user-primary-email";
@@ -16,9 +19,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
16
19
  type: "custom-emails";
17
20
  emails: string[];
18
21
  };
19
- updated_at_millis: number;
20
- tsx_source: string;
21
- theme_id: string | null;
22
22
  variables: Record<string, {} | null>;
23
23
  skip_deliverability_check: boolean;
24
24
  scheduled_at_millis: number;
@@ -43,6 +43,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
43
43
  status: "preparing";
44
44
  id: string;
45
45
  created_at_millis: number;
46
+ updated_at_millis: number;
47
+ tsx_source: string;
48
+ theme_id: string | null;
46
49
  to: {
47
50
  user_id: string;
48
51
  type: "user-primary-email";
@@ -54,9 +57,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
54
57
  type: "custom-emails";
55
58
  emails: string[];
56
59
  };
57
- updated_at_millis: number;
58
- tsx_source: string;
59
- theme_id: string | null;
60
60
  variables: Record<string, {} | null>;
61
61
  skip_deliverability_check: boolean;
62
62
  scheduled_at_millis: number;
@@ -81,6 +81,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
81
81
  status: "rendering";
82
82
  id: string;
83
83
  created_at_millis: number;
84
+ updated_at_millis: number;
85
+ tsx_source: string;
86
+ theme_id: string | null;
84
87
  to: {
85
88
  user_id: string;
86
89
  type: "user-primary-email";
@@ -92,9 +95,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
92
95
  type: "custom-emails";
93
96
  emails: string[];
94
97
  };
95
- updated_at_millis: number;
96
- tsx_source: string;
97
- theme_id: string | null;
98
98
  variables: Record<string, {} | null>;
99
99
  skip_deliverability_check: boolean;
100
100
  scheduled_at_millis: number;
@@ -120,6 +120,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
120
120
  status: "render-error";
121
121
  id: string;
122
122
  created_at_millis: number;
123
+ updated_at_millis: number;
124
+ tsx_source: string;
125
+ theme_id: string | null;
123
126
  to: {
124
127
  user_id: string;
125
128
  type: "user-primary-email";
@@ -131,9 +134,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
131
134
  type: "custom-emails";
132
135
  emails: string[];
133
136
  };
134
- updated_at_millis: number;
135
- tsx_source: string;
136
- theme_id: string | null;
137
137
  variables: Record<string, {} | null>;
138
138
  skip_deliverability_check: boolean;
139
139
  scheduled_at_millis: number;
@@ -164,6 +164,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
164
164
  created_at_millis: number;
165
165
  html: string | null;
166
166
  text: string | null;
167
+ updated_at_millis: number;
168
+ tsx_source: string;
169
+ theme_id: string | null;
167
170
  to: {
168
171
  user_id: string;
169
172
  type: "user-primary-email";
@@ -175,9 +178,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
175
178
  type: "custom-emails";
176
179
  emails: string[];
177
180
  };
178
- updated_at_millis: number;
179
- tsx_source: string;
180
- theme_id: string | null;
181
181
  variables: Record<string, {} | null>;
182
182
  skip_deliverability_check: boolean;
183
183
  scheduled_at_millis: number;
@@ -210,6 +210,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
210
210
  created_at_millis: number;
211
211
  html: string | null;
212
212
  text: string | null;
213
+ updated_at_millis: number;
214
+ tsx_source: string;
215
+ theme_id: string | null;
213
216
  to: {
214
217
  user_id: string;
215
218
  type: "user-primary-email";
@@ -221,9 +224,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
221
224
  type: "custom-emails";
222
225
  emails: string[];
223
226
  };
224
- updated_at_millis: number;
225
- tsx_source: string;
226
- theme_id: string | null;
227
227
  variables: Record<string, {} | null>;
228
228
  skip_deliverability_check: boolean;
229
229
  scheduled_at_millis: number;
@@ -256,6 +256,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
256
256
  created_at_millis: number;
257
257
  html: string | null;
258
258
  text: string | null;
259
+ updated_at_millis: number;
260
+ tsx_source: string;
261
+ theme_id: string | null;
259
262
  to: {
260
263
  user_id: string;
261
264
  type: "user-primary-email";
@@ -267,9 +270,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
267
270
  type: "custom-emails";
268
271
  emails: string[];
269
272
  };
270
- updated_at_millis: number;
271
- tsx_source: string;
272
- theme_id: string | null;
273
273
  variables: Record<string, {} | null>;
274
274
  skip_deliverability_check: boolean;
275
275
  scheduled_at_millis: number;
@@ -303,6 +303,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
303
303
  created_at_millis: number;
304
304
  html: string | null;
305
305
  text: string | null;
306
+ updated_at_millis: number;
307
+ tsx_source: string;
308
+ theme_id: string | null;
306
309
  to: {
307
310
  user_id: string;
308
311
  type: "user-primary-email";
@@ -314,9 +317,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
314
317
  type: "custom-emails";
315
318
  emails: string[];
316
319
  };
317
- updated_at_millis: number;
318
- tsx_source: string;
319
- theme_id: string | null;
320
320
  variables: Record<string, {} | null>;
321
321
  skip_deliverability_check: boolean;
322
322
  scheduled_at_millis: number;
@@ -358,6 +358,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
358
358
  status: "skipped";
359
359
  id: string;
360
360
  created_at_millis: number;
361
+ updated_at_millis: number;
362
+ tsx_source: string;
363
+ theme_id: string | null;
361
364
  to: {
362
365
  user_id: string;
363
366
  type: "user-primary-email";
@@ -369,9 +372,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
369
372
  type: "custom-emails";
370
373
  emails: string[];
371
374
  };
372
- updated_at_millis: number;
373
- tsx_source: string;
374
- theme_id: string | null;
375
375
  variables: Record<string, {} | null>;
376
376
  skip_deliverability_check: boolean;
377
377
  scheduled_at_millis: number;
@@ -402,6 +402,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
402
402
  created_at_millis: number;
403
403
  html: string | null;
404
404
  text: string | null;
405
+ updated_at_millis: number;
406
+ tsx_source: string;
407
+ theme_id: string | null;
405
408
  to: {
406
409
  user_id: string;
407
410
  type: "user-primary-email";
@@ -413,9 +416,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
413
416
  type: "custom-emails";
414
417
  emails: string[];
415
418
  };
416
- updated_at_millis: number;
417
- tsx_source: string;
418
- theme_id: string | null;
419
419
  variables: Record<string, {} | null>;
420
420
  skip_deliverability_check: boolean;
421
421
  scheduled_at_millis: number;
@@ -450,6 +450,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
450
450
  created_at_millis: number;
451
451
  html: string | null;
452
452
  text: string | null;
453
+ updated_at_millis: number;
454
+ tsx_source: string;
455
+ theme_id: string | null;
453
456
  to: {
454
457
  user_id: string;
455
458
  type: "user-primary-email";
@@ -461,9 +464,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
461
464
  type: "custom-emails";
462
465
  emails: string[];
463
466
  };
464
- updated_at_millis: number;
465
- tsx_source: string;
466
- theme_id: string | null;
467
467
  variables: Record<string, {} | null>;
468
468
  skip_deliverability_check: boolean;
469
469
  scheduled_at_millis: number;
@@ -498,6 +498,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
498
498
  created_at_millis: number;
499
499
  html: string | null;
500
500
  text: string | null;
501
+ updated_at_millis: number;
502
+ tsx_source: string;
503
+ theme_id: string | null;
501
504
  to: {
502
505
  user_id: string;
503
506
  type: "user-primary-email";
@@ -509,9 +512,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
509
512
  type: "custom-emails";
510
513
  emails: string[];
511
514
  };
512
- updated_at_millis: number;
513
- tsx_source: string;
514
- theme_id: string | null;
515
515
  variables: Record<string, {} | null>;
516
516
  skip_deliverability_check: boolean;
517
517
  scheduled_at_millis: number;
@@ -547,6 +547,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
547
547
  created_at_millis: number;
548
548
  html: string | null;
549
549
  text: string | null;
550
+ updated_at_millis: number;
551
+ tsx_source: string;
552
+ theme_id: string | null;
550
553
  to: {
551
554
  user_id: string;
552
555
  type: "user-primary-email";
@@ -558,9 +561,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
558
561
  type: "custom-emails";
559
562
  emails: string[];
560
563
  };
561
- updated_at_millis: number;
562
- tsx_source: string;
563
- theme_id: string | null;
564
564
  variables: Record<string, {} | null>;
565
565
  skip_deliverability_check: boolean;
566
566
  scheduled_at_millis: number;
@@ -597,6 +597,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
597
597
  created_at_millis: number;
598
598
  html: string | null;
599
599
  text: string | null;
600
+ updated_at_millis: number;
601
+ tsx_source: string;
602
+ theme_id: string | null;
600
603
  to: {
601
604
  user_id: string;
602
605
  type: "user-primary-email";
@@ -608,9 +611,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
608
611
  type: "custom-emails";
609
612
  emails: string[];
610
613
  };
611
- updated_at_millis: number;
612
- tsx_source: string;
613
- theme_id: string | null;
614
614
  variables: Record<string, {} | null>;
615
615
  skip_deliverability_check: boolean;
616
616
  scheduled_at_millis: number;
@@ -647,6 +647,9 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
647
647
  created_at_millis: number;
648
648
  html: string | null;
649
649
  text: string | null;
650
+ updated_at_millis: number;
651
+ tsx_source: string;
652
+ theme_id: string | null;
650
653
  to: {
651
654
  user_id: string;
652
655
  type: "user-primary-email";
@@ -658,9 +661,6 @@ declare const emailOutboxReadSchema: import("yup").MixedSchema<{
658
661
  type: "custom-emails";
659
662
  emails: string[];
660
663
  };
661
- updated_at_millis: number;
662
- tsx_source: string;
663
- theme_id: string | null;
664
664
  variables: Record<string, {} | null>;
665
665
  skip_deliverability_check: boolean;
666
666
  scheduled_at_millis: number;
@@ -725,6 +725,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
725
725
  status: "paused";
726
726
  id: string;
727
727
  created_at_millis: number;
728
+ updated_at_millis: number;
729
+ tsx_source: string;
730
+ theme_id: string | null;
728
731
  to: {
729
732
  user_id: string;
730
733
  type: "user-primary-email";
@@ -736,9 +739,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
736
739
  type: "custom-emails";
737
740
  emails: string[];
738
741
  };
739
- updated_at_millis: number;
740
- tsx_source: string;
741
- theme_id: string | null;
742
742
  variables: Record<string, {} | null>;
743
743
  skip_deliverability_check: boolean;
744
744
  scheduled_at_millis: number;
@@ -763,6 +763,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
763
763
  status: "preparing";
764
764
  id: string;
765
765
  created_at_millis: number;
766
+ updated_at_millis: number;
767
+ tsx_source: string;
768
+ theme_id: string | null;
766
769
  to: {
767
770
  user_id: string;
768
771
  type: "user-primary-email";
@@ -774,9 +777,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
774
777
  type: "custom-emails";
775
778
  emails: string[];
776
779
  };
777
- updated_at_millis: number;
778
- tsx_source: string;
779
- theme_id: string | null;
780
780
  variables: Record<string, {} | null>;
781
781
  skip_deliverability_check: boolean;
782
782
  scheduled_at_millis: number;
@@ -801,6 +801,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
801
801
  status: "rendering";
802
802
  id: string;
803
803
  created_at_millis: number;
804
+ updated_at_millis: number;
805
+ tsx_source: string;
806
+ theme_id: string | null;
804
807
  to: {
805
808
  user_id: string;
806
809
  type: "user-primary-email";
@@ -812,9 +815,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
812
815
  type: "custom-emails";
813
816
  emails: string[];
814
817
  };
815
- updated_at_millis: number;
816
- tsx_source: string;
817
- theme_id: string | null;
818
818
  variables: Record<string, {} | null>;
819
819
  skip_deliverability_check: boolean;
820
820
  scheduled_at_millis: number;
@@ -840,6 +840,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
840
840
  status: "render-error";
841
841
  id: string;
842
842
  created_at_millis: number;
843
+ updated_at_millis: number;
844
+ tsx_source: string;
845
+ theme_id: string | null;
843
846
  to: {
844
847
  user_id: string;
845
848
  type: "user-primary-email";
@@ -851,9 +854,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
851
854
  type: "custom-emails";
852
855
  emails: string[];
853
856
  };
854
- updated_at_millis: number;
855
- tsx_source: string;
856
- theme_id: string | null;
857
857
  variables: Record<string, {} | null>;
858
858
  skip_deliverability_check: boolean;
859
859
  scheduled_at_millis: number;
@@ -884,6 +884,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
884
884
  created_at_millis: number;
885
885
  html: string | null;
886
886
  text: string | null;
887
+ updated_at_millis: number;
888
+ tsx_source: string;
889
+ theme_id: string | null;
887
890
  to: {
888
891
  user_id: string;
889
892
  type: "user-primary-email";
@@ -895,9 +898,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
895
898
  type: "custom-emails";
896
899
  emails: string[];
897
900
  };
898
- updated_at_millis: number;
899
- tsx_source: string;
900
- theme_id: string | null;
901
901
  variables: Record<string, {} | null>;
902
902
  skip_deliverability_check: boolean;
903
903
  scheduled_at_millis: number;
@@ -930,6 +930,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
930
930
  created_at_millis: number;
931
931
  html: string | null;
932
932
  text: string | null;
933
+ updated_at_millis: number;
934
+ tsx_source: string;
935
+ theme_id: string | null;
933
936
  to: {
934
937
  user_id: string;
935
938
  type: "user-primary-email";
@@ -941,9 +944,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
941
944
  type: "custom-emails";
942
945
  emails: string[];
943
946
  };
944
- updated_at_millis: number;
945
- tsx_source: string;
946
- theme_id: string | null;
947
947
  variables: Record<string, {} | null>;
948
948
  skip_deliverability_check: boolean;
949
949
  scheduled_at_millis: number;
@@ -976,6 +976,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
976
976
  created_at_millis: number;
977
977
  html: string | null;
978
978
  text: string | null;
979
+ updated_at_millis: number;
980
+ tsx_source: string;
981
+ theme_id: string | null;
979
982
  to: {
980
983
  user_id: string;
981
984
  type: "user-primary-email";
@@ -987,9 +990,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
987
990
  type: "custom-emails";
988
991
  emails: string[];
989
992
  };
990
- updated_at_millis: number;
991
- tsx_source: string;
992
- theme_id: string | null;
993
993
  variables: Record<string, {} | null>;
994
994
  skip_deliverability_check: boolean;
995
995
  scheduled_at_millis: number;
@@ -1023,6 +1023,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1023
1023
  created_at_millis: number;
1024
1024
  html: string | null;
1025
1025
  text: string | null;
1026
+ updated_at_millis: number;
1027
+ tsx_source: string;
1028
+ theme_id: string | null;
1026
1029
  to: {
1027
1030
  user_id: string;
1028
1031
  type: "user-primary-email";
@@ -1034,9 +1037,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1034
1037
  type: "custom-emails";
1035
1038
  emails: string[];
1036
1039
  };
1037
- updated_at_millis: number;
1038
- tsx_source: string;
1039
- theme_id: string | null;
1040
1040
  variables: Record<string, {} | null>;
1041
1041
  skip_deliverability_check: boolean;
1042
1042
  scheduled_at_millis: number;
@@ -1078,6 +1078,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1078
1078
  status: "skipped";
1079
1079
  id: string;
1080
1080
  created_at_millis: number;
1081
+ updated_at_millis: number;
1082
+ tsx_source: string;
1083
+ theme_id: string | null;
1081
1084
  to: {
1082
1085
  user_id: string;
1083
1086
  type: "user-primary-email";
@@ -1089,9 +1092,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1089
1092
  type: "custom-emails";
1090
1093
  emails: string[];
1091
1094
  };
1092
- updated_at_millis: number;
1093
- tsx_source: string;
1094
- theme_id: string | null;
1095
1095
  variables: Record<string, {} | null>;
1096
1096
  skip_deliverability_check: boolean;
1097
1097
  scheduled_at_millis: number;
@@ -1122,6 +1122,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1122
1122
  created_at_millis: number;
1123
1123
  html: string | null;
1124
1124
  text: string | null;
1125
+ updated_at_millis: number;
1126
+ tsx_source: string;
1127
+ theme_id: string | null;
1125
1128
  to: {
1126
1129
  user_id: string;
1127
1130
  type: "user-primary-email";
@@ -1133,9 +1136,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1133
1136
  type: "custom-emails";
1134
1137
  emails: string[];
1135
1138
  };
1136
- updated_at_millis: number;
1137
- tsx_source: string;
1138
- theme_id: string | null;
1139
1139
  variables: Record<string, {} | null>;
1140
1140
  skip_deliverability_check: boolean;
1141
1141
  scheduled_at_millis: number;
@@ -1170,6 +1170,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1170
1170
  created_at_millis: number;
1171
1171
  html: string | null;
1172
1172
  text: string | null;
1173
+ updated_at_millis: number;
1174
+ tsx_source: string;
1175
+ theme_id: string | null;
1173
1176
  to: {
1174
1177
  user_id: string;
1175
1178
  type: "user-primary-email";
@@ -1181,9 +1184,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1181
1184
  type: "custom-emails";
1182
1185
  emails: string[];
1183
1186
  };
1184
- updated_at_millis: number;
1185
- tsx_source: string;
1186
- theme_id: string | null;
1187
1187
  variables: Record<string, {} | null>;
1188
1188
  skip_deliverability_check: boolean;
1189
1189
  scheduled_at_millis: number;
@@ -1218,6 +1218,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1218
1218
  created_at_millis: number;
1219
1219
  html: string | null;
1220
1220
  text: string | null;
1221
+ updated_at_millis: number;
1222
+ tsx_source: string;
1223
+ theme_id: string | null;
1221
1224
  to: {
1222
1225
  user_id: string;
1223
1226
  type: "user-primary-email";
@@ -1229,9 +1232,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1229
1232
  type: "custom-emails";
1230
1233
  emails: string[];
1231
1234
  };
1232
- updated_at_millis: number;
1233
- tsx_source: string;
1234
- theme_id: string | null;
1235
1235
  variables: Record<string, {} | null>;
1236
1236
  skip_deliverability_check: boolean;
1237
1237
  scheduled_at_millis: number;
@@ -1267,6 +1267,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1267
1267
  created_at_millis: number;
1268
1268
  html: string | null;
1269
1269
  text: string | null;
1270
+ updated_at_millis: number;
1271
+ tsx_source: string;
1272
+ theme_id: string | null;
1270
1273
  to: {
1271
1274
  user_id: string;
1272
1275
  type: "user-primary-email";
@@ -1278,9 +1281,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1278
1281
  type: "custom-emails";
1279
1282
  emails: string[];
1280
1283
  };
1281
- updated_at_millis: number;
1282
- tsx_source: string;
1283
- theme_id: string | null;
1284
1284
  variables: Record<string, {} | null>;
1285
1285
  skip_deliverability_check: boolean;
1286
1286
  scheduled_at_millis: number;
@@ -1317,6 +1317,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1317
1317
  created_at_millis: number;
1318
1318
  html: string | null;
1319
1319
  text: string | null;
1320
+ updated_at_millis: number;
1321
+ tsx_source: string;
1322
+ theme_id: string | null;
1320
1323
  to: {
1321
1324
  user_id: string;
1322
1325
  type: "user-primary-email";
@@ -1328,9 +1331,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1328
1331
  type: "custom-emails";
1329
1332
  emails: string[];
1330
1333
  };
1331
- updated_at_millis: number;
1332
- tsx_source: string;
1333
- theme_id: string | null;
1334
1334
  variables: Record<string, {} | null>;
1335
1335
  skip_deliverability_check: boolean;
1336
1336
  scheduled_at_millis: number;
@@ -1367,6 +1367,9 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1367
1367
  created_at_millis: number;
1368
1368
  html: string | null;
1369
1369
  text: string | null;
1370
+ updated_at_millis: number;
1371
+ tsx_source: string;
1372
+ theme_id: string | null;
1370
1373
  to: {
1371
1374
  user_id: string;
1372
1375
  type: "user-primary-email";
@@ -1378,9 +1381,6 @@ declare const emailOutboxCrud: import("../../crud").CrudSchemaFromOptions<{
1378
1381
  type: "custom-emails";
1379
1382
  emails: string[];
1380
1383
  };
1381
- updated_at_millis: number;
1382
- tsx_source: string;
1383
- theme_id: string | null;
1384
1384
  variables: Record<string, {} | null>;
1385
1385
  skip_deliverability_check: boolean;
1386
1386
  scheduled_at_millis: number;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as KnownErrors, n as KnownError } from "./known-errors-Bm4a61wL.js";
2
2
  import { n as HexclaveClientInterface } from "./client-interface-DvkciaL0.js";
3
3
  import { t as HexclaveServerInterface } from "./server-interface-Ra_vIHP4.js";
4
- import { l as HexclaveAdminInterface } from "./admin-interface-D63SFHX_.js";
4
+ import { l as HexclaveAdminInterface } from "./admin-interface-DaxVUjl4.js";
5
5
  export { HexclaveAdminInterface, HexclaveClientInterface, HexclaveServerInterface, KnownError, KnownErrors };
@@ -1,3 +1,3 @@
1
1
  import { n as PlanUsageResponse } from "../plan-usage-BaDxcLZ1.js";
2
- import { a as AdminDeploymentRunJson, c as ChatContent, d as InternalApiKeyCreateCrudResponse, i as AdminDeploymentEnvVarOptions, l as HexclaveAdminInterface, n as AdminDeploymentDomainJson, o as AdminDeploymentServiceBuildOptions, r as AdminDeploymentEnvVarJson, s as AdminDeploymentServiceJson, t as AdminAuthApplicationOptions, u as InternalApiKeyCreateCrudRequest } from "../admin-interface-D63SFHX_.js";
2
+ import { a as AdminDeploymentRunJson, c as ChatContent, d as InternalApiKeyCreateCrudResponse, i as AdminDeploymentEnvVarOptions, l as HexclaveAdminInterface, n as AdminDeploymentDomainJson, o as AdminDeploymentServiceBuildOptions, r as AdminDeploymentEnvVarJson, s as AdminDeploymentServiceJson, t as AdminAuthApplicationOptions, u as InternalApiKeyCreateCrudRequest } from "../admin-interface-DaxVUjl4.js";
3
3
  export { AdminAuthApplicationOptions, AdminDeploymentDomainJson, AdminDeploymentEnvVarJson, AdminDeploymentEnvVarOptions, AdminDeploymentRunJson, AdminDeploymentServiceBuildOptions, AdminDeploymentServiceJson, ChatContent, HexclaveAdminInterface, InternalApiKeyCreateCrudRequest, InternalApiKeyCreateCrudResponse, type PlanUsageResponse };
@@ -1,2 +1,2 @@
1
- import { i as emailOutboxUpdateSchema, n as emailOutboxCrud, r as emailOutboxReadSchema, t as EmailOutboxCrud } from "../../email-outbox-CqzwInBL.js";
1
+ import { i as emailOutboxUpdateSchema, n as emailOutboxCrud, r as emailOutboxReadSchema, t as EmailOutboxCrud } from "../../email-outbox-B1wmVPRG.js";
2
2
  export { EmailOutboxCrud, emailOutboxCrud, emailOutboxReadSchema, emailOutboxUpdateSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hexclave/shared",
3
- "version": "1.0.62",
3
+ "version": "1.0.64",
4
4
  "repository": "https://github.com/hexclave/hexclave",
5
5
  "files": [
6
6
  "README.md",