@alexkroman1/aai-cli 8.2.0 → 8.2.1

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,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { n as getServerInfo } from "./_agent-BTwZJu4P.mjs";
3
- import { l as HINT_NOT_DEPLOYED, s as studioProjectApiUrl, u as apiRequest } from "./_studio-DR5yzZ1T.mjs";
3
+ import { l as HINT_NOT_DEPLOYED, s as studioProjectApiUrl, u as apiRequest } from "./_studio-CKrsixd0.mjs";
4
4
  //#region _slug-api.ts
5
5
  /**
6
6
  * Authenticated request against a deployed agent's slug-scoped resource
@@ -234,11 +234,12 @@ function pushStudioSource(serverUrl, apiKey, project, body) {
234
234
  });
235
235
  }
236
236
  /** `POST /studio/projects/:project/deploy` — Publish, in the project's sandbox. */
237
- function publishStudioProject(serverUrl, apiKey, project) {
237
+ function publishStudioProject(serverUrl, apiKey, project, opts = {}) {
238
238
  return apiRequest(`${studioProjectApiUrl(serverUrl, project)}/deploy`, {
239
239
  apiKey,
240
240
  action: "publish",
241
241
  method: "POST",
242
+ body: opts.skipTypecheck ? { skipTypecheck: true } : void 0,
242
243
  retry: 0
243
244
  });
244
245
  }
package/dist/_studio.d.ts CHANGED
@@ -70,7 +70,9 @@ export declare function pushStudioSource(serverUrl: string, apiKey: string, proj
70
70
  created: boolean;
71
71
  }>;
72
72
  /** `POST /studio/projects/:project/deploy` — Publish, in the project's sandbox. */
73
- export declare function publishStudioProject(serverUrl: string, apiKey: string, project: string): Promise<{
73
+ export declare function publishStudioProject(serverUrl: string, apiKey: string, project: string, opts?: {
74
+ skipTypecheck?: boolean | undefined;
75
+ }): Promise<{
74
76
  ok: true;
75
77
  slug: string;
76
78
  url: string;
package/dist/cli.mjs CHANGED
@@ -259,7 +259,7 @@ const secret = defineCommand({
259
259
  },
260
260
  cwd: "any",
261
261
  async run({ args, mode, cwd }) {
262
- const { executeSecretPut, NO_INPUT, readStdin } = await import("./secret-Ct34kdgU.mjs");
262
+ const { executeSecretPut, NO_INPUT, readStdin } = await import("./secret-CwgDLpSy.mjs");
263
263
  const value = mode === "json" ? await readStdin() : void 0;
264
264
  if (mode === "json" && !value) throw new CliError(...NO_INPUT);
265
265
  return executeSecretPut(cwd, args.name, value, args.server);
@@ -281,7 +281,7 @@ const secret = defineCommand({
281
281
  },
282
282
  cwd: "any",
283
283
  async run({ args, cwd }) {
284
- const { executeSecretDelete } = await import("./secret-Ct34kdgU.mjs");
284
+ const { executeSecretDelete } = await import("./secret-CwgDLpSy.mjs");
285
285
  return executeSecretDelete(cwd, args.name, args.server);
286
286
  }
287
287
  }),
@@ -296,7 +296,7 @@ const secret = defineCommand({
296
296
  },
297
297
  cwd: "any",
298
298
  async run({ args, cwd }) {
299
- const { executeSecretList } = await import("./secret-Ct34kdgU.mjs");
299
+ const { executeSecretList } = await import("./secret-CwgDLpSy.mjs");
300
300
  return executeSecretList(cwd, args.server);
301
301
  }
302
302
  })
@@ -330,7 +330,7 @@ const storageStatus = defineExec({
330
330
  },
331
331
  cwd: "any",
332
332
  async run({ args, cwd }) {
333
- const { executeStorageStatus } = await import("./storage-i_79ZwAR.mjs");
333
+ const { executeStorageStatus } = await import("./storage-Bfs7QQWq.mjs");
334
334
  return executeStorageStatus(resolveDirArg(cwd, args.dir), args.server);
335
335
  }
336
336
  });
@@ -346,7 +346,7 @@ const storageEnable = defineExec({
346
346
  },
347
347
  cwd: "any",
348
348
  async run({ args, cwd }) {
349
- const { executeStorageEnable } = await import("./storage-i_79ZwAR.mjs");
349
+ const { executeStorageEnable } = await import("./storage-Bfs7QQWq.mjs");
350
350
  return executeStorageEnable(resolveDirArg(cwd, args.dir), args.server);
351
351
  }
352
352
  });
@@ -367,7 +367,7 @@ const storageDisable = defineExec({
367
367
  },
368
368
  cwd: "any",
369
369
  async run({ args, cwd }) {
370
- const { executeStorageDisable } = await import("./storage-i_79ZwAR.mjs");
370
+ const { executeStorageDisable } = await import("./storage-Bfs7QQWq.mjs");
371
371
  return executeStorageDisable(resolveDirArg(cwd, args.dir), {
372
372
  server: args.server,
373
373
  force: args.force
@@ -391,7 +391,7 @@ const logs = defineExec({
391
391
  },
392
392
  cwd: "any",
393
393
  async run({ args, cwd }) {
394
- const { executeLogs } = await import("./logs-CQ2T46dr.mjs");
394
+ const { executeLogs } = await import("./logs-D2Yhqe2w.mjs");
395
395
  return executeLogs(resolveDirArg(cwd, args.dir), {
396
396
  server: args.server,
397
397
  follow: args.follow
@@ -433,7 +433,7 @@ const list = defineExec({
433
433
  },
434
434
  cwd: "any",
435
435
  async run({ args, cwd }) {
436
- const { executeList } = await import("./studio-CzTzPqe1.mjs");
436
+ const { executeList } = await import("./studio-DUfCH9I8.mjs");
437
437
  return executeList({
438
438
  cwd,
439
439
  server: args.server
@@ -466,7 +466,7 @@ const pull = defineExec({
466
466
  },
467
467
  cwd: "any",
468
468
  async run({ args, cwd }) {
469
- const { executePull } = await import("./studio-CzTzPqe1.mjs");
469
+ const { executePull } = await import("./studio-DUfCH9I8.mjs");
470
470
  return executePull({
471
471
  cwd,
472
472
  project: args.project,
@@ -488,7 +488,7 @@ const push = defineExec({
488
488
  },
489
489
  cwd: "agent",
490
490
  async run({ args, cwd }) {
491
- const { executePush } = await import("./studio-CzTzPqe1.mjs");
491
+ const { executePush } = await import("./studio-DUfCH9I8.mjs");
492
492
  return executePush({
493
493
  cwd,
494
494
  server: args.server,
@@ -512,7 +512,7 @@ const publish = defineExec({
512
512
  },
513
513
  cwd: "agent",
514
514
  async run({ args, cwd }) {
515
- const { executePublish } = await import("./studio-CzTzPqe1.mjs");
515
+ const { executePublish } = await import("./studio-DUfCH9I8.mjs");
516
516
  return executePublish({
517
517
  cwd,
518
518
  server: args.server,
@@ -722,7 +722,7 @@ const mainCommand = defineCommand({
722
722
  },
723
723
  cwd: "none",
724
724
  async run({ args, mode }) {
725
- const { executeInit } = await import("./init-CUo87gcI.mjs");
725
+ const { executeInit } = await import("./init-Cp5GZg0B.mjs");
726
726
  return executeInit({
727
727
  dir: args.dir,
728
728
  force: args.force,
@@ -830,7 +830,7 @@ const mainCommand = defineCommand({
830
830
  },
831
831
  cwd: "agent",
832
832
  async run({ args, cwd }) {
833
- const { executeDeploy } = await import("./deploy-DRC8jWr8.mjs");
833
+ const { executeDeploy } = await import("./deploy-BqV6ShIe.mjs");
834
834
  return executeDeploy({
835
835
  cwd,
836
836
  server: args.server,
@@ -850,7 +850,7 @@ const mainCommand = defineCommand({
850
850
  },
851
851
  cwd: "any",
852
852
  async run({ args, cwd }) {
853
- const { executeDelete } = await import("./delete-Dl_LSfvI.mjs");
853
+ const { executeDelete } = await import("./delete-CPf347lo.mjs");
854
854
  return executeDelete({
855
855
  cwd,
856
856
  server: args.server
@@ -3,7 +3,7 @@ import { a as ok } from "./_output-CKkmWs7i.mjs";
3
3
  import { n as log } from "./_ui-u7T4YooX.mjs";
4
4
  import { l as writeProjectConfig } from "./_config-CmJOFsAP.mjs";
5
5
  import { a as resolveDeployTarget, i as requireDeployedSlug } from "./_agent-BTwZJu4P.mjs";
6
- import { d as apiTestSeam, l as HINT_NOT_DEPLOYED, s as studioProjectApiUrl, u as apiRequest } from "./_studio-DR5yzZ1T.mjs";
6
+ import { d as apiTestSeam, l as HINT_NOT_DEPLOYED, s as studioProjectApiUrl, u as apiRequest } from "./_studio-CKrsixd0.mjs";
7
7
  //#region delete.ts
8
8
  async function runDelete(opts) {
9
9
  await apiRequest(`${opts.url}/${opts.slug}`, {
@@ -7,7 +7,7 @@ import { i as evalWorkerConfig, t as buildAgentBundle } from "./_bundler-CDuYl5G
7
7
  import { t as resolveServerEnv } from "./_server-common-6e0QI4mq.mjs";
8
8
  import { a as resolveDeployTarget } from "./_agent-BTwZJu4P.mjs";
9
9
  import { assertTypechecks } from "./_typecheck-gate-BXvUNnfs.mjs";
10
- import { d as apiTestSeam, f as checkedResponse, i as projectNameFromDir, u as apiRequest } from "./_studio-DR5yzZ1T.mjs";
10
+ import { d as apiTestSeam, f as checkedResponse, i as projectNameFromDir, u as apiRequest } from "./_studio-CKrsixd0.mjs";
11
11
  import { isRecord } from "@alexkroman1/aai/utils";
12
12
  import { gzipSync } from "node:zlib";
13
13
  //#region _deploy.ts
@@ -105,7 +105,7 @@ function collectWarnings() {
105
105
  }
106
106
  /** Publish after init and return deploy metadata if successful. */
107
107
  async function tryPublish(cwd, server, warn) {
108
- const { executePublish } = await import("./studio-CzTzPqe1.mjs");
108
+ const { executePublish } = await import("./studio-DUfCH9I8.mjs");
109
109
  try {
110
110
  const result = await executePublish({
111
111
  cwd,
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as ok } from "./_output-CKkmWs7i.mjs";
3
3
  import { n as log } from "./_ui-u7T4YooX.mjs";
4
- import { f as checkedResponse } from "./_studio-DR5yzZ1T.mjs";
5
- import { n as slugRequest } from "./_slug-api-z-USxPtL.mjs";
4
+ import { f as checkedResponse } from "./_studio-CKrsixd0.mjs";
5
+ import { n as slugRequest } from "./_slug-api--ZBmIGH-.mjs";
6
6
  import { isRecord, omitUndefined } from "@alexkroman1/aai/utils";
7
7
  import { sleep } from "@alexkroman1/aai/internal";
8
8
  function isLogsPage(value) {
@@ -14,9 +14,9 @@
14
14
  "publish:agent": "aai publish"
15
15
  },
16
16
  "dependencies": {
17
- "@alexkroman1/aai": "^8.2.0",
18
- "@alexkroman1/aai-runtime": "^8.2.0",
19
- "@alexkroman1/aai-ui": "^8.2.0",
17
+ "@alexkroman1/aai": "^8.2.1",
18
+ "@alexkroman1/aai-runtime": "^8.2.1",
19
+ "@alexkroman1/aai-ui": "^8.2.1",
20
20
  "@workflow/world-postgres": "4.3.3",
21
21
  "react": "^19.2.8",
22
22
  "react-dom": "^19.2.8",
@@ -26,7 +26,7 @@
26
26
  "zod": "^4.4.3"
27
27
  },
28
28
  "devDependencies": {
29
- "@alexkroman1/aai-cli": "^8.2.0",
29
+ "@alexkroman1/aai-cli": "^8.2.1",
30
30
  "@tailwindcss/vite": "^4.3.3",
31
31
  "@types/node": "^26.2.0",
32
32
  "@types/react": "^19.2.18",
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as ok, n as fail } from "./_output-CKkmWs7i.mjs";
3
3
  import { n as log, s as unwrapCancel } from "./_ui-u7T4YooX.mjs";
4
- import { f as checkedResponse, p as isStringArray } from "./_studio-DR5yzZ1T.mjs";
5
- import { t as secretRequest } from "./_slug-api-z-USxPtL.mjs";
4
+ import { f as checkedResponse, p as isStringArray } from "./_studio-CKrsixd0.mjs";
5
+ import { t as secretRequest } from "./_slug-api--ZBmIGH-.mjs";
6
6
  import { isRecord } from "@alexkroman1/aai/utils";
7
7
  import * as p from "@clack/prompts";
8
8
  import { text } from "node:stream/consumers";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as ok, n as fail } from "./_output-CKkmWs7i.mjs";
3
3
  import { n as log } from "./_ui-u7T4YooX.mjs";
4
- import { f as checkedResponse } from "./_studio-DR5yzZ1T.mjs";
5
- import { n as slugRequest } from "./_slug-api-z-USxPtL.mjs";
4
+ import { f as checkedResponse } from "./_studio-CKrsixd0.mjs";
5
+ import { n as slugRequest } from "./_slug-api--ZBmIGH-.mjs";
6
6
  import { isRecord } from "@alexkroman1/aai/utils";
7
7
  import * as p from "@clack/prompts";
8
8
  //#region storage.ts
@@ -5,7 +5,8 @@ import { s as updateProjectConfig } from "./_config-CmJOFsAP.mjs";
5
5
  import { t as resolveServerEnv } from "./_server-common-6e0QI4mq.mjs";
6
6
  import { a as resolveDeployTarget } from "./_agent-BTwZJu4P.mjs";
7
7
  import { layerScaffold } from "./_templates-4WcKOjS5.mjs";
8
- import { a as publishStudioProject, c as studioProjectUrl, f as checkedResponse, i as projectNameFromDir, n as fetchStudioProject, o as pushStudioSource, r as listStudioProjects, s as studioProjectApiUrl, t as collectSourceFiles, u as apiRequest } from "./_studio-DR5yzZ1T.mjs";
8
+ import { a as publishStudioProject, c as studioProjectUrl, f as checkedResponse, i as projectNameFromDir, n as fetchStudioProject, o as pushStudioSource, r as listStudioProjects, s as studioProjectApiUrl, t as collectSourceFiles, u as apiRequest } from "./_studio-CKrsixd0.mjs";
9
+ import { existsSync } from "node:fs";
9
10
  import path from "node:path";
10
11
  import { isRecord } from "@alexkroman1/aai/utils";
11
12
  import { mkdir, readdir, writeFile } from "node:fs/promises";
@@ -95,6 +96,7 @@ async function pushProject(opts) {
95
96
  const { files, warnings } = await collectSourceFiles(opts.cwd);
96
97
  for (const warning of warnings) log.warn(warning);
97
98
  if (Object.keys(files).length === 0) throw new Error("Nothing to push — this directory has no project files.");
99
+ if (!files["agent.ts"] && existsSync(path.join(opts.cwd, "agent.ts"))) throw new CliError("entry_not_synced", warnings.find((w) => w.startsWith("agent.ts ")) ?? "agent.ts exists locally but was not synced.", "The entry file must sync to deploy — reduce its size or fix its encoding.");
98
100
  let project = config?.studioProject;
99
101
  let baseHash = config?.studioSourceHash;
100
102
  let slug = config?.slug;
@@ -166,7 +168,7 @@ async function executePublish(opts) {
166
168
  const hadSlug = pushed.slug !== void 0;
167
169
  if (pushed.slug) await syncEnvSecrets(opts.cwd, serverUrl, apiKey, project);
168
170
  log.step(`Publishing ${project} (builds in the project's sandbox)…`);
169
- const result = checkedResponse(await publishStudioProject(serverUrl, apiKey, project), (value) => isRecord(value) && typeof value.slug === "string" && typeof value.output === "string", `the publish route at ${serverUrl}`);
171
+ const result = checkedResponse(await publishStudioProject(serverUrl, apiKey, project, { skipTypecheck: opts.skipTypecheck }), (value) => isRecord(value) && typeof value.slug === "string" && typeof value.output === "string", `the publish route at ${serverUrl}`);
170
172
  if (result.output.trim()) log.message(result.output.trim());
171
173
  await updateProjectConfig(opts.cwd, {
172
174
  serverUrl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexkroman1/aai-cli",
3
- "version": "8.2.0",
3
+ "version": "8.2.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "aai": "bin.mjs"
@@ -44,9 +44,9 @@
44
44
  "p-timeout": "^7.0.1",
45
45
  "vite": "^8.2.1",
46
46
  "zod": "^4.4.3",
47
- "@alexkroman1/aai-ui": "8.2.0",
48
- "@alexkroman1/aai": "8.2.0",
49
- "@alexkroman1/aai-runtime": "8.2.0"
47
+ "@alexkroman1/aai": "8.2.1",
48
+ "@alexkroman1/aai-runtime": "8.2.1",
49
+ "@alexkroman1/aai-ui": "8.2.1"
50
50
  },
51
51
  "devDependencies": {
52
52
  "playwright": "^1.62.1",