@akanjs/cli 3.0.0-alpha.76 → 3.0.0-alpha.77

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 (43) hide show
  1. package/.build-stamp +1 -1
  2. package/{agent.command-j4744bct.js → agent.command-q2rgd8jz.js} +5 -5
  3. package/{application.command-1sq0zwqx.js → application.command-tfrqva07.js} +7 -4
  4. package/buildBatch.proc.js +1 -1
  5. package/{capacitorApp-nqnvsbv2.js → capacitorApp-szqr3cxr.js} +2 -2
  6. package/{cloud.command-ajkhg234.js → cloud.command-pjtg4azj.js} +7 -7
  7. package/commandManifest.json +1 -1
  8. package/{context.command-jxga9cc9.js → context.command-zx88k7e0.js} +12 -12
  9. package/{guideline.command-2fts4m5x.js → guideline.command-85x1tvjb.js} +2 -2
  10. package/incrementalBuilder.proc.js +1 -1
  11. package/{index-2j5xrm1c.js → index-0cdwa7qj.js} +2 -2
  12. package/{index-6wsjpt7b.js → index-1szrbtj9.js} +1 -1
  13. package/{index-yzsp0jgb.js → index-4930mtpt.js} +117 -4
  14. package/{index-aevn8b0n.js → index-6w77v5df.js} +1 -1
  15. package/{index-peg7zphh.js → index-7x5ks4ph.js} +4 -4
  16. package/{index-5yxz0zzc.js → index-dfn0kqj7.js} +3 -3
  17. package/{index-qgzzz44h.js → index-e00k7eme.js} +5 -5
  18. package/{index-120pzxb2.js → index-egng0kc4.js} +3 -3
  19. package/{index-qhy7zdmz.js → index-ffrhjdwd.js} +2 -2
  20. package/{index-85rdqkfx.js → index-hffr3myr.js} +3 -3
  21. package/{index-0zabybjx.js → index-kpxg3p1v.js} +10 -10
  22. package/{index-j8rp2kdv.js → index-qwfwk8be.js} +3 -3
  23. package/{index-aczwndks.js → index-w0g7hcr7.js} +2 -2
  24. package/{index-v6p94mz1.js → index-ws5zt62x.js} +4 -4
  25. package/index-ym4xqjhy.js +217 -0
  26. package/{index-mk1x6sad.js → index-yz8988we.js} +1 -1
  27. package/{index-mpka7dq4.js → index-zec5gcx0.js} +1 -1
  28. package/{index-004ah39s.js → index-zkrzv21w.js} +11 -1
  29. package/index.js +18 -18
  30. package/{library.command-tfkfhbcb.js → library.command-sjnqhzn2.js} +6 -3
  31. package/{localRegistry.command-rhn2mh9j.js → localRegistry.command-02dy0h6v.js} +6 -6
  32. package/{module.command-29xg1kzr.js → module.command-8vfy9pgk.js} +5 -5
  33. package/{package.command-j6yn5c7h.js → package.command-af8sxhff.js} +3 -3
  34. package/package.json +2 -2
  35. package/{page.command-vgxetvga.js → page.command-gr6rbz17.js} +3 -3
  36. package/{primitive.command-k85cvm2z.js → primitive.command-63b8ytkf.js} +6 -6
  37. package/{quality.command-9dsv2jw7.js → quality.command-9xhaxzm1.js} +2 -2
  38. package/{repair.command-mzdh4yby.js → repair.command-a2z4d5a0.js} +5 -5
  39. package/{scalar.command-0cgq46dj.js → scalar.command-8ampjwsr.js} +4 -4
  40. package/templates/workspaceRoot/.gitignore.template +0 -1
  41. package/{workflow.command-2yxpvpg3.js → workflow.command-jkfmkbzh.js} +9 -9
  42. package/{workspace.command-42yrde58.js → workspace.command-pg2qfpn7.js} +18 -18
  43. package/index-3qa4f4j7.js +0 -122
package/.build-stamp CHANGED
@@ -1 +1 @@
1
- 39ed02c7eb5086e75f017fad422a1d14d90a2e8f0f9d327dec397907157a68cc
1
+ bcc46fce668505db690e02a241e0d082e068d8756f094e7bd0ba6fb969b1a764
@@ -1,15 +1,15 @@
1
1
  // @bun
2
2
  import {
3
3
  AgentScript
4
- } from "./index-5yxz0zzc.js";
5
- import"./index-aczwndks.js";
6
- import"./index-aevn8b0n.js";
4
+ } from "./index-dfn0kqj7.js";
5
+ import"./index-w0g7hcr7.js";
6
+ import"./index-6w77v5df.js";
7
7
  import"./index-k7731a4v.js";
8
8
  import {
9
9
  Workspace,
10
10
  command
11
- } from "./index-6wsjpt7b.js";
12
- import"./index-004ah39s.js";
11
+ } from "./index-1szrbtj9.js";
12
+ import"./index-zkrzv21w.js";
13
13
  import"./index-dp66vwr6.js";
14
14
  import"./index-mxvakhsm.js";
15
15
  import"./index-xys926f2.js";
@@ -4,8 +4,8 @@ import {
4
4
  } from "./index-0wae5ebk.js";
5
5
  import {
6
6
  ApplicationScript
7
- } from "./index-yzsp0jgb.js";
8
- import"./index-3qa4f4j7.js";
7
+ } from "./index-4930mtpt.js";
8
+ import"./index-ym4xqjhy.js";
9
9
  import {
10
10
  getMobileTargetChoices
11
11
  } from "./index-76rn3g2c.js";
@@ -15,10 +15,10 @@ import {
15
15
  Sys,
16
16
  Workspace,
17
17
  command
18
- } from "./index-6wsjpt7b.js";
18
+ } from "./index-1szrbtj9.js";
19
19
  import"./index-ynf37b66.js";
20
20
  import"./index-5vy2jzar.js";
21
- import"./index-004ah39s.js";
21
+ import"./index-zkrzv21w.js";
22
22
  import"./index-dp66vwr6.js";
23
23
  import"./index-mxvakhsm.js";
24
24
  import"./index-1577bej2.js";
@@ -40,6 +40,9 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
40
40
  removeApplication: target({ desc: "Remove an application from the workspace" }).with(App).exec(async function(app) {
41
41
  await this.applicationScript.removeApplication(app);
42
42
  }),
43
+ planSlice: target({ desc: "List the exact files an app needs to live in a workspace of its own" }).with(App).option("format", String, { desc: "output format", default: "text", enum: ["text", "json"] }).exec(async function(app, format) {
44
+ await this.applicationScript.planSlice(app, format);
45
+ }),
43
46
  sync: target({ desc: "Sync dependencies and configuration for an app or library" }).with(Sys).exec(async function(sys) {
44
47
  await this.applicationScript.sync(sys);
45
48
  }),
@@ -12,7 +12,7 @@ import"./index-5vy2jzar.js";
12
12
  import {
13
13
  AppExecutor,
14
14
  WorkspaceExecutor
15
- } from "./index-004ah39s.js";
15
+ } from "./index-zkrzv21w.js";
16
16
  import"./index-dp66vwr6.js";
17
17
  import"./index-mxvakhsm.js";
18
18
  import"./index-1577bej2.js";
@@ -25,9 +25,9 @@ import {
25
25
  selectLocalDevHost,
26
26
  sortIosRunTargets,
27
27
  writeRootCapacitorConfig
28
- } from "./index-mpka7dq4.js";
28
+ } from "./index-zec5gcx0.js";
29
29
  import"./index-76rn3g2c.js";
30
- import"./index-004ah39s.js";
30
+ import"./index-zkrzv21w.js";
31
31
  import"./index-dp66vwr6.js";
32
32
  import"./index-mxvakhsm.js";
33
33
  import"./index-1577bej2.js";
@@ -1,22 +1,22 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudScript
4
- } from "./index-qgzzz44h.js";
5
- import"./index-85rdqkfx.js";
6
- import"./index-qhy7zdmz.js";
4
+ } from "./index-e00k7eme.js";
5
+ import"./index-hffr3myr.js";
6
+ import"./index-ffrhjdwd.js";
7
7
  import {
8
8
  GlobalConfig
9
9
  } from "./index-safgeq9a.js";
10
- import"./index-yzsp0jgb.js";
11
- import"./index-3qa4f4j7.js";
10
+ import"./index-4930mtpt.js";
11
+ import"./index-ym4xqjhy.js";
12
12
  import"./index-76rn3g2c.js";
13
13
  import {
14
14
  Workspace,
15
15
  command
16
- } from "./index-6wsjpt7b.js";
16
+ } from "./index-1szrbtj9.js";
17
17
  import"./index-ynf37b66.js";
18
18
  import"./index-5vy2jzar.js";
19
- import"./index-004ah39s.js";
19
+ import"./index-zkrzv21w.js";
20
20
  import"./index-dp66vwr6.js";
21
21
  import"./index-mxvakhsm.js";
22
22
  import"./index-1577bej2.js";
@@ -1 +1 @@
1
- {"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","sync":"application","compact":"application","script":"application","console":"application","logs":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow"}}
1
+ {"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","plan-slice":"application","sync":"application","compact":"application","script":"application","console":"application","logs":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","library-status":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow"}}
@@ -1,25 +1,25 @@
1
1
  // @bun
2
2
  import {
3
3
  ContextScript
4
- } from "./index-0zabybjx.js";
5
- import"./index-j8rp2kdv.js";
6
- import"./index-120pzxb2.js";
7
- import"./index-2j5xrm1c.js";
8
- import"./index-peg7zphh.js";
9
- import"./index-v6p94mz1.js";
4
+ } from "./index-kpxg3p1v.js";
5
+ import"./index-qwfwk8be.js";
6
+ import"./index-egng0kc4.js";
7
+ import"./index-0cdwa7qj.js";
8
+ import"./index-7x5ks4ph.js";
9
+ import"./index-ws5zt62x.js";
10
10
  import"./index-ss469dec.js";
11
- import"./index-mk1x6sad.js";
12
- import"./index-mpka7dq4.js";
11
+ import"./index-yz8988we.js";
12
+ import"./index-zec5gcx0.js";
13
13
  import"./index-safgeq9a.js";
14
- import"./index-aczwndks.js";
15
- import"./index-aevn8b0n.js";
14
+ import"./index-w0g7hcr7.js";
15
+ import"./index-6w77v5df.js";
16
16
  import"./index-k7731a4v.js";
17
17
  import"./index-76rn3g2c.js";
18
18
  import {
19
19
  Workspace,
20
20
  command
21
- } from "./index-6wsjpt7b.js";
22
- import"./index-004ah39s.js";
21
+ } from "./index-1szrbtj9.js";
22
+ import"./index-zkrzv21w.js";
23
23
  import"./index-dp66vwr6.js";
24
24
  import"./index-mxvakhsm.js";
25
25
  import"./index-xys926f2.js";
@@ -10,8 +10,8 @@ import {
10
10
  command,
11
11
  runner,
12
12
  script
13
- } from "./index-6wsjpt7b.js";
14
- import"./index-004ah39s.js";
13
+ } from "./index-1szrbtj9.js";
14
+ import"./index-zkrzv21w.js";
15
15
  import"./index-dp66vwr6.js";
16
16
  import"./index-mxvakhsm.js";
17
17
  import {
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  AppExecutor,
18
18
  WorkspaceExecutor
19
- } from "./index-004ah39s.js";
19
+ } from "./index-zkrzv21w.js";
20
20
  import"./index-dp66vwr6.js";
21
21
  import"./index-mxvakhsm.js";
22
22
  import"./index-1577bej2.js";
@@ -9,14 +9,14 @@ import {
9
9
  createPassedPrimitiveReport,
10
10
  generatedFilesForSync,
11
11
  scalarChangedFiles
12
- } from "./index-aevn8b0n.js";
12
+ } from "./index-6w77v5df.js";
13
13
  import {
14
14
  Prompter
15
15
  } from "./index-k7731a4v.js";
16
16
  import {
17
17
  runner,
18
18
  script
19
- } from "./index-6wsjpt7b.js";
19
+ } from "./index-1szrbtj9.js";
20
20
 
21
21
  // pkgs/@akanjs/cli/scalar/scalar.prompt.ts
22
22
  import { input } from "@inquirer/prompts";
@@ -6,7 +6,7 @@ import {
6
6
  ModuleExecutor,
7
7
  PkgExecutor,
8
8
  WorkspaceExecutor
9
- } from "./index-004ah39s.js";
9
+ } from "./index-zkrzv21w.js";
10
10
  import {
11
11
  getDirname
12
12
  } from "./index-1577bej2.js";
@@ -1,24 +1,25 @@
1
1
  // @bun
2
2
  import {
3
3
  LibraryScript
4
- } from "./index-3qa4f4j7.js";
4
+ } from "./index-ym4xqjhy.js";
5
5
  import {
6
6
  resolveMobileTargets
7
7
  } from "./index-76rn3g2c.js";
8
8
  import {
9
9
  runner,
10
10
  script
11
- } from "./index-6wsjpt7b.js";
11
+ } from "./index-1szrbtj9.js";
12
12
  import {
13
13
  HmrWatcher,
14
14
  WatchRootResolver
15
15
  } from "./index-5vy2jzar.js";
16
16
  import {
17
17
  AppExecutor,
18
+ AppInfo,
18
19
  LibExecutor,
19
20
  PkgExecutor,
20
21
  WorkspaceExecutor
21
- } from "./index-004ah39s.js";
22
+ } from "./index-zkrzv21w.js";
22
23
  import {
23
24
  __require
24
25
  } from "./index-yb2wsc7f.js";
@@ -68,6 +69,109 @@ Caused by: ${ApplicationBuildReporter.formatError(error.cause)}` : "";
68
69
  }
69
70
  }
70
71
 
72
+ // pkgs/@akanjs/devkit/slicePlanner.ts
73
+ class SlicePlanner {
74
+ static memberDirs = ["apps", "libs", "pkgs"];
75
+ static toolchainDependencies = [
76
+ "@akanjs/cli",
77
+ "@akanjs/devkit",
78
+ "@biomejs/biome",
79
+ "@types/bun",
80
+ "akanjs",
81
+ "typescript"
82
+ ];
83
+ #app;
84
+ constructor(app) {
85
+ this.#app = app;
86
+ }
87
+ async#trackedFiles(paths) {
88
+ return await this.#app.workspace.listGitFiles(paths);
89
+ }
90
+ async#untrackedFiles(paths) {
91
+ const [tracked, all] = await Promise.all([
92
+ this.#app.workspace.listGitFiles(paths),
93
+ this.#app.workspace.listGitFiles(paths, { untracked: true })
94
+ ]);
95
+ const trackedSet = new Set(tracked);
96
+ return all.filter((file) => !trackedSet.has(file));
97
+ }
98
+ #isMemberFile(file) {
99
+ return SlicePlanner.memberDirs.includes(file.split("/")[0] ?? "");
100
+ }
101
+ static #requiredDependencies(appInfo) {
102
+ const scanResults = [
103
+ appInfo.getScanResult(),
104
+ ...[...appInfo.getLibInfos().values()].map((lib) => lib.getScanResult())
105
+ ];
106
+ return new Set([
107
+ ...SlicePlanner.toolchainDependencies,
108
+ ...scanResults.flatMap((scanResult) => [
109
+ ...scanResult.dependencies,
110
+ ...scanResult.devDependencies,
111
+ ...scanResult.pkgDeps
112
+ ])
113
+ ]);
114
+ }
115
+ async#patchWarnings(packageJson) {
116
+ const patchedDependencies = packageJson.patchedDependencies ?? {};
117
+ const missing = (await Promise.all(Object.entries(patchedDependencies).map(async ([spec, patchPath]) => await this.#app.workspace.exists(patchPath) ? null : `${spec} -> ${patchPath}`))).filter((entry) => !!entry);
118
+ return missing.length ? [`patchedDependencies references a missing patch file: ${missing.join(", ")}`] : [];
119
+ }
120
+ async plan() {
121
+ const appInfo = await AppInfo.fromExecutor(this.#app);
122
+ const libs = appInfo.getLibs();
123
+ const slicePaths = [`apps/${this.#app.name}`, ...libs.map((lib) => `libs/${lib}`)];
124
+ const [appFiles, allTracked, untracked, rootPackageJson] = await Promise.all([
125
+ this.#trackedFiles([`apps/${this.#app.name}`]),
126
+ this.#trackedFiles(["."]),
127
+ this.#untrackedFiles(slicePaths),
128
+ this.#app.workspace.getPackageJson()
129
+ ]);
130
+ const libFiles = Object.fromEntries(await Promise.all(libs.map(async (lib) => [lib, await this.#trackedFiles([`libs/${lib}`])])));
131
+ const rootFiles = allTracked.filter((file) => !this.#isMemberFile(file));
132
+ const required = SlicePlanner.#requiredDependencies(appInfo);
133
+ const rootDependencies = { ...rootPackageJson.dependencies, ...rootPackageJson.devDependencies };
134
+ const unusedDependencies = Object.keys(rootDependencies).filter((dep) => !required.has(dep)).sort();
135
+ const { workspaces: _workspaces, ...slicePackageJson } = rootPackageJson;
136
+ const warnings = [
137
+ ...untracked.length ? [`${untracked.length} untracked file(s) under the slice paths: ${untracked.join(", ")}`] : [],
138
+ ...rootPackageJson.workspaces ? ["root `workspaces` dropped \u2014 a slice consumes akanjs from the registry"] : [],
139
+ ...await this.#patchWarnings(rootPackageJson)
140
+ ];
141
+ return {
142
+ app: this.#app.name,
143
+ libs,
144
+ appFiles,
145
+ libFiles,
146
+ rootFiles,
147
+ packageJson: slicePackageJson,
148
+ unusedDependencies,
149
+ warnings
150
+ };
151
+ }
152
+ }
153
+ var rootEntriesOf = (rootFiles) => [...new Set(rootFiles.map((file) => file.split("/")[0] ?? file))].sort();
154
+ function formatSlicePlan(plan) {
155
+ const libCounts = Object.entries(plan.libFiles).map(([lib, files]) => ` - libs/${lib}: ${files.length} files`);
156
+ const sections = [
157
+ "Akan Slice Plan",
158
+ `app: ${plan.app} (apps/${plan.app}: ${plan.appFiles.length} files)`,
159
+ `libs: ${plan.libs.length ? plan.libs.join(", ") : "(none)"}`,
160
+ ...libCounts,
161
+ `workspace shell: ${plan.rootFiles.length} files across ${rootEntriesOf(plan.rootFiles).join(", ")}`,
162
+ "",
163
+ `Unused root dependencies (${plan.unusedDependencies.length}) \u2014 prune candidates, not pruned:`,
164
+ "",
165
+ ...plan.unusedDependencies.length ? plan.unusedDependencies.map((dep) => ` - ${dep}`) : [" (none)"],
166
+ "",
167
+ `Warnings (${plan.warnings.length}):`,
168
+ "",
169
+ ...plan.warnings.length ? plan.warnings.map((warning) => ` - ${warning}`) : [" (none)"]
170
+ ];
171
+ return sections.join(`
172
+ `);
173
+ }
174
+
71
175
  // pkgs/@akanjs/cli/application/application.script.ts
72
176
  import { confirm } from "@inquirer/prompts";
73
177
  import { Logger as Logger5 } from "akanjs/common";
@@ -1917,7 +2021,7 @@ function openBrowser(url) {
1917
2021
  // pkgs/@akanjs/cli/application/application.runner.ts
1918
2022
  var loadBuildRunner = async () => (await import("./applicationBuildRunner-8tqhxjd0.js")).ApplicationBuildRunner;
1919
2023
  var loadReleasePackager = async () => (await import("./applicationReleasePackager-0jf6ejr4.js")).ApplicationReleasePackager;
1920
- var loadCapacitorApp = async () => (await import("./capacitorApp-nqnvsbv2.js")).CapacitorApp;
2024
+ var loadCapacitorApp = async () => (await import("./capacitorApp-szqr3cxr.js")).CapacitorApp;
1921
2025
  var loadAbstractCompactor = async () => (await import("./abstractCompactor-8yjc9sj4.js")).AbstractCompactor;
1922
2026
  var loadPrompts = async () => await import("@inquirer/prompts");
1923
2027
 
@@ -1931,6 +2035,9 @@ class ApplicationRunner extends runner("application") {
1931
2035
  });
1932
2036
  return AppExecutor.from(workspace, appName);
1933
2037
  }
2038
+ async planSlice(app) {
2039
+ return await new SlicePlanner(app).plan();
2040
+ }
1934
2041
  async removeApplication(app) {
1935
2042
  await app.workspace.removeDir(`apps/${app.name}`);
1936
2043
  }
@@ -2406,6 +2513,12 @@ class ApplicationScript extends script("application", [ApplicationRunner, Librar
2406
2513
  await this.applicationRunner.removeApplication(app);
2407
2514
  spinner.succeed(`Application ${app.name} (apps/${app.name}) removed`);
2408
2515
  }
2516
+ async planSlice(app, format = "text") {
2517
+ const spinner = app.spinning("Planning distributable slice...");
2518
+ const plan = await this.applicationRunner.planSlice(app);
2519
+ spinner.succeed(`Slice planned (${plan.libs.length} libs, ${plan.warnings.length} warnings)`);
2520
+ Logger5.rawLog(format === "json" ? JSON.stringify(plan, null, 2) : formatSlicePlan(plan));
2521
+ }
2409
2522
  async sync(sys) {
2410
2523
  if (sys.type === "app")
2411
2524
  await sys.scanSync();
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AppExecutor,
4
4
  LibExecutor
5
- } from "./index-004ah39s.js";
5
+ } from "./index-zkrzv21w.js";
6
6
 
7
7
  // pkgs/@akanjs/devkit/workflow/utils.ts
8
8
  var jsonText = (value, { trailingNewline = true } = {}) => `${JSON.stringify(value, null, 2)}${trailingNewline ? `
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  ModuleScript
4
- } from "./index-v6p94mz1.js";
4
+ } from "./index-ws5zt62x.js";
5
5
  import {
6
6
  addFieldUiPolicyForType,
7
7
  coerceFieldDefault,
@@ -34,15 +34,15 @@ import {
34
34
  sourceFile,
35
35
  validationCommandsForTarget,
36
36
  viaBuilderParameterName
37
- } from "./index-aevn8b0n.js";
37
+ } from "./index-6w77v5df.js";
38
38
  import {
39
39
  script
40
- } from "./index-6wsjpt7b.js";
40
+ } from "./index-1szrbtj9.js";
41
41
  import {
42
42
  AppExecutor,
43
43
  LibExecutor,
44
44
  ModuleExecutor
45
- } from "./index-004ah39s.js";
45
+ } from "./index-zkrzv21w.js";
46
46
 
47
47
  // pkgs/@akanjs/cli/primitive/primitive.script.ts
48
48
  import { capitalize } from "akanjs/common";
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  AkanContextAnalyzer
4
- } from "./index-aczwndks.js";
4
+ } from "./index-w0g7hcr7.js";
5
5
  import {
6
6
  Prompter
7
7
  } from "./index-k7731a4v.js";
8
8
  import {
9
9
  runner,
10
10
  script
11
- } from "./index-6wsjpt7b.js";
11
+ } from "./index-1szrbtj9.js";
12
12
  import {
13
13
  AGENT_BLOCK_END,
14
14
  AGENT_BLOCK_START,
@@ -19,7 +19,7 @@ import {
19
19
  renderRecipeEntries,
20
20
  stampBlockVersion,
21
21
  upsertAgentBlock
22
- } from "./index-004ah39s.js";
22
+ } from "./index-zkrzv21w.js";
23
23
  import {
24
24
  collectRecipeSources,
25
25
  scanRecipes
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudRunner
4
- } from "./index-85rdqkfx.js";
4
+ } from "./index-hffr3myr.js";
5
5
  import {
6
6
  PackageScript
7
- } from "./index-qhy7zdmz.js";
7
+ } from "./index-ffrhjdwd.js";
8
8
  import {
9
9
  AiSession,
10
10
  CloudApi,
@@ -12,13 +12,13 @@ import {
12
12
  } from "./index-safgeq9a.js";
13
13
  import {
14
14
  ApplicationScript
15
- } from "./index-yzsp0jgb.js";
15
+ } from "./index-4930mtpt.js";
16
16
  import {
17
17
  script
18
- } from "./index-6wsjpt7b.js";
18
+ } from "./index-1szrbtj9.js";
19
19
  import {
20
20
  PkgExecutor
21
- } from "./index-004ah39s.js";
21
+ } from "./index-zkrzv21w.js";
22
22
 
23
23
  // pkgs/@akanjs/cli/cloud/cloud.script.ts
24
24
  import { Logger } from "akanjs/common";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  AkanContextAnalyzer
4
- } from "./index-aczwndks.js";
4
+ } from "./index-w0g7hcr7.js";
5
5
  import {
6
6
  WorkflowExecutor,
7
7
  compactWorkflowInputs,
@@ -23,10 +23,10 @@ import {
23
23
  workflowCommandsForPlan,
24
24
  workflowPlanApproval,
25
25
  writeWorkflowRunArtifact
26
- } from "./index-aevn8b0n.js";
26
+ } from "./index-6w77v5df.js";
27
27
  import {
28
28
  runner
29
- } from "./index-6wsjpt7b.js";
29
+ } from "./index-1szrbtj9.js";
30
30
 
31
31
  // pkgs/@akanjs/cli/workflow/workflow.runner.ts
32
32
  import { mkdir, readFile, writeFile } from "fs/promises";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  runner,
4
4
  script
5
- } from "./index-6wsjpt7b.js";
5
+ } from "./index-1szrbtj9.js";
6
6
  import {
7
7
  PkgExecutor
8
- } from "./index-004ah39s.js";
8
+ } from "./index-zkrzv21w.js";
9
9
  import {
10
10
  TypeScriptDependencyScanner
11
11
  } from "./index-h5sr2nnj.js";
@@ -7,14 +7,14 @@ import {
7
7
  } from "./index-safgeq9a.js";
8
8
  import {
9
9
  openBrowser
10
- } from "./index-yzsp0jgb.js";
10
+ } from "./index-4930mtpt.js";
11
11
  import {
12
12
  runner
13
- } from "./index-6wsjpt7b.js";
13
+ } from "./index-1szrbtj9.js";
14
14
  import {
15
15
  AppExecutor,
16
16
  WorkspaceExecutor
17
- } from "./index-004ah39s.js";
17
+ } from "./index-zkrzv21w.js";
18
18
 
19
19
  // pkgs/@akanjs/cli/npmRegistry.ts
20
20
  var defaultNpmRegistry = "https://registry.npmjs.org";
@@ -1,22 +1,22 @@
1
1
  // @bun
2
2
  import {
3
3
  RepairRunner
4
- } from "./index-j8rp2kdv.js";
4
+ } from "./index-qwfwk8be.js";
5
5
  import {
6
6
  WorkflowRunner
7
- } from "./index-120pzxb2.js";
7
+ } from "./index-egng0kc4.js";
8
8
  import {
9
9
  ScalarScript
10
- } from "./index-2j5xrm1c.js";
10
+ } from "./index-0cdwa7qj.js";
11
11
  import {
12
12
  PrimitiveScript
13
- } from "./index-peg7zphh.js";
13
+ } from "./index-7x5ks4ph.js";
14
14
  import {
15
15
  ModuleScript
16
- } from "./index-v6p94mz1.js";
16
+ } from "./index-ws5zt62x.js";
17
17
  import {
18
18
  isPlaceholderAppId
19
- } from "./index-mpka7dq4.js";
19
+ } from "./index-zec5gcx0.js";
20
20
  import {
21
21
  AkanContextAnalyzer,
22
22
  akanMcpInstallConfigPaths,
@@ -27,14 +27,14 @@ import {
27
27
  createAkanMcpServer,
28
28
  renderDoctorText,
29
29
  upsertCodexMcpServerBlock
30
- } from "./index-aczwndks.js";
30
+ } from "./index-w0g7hcr7.js";
31
31
  import {
32
32
  buildAkanModuleContextIndex,
33
33
  createWorkflowBaselineSummary,
34
34
  createWorkflowStepRegistry,
35
35
  jsonText,
36
36
  toolingRolloutGate
37
- } from "./index-aevn8b0n.js";
37
+ } from "./index-6w77v5df.js";
38
38
  import {
39
39
  Prompter
40
40
  } from "./index-k7731a4v.js";
@@ -45,10 +45,10 @@ import {
45
45
  CommandContainer,
46
46
  runner,
47
47
  script
48
- } from "./index-6wsjpt7b.js";
48
+ } from "./index-1szrbtj9.js";
49
49
  import {
50
50
  AppExecutor
51
- } from "./index-004ah39s.js";
51
+ } from "./index-zkrzv21w.js";
52
52
 
53
53
  // pkgs/@akanjs/cli/context/context.script.ts
54
54
  import { Logger } from "akanjs/common";
@@ -1,17 +1,17 @@
1
1
  // @bun
2
2
  import {
3
3
  AkanContextAnalyzer
4
- } from "./index-aczwndks.js";
4
+ } from "./index-w0g7hcr7.js";
5
5
  import {
6
6
  createRepairReport,
7
7
  generatedFilePathsForTarget,
8
8
  renderRepairReport,
9
9
  writeGeneratedSyncState,
10
10
  writeWorkflowRunArtifact
11
- } from "./index-aevn8b0n.js";
11
+ } from "./index-6w77v5df.js";
12
12
  import {
13
13
  runner
14
- } from "./index-6wsjpt7b.js";
14
+ } from "./index-1szrbtj9.js";
15
15
 
16
16
  // pkgs/@akanjs/cli/repair/repair.runner.ts
17
17
  var commandForShell = (command) => command.startsWith("akan ") ? `bun run ${command}` : command;
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  workflowRunArtifactPath,
4
4
  workflowSyncDir
5
- } from "./index-aevn8b0n.js";
5
+ } from "./index-6w77v5df.js";
6
6
  import {
7
7
  AppExecutor,
8
8
  LibExecutor,
@@ -11,7 +11,7 @@ import {
11
11
  readDevkitVersion,
12
12
  rootAllowedDirs,
13
13
  rootAllowedFiles
14
- } from "./index-004ah39s.js";
14
+ } from "./index-zkrzv21w.js";
15
15
  import {
16
16
  collectRecipeSources,
17
17
  findInlineRecipeDuplicates,