@anna-ai/cli 0.1.45 → 0.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/{_lifecycle-shared-RyiRITI5.js → _lifecycle-shared-_9BzQ9Y2.js} +1 -1
  2. package/dist/{account-B4rdVDyg.js → account-BBMYzSH7.js} +2 -2
  3. package/dist/{app-bundle-upload-DgoZIhQG.js → app-bundle-upload-CzWR9jxI.js} +2 -2
  4. package/dist/{apps-C_Oln_om.js → apps-BQcbrExH.js} +2 -2
  5. package/dist/{apps-cut-BC1j7tcw.js → apps-cut-DWodD5oE.js} +10 -10
  6. package/dist/{apps-destructive-a2YBmWFm.js → apps-destructive-BVjpOxNF.js} +3 -3
  7. package/dist/{apps-discard-Be-0TnPa.js → apps-discard-5z0K4-o3.js} +10 -10
  8. package/dist/{apps-grants-lmllFB02.js → apps-grants-baOFOxnO.js} +2 -2
  9. package/dist/{apps-publish-CqN0w8sw.js → apps-publish-Ck-2BEu3.js} +7 -7
  10. package/dist/apps-publish-CrpTz6WY.js +17 -0
  11. package/dist/{apps-push-BDApmojT.js → apps-push-CNOI2ruX.js} +12 -12
  12. package/dist/{apps-release-KoREGpKk.js → apps-release-DuaJI9iX.js} +11 -5
  13. package/dist/{apps-rename-slug-DYrk4Zpt.js → apps-rename-slug-BGpitGyw.js} +3 -3
  14. package/dist/{apps-status-CcCoYu6i.js → apps-status-BVIL6DYc.js} +2 -2
  15. package/dist/{apps-submit-review-DNrQc2ws.js → apps-submit-review-BmPjkoe9.js} +2 -2
  16. package/dist/{apps-sync-meta-32oHqPlp.js → apps-sync-meta-87RK1Usm.js} +4 -4
  17. package/dist/{apps-versions-2BR8xo7C.js → apps-versions-DfapYfW-.js} +2 -2
  18. package/dist/{binary-upload-CKMU5Rfw.js → binary-upload-DVhQ0uY0.js} +1 -1
  19. package/dist/bridge-BP28T06H.js +3 -0
  20. package/dist/{bridge-BBCJZ0jY.js → bridge-sFHqOOat.js} +1 -1
  21. package/dist/{bundled-executas-rSIkaA6-.js → bundled-executas-BRyQkI9u.js} +1 -1
  22. package/dist/{bundled-executas-Bp9Z6aiR.js → bundled-executas-DvdaUh2i.js} +2 -2
  23. package/dist/cli.js +36 -36
  24. package/dist/{client-D-_z1ALk.js → client-sMzq2PWG.js} +1 -1
  25. package/dist/{confirm-BSoOy1X2.js → confirm-ChZAVrZe.js} +1 -1
  26. package/dist/dev-C251jRh2.js +4 -0
  27. package/dist/{dev-DKXNkQzp.js → dev-ClCDRplP.js} +3 -3
  28. package/dist/{doctor-DMF6MyoA.js → doctor-CHnkbamq.js} +1 -1
  29. package/dist/{executa-destructive-DCfQ1ez5.js → executa-destructive-Du7RGJgn.js} +3 -3
  30. package/dist/{executa-dev-CXgAPTJx.js → executa-dev-CSzM-Oha.js} +1 -1
  31. package/dist/{executa-install-ht8Fz4wc.js → executa-install-CM4x4doq.js} +1 -1
  32. package/dist/executa-install-V5fSZRdO.js +7 -0
  33. package/dist/executa-publish-6awuH4Ma.js +11 -0
  34. package/dist/{executa-publish-DueD_0hh.js → executa-publish-BKnsUoZq.js} +4 -4
  35. package/dist/{executa-reads-BmwT_Yjp.js → executa-reads-BYKUADoL.js} +2 -2
  36. package/dist/{executa-trusted-publisher-tVwzjI2d.js → executa-trusted-publisher-BGqz6hMt.js} +3 -3
  37. package/dist/{executa-upload-binaries-DURJTXRI.js → executa-upload-binaries-DwWQ18Dq.js} +4 -4
  38. package/dist/executa-upload-binaries-FWM2yXfB.js +9 -0
  39. package/dist/{listing-meta-CSopUol3.js → listing-meta-35VYXW5a.js} +2 -4
  40. package/dist/{manifest-CAF3_r1T.js → manifest-B_DjigtQ.js} +2 -3
  41. package/dist/{publish-B67_cXdw.js → publish-Bg4TkKoX.js} +10 -10
  42. package/dist/{server-DKGo2PmS.js → server-Dr_htFv8.js} +1 -1
  43. package/dist/{token-COnYMRB-.js → token-TgBQumgy.js} +2 -2
  44. package/dist/{working-orchestration-bLFeqem7.js → working-orchestration-CKXkvXVC.js} +5 -5
  45. package/package.json +1 -1
  46. package/templates/minimal/app.json +1 -2
  47. package/dist/apps-publish-DiSpTGHD.js +0 -17
  48. package/dist/bridge-CCubXGh7.js +0 -3
  49. package/dist/dev-CiTv4GH0.js +0 -4
  50. package/dist/executa-install-BNG5AwEG.js +0 -7
  51. package/dist/executa-publish-2lAhRQvN.js +0 -11
  52. package/dist/executa-upload-binaries-DrwpzQp3.js +0 -9
@@ -1,5 +1,5 @@
1
1
  import { canonicalHost, getAccount } from "./credentials-BTv2IfUZ.js";
2
- import { CliError, NexusClient, ScopeError } from "./client-D-_z1ALk.js";
2
+ import { CliError, NexusClient, ScopeError } from "./client-sMzq2PWG.js";
3
3
  import { dim, red, yellow } from "kleur/colors";
4
4
 
5
5
  //#region src/commands/_lifecycle-shared.ts
@@ -1,7 +1,7 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { setDeveloperHandle } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { reportError, resolveClient } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { reportError, resolveClient } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { bold, dim, green, red } from "kleur/colors";
6
6
 
7
7
  //#region src/commands/account.ts
@@ -1,6 +1,6 @@
1
1
  import { finalizeBundle, finalizeWorkingBundle, getBundle, initBundle, initWorkingBundle, uploadBundleFile, uploadWorkingBundleFile } from "./apps-DlVsVHQ5.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { canonicalize } from "./executa-publish-DueD_0hh.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { canonicalize } from "./executa-publish-BKnsUoZq.js";
4
4
  import { join, relative, sep } from "node:path";
5
5
  import { readFileSync, readdirSync, statSync } from "node:fs";
6
6
  import { createHash } from "node:crypto";
@@ -1,7 +1,7 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { listMyApps } from "./apps-DlVsVHQ5.js";
3
- import "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { bold, cyan, dim, green, magenta, red, yellow } from "kleur/colors";
6
6
 
7
7
  //#region src/commands/apps.ts
@@ -1,19 +1,19 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import "./nexus-root-BlPwOusj.js";
3
3
  import { cutWorkingDraft } from "./apps-DlVsVHQ5.js";
4
- import { CliError } from "./client-D-_z1ALk.js";
5
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
4
+ import { CliError } from "./client-sMzq2PWG.js";
5
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
6
6
  import { readExecutaIdentity } from "./executa-cache-BFoUtb4J.js";
7
- import { readExecutasLock, writeExecutasLock } from "./bundled-executas-rSIkaA6-.js";
8
- import { loadAppManifest, loadExecutaManifest } from "./manifest-CAF3_r1T.js";
7
+ import { readExecutasLock, writeExecutasLock } from "./bundled-executas-BRyQkI9u.js";
8
+ import { loadAppManifest, loadExecutaManifest } from "./manifest-B_DjigtQ.js";
9
9
  import "./executas-CvQY_w2U.js";
10
- import "./executa-publish-DueD_0hh.js";
11
- import "./binary-upload-CKMU5Rfw.js";
12
- import { uploadExecutaBinaries } from "./executa-upload-binaries-DURJTXRI.js";
13
- import "./dev-DKXNkQzp.js";
14
- import "./executa-install-ht8Fz4wc.js";
10
+ import "./executa-publish-BKnsUoZq.js";
11
+ import "./binary-upload-DVhQ0uY0.js";
12
+ import { uploadExecutaBinaries } from "./executa-upload-binaries-DwWQ18Dq.js";
13
+ import "./dev-ClCDRplP.js";
14
+ import "./executa-install-CM4x4doq.js";
15
15
  import "./app-cache-Cr3tKbux.js";
16
- import { resolveAppBySlugOrCache } from "./working-orchestration-bLFeqem7.js";
16
+ import { resolveAppBySlugOrCache } from "./working-orchestration-CKXkvXVC.js";
17
17
  import { resolve } from "node:path";
18
18
  import { existsSync } from "node:fs";
19
19
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
@@ -1,8 +1,8 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { archiveApp, deleteApp, findAppBySlug, unarchiveApp, unpublishApp } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
5
- import { ensureDestructiveAllowed } from "./confirm-BSoOy1X2.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
+ import { ensureDestructiveAllowed } from "./confirm-ChZAVrZe.js";
6
6
  import { dim, green, yellow } from "kleur/colors";
7
7
 
8
8
  //#region src/commands/apps-destructive.ts
@@ -1,19 +1,19 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import "./nexus-root-BlPwOusj.js";
3
3
  import { deleteWorkingDraft, getWorkingDraft } from "./apps-DlVsVHQ5.js";
4
- import "./client-D-_z1ALk.js";
5
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
4
+ import "./client-sMzq2PWG.js";
5
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
6
6
  import "./executa-cache-BFoUtb4J.js";
7
- import "./bundled-executas-rSIkaA6-.js";
8
- import "./manifest-CAF3_r1T.js";
7
+ import "./bundled-executas-BRyQkI9u.js";
8
+ import "./manifest-B_DjigtQ.js";
9
9
  import "./executas-CvQY_w2U.js";
10
- import "./executa-publish-DueD_0hh.js";
11
- import "./binary-upload-CKMU5Rfw.js";
12
- import "./executa-upload-binaries-DURJTXRI.js";
13
- import "./dev-DKXNkQzp.js";
14
- import "./executa-install-ht8Fz4wc.js";
10
+ import "./executa-publish-BKnsUoZq.js";
11
+ import "./binary-upload-DVhQ0uY0.js";
12
+ import "./executa-upload-binaries-DwWQ18Dq.js";
13
+ import "./dev-ClCDRplP.js";
14
+ import "./executa-install-CM4x4doq.js";
15
15
  import "./app-cache-Cr3tKbux.js";
16
- import { resolveAppBySlugOrCache } from "./working-orchestration-bLFeqem7.js";
16
+ import { resolveAppBySlugOrCache } from "./working-orchestration-CKXkvXVC.js";
17
17
  import { dim, green, yellow } from "kleur/colors";
18
18
 
19
19
  //#region src/commands/apps-discard.ts
@@ -1,7 +1,7 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, getAppGrants } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { bold, cyan, dim } from "kleur/colors";
6
6
 
7
7
  //#region src/commands/apps-grants.ts
@@ -1,13 +1,13 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import { createApp, createVersion, findAppBySlug, getApp } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
5
- import { parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-rSIkaA6-.js";
6
- import { loadAppManifest } from "./manifest-CAF3_r1T.js";
7
- import { bumpVersion, bundleHash, manifestHash, rewriteVersion, runExecutaPublish } from "./executa-publish-DueD_0hh.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
+ import { parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-BRyQkI9u.js";
6
+ import { loadAppManifest } from "./manifest-B_DjigtQ.js";
7
+ import { bumpVersion, bundleHash, manifestHash, rewriteVersion, runExecutaPublish } from "./executa-publish-BKnsUoZq.js";
8
8
  import { appCacheMatches, readAppIdentity, writeAppIdentity } from "./app-cache-Cr3tKbux.js";
9
- import { syncAppListingMeta } from "./listing-meta-CSopUol3.js";
10
- import { isExistingDir, uploadAppBundle } from "./app-bundle-upload-DgoZIhQG.js";
9
+ import { syncAppListingMeta } from "./listing-meta-35VYXW5a.js";
10
+ import { isExistingDir, uploadAppBundle } from "./app-bundle-upload-CzWR9jxI.js";
11
11
  import { resolve } from "node:path";
12
12
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
13
13
 
@@ -0,0 +1,17 @@
1
+ import "./credentials-BTv2IfUZ.js";
2
+ import "./apps-DlVsVHQ5.js";
3
+ import "./client-sMzq2PWG.js";
4
+ import "./_lifecycle-shared-_9BzQ9Y2.js";
5
+ import "./executa-cache-BFoUtb4J.js";
6
+ import "./bundled-executas-BRyQkI9u.js";
7
+ import "./manifest-B_DjigtQ.js";
8
+ import "./executas-CvQY_w2U.js";
9
+ import "./executa-publish-BKnsUoZq.js";
10
+ import "./binary-upload-DVhQ0uY0.js";
11
+ import "./executa-upload-binaries-DwWQ18Dq.js";
12
+ import "./app-cache-Cr3tKbux.js";
13
+ import "./listing-meta-35VYXW5a.js";
14
+ import "./app-bundle-upload-CzWR9jxI.js";
15
+ import { runAppsPublish } from "./apps-publish-Ck-2BEu3.js";
16
+
17
+ export { runAppsPublish };
@@ -1,21 +1,21 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import "./nexus-root-BlPwOusj.js";
3
3
  import { getApp, getWorkingDraft, upsertWorkingDraft } from "./apps-DlVsVHQ5.js";
4
- import { CliError } from "./client-D-_z1ALk.js";
5
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
4
+ import { CliError } from "./client-sMzq2PWG.js";
5
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
6
6
  import "./executa-cache-BFoUtb4J.js";
7
- import "./bundled-executas-rSIkaA6-.js";
8
- import { loadAppManifest } from "./manifest-CAF3_r1T.js";
7
+ import "./bundled-executas-BRyQkI9u.js";
8
+ import { loadAppManifest } from "./manifest-B_DjigtQ.js";
9
9
  import "./executas-CvQY_w2U.js";
10
- import { bumpVersion, bundleHash, manifestHash, rewriteVersion } from "./executa-publish-DueD_0hh.js";
11
- import "./binary-upload-CKMU5Rfw.js";
12
- import "./executa-upload-binaries-DURJTXRI.js";
13
- import "./dev-DKXNkQzp.js";
14
- import "./executa-install-ht8Fz4wc.js";
10
+ import { bumpVersion, bundleHash, manifestHash, rewriteVersion } from "./executa-publish-BKnsUoZq.js";
11
+ import "./binary-upload-DVhQ0uY0.js";
12
+ import "./executa-upload-binaries-DwWQ18Dq.js";
13
+ import "./dev-ClCDRplP.js";
14
+ import "./executa-install-CM4x4doq.js";
15
15
  import "./app-cache-Cr3tKbux.js";
16
- import { installLocalBundledShims, resolveAppIdentity, resolveBundledExecutas } from "./working-orchestration-bLFeqem7.js";
17
- import { syncAppListingMeta } from "./listing-meta-CSopUol3.js";
18
- import { isExistingDir, uploadWorkingBundle } from "./app-bundle-upload-DgoZIhQG.js";
16
+ import { installLocalBundledShims, resolveAppIdentity, resolveBundledExecutas } from "./working-orchestration-CKXkvXVC.js";
17
+ import { syncAppListingMeta } from "./listing-meta-35VYXW5a.js";
18
+ import { isExistingDir, uploadWorkingBundle } from "./app-bundle-upload-CzWR9jxI.js";
19
19
  import { resolve } from "node:path";
20
20
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
21
21
 
@@ -1,7 +1,7 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, getApp, getBundle, listVersions, publishVersion } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { readAppIdentity } from "./app-cache-Cr3tKbux.js";
6
6
  import { resolve } from "node:path";
7
7
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
@@ -59,7 +59,7 @@ async function runAppsRelease(opts) {
59
59
  if (!target) {
60
60
  if (opts.allowCreate) {
61
61
  if (!opts.json) console.log(yellow(`version ${opts.version} not found remotely; running 'apps publish' first (--allow-create)…`));
62
- const { runAppsPublish } = await import("./apps-publish-DiSpTGHD.js");
62
+ const { runAppsPublish } = await import("./apps-publish-CrpTz6WY.js");
63
63
  const code = await runAppsPublish({
64
64
  cwd: opts.cwd,
65
65
  account: opts.account,
@@ -113,6 +113,7 @@ async function runAppsRelease(opts) {
113
113
  }
114
114
  const released = await publishVersion(client, app.id, target.id);
115
115
  const finalApp = await getApp(client, app.id);
116
+ const pendingReview = released.release_review_state === "pending" && !released.is_latest;
116
117
  if (opts.json) {
117
118
  console.log(JSON.stringify({
118
119
  host,
@@ -120,12 +121,17 @@ async function runAppsRelease(opts) {
120
121
  slug: app.slug,
121
122
  version: released.version,
122
123
  version_id: released.id,
123
- is_latest: released.is_latest ?? true,
124
+ is_latest: released.is_latest ?? !pendingReview,
124
125
  published_at: released.published_at ?? null,
125
- status: finalApp.status
126
+ status: finalApp.status,
127
+ release_review_state: released.release_review_state ?? null
126
128
  }, null, 2));
127
129
  return 0;
128
130
  }
131
+ if (pendingReview) {
132
+ console.log(yellow(`○ apps/${app.slug}: version ${released.version} submitted for release review`) + dim(` (id=${released.id}) — it goes live once an admin approves; the current live version keeps serving users`));
133
+ return 0;
134
+ }
129
135
  console.log(green(`✓ apps/${app.slug}: released version ${released.version}`) + dim(` (id=${released.id})`));
130
136
  console.log(bold(cyan(`status: ${finalApp.status}`)) + " — now live in the store");
131
137
  return 0;
@@ -1,8 +1,8 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, patchApp } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { reportError, resolveClient } from "./_lifecycle-shared-RyiRITI5.js";
5
- import { loadAppManifest } from "./manifest-CAF3_r1T.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { reportError, resolveClient } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
+ import { loadAppManifest } from "./manifest-B_DjigtQ.js";
6
6
  import { readAppIdentity, writeAppIdentity } from "./app-cache-Cr3tKbux.js";
7
7
  import { writeFileSync } from "node:fs";
8
8
  import { bold, dim, green, red, yellow } from "kleur/colors";
@@ -1,7 +1,7 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, getApp, listVersions } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { bold, cyan, dim, green, red, yellow } from "kleur/colors";
6
6
 
7
7
  //#region src/commands/apps-status.ts
@@ -1,7 +1,7 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, getApp, submitForReview } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { readAppIdentity } from "./app-cache-Cr3tKbux.js";
6
6
  import { resolve } from "node:path";
7
7
  import { bold, cyan, green } from "kleur/colors";
@@ -1,10 +1,10 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, getApp } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
5
- import { loadAppManifest } from "./manifest-CAF3_r1T.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
+ import { loadAppManifest } from "./manifest-B_DjigtQ.js";
6
6
  import { readAppIdentity } from "./app-cache-Cr3tKbux.js";
7
- import { syncAppListingMeta } from "./listing-meta-CSopUol3.js";
7
+ import { syncAppListingMeta } from "./listing-meta-35VYXW5a.js";
8
8
  import { resolve } from "node:path";
9
9
  import { bold, cyan, dim, green } from "kleur/colors";
10
10
 
@@ -1,7 +1,7 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import { findAppBySlug, listVersions } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import { bold, cyan, dim, green } from "kleur/colors";
6
6
 
7
7
  //#region src/commands/apps-versions.ts
@@ -1,4 +1,4 @@
1
- import { CliError } from "./client-D-_z1ALk.js";
1
+ import { CliError } from "./client-sMzq2PWG.js";
2
2
 
3
3
  //#region src/api/binary-upload.ts
4
4
  /** Exchange the PAT for a short-lived upload token bound to one tool_id. */
@@ -0,0 +1,3 @@
1
+ import { BridgeRequestError, PINNED_RUNTIME_VERSION, PythonBridge } from "./bridge-sFHqOOat.js";
2
+
3
+ export { PINNED_RUNTIME_VERSION, PythonBridge };
@@ -9,7 +9,7 @@ import { createInterface } from "node:readline";
9
9
  * `uvx <pkg>@<version>` so end users always run the dispatcher version
10
10
  * the CLI was tested against.
11
11
  */
12
- const PINNED_RUNTIME_VERSION = "0.2.0a20";
12
+ const PINNED_RUNTIME_VERSION = "0.2.0a21";
13
13
  /**
14
14
  * Throwable from a {@link RequestHandler} to send a structured JSON-RPC
15
15
  * error back to the python bridge with a stable string ``code`` (e.g.
@@ -1,5 +1,5 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
3
  import { dirname, resolve } from "node:path";
4
4
  import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
- import "./client-D-_z1ALk.js";
3
- import { collectBundledHandles, lockPath, parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-rSIkaA6-.js";
2
+ import "./client-sMzq2PWG.js";
3
+ import { collectBundledHandles, lockPath, parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-BRyQkI9u.js";
4
4
 
5
5
  export { substituteBundledRefs, writeBundleToolIdSidecar };
package/dist/cli.js CHANGED
@@ -474,7 +474,7 @@ program.command("validate").description("Run schema + ACL checks on a manifest+b
474
474
  process.exit(code);
475
475
  });
476
476
  program.command("dev").description("Run a local harness (in-process dispatcher + iframe + SSE relay)").option("--manifest <path>", "manifest.json path", "manifest.json").option("--bundle <dir>", "bundle directory (default: ./bundle)").option("--slug <slug>", "App slug (overrides manifest.slug/name)").option("--view <name>", "View name to open (default: manifest default)").option("--matrix-nexus-root <path>", "matrix-nexus checkout (auto-detected if omitted; can also use $ANNA_NEXUS_ROOT)").option("--port <number>", "HTTP port", "5180").option("--user-id <id>", "Harness user_id", "1").option("--cwd <dir>", "Project root (default: cwd)").option("--no-watch", "Disable bundle file watcher (default: enabled)").option("--executa <spec>", "Explicit executa registration; repeatable. Spec: comma-separated key=value (dir=<path>[,tool_id=<id>][,type=python|node|go|binary][,command=\"<argv>\"]). When only `dir=` is given, the executa is auto-detected from executa.json / pyproject.toml / package.json / go.mod. Overrides directory auto-discovery under <manifest-dir>/executas/.", (val, prev) => prev ? [...prev, val] : [val]).option("--no-llm", "Disable LLM bridge (anna.llm/agent return llm_disabled)").option("--mock-llm <fixture>", "Serve canned LLM responses from a JSONL fixture").option("--llm-account <host>", "Saved account host to use (default: current)").option("--llm-app-slug <slug>", "Override the manifest slug used to register / look up the dev AnnaApp (default: manifest.slug)").option("--storage <mode>", "Storage backend: \"legacy\" (in-memory runtime_state, default) or \"aps\" (real nexus APS via /api/v1/storage/* — requires `anna-app login`).", "legacy").option("--web <mode>", "Web backend: \"local\" (keyless ddgs + stdlib fetcher, free, default) or \"real\" (platform web service via /api/v1/copilot/app/web/* — production provider chain + normal CU billing; requires `anna-app login`).", "local").action(async (opts) => {
477
- const { runDev, parseExecutaSpec } = await import("./dev-CiTv4GH0.js");
477
+ const { runDev, parseExecutaSpec } = await import("./dev-C251jRh2.js");
478
478
  const cwd = opts.cwd ?? process.cwd();
479
479
  let executas;
480
480
  if (opts.executa && opts.executa.length > 0) {
@@ -534,7 +534,7 @@ fixture.command("replay <file>").description("Dry-run replay of a harness record
534
534
  process.exit(code);
535
535
  });
536
536
  program.command("doctor").description("Check environment for `anna-app dev` (uv, matrix-nexus, dev key)").option("--matrix-nexus-root <path>", "matrix-nexus checkout (optional)").action(async (opts) => {
537
- const { runDoctor } = await import("./doctor-DMF6MyoA.js");
537
+ const { runDoctor } = await import("./doctor-CHnkbamq.js");
538
538
  const code = await runDoctor({ matrixNexusRoot: opts.matrixNexusRoot });
539
539
  process.exit(code);
540
540
  });
@@ -561,7 +561,7 @@ program.command("whoami").description("Show the current account (and any others)
561
561
  });
562
562
  const account = program.command("account").description("Manage your developer account (handle / namespace)");
563
563
  account.command("set-handle <handle>").description("Set or rename your developer handle — the @handle namespace your apps publish under (@handle/slug). Required before creating your first app.").option("--host <url>", "Account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (handle, opts) => {
564
- const { runAccountSetHandle } = await import("./account-B4rdVDyg.js");
564
+ const { runAccountSetHandle } = await import("./account-BBMYzSH7.js");
565
565
  const code = await runAccountSetHandle({
566
566
  handle,
567
567
  account: opts.host,
@@ -597,7 +597,7 @@ executa.command("register").description("Register a HARNESS AnnaApp(kind=executa
597
597
  process.exit(code);
598
598
  });
599
599
  executa.command("install").description("Install a local-dev shim for an Executa under its minted tool_id so the Agent can discover it via 'Rediscover Local' (for distribution_type: local). Resolves the tool_id from .anna/executa.json (written by `executa publish` / `apps push`) unless --tool-id is given.").option("--dir <path>", "Executa project dir (default: CWD)").option("--tool-id <id>", "Install the shim under this exact id (default: minted id from .anna/executa.json, else executa.json tool_id)").option("--bin-dir <path>", "Install dir for the shim (default: ~/.anna/executa/bin)").option("--force", "Overwrite an existing shim of the same name", false).option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
600
- const { runExecutaInstall } = await import("./executa-install-BNG5AwEG.js");
600
+ const { runExecutaInstall } = await import("./executa-install-V5fSZRdO.js");
601
601
  const code = await runExecutaInstall({
602
602
  dir: opts.dir,
603
603
  toolId: opts.toolId,
@@ -608,7 +608,7 @@ executa.command("install").description("Install a local-dev shim for an Executa
608
608
  process.exit(code);
609
609
  });
610
610
  executa.command("dev").description("Run one Executa plugin in isolation (REPL or one-shot describe/invoke)").option("--dir <path>", "Executa project dir (default: CWD)").option("--spec <spec>", "Override discovery: comma-separated key=value (tool_id=...,type=...,command=\"...\")").option("--describe", "Print MANIFEST and exit", false).option("--health", "Print health and exit", false).option("--invoke <tool>", "Invoke one tool and exit").option("--args <json>", "JSON object passed as tool arguments", "{}").option("--json", "One-shot: emit compact JSON (no banners)", false).option("--no-sampling", "Hard-disable sampling reverse RPC (returns sampling_disabled)").option("--mock-sampling <fixture>", "Serve canned sampling responses from a JSONL fixture (offline)").option("--sampling-unsupported-format", "Simulate a model without json_schema support — exercises responseFormat onUnsupported branches (-32010 / downgrade)").option("--app-slug <slug>", "Forward sampling to nexus on behalf of this dev AnnaApp slug").option("--sampling-account <host>", "Saved account host for nexus sampling (default: current)").option("--no-agent", "Hard-disable agent reverse RPC (returns agent_not_granted)").option("--mock-agent <fixture>", "Serve canned agent/* responses from a JSONL fixture (offline)").option("--agent-account <host>", "Saved account host for nexus agent (default: --sampling-account or current)").option("--storage <mode>", "Storage backend: off | memory | mock | real (default: memory)").option("--mock-storage <fixture>", "Serve canned storage/* + files/* responses from a JSONL fixture").option("--storage-account <host>", "Saved account host for nexus storage (default: --sampling-account or current)").option("--storage-scopes <list>", "Comma-separated scopes for real storage tokens (default: user,app,tool)").option("--no-image", "Hard-disable image reverse RPC (returns image_not_granted)").option("--mock-image <fixture>", "Serve canned image/generate + image/edit responses from a JSONL fixture").option("--image-account <host>", "Saved account host for nexus image (default: --sampling-account or current)").option("--no-upload", "Hard-disable host/uploadFile reverse RPC (returns upload_not_granted)").option("--mock-upload <fixture>", "Serve canned host/uploadFile responses from a JSONL fixture").option("--upload-account <host>", "Saved account host for nexus uploads (default: --sampling-account or current)").action(async (opts) => {
611
- const { runExecutaDev } = await import("./executa-dev-CXgAPTJx.js");
611
+ const { runExecutaDev } = await import("./executa-dev-CSzM-Oha.js");
612
612
  const storageMode = opts.storage === void 0 ? void 0 : (() => {
613
613
  const m = opts.storage;
614
614
  if (m === "off" || m === "memory" || m === "mock" || m === "real") return m;
@@ -646,14 +646,14 @@ executa.command("dev").description("Run one Executa plugin in isolation (REPL or
646
646
  });
647
647
  const apps = program.command("apps").description("Anna App publish lifecycle commands");
648
648
  apps.command("list").description("List the Anna Apps you authored, with lifecycle status").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
649
- const { runAppsList } = await import("./apps-C_Oln_om.js");
649
+ const { runAppsList } = await import("./apps-BQcbrExH.js");
650
650
  process.exit(await runAppsList({
651
651
  account: opts.account,
652
652
  json: opts.json
653
653
  }));
654
654
  });
655
655
  apps.command("rename-slug <new-slug>").description("Rename an app's public slug (DRAFT/REJECTED, never-published, zero installs only). Updates local app.json + .anna/app.json on success.").option("--cwd <dir>", "Project root (default: cwd)").option("--manifest <path>", "manifest.json path", "manifest.json").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (newSlug, opts) => {
656
- const { runAppsRenameSlug } = await import("./apps-rename-slug-DYrk4Zpt.js");
656
+ const { runAppsRenameSlug } = await import("./apps-rename-slug-BGpitGyw.js");
657
657
  process.exit(await runAppsRenameSlug({
658
658
  newSlug,
659
659
  cwd: opts.cwd,
@@ -671,7 +671,7 @@ apps.command("publish").description("Publish or update an Anna App (manifest.jso
671
671
  console.error(`✗ --bump must be patch|minor|major (got: ${opts.bump})`);
672
672
  process.exit(2);
673
673
  }
674
- const { runAppsPublish } = await import("./apps-publish-DiSpTGHD.js");
674
+ const { runAppsPublish } = await import("./apps-publish-CrpTz6WY.js");
675
675
  process.exit(await runAppsPublish({
676
676
  cwd: opts.cwd,
677
677
  manifest: opts.manifest,
@@ -705,7 +705,7 @@ apps.command("push").description("Upsert the mutable working draft (manifest + b
705
705
  process.exit(2);
706
706
  }
707
707
  }
708
- const { runAppsPush } = await import("./apps-push-BDApmojT.js");
708
+ const { runAppsPush } = await import("./apps-push-CNOI2ruX.js");
709
709
  process.exit(await runAppsPush({
710
710
  cwd: opts.cwd,
711
711
  manifest: opts.manifest,
@@ -725,7 +725,7 @@ apps.command("push").description("Upsert the mutable working draft (manifest + b
725
725
  }));
726
726
  });
727
727
  apps.command("cut <version>").description("Snapshot the working draft into an immutable version (freeze deps)").option("--changelog <text>", "Override the working draft changelog for this version").option("--slug <slug>", "App slug (default: resolve from .anna/app.json cache)").option("--cwd <dir>", "Project root for identity cache (default: cwd)").option("--dry-run", "Resolve target but don't cut", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (version, opts) => {
728
- const { runAppsCut } = await import("./apps-cut-BC1j7tcw.js");
728
+ const { runAppsCut } = await import("./apps-cut-DWodD5oE.js");
729
729
  process.exit(await runAppsCut({
730
730
  version,
731
731
  changelog: opts.changelog,
@@ -737,7 +737,7 @@ apps.command("cut <version>").description("Snapshot the working draft into an im
737
737
  }));
738
738
  });
739
739
  apps.command("discard").description("Drop the mutable working draft (leaves cut versions intact)").option("--slug <slug>", "App slug (default: resolve from .anna/app.json cache)").option("--cwd <dir>", "Project root for identity cache (default: cwd)").option("--dry-run", "Resolve target but don't discard", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
740
- const { runAppsDiscard } = await import("./apps-discard-Be-0TnPa.js");
740
+ const { runAppsDiscard } = await import("./apps-discard-5z0K4-o3.js");
741
741
  process.exit(await runAppsDiscard({
742
742
  slug: opts.slug,
743
743
  cwd: opts.cwd,
@@ -747,7 +747,7 @@ apps.command("discard").description("Drop the mutable working draft (leaves cut
747
747
  }));
748
748
  });
749
749
  apps.command("release <version>").description("Freeze & publish an existing remote version (go live)").option("--slug <slug>", "App slug (default: resolve from .anna/app.json cache)").option("--cwd <dir>", "Project root for identity cache (default: cwd)").option("--allow-create", "If the version isn't on the server, run 'apps publish' first, then release", false).option("--dry-run", "Resolve target + pre-flight but don't publish", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (version, opts) => {
750
- const { runAppsRelease } = await import("./apps-release-KoREGpKk.js");
750
+ const { runAppsRelease } = await import("./apps-release-DuaJI9iX.js");
751
751
  process.exit(await runAppsRelease({
752
752
  version,
753
753
  slug: opts.slug,
@@ -759,7 +759,7 @@ apps.command("release <version>").description("Freeze & publish an existing remo
759
759
  }));
760
760
  });
761
761
  apps.command("sync-meta").description("Push mutable store metadata (name/tagline/…) from the manifest").option("--cwd <dir>", "Project root (default: cwd)").option("--manifest <path>", "manifest.json path", "manifest.json").option("--logo <path>", "Local logo file to upload (overrides app.json logo_file)").option("--dry-run", "Print the metadata diff but don't PATCH", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
762
- const { runAppsSyncMeta } = await import("./apps-sync-meta-32oHqPlp.js");
762
+ const { runAppsSyncMeta } = await import("./apps-sync-meta-87RK1Usm.js");
763
763
  process.exit(await runAppsSyncMeta({
764
764
  cwd: opts.cwd,
765
765
  manifest: opts.manifest,
@@ -770,7 +770,7 @@ apps.command("sync-meta").description("Push mutable store metadata (name/tagline
770
770
  }));
771
771
  });
772
772
  apps.command("submit-review [slug]").description("Move an app into review (DRAFT/REJECTED → PENDING_REVIEW)").option("--cwd <dir>", "Project root for identity cache (default: cwd)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
773
- const { runAppsSubmitReview } = await import("./apps-submit-review-DNrQc2ws.js");
773
+ const { runAppsSubmitReview } = await import("./apps-submit-review-BmPjkoe9.js");
774
774
  process.exit(await runAppsSubmitReview({
775
775
  slug,
776
776
  cwd: opts.cwd,
@@ -779,7 +779,7 @@ apps.command("submit-review [slug]").description("Move an app into review (DRAFT
779
779
  }));
780
780
  });
781
781
  apps.command("status <slug>").description("Show server-known state for one Anna App").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
782
- const { runAppsStatus } = await import("./apps-status-CcCoYu6i.js");
782
+ const { runAppsStatus } = await import("./apps-status-BVIL6DYc.js");
783
783
  process.exit(await runAppsStatus({
784
784
  slug,
785
785
  account: opts.account,
@@ -787,7 +787,7 @@ apps.command("status <slug>").description("Show server-known state for one Anna
787
787
  }));
788
788
  });
789
789
  apps.command("versions <slug>").description("List all server versions of one Anna App").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
790
- const { runAppsVersions } = await import("./apps-versions-2BR8xo7C.js");
790
+ const { runAppsVersions } = await import("./apps-versions-DfapYfW-.js");
791
791
  process.exit(await runAppsVersions({
792
792
  slug,
793
793
  account: opts.account,
@@ -795,7 +795,7 @@ apps.command("versions <slug>").description("List all server versions of one Ann
795
795
  }));
796
796
  });
797
797
  apps.command("grants <slug>").description("Show currently granted scopes/quota for one Anna App").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
798
- const { runAppsGrants } = await import("./apps-grants-lmllFB02.js");
798
+ const { runAppsGrants } = await import("./apps-grants-baOFOxnO.js");
799
799
  process.exit(await runAppsGrants({
800
800
  slug,
801
801
  account: opts.account,
@@ -803,7 +803,7 @@ apps.command("grants <slug>").description("Show currently granted scopes/quota f
803
803
  }));
804
804
  });
805
805
  apps.command("unpublish <slug>").description("Flip a PUBLISHED app back to APPROVED (private)").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
806
- const { runAppsUnpublish } = await import("./apps-destructive-a2YBmWFm.js");
806
+ const { runAppsUnpublish } = await import("./apps-destructive-BVjpOxNF.js");
807
807
  process.exit(await runAppsUnpublish({
808
808
  slug,
809
809
  yes: opts.yes,
@@ -813,7 +813,7 @@ apps.command("unpublish <slug>").description("Flip a PUBLISHED app back to APPRO
813
813
  }));
814
814
  });
815
815
  apps.command("archive <slug>").description("Archive an Anna App (hides it from end users)").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
816
- const { runAppsArchive } = await import("./apps-destructive-a2YBmWFm.js");
816
+ const { runAppsArchive } = await import("./apps-destructive-BVjpOxNF.js");
817
817
  process.exit(await runAppsArchive({
818
818
  slug,
819
819
  yes: opts.yes,
@@ -823,7 +823,7 @@ apps.command("archive <slug>").description("Archive an Anna App (hides it from e
823
823
  }));
824
824
  });
825
825
  apps.command("unarchive <slug>").description("Restore an archived Anna App back to APPROVED").option("--yes", "Acknowledge the operation", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
826
- const { runAppsUnarchive } = await import("./apps-destructive-a2YBmWFm.js");
826
+ const { runAppsUnarchive } = await import("./apps-destructive-BVjpOxNF.js");
827
827
  process.exit(await runAppsUnarchive({
828
828
  slug,
829
829
  yes: opts.yes,
@@ -832,7 +832,7 @@ apps.command("unarchive <slug>").description("Restore an archived Anna App back
832
832
  }));
833
833
  });
834
834
  apps.command("delete <slug>").description("Hard-delete an Anna App (refused by server if installs exist)").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
835
- const { runAppsDelete } = await import("./apps-destructive-a2YBmWFm.js");
835
+ const { runAppsDelete } = await import("./apps-destructive-BVjpOxNF.js");
836
836
  process.exit(await runAppsDelete({
837
837
  slug,
838
838
  yes: opts.yes,
@@ -842,14 +842,14 @@ apps.command("delete <slug>").description("Hard-delete an Anna App (refused by s
842
842
  }));
843
843
  });
844
844
  executa.command("list").description("List Executas owned by the current PAT").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
845
- const { runExecutaList } = await import("./executa-reads-BmwT_Yjp.js");
845
+ const { runExecutaList } = await import("./executa-reads-BYKUADoL.js");
846
846
  process.exit(await runExecutaList({
847
847
  account: opts.account,
848
848
  json: opts.json
849
849
  }));
850
850
  });
851
851
  executa.command("status <ref>").description("Show server-known state for one Executa (slug or tool_id)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (ref, opts) => {
852
- const { runExecutaStatus } = await import("./executa-reads-BmwT_Yjp.js");
852
+ const { runExecutaStatus } = await import("./executa-reads-BYKUADoL.js");
853
853
  process.exit(await runExecutaStatus({
854
854
  ref,
855
855
  account: opts.account,
@@ -857,7 +857,7 @@ executa.command("status <ref>").description("Show server-known state for one Exe
857
857
  }));
858
858
  });
859
859
  executa.command("versions <ref>").description("List immutable version snapshots for one Executa").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (ref, opts) => {
860
- const { runExecutaVersions } = await import("./executa-reads-BmwT_Yjp.js");
860
+ const { runExecutaVersions } = await import("./executa-reads-BYKUADoL.js");
861
861
  process.exit(await runExecutaVersions({
862
862
  ref,
863
863
  account: opts.account,
@@ -873,7 +873,7 @@ executa.command("publish").description("Mint or update an Executa (executa.json
873
873
  console.error(`✗ --bump must be patch|minor|major (got: ${opts.bump})`);
874
874
  process.exit(2);
875
875
  }
876
- const { runExecutaPublish } = await import("./executa-publish-2lAhRQvN.js");
876
+ const { runExecutaPublish } = await import("./executa-publish-6awuH4Ma.js");
877
877
  process.exit(await runExecutaPublish({
878
878
  cwd: opts.cwd,
879
879
  manifest: opts.manifest,
@@ -887,7 +887,7 @@ executa.command("publish").description("Mint or update an Executa (executa.json
887
887
  }));
888
888
  });
889
889
  executa.command("upload-binaries").description("Push the local binary_artifacts declared in executa.json straight to the platform CDN (no public source URL needed — works for private repos). Requires a minted identity (.anna/executa.json from `executa publish` / `apps push`) or --tool-id.").option("--dir <path>", "Executa project dir (default: CWD)").option("--dry-run", "Hash artifacts + validate the plan server-side without uploading", false).option("--oidc", "Mint the upload token from the GitHub Actions OIDC id-token instead of a PAT (zero long-term secrets; needs `permissions: id-token: write` and a registered trusted publisher)", false).option("--tool-id <id>", "Explicit tool_id (skip the identity cache)").option("--host <url>", "Nexus host (required with --oidc unless ANNA_APP_HOST is set)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
890
- const { runExecutaUploadBinaries } = await import("./executa-upload-binaries-DrwpzQp3.js");
890
+ const { runExecutaUploadBinaries } = await import("./executa-upload-binaries-FWM2yXfB.js");
891
891
  process.exit(await runExecutaUploadBinaries({
892
892
  dir: opts.dir,
893
893
  dryRun: opts.dryRun,
@@ -900,11 +900,11 @@ executa.command("upload-binaries").description("Push the local binary_artifacts
900
900
  });
901
901
  const trustedPublisher = executa.command("trusted-publisher").description("Manage the GitHub Actions identities allowed to publish binaries for an executa via OIDC (zero-secret CI; pairs with `executa upload-binaries --oidc`)");
902
902
  trustedPublisher.command("add").description("Register a {repository, workflow, environment?} triple").requiredOption("--repository <owner/repo>", "GitHub repository").requiredOption("--workflow <file>", "Workflow file, e.g. \"publish.yml\"").option("--environment <name>", "GitHub Environment gate (default: any)").option("--dir <path>", "Executa project dir (default: CWD)").option("--tool-id <id>", "Explicit tool_id (skip the identity cache)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
903
- const { runTrustedPublisherAdd } = await import("./executa-trusted-publisher-tVwzjI2d.js");
903
+ const { runTrustedPublisherAdd } = await import("./executa-trusted-publisher-BGqz6hMt.js");
904
904
  process.exit(await runTrustedPublisherAdd(opts));
905
905
  });
906
906
  trustedPublisher.command("list").description("List registered trusted publishers").option("--dir <path>", "Executa project dir (default: CWD)").option("--tool-id <id>", "Explicit tool_id (skip the identity cache)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
907
- const { runTrustedPublisherList } = await import("./executa-trusted-publisher-tVwzjI2d.js");
907
+ const { runTrustedPublisherList } = await import("./executa-trusted-publisher-BGqz6hMt.js");
908
908
  process.exit(await runTrustedPublisherList(opts));
909
909
  });
910
910
  trustedPublisher.command("remove <publisher-id>").description("Remove a trusted publisher registration by id").option("--dir <path>", "Executa project dir (default: CWD)").option("--tool-id <id>", "Explicit tool_id (skip the identity cache)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (publisherId, opts) => {
@@ -913,14 +913,14 @@ trustedPublisher.command("remove <publisher-id>").description("Remove a trusted
913
913
  console.error(`✗ publisher-id must be a positive integer (got "${publisherId}")`);
914
914
  process.exit(2);
915
915
  }
916
- const { runTrustedPublisherRemove } = await import("./executa-trusted-publisher-tVwzjI2d.js");
916
+ const { runTrustedPublisherRemove } = await import("./executa-trusted-publisher-BGqz6hMt.js");
917
917
  process.exit(await runTrustedPublisherRemove({
918
918
  ...opts,
919
919
  publisherId: id
920
920
  }));
921
921
  });
922
922
  executa.command("unpublish <slug>").description("Flip an Executa's visibility back to private").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
923
- const { runExecutaUnpublish } = await import("./executa-destructive-DCfQ1ez5.js");
923
+ const { runExecutaUnpublish } = await import("./executa-destructive-Du7RGJgn.js");
924
924
  process.exit(await runExecutaUnpublish({
925
925
  slug,
926
926
  yes: opts.yes,
@@ -930,7 +930,7 @@ executa.command("unpublish <slug>").description("Flip an Executa's visibility ba
930
930
  }));
931
931
  });
932
932
  executa.command("yank <ref>").description("Hard-delete one Executa version (<slug>@<version>)").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (ref, opts) => {
933
- const { runExecutaYank } = await import("./executa-destructive-DCfQ1ez5.js");
933
+ const { runExecutaYank } = await import("./executa-destructive-Du7RGJgn.js");
934
934
  process.exit(await runExecutaYank({
935
935
  ref,
936
936
  yes: opts.yes,
@@ -940,7 +940,7 @@ executa.command("yank <ref>").description("Hard-delete one Executa version (<slu
940
940
  }));
941
941
  });
942
942
  executa.command("delete <slug>").description("Hard-delete an Executa").option("--yes", "Acknowledge the destructive operation", false).option("--confirm <slug>", "Slug confirmation (must match target)").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (slug, opts) => {
943
- const { runExecutaDelete } = await import("./executa-destructive-DCfQ1ez5.js");
943
+ const { runExecutaDelete } = await import("./executa-destructive-Du7RGJgn.js");
944
944
  process.exit(await runExecutaDelete({
945
945
  slug,
946
946
  yes: opts.yes,
@@ -965,7 +965,7 @@ executa.command("cache-clear").description("Delete the local `.anna/executa.json
965
965
  });
966
966
  const token = program.command("token").description("Manage developer PATs (list / revoke / scopes)");
967
967
  token.command("list").description("List the caller's PATs (most-recent first)").option("--include-revoked", "Also show revoked PATs", false).option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
968
- const { runTokenList } = await import("./token-COnYMRB-.js");
968
+ const { runTokenList } = await import("./token-TgBQumgy.js");
969
969
  process.exit(await runTokenList({
970
970
  includeRevoked: opts.includeRevoked,
971
971
  account: opts.account,
@@ -978,7 +978,7 @@ token.command("revoke <id>").description("Revoke one of the caller's PATs by id"
978
978
  console.error(`✗ token id must be a positive integer (got: ${id})`);
979
979
  process.exit(2);
980
980
  }
981
- const { runTokenRevoke } = await import("./token-COnYMRB-.js");
981
+ const { runTokenRevoke } = await import("./token-TgBQumgy.js");
982
982
  process.exit(await runTokenRevoke({
983
983
  id: idNum,
984
984
  account: opts.account,
@@ -986,7 +986,7 @@ token.command("revoke <id>").description("Revoke one of the caller's PATs by id"
986
986
  }));
987
987
  });
988
988
  token.command("scopes").description("Print the available PAT scope catalogue").option("--account <host>", "Saved account host (default: current)").option("--json", "Emit machine-readable JSON", false).action(async (opts) => {
989
- const { runTokenScopes } = await import("./token-COnYMRB-.js");
989
+ const { runTokenScopes } = await import("./token-TgBQumgy.js");
990
990
  process.exit(await runTokenScopes({
991
991
  account: opts.account,
992
992
  json: opts.json
@@ -1001,7 +1001,7 @@ program.command("publish").description("Auto-detect cwd and publish (apps publis
1001
1001
  console.error(`✗ --bump must be patch|minor|major (got: ${opts.bump})`);
1002
1002
  process.exit(2);
1003
1003
  }
1004
- const { runTopLevelPublish } = await import("./publish-B67_cXdw.js");
1004
+ const { runTopLevelPublish } = await import("./publish-Bg4TkKoX.js");
1005
1005
  process.exit(await runTopLevelPublish({
1006
1006
  cwd: opts.cwd,
1007
1007
  bump: opts.bump,
@@ -111,7 +111,7 @@ var NexusClient = class {
111
111
  body
112
112
  });
113
113
  }
114
- throw new CliError(`forbidden (403): ${describeBody(body)}`, 3, {
114
+ throw new CliError(`forbidden (403): ${describeBody(body)}` + (/verified developer/i.test(describeBody(body)) ? `\n Developer access is self-serve now — activate it in the web console: ${this.host}/developer` : ""), 3, {
115
115
  status,
116
116
  body
117
117
  });
@@ -1,4 +1,4 @@
1
- import { CliError } from "./client-D-_z1ALk.js";
1
+ import { CliError } from "./client-sMzq2PWG.js";
2
2
  import { yellow } from "kleur/colors";
3
3
  import { createInterface } from "node:readline/promises";
4
4
 
@@ -0,0 +1,4 @@
1
+ import "./nexus-root-BlPwOusj.js";
2
+ import { parseExecutaSpec, runDev } from "./dev-ClCDRplP.js";
3
+
4
+ export { parseExecutaSpec, runDev };
@@ -61,8 +61,8 @@ async function runDev(opts) {
61
61
  }
62
62
  process.env.ANNA_APP_RUNTIME_WEB_MODE = "real";
63
63
  }
64
- const { PythonBridge, PINNED_RUNTIME_VERSION } = await import("./bridge-CCubXGh7.js");
65
- const { HarnessServer } = await import("./server-DKGo2PmS.js");
64
+ const { PythonBridge, PINNED_RUNTIME_VERSION } = await import("./bridge-BP28T06H.js");
65
+ const { HarnessServer } = await import("./server-Dr_htFv8.js");
66
66
  const bridge = new PythonBridge({
67
67
  mode,
68
68
  matrixNexusRoot: matrixNexusRoot ?? void 0,
@@ -102,7 +102,7 @@ async function runDev(opts) {
102
102
  if (executas.length > 0) console.log(` executas ${dim(executas.map((e) => e.tool_id).join(", "))}`);
103
103
  const bundledResolved = resolveBundledHandles(dirname(manifestPath), executas);
104
104
  if (Object.keys(bundledResolved).length > 0) {
105
- const { substituteBundledRefs, writeBundleToolIdSidecar } = await import("./bundled-executas-Bp9Z6aiR.js");
105
+ const { substituteBundledRefs, writeBundleToolIdSidecar } = await import("./bundled-executas-DvdaUh2i.js");
106
106
  try {
107
107
  manifest = substituteBundledRefs(manifest, bundledResolved);
108
108
  writeBundleToolIdSidecar(bundleDir, bundledResolved);
@@ -1,5 +1,5 @@
1
1
  import { findMatrixNexusRoot, nexusSchemaDir } from "./nexus-root-BlPwOusj.js";
2
- import { PINNED_RUNTIME_VERSION } from "./bridge-BBCJZ0jY.js";
2
+ import { PINNED_RUNTIME_VERSION } from "./bridge-sFHqOOat.js";
3
3
  import { resolve } from "node:path";
4
4
  import { existsSync, statSync } from "node:fs";
5
5
  import { spawnSync } from "node:child_process";
@@ -1,8 +1,8 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { deleteMyTool, listMyTools, listToolVersions, unpublishTool, yankToolVersion } from "./executas-CvQY_w2U.js";
5
- import { ensureDestructiveAllowed } from "./confirm-BSoOy1X2.js";
5
+ import { ensureDestructiveAllowed } from "./confirm-ChZAVrZe.js";
6
6
  import { dim, green, yellow } from "kleur/colors";
7
7
 
8
8
  //#region src/commands/executa-destructive.ts
@@ -1,5 +1,5 @@
1
1
  import "./nexus-root-BlPwOusj.js";
2
- import { parseExecutaSpec } from "./dev-DKXNkQzp.js";
2
+ import { parseExecutaSpec } from "./dev-ClCDRplP.js";
3
3
  import { isAbsolute, resolve } from "node:path";
4
4
  import { existsSync } from "node:fs";
5
5
  import { bold, cyan, dim, green, red, yellow } from "kleur/colors";
@@ -1,5 +1,5 @@
1
1
  import { readExecutaIdentity } from "./executa-cache-BFoUtb4J.js";
2
- import { parseExecutaSpec } from "./dev-DKXNkQzp.js";
2
+ import { parseExecutaSpec } from "./dev-ClCDRplP.js";
3
3
  import { isAbsolute, join, resolve } from "node:path";
4
4
  import { chmodSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
5
5
  import { bold, cyan, dim, green, red, yellow } from "kleur/colors";
@@ -0,0 +1,7 @@
1
+ import "./credentials-BTv2IfUZ.js";
2
+ import "./nexus-root-BlPwOusj.js";
3
+ import "./executa-cache-BFoUtb4J.js";
4
+ import "./dev-ClCDRplP.js";
5
+ import { runExecutaInstall } from "./executa-install-CM4x4doq.js";
6
+
7
+ export { runExecutaInstall };
@@ -0,0 +1,11 @@
1
+ import "./credentials-BTv2IfUZ.js";
2
+ import "./client-sMzq2PWG.js";
3
+ import "./_lifecycle-shared-_9BzQ9Y2.js";
4
+ import "./executa-cache-BFoUtb4J.js";
5
+ import "./manifest-B_DjigtQ.js";
6
+ import "./executas-CvQY_w2U.js";
7
+ import { runExecutaPublish } from "./executa-publish-BKnsUoZq.js";
8
+ import "./binary-upload-DVhQ0uY0.js";
9
+ import "./executa-upload-binaries-DwWQ18Dq.js";
10
+
11
+ export { runExecutaPublish };
@@ -1,10 +1,10 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { executaCacheMatches, invalidateExecutaCache, mintIdempotencyKey, readExecutaIdentity, writeExecutaIdentity } from "./executa-cache-BFoUtb4J.js";
5
- import { loadExecutaManifest } from "./manifest-CAF3_r1T.js";
5
+ import { loadExecutaManifest } from "./manifest-B_DjigtQ.js";
6
6
  import { commitDraft, createDraft, getMySkill, getMyTool, listToolVersions, publishToolVersion, setSkillVisibility, setToolVisibility, updateMySkill, updateMyTool } from "./executas-CvQY_w2U.js";
7
- import { uploadExecutaBinaries } from "./executa-upload-binaries-DURJTXRI.js";
7
+ import { uploadExecutaBinaries } from "./executa-upload-binaries-DwWQ18Dq.js";
8
8
  import { join, relative, resolve, sep } from "node:path";
9
9
  import { readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
10
10
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
@@ -1,6 +1,6 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { getMyTool, listMyTools, listToolVersions } from "./executas-CvQY_w2U.js";
5
5
  import { bold, cyan, dim, green } from "kleur/colors";
6
6
 
@@ -1,8 +1,8 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { readExecutaIdentity } from "./executa-cache-BFoUtb4J.js";
5
- import { addTrustedPublisher, listTrustedPublishers, removeTrustedPublisher } from "./binary-upload-CKMU5Rfw.js";
5
+ import { addTrustedPublisher, listTrustedPublishers, removeTrustedPublisher } from "./binary-upload-DVhQ0uY0.js";
6
6
  import { resolve } from "node:path";
7
7
  import { bold, cyan, dim, green } from "kleur/colors";
8
8
 
@@ -1,9 +1,9 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { readExecutaIdentity } from "./executa-cache-BFoUtb4J.js";
5
- import { loadExecutaManifest } from "./manifest-CAF3_r1T.js";
6
- import { fetchGitHubIdToken, finalizeBinaryUpload, initBinaryUpload, mintUploadSession, mintUploadSessionViaOidc, uploadBinaryPart } from "./binary-upload-CKMU5Rfw.js";
5
+ import { loadExecutaManifest } from "./manifest-B_DjigtQ.js";
6
+ import { fetchGitHubIdToken, finalizeBinaryUpload, initBinaryUpload, mintUploadSession, mintUploadSessionViaOidc, uploadBinaryPart } from "./binary-upload-DVhQ0uY0.js";
7
7
  import { isAbsolute, resolve } from "node:path";
8
8
  import { closeSync, createReadStream, existsSync, openSync, readSync, statSync } from "node:fs";
9
9
  import { bold, cyan, dim, green, yellow } from "kleur/colors";
@@ -0,0 +1,9 @@
1
+ import "./credentials-BTv2IfUZ.js";
2
+ import "./client-sMzq2PWG.js";
3
+ import "./_lifecycle-shared-_9BzQ9Y2.js";
4
+ import "./executa-cache-BFoUtb4J.js";
5
+ import "./manifest-B_DjigtQ.js";
6
+ import "./binary-upload-DVhQ0uY0.js";
7
+ import { expandArtifactPath, resolveArtifactPlan, runExecutaUploadBinaries, uploadExecutaBinaries, uploadPlannedParts } from "./executa-upload-binaries-DwWQ18Dq.js";
8
+
9
+ export { runExecutaUploadBinaries };
@@ -1,5 +1,5 @@
1
1
  import { patchApp, uploadAppLogo, uploadAppScreenshot } from "./apps-DlVsVHQ5.js";
2
- import { CliError } from "./client-D-_z1ALk.js";
2
+ import { CliError } from "./client-sMzq2PWG.js";
3
3
  import { extname, resolve } from "node:path";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
 
@@ -39,8 +39,7 @@ const LISTING_META_LIMITS = {
39
39
  cover_url: 500,
40
40
  homepage_url: 500,
41
41
  support_url: 500,
42
- privacy_url: 500,
43
- pricing_model: 20
42
+ privacy_url: 500
44
43
  };
45
44
  function checkListingLimit(key, value) {
46
45
  const max = LISTING_META_LIMITS[key];
@@ -74,7 +73,6 @@ function buildMeta(manifest) {
74
73
  addClearable("homepage_url", manifest.homepageUrl);
75
74
  addClearable("support_url", manifest.supportUrl);
76
75
  addClearable("privacy_url", manifest.privacyUrl);
77
- add("pricing_model", manifest.pricingModel);
78
76
  return meta;
79
77
  }
80
78
  /**
@@ -1,4 +1,4 @@
1
- import { CliError } from "./client-D-_z1ALk.js";
1
+ import { CliError } from "./client-sMzq2PWG.js";
2
2
  import { resolve } from "node:path";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
 
@@ -78,8 +78,7 @@ function loadAppManifest(cwd, manifestPath) {
78
78
  screenshots: pickMetaArray("screenshots"),
79
79
  homepageUrl: pickClearableMeta("homepage_url"),
80
80
  supportUrl: pickClearableMeta("support_url"),
81
- privacyUrl: pickClearableMeta("privacy_url"),
82
- pricingModel: pickMeta("pricing_model")
81
+ privacyUrl: pickClearableMeta("privacy_url")
83
82
  };
84
83
  }
85
84
  const HANDLE_RE = /^[a-z0-9][a-z0-9-]{0,62}$/;
@@ -1,18 +1,18 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
2
  import "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
5
5
  import "./executa-cache-BFoUtb4J.js";
6
- import "./bundled-executas-rSIkaA6-.js";
7
- import "./manifest-CAF3_r1T.js";
6
+ import "./bundled-executas-BRyQkI9u.js";
7
+ import "./manifest-B_DjigtQ.js";
8
8
  import "./executas-CvQY_w2U.js";
9
- import { runExecutaPublish } from "./executa-publish-DueD_0hh.js";
10
- import "./binary-upload-CKMU5Rfw.js";
11
- import "./executa-upload-binaries-DURJTXRI.js";
9
+ import { runExecutaPublish } from "./executa-publish-BKnsUoZq.js";
10
+ import "./binary-upload-DVhQ0uY0.js";
11
+ import "./executa-upload-binaries-DwWQ18Dq.js";
12
12
  import "./app-cache-Cr3tKbux.js";
13
- import "./listing-meta-CSopUol3.js";
14
- import "./app-bundle-upload-DgoZIhQG.js";
15
- import { runAppsPublish } from "./apps-publish-CqN0w8sw.js";
13
+ import "./listing-meta-35VYXW5a.js";
14
+ import "./app-bundle-upload-CzWR9jxI.js";
15
+ import { runAppsPublish } from "./apps-publish-Ck-2BEu3.js";
16
16
  import { resolve } from "node:path";
17
17
  import { existsSync } from "node:fs";
18
18
  import { red, yellow } from "kleur/colors";
@@ -1,5 +1,5 @@
1
1
  import { canonicalHost, getAccount } from "./credentials-BTv2IfUZ.js";
2
- import { BridgeRequestError } from "./bridge-BBCJZ0jY.js";
2
+ import { BridgeRequestError } from "./bridge-sFHqOOat.js";
3
3
  import { dirname, join, normalize, resolve } from "node:path";
4
4
  import { createRequire } from "node:module";
5
5
  import { createReadStream, existsSync, readFileSync, statSync, watch } from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import "./credentials-BTv2IfUZ.js";
2
- import "./client-D-_z1ALk.js";
3
- import { resolveClient, withErrorHandling } from "./_lifecycle-shared-RyiRITI5.js";
2
+ import "./client-sMzq2PWG.js";
3
+ import { resolveClient, withErrorHandling } from "./_lifecycle-shared-_9BzQ9Y2.js";
4
4
  import { bold, cyan, dim, green, red, yellow } from "kleur/colors";
5
5
 
6
6
  //#region src/api/tokens.ts
@@ -1,10 +1,10 @@
1
1
  import { canonicalHost } from "./credentials-BTv2IfUZ.js";
2
2
  import { createApp, findAppBySlug, getApp } from "./apps-DlVsVHQ5.js";
3
- import { CliError } from "./client-D-_z1ALk.js";
4
- import { parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-rSIkaA6-.js";
5
- import { loadExecutaManifest } from "./manifest-CAF3_r1T.js";
6
- import { runExecutaPublish } from "./executa-publish-DueD_0hh.js";
7
- import { runExecutaInstall } from "./executa-install-ht8Fz4wc.js";
3
+ import { CliError } from "./client-sMzq2PWG.js";
4
+ import { parseExecutaIdOverrides, readExecutasLock, substituteBundledRefs, validateBundledHandles, writeBundleToolIdSidecar, writeExecutasLock } from "./bundled-executas-BRyQkI9u.js";
5
+ import { loadExecutaManifest } from "./manifest-B_DjigtQ.js";
6
+ import { runExecutaPublish } from "./executa-publish-BKnsUoZq.js";
7
+ import { runExecutaInstall } from "./executa-install-CM4x4doq.js";
8
8
  import { appCacheMatches, readAppIdentity, writeAppIdentity } from "./app-cache-Cr3tKbux.js";
9
9
  import { join, resolve } from "node:path";
10
10
  import { dim, green, yellow } from "kleur/colors";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anna-ai/cli",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "description": "Anna App developer CLI: scaffold, validate, harness (Phase 2 MVP: init + validate).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -2,6 +2,5 @@
2
2
  "name": "__SLUG__",
3
3
  "tagline": "TODO",
4
4
  "description": "TODO",
5
- "category": "productivity",
6
- "pricing_model": "free"
5
+ "category": "productivity"
7
6
  }
@@ -1,17 +0,0 @@
1
- import "./credentials-BTv2IfUZ.js";
2
- import "./apps-DlVsVHQ5.js";
3
- import "./client-D-_z1ALk.js";
4
- import "./_lifecycle-shared-RyiRITI5.js";
5
- import "./executa-cache-BFoUtb4J.js";
6
- import "./bundled-executas-rSIkaA6-.js";
7
- import "./manifest-CAF3_r1T.js";
8
- import "./executas-CvQY_w2U.js";
9
- import "./executa-publish-DueD_0hh.js";
10
- import "./binary-upload-CKMU5Rfw.js";
11
- import "./executa-upload-binaries-DURJTXRI.js";
12
- import "./app-cache-Cr3tKbux.js";
13
- import "./listing-meta-CSopUol3.js";
14
- import "./app-bundle-upload-DgoZIhQG.js";
15
- import { runAppsPublish } from "./apps-publish-CqN0w8sw.js";
16
-
17
- export { runAppsPublish };
@@ -1,3 +0,0 @@
1
- import { BridgeRequestError, PINNED_RUNTIME_VERSION, PythonBridge } from "./bridge-BBCJZ0jY.js";
2
-
3
- export { PINNED_RUNTIME_VERSION, PythonBridge };
@@ -1,4 +0,0 @@
1
- import "./nexus-root-BlPwOusj.js";
2
- import { parseExecutaSpec, runDev } from "./dev-DKXNkQzp.js";
3
-
4
- export { parseExecutaSpec, runDev };
@@ -1,7 +0,0 @@
1
- import "./credentials-BTv2IfUZ.js";
2
- import "./nexus-root-BlPwOusj.js";
3
- import "./executa-cache-BFoUtb4J.js";
4
- import "./dev-DKXNkQzp.js";
5
- import { runExecutaInstall } from "./executa-install-ht8Fz4wc.js";
6
-
7
- export { runExecutaInstall };
@@ -1,11 +0,0 @@
1
- import "./credentials-BTv2IfUZ.js";
2
- import "./client-D-_z1ALk.js";
3
- import "./_lifecycle-shared-RyiRITI5.js";
4
- import "./executa-cache-BFoUtb4J.js";
5
- import "./manifest-CAF3_r1T.js";
6
- import "./executas-CvQY_w2U.js";
7
- import { runExecutaPublish } from "./executa-publish-DueD_0hh.js";
8
- import "./binary-upload-CKMU5Rfw.js";
9
- import "./executa-upload-binaries-DURJTXRI.js";
10
-
11
- export { runExecutaPublish };
@@ -1,9 +0,0 @@
1
- import "./credentials-BTv2IfUZ.js";
2
- import "./client-D-_z1ALk.js";
3
- import "./_lifecycle-shared-RyiRITI5.js";
4
- import "./executa-cache-BFoUtb4J.js";
5
- import "./manifest-CAF3_r1T.js";
6
- import "./binary-upload-CKMU5Rfw.js";
7
- import { expandArtifactPath, resolveArtifactPlan, runExecutaUploadBinaries, uploadExecutaBinaries, uploadPlannedParts } from "./executa-upload-binaries-DURJTXRI.js";
8
-
9
- export { runExecutaUploadBinaries };