@akanjs/cli 3.0.0-beta.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/.build-stamp +1 -1
  2. package/CodeAgent-zfab7pkn.js +9 -0
  3. package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
  4. package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
  5. package/CodeTui-0zhnr0pw.js +1457 -0
  6. package/README.ko.md +83 -28
  7. package/README.md +70 -27
  8. package/TunnelShare-cwh9ezsm.js +9 -0
  9. package/{agent.command-0q17pnrs.js → agent.command-aja6z9mn.js} +8 -9
  10. package/akanCode.js +102 -0
  11. package/application.command-049ehgx3.js +246 -0
  12. package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-75n5rpwp.js} +121 -77
  13. package/buildBatch.proc.js +120 -32
  14. package/cloud.command-gw4kqxt8.js +95 -0
  15. package/cloud.script-c723cpcb.js +20 -0
  16. package/code.command-x9t6z5nw.js +154 -0
  17. package/commandManifest.json +1 -1
  18. package/consoleToStderr-h5bryj94.js +7 -0
  19. package/context.command-yfbe1rtd.js +48 -0
  20. package/context.runner-erfe68j5.js +21 -0
  21. package/{dependencyScanner-shs82ynp.js → dependencyScanner-06z2dmrr.js} +2 -2
  22. package/{devTui-m1atgkc9.js → devTui-q7k7bakd.js} +122 -40
  23. package/fileSys-wzzrntkw.js +9 -0
  24. package/guideline.command-kq9gp690.js +42 -0
  25. package/guidelines/agentRule/agentRule.instruction.md +154 -26
  26. package/guidelines/conventions/conventions.instruction.md +138 -48
  27. package/guidelines/mcpRule/mcpRule.instruction.md +7 -5
  28. package/guidelines/queryRule/queryRule.instruction.md +21 -7
  29. package/guidelines/runtimeRule/runtimeRule.instruction.md +291 -6
  30. package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
  31. package/guidelines/transportRule/transportRule.instruction.md +10 -8
  32. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +20 -0
  33. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +66 -3
  34. package/incrementalBuilder.proc.js +564 -109
  35. package/{index-2tv3fdx4.js → index-150s07n8.js} +1230 -1459
  36. package/{index-vyvre9en.js → index-25fvrxmy.js} +6 -2
  37. package/{index-kcxmv48c.js → index-2ahj896a.js} +45 -79
  38. package/index-2wc41k5w.js +49 -0
  39. package/index-3hx1z96c.js +87 -0
  40. package/{index-q0y2jq9j.js → index-52w0fvh8.js} +21 -4
  41. package/{index-04bk599g.js → index-5g4rkrvt.js} +10 -17
  42. package/index-5pvxf7z0.js +53 -0
  43. package/index-5q14pwzd.js +69 -0
  44. package/{index-vxtad5bd.js → index-66yspb67.js} +5 -8
  45. package/index-7md2g9vw.js +6 -0
  46. package/index-7p4c0yer.js +1058 -0
  47. package/{index-d43r08tf.js → index-8b639zes.js} +77 -150
  48. package/{index-ktb5njgy.js → index-8kvy8qb4.js} +49 -99
  49. package/index-94s080qm.js +266 -0
  50. package/index-9dp031by.js +12 -0
  51. package/{index-0g7r8xz3.js → index-a37by9hn.js} +114 -232
  52. package/{index-k2j1hc4r.js → index-b95yhqjr.js} +12 -12
  53. package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
  54. package/{index-2xp0kfkt.js → index-br8pkrk1.js} +37 -25
  55. package/index-c14nsvnv.js +700 -0
  56. package/index-c6eggbee.js +123 -0
  57. package/index-d2242ksy.js +99 -0
  58. package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
  59. package/{index-a64esmtb.js → index-fkvb79qe.js} +523 -1022
  60. package/index-h54yj9wr.js +1119 -0
  61. package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
  62. package/{index-y6n8nmny.js → index-kn5d4jmg.js} +75 -203
  63. package/index-m3xsb1ms.js +4300 -0
  64. package/{index-gyd220p2.js → index-mb59b8x0.js} +554 -577
  65. package/{index-j9yhg404.js → index-mzjb6zp4.js} +4 -7
  66. package/index-p6pbz9n5.js +25 -0
  67. package/{index-sj5vxr8f.js → index-qe71g4ze.js} +983 -898
  68. package/index-rfcz04w9.js +187 -0
  69. package/{index-hwkygn9s.js → index-senscydg.js} +331 -36
  70. package/{index-ffvk10zz.js → index-vs8mefhy.js} +107 -241
  71. package/index-wa5jbxj1.js +760 -0
  72. package/index-y5ga5w9t.js +2729 -0
  73. package/{index-9077wzd2.js → index-y7hx1ygz.js} +43 -26
  74. package/{index-h7yw2z9n.js → index-zzvvc845.js} +8 -14
  75. package/index.js +23 -22
  76. package/{library.command-qzzbj6d8.js → library.command-keqjevpp.js} +4 -5
  77. package/{localRegistry.command-vyrgg4xw.js → localRegistry.command-pydeq5zf.js} +23 -43
  78. package/{module.command-rq5hq3ax.js → module.command-dkrnqx3v.js} +8 -12
  79. package/{package.command-d9hd6v9n.js → package.command-wmc0ys5y.js} +6 -7
  80. package/package.json +15 -7
  81. package/{page.command-126d56te.js → page.command-tf3erhrv.js} +4 -5
  82. package/{primitive.command-taxd1538.js → primitive.command-7hqpegj4.js} +9 -23
  83. package/prompter-76k56b37.js +8 -0
  84. package/{quality.command-6gsna0a3.js → quality.command-8122axq3.js} +205 -377
  85. package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
  86. package/{repair.command-tq2dgy72.js → repair.command-mcy12h0n.js} +11 -35
  87. package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
  88. package/{scalar.command-3bcmrrkv.js → scalar.command-vvvbzttc.js} +7 -11
  89. package/skills/akan-code/SKILL.md +130 -0
  90. package/skills/akan-debug/SKILL.md +42 -0
  91. package/skills/akan-deps/SKILL.md +50 -0
  92. package/skills/akan-err/SKILL.md +39 -0
  93. package/skills/akan-module/SKILL.md +45 -0
  94. package/skills/akan-scaffold/SKILL.md +76 -0
  95. package/skills/akan-scalar/SKILL.md +52 -0
  96. package/skills/akan-service/SKILL.md +34 -0
  97. package/skills/akan-store/SKILL.md +67 -0
  98. package/skills/akan-ui/SKILL.md +63 -0
  99. package/skills/akan-validate/SKILL.md +44 -0
  100. package/{subspace.command-eddzqpx3.js → subspace.command-pzvqfy5h.js} +53 -62
  101. package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
  102. package/templates/app/page/_index.tsx +257 -258
  103. package/templates/app/page/_layout.tsx +5 -1
  104. package/templates/app/page/_overrides.tsx +12 -0
  105. package/templates/app/page/styles.css.template +316 -14
  106. package/templates/app/public/apple-touch-icon.png +0 -0
  107. package/templates/app/public/favicon.ico +0 -0
  108. package/templates/app/public/jelly/cloud.webp +0 -0
  109. package/templates/app/public/jelly/comet.webp +0 -0
  110. package/templates/app/public/jelly/moon.webp +0 -0
  111. package/templates/app/public/jelly/planet.webp +0 -0
  112. package/templates/app/public/jelly/rocket.webp +0 -0
  113. package/templates/app/public/jelly/star.webp +0 -0
  114. package/templates/app/public/jelly/sugar.webp +0 -0
  115. package/templates/app/public/logo.png +0 -0
  116. package/templates/app/ui/Recipe/index.ts +9 -0
  117. package/templates/app/ui/Recipe/jellyButton.ts +63 -0
  118. package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
  119. package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
  120. package/templates/appSample/lib/task/Task.Unit.tsx +1 -1
  121. package/templates/appSample/lib/task/Task.Util.tsx +10 -13
  122. package/templates/appSample/lib/task/Task.View.tsx +2 -2
  123. package/templates/appSample/lib/task/Task.Zone.tsx +5 -2
  124. package/templates/appSample/lib/task/task.abstract.ts +12 -32
  125. package/templates/appSample/lib/task/task.signal.spec.ts +1 -15
  126. package/templates/appSample/lib/task/task.signal.test.ts +15 -1
  127. package/templates/appSample/lib/task/task.signal.ts +10 -8
  128. package/templates/appSample/page/task/[taskId]/_index.tsx +6 -6
  129. package/templates/appSample/page/task/[taskId]/edit.tsx +5 -4
  130. package/templates/appSample/page/task/_index.tsx +4 -3
  131. package/templates/appSample/page/task/_layout.tsx +1 -1
  132. package/templates/appSample/page/task/new.tsx +5 -4
  133. package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
  134. package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
  135. package/templates/appSample/ui/GlobalLoading.tsx +2 -1
  136. package/templates/appSample/ui/QuantityControl.tsx +3 -3
  137. package/templates/client.ts +7 -30
  138. package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
  139. package/templates/crudPages/[__model__Id]/page.tsx +2 -1
  140. package/templates/crudPages/new/page.tsx +2 -1
  141. package/templates/crudPages/page.tsx +2 -1
  142. package/templates/crudSinglePage/page.tsx +2 -1
  143. package/templates/lib/__lib/lib.dictionary.ts +0 -2
  144. package/templates/lib/__lib/lib.document.ts +0 -2
  145. package/templates/lib/sig.ts +8 -30
  146. package/templates/localDev/docker-compose.yaml.template +3 -14
  147. package/templates/module/__model__.signal.ts +12 -4
  148. package/templates/pkgRoot/tsconfig.json.template +2 -7
  149. package/templates/server.ts +1 -3
  150. package/templates/service/__model__.abstract.md.template +8 -0
  151. package/templates/workspaceRoot/.gitignore.template +0 -1
  152. package/templates/workspaceRoot/AGENTS.md.template +6 -0
  153. package/templates/workspaceRoot/package.json.template +1 -3
  154. package/tunnel.command-82zz5xnq.js +129 -0
  155. package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
  156. package/typecheck.proc.js +1 -1
  157. package/workflow.command-y8x3kgjv.js +79 -0
  158. package/{workspace.command-06wvstgr.js → workspace.command-jvsb7brc.js} +79 -109
  159. package/abstractCompactor-gmkc0z8j.js +0 -102
  160. package/application.command-18y0s485.js +0 -204
  161. package/applicationReleasePackager-4yasxwv9.js +0 -244
  162. package/capacitorApp-36rbr858.js +0 -12
  163. package/cloud.command-av97ndh6.js +0 -94
  164. package/cloud.script-cm11xjdz.js +0 -20
  165. package/context.command-5v37ef3n.js +0 -81
  166. package/devTuiView-0hc2emhe.js +0 -9
  167. package/getDirname-dr3jz1xg.js +0 -7
  168. package/guideline.command-4pz9g1rt.js +0 -360
  169. package/guidelines/agentRule/agentRule.generate.json +0 -31
  170. package/guidelines/componentRule/componentRule.generate.json +0 -31
  171. package/guidelines/conventions/conventions.generate.json +0 -25
  172. package/guidelines/cssRule/cssRule.generate.json +0 -31
  173. package/guidelines/docPageRule/docPageRule.generate.json +0 -31
  174. package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
  175. package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
  176. package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
  177. package/guidelines/enumConstant/enumConstant.generate.json +0 -31
  178. package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
  179. package/guidelines/fieldRule/fieldRule.generate.json +0 -31
  180. package/guidelines/framework/framework.generate.json +0 -32
  181. package/guidelines/mcpRule/mcpRule.generate.json +0 -35
  182. package/guidelines/modelConstant/modelConstant.generate.json +0 -32
  183. package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
  184. package/guidelines/modelDocument/modelDocument.generate.json +0 -31
  185. package/guidelines/modelService/modelService.generate.json +0 -31
  186. package/guidelines/modelSignal/modelSignal.generate.json +0 -31
  187. package/guidelines/modelStore/modelStore.generate.json +0 -31
  188. package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
  189. package/guidelines/modelUnit/modelUnit.generate.json +0 -31
  190. package/guidelines/modelUtil/modelUtil.generate.json +0 -31
  191. package/guidelines/modelView/modelView.generate.json +0 -31
  192. package/guidelines/modelZone/modelZone.generate.json +0 -31
  193. package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
  194. package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
  195. package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
  196. package/guidelines/queryRule/queryRule.generate.json +0 -31
  197. package/guidelines/recipeRule/recipeRule.generate.json +0 -31
  198. package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
  199. package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
  200. package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
  201. package/guidelines/scalarModule/scalarModule.generate.json +0 -31
  202. package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
  203. package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
  204. package/guidelines/ssrRule/ssrRule.generate.json +0 -31
  205. package/guidelines/transportRule/transportRule.generate.json +0 -31
  206. package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
  207. package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
  208. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
  209. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
  210. package/index-47pj3aee.js +0 -76
  211. package/index-5ystnsd5.js +0 -841
  212. package/index-6wwzs1bc.js +0 -7
  213. package/index-a17x49vg.js +0 -229
  214. package/index-m0xccmmm.js +0 -228
  215. package/index-meh558jy.js +0 -65
  216. package/index-rtxxan88.js +0 -471
  217. package/index-te54x9zm.js +0 -338
  218. package/index-w8kmx1b6.js +0 -2176
  219. package/index-wt7qrtd4.js +0 -1516
  220. package/templates/__scalar/__model__/__model__.abstract.md +0 -28
  221. package/templates/module/__model__.abstract.md +0 -28
  222. package/templates/service/__model__.abstract.md +0 -28
  223. package/templates/workspaceRoot/patches/react-dom@19.2.7.patch.template +0 -62
  224. package/workflow.command-gtdnzvbz.js +0 -108
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  runner,
4
4
  script
5
- } from "./index-0g7r8xz3.js";
5
+ } from "./index-a37by9hn.js";
6
6
  import {
7
- FileSys
8
- } from "./index-q0y2jq9j.js";
7
+ FileSys2
8
+ } from "./index-52w0fvh8.js";
9
9
  import {
10
10
  PkgExecutor
11
- } from "./index-2tv3fdx4.js";
11
+ } from "./index-150s07n8.js";
12
12
  import {
13
13
  TypeScriptDependencyScanner2
14
- } from "./index-kcxmv48c.js";
14
+ } from "./index-2ahj896a.js";
15
15
 
16
16
  // pkgs/@akanjs/cli/package/package.runner.ts
17
17
  import path2 from "path";
@@ -112,7 +112,7 @@ class PackageRunner extends runner("package") {
112
112
  "create-akan-workspace"
113
113
  ];
114
114
  async version(workspace, { log = true } = {}) {
115
- const pkgJson = process.env.USE_AKANJS_PKGS === "true" ? await FileSys.readJson(`${workspace?.workspaceRoot ?? process.cwd()}/pkgs/akanjs/package.json`) : await this.#getInstalledPackageJson();
115
+ const pkgJson = process.env.USE_AKANJS_PKGS === "true" ? await FileSys2.readJson(`${workspace?.workspaceRoot ?? process.cwd()}/pkgs/akanjs/package.json`) : await this.#getInstalledPackageJson();
116
116
  const version = pkgJson.name === "akanjs" ? pkgJson.version : pkgJson.dependencies?.akanjs ?? pkgJson.version;
117
117
  if (log)
118
118
  Logger.rawLog(`akanjs@${version}`);
@@ -129,14 +129,19 @@ class PackageRunner extends runner("package") {
129
129
  for (const packageJsonPath of packageJsonCandidates) {
130
130
  if (!await Bun.file(packageJsonPath).exists())
131
131
  continue;
132
- const packageJson = await FileSys.readJson(packageJsonPath);
132
+ const packageJson = await FileSys2.readJson(packageJsonPath);
133
133
  if (packageJson.name === "akanjs" || packageJson.name === "@akanjs/cli")
134
134
  return packageJson;
135
135
  }
136
136
  throw new Error(`[package] failed to locate akanjs package.json from ${path2.dirname(Bun.main)}`);
137
137
  }
138
138
  async createPackage(workspace, pkgName) {
139
- await workspace.applyTemplate({ basePath: `pkgs/${pkgName}`, template: "pkgRoot", dict: { pkgName } });
139
+ const workspaceRootPath = ["pkgs", ...pkgName.split("/")].map(() => "..").join("/");
140
+ await workspace.applyTemplate({
141
+ basePath: `pkgs/${pkgName}`,
142
+ template: "pkgRoot",
143
+ dict: { pkgName, workspaceRootPath }
144
+ });
140
145
  await workspace.setPkgTsPaths(pkgName);
141
146
  }
142
147
  async removePackage(pkg) {
@@ -144,8 +149,7 @@ class PackageRunner extends runner("package") {
144
149
  await pkg.workspace.unsetPkgTsPaths(pkg.name);
145
150
  }
146
151
  async scanSync(pkg) {
147
- const scanResult = await pkg.scan();
148
- return scanResult;
152
+ return await pkg.scan();
149
153
  }
150
154
  async buildPackage(pkg) {
151
155
  await $`rm -rf ${pkg.dist.cwdPath}`;
@@ -153,7 +157,14 @@ class PackageRunner extends runner("package") {
153
157
  const scanner = await TypeScriptDependencyScanner2.from(pkg);
154
158
  const { npmDeps, npmDevDeps, missingDeps } = await scanner.getPackageBuildDependencies(pkg.name);
155
159
  const packageRuntimeDependencies = {
156
- "@akanjs/devkit": ["tailwind-scrollbar"]
160
+ "@akanjs/devkit": [
161
+ "tailwind-scrollbar",
162
+ "@earendil-works/chord",
163
+ "@earendil-works/pi-agent-core",
164
+ "@earendil-works/pi-ai",
165
+ "@earendil-works/pi-telemetry",
166
+ "@earendil-works/pi-tui"
167
+ ]
157
168
  };
158
169
  const packageRuntimeDevDependencies = { akanjs: ["@biomejs/biome", "@types/bun"] };
159
170
  if (pkg.name === "@akanjs/cli") {
@@ -164,17 +175,23 @@ class PackageRunner extends runner("package") {
164
175
  ].filter((dep) => dep !== "akanjs" && dep !== "@akanjs/devkit");
165
176
  }
166
177
  const packageBundledRuntimeDependencies = {
167
- "@akanjs/cli": ["@akanjs/devkit"],
168
- akanjs: ["use-agentic"]
178
+ "@akanjs/cli": ["@akanjs/devkit", "@akanjs/native"],
179
+ "@akanjs/devkit": ["@akanjs/native"],
180
+ akanjs: ["use-agentic", "@akanjs/native"]
169
181
  };
170
182
  const bundledRuntimeDeps = new Set(packageBundledRuntimeDependencies[pkg.name] ?? []);
171
183
  const forcedRuntimeDeps = packageRuntimeDependencies[pkg.name] ?? [];
172
184
  const forcedRuntimeDevDeps = packageRuntimeDevDependencies[pkg.name] ?? [];
173
185
  const [rootPackageJson, pkgJson] = await Promise.all([pkg.workspace.getPackageJson(), pkg.getPackageJson()]);
174
186
  const optionalPeerDeps = new Set(Object.entries(pkgJson.peerDependenciesMeta ?? {}).filter(([, meta]) => meta.optional).map(([dep]) => dep));
175
- const packageRuntimeDeps = [...new Set([...npmDeps, ...forcedRuntimeDeps])].filter((dep) => !optionalPeerDeps.has(dep) && !bundledRuntimeDeps.has(dep));
176
- const packageRuntimeDevDeps = [...new Set([...npmDevDeps, ...forcedRuntimeDevDeps])].filter((dep) => !optionalPeerDeps.has(dep) && !bundledRuntimeDeps.has(dep));
177
- const rootDeps = { ...rootPackageJson.dependencies, ...rootPackageJson.devDependencies };
187
+ const isShipped = (dep) => !optionalPeerDeps.has(dep) && !bundledRuntimeDeps.has(dep);
188
+ const packageRuntimeDeps = [...new Set([...npmDeps, ...forcedRuntimeDeps])].filter(isShipped);
189
+ const packageRuntimeDevDeps = [...new Set([...npmDevDeps, ...forcedRuntimeDevDeps])].filter(isShipped);
190
+ const rootDeps = {
191
+ ...rootPackageJson.overrides,
192
+ ...rootPackageJson.dependencies,
193
+ ...rootPackageJson.devDependencies
194
+ };
178
195
  const missingForcedDeps = forcedRuntimeDeps.filter((dep) => !rootDeps[dep]);
179
196
  const missingForcedDevDeps = forcedRuntimeDevDeps.filter((dep) => !rootDeps[dep]);
180
197
  const requiredMissingDeps = missingDeps.filter((dep) => !optionalPeerDeps.has(dep));
@@ -192,7 +209,8 @@ class PackageRunner extends runner("package") {
192
209
  stdio: "inherit"
193
210
  });
194
211
  } else {
195
- await $`cp -r ${pkg.cwdPath}/. ${pkg.dist.cwdPath}`;
212
+ await pkg.dist.cp(pkg.cwdPath, pkg.dist.cwdPath);
213
+ await $`rm -rf ${pkg.dist.cwdPath}/local`;
196
214
  await Promise.all([
197
215
  pkg.generateDistPackageJson(packageRuntimeDeps, packageRuntimeDevDeps),
198
216
  pkg.generateTsconfigJson()
@@ -266,7 +284,7 @@ class PackageRunner extends runner("package") {
266
284
  if (!await Bun.file(distPackageJsonPath).exists()) {
267
285
  throw new Error(`[package] dist package not found for ${pkg.name}. Run build-package first.`);
268
286
  }
269
- const pkgJson = await FileSys.readJson(distPackageJsonPath);
287
+ const pkgJson = await FileSys2.readJson(distPackageJsonPath);
270
288
  if (pkgJson.name !== pkg.name) {
271
289
  throw new Error(`[package] dist package name mismatch: expected ${pkg.name}, got ${pkgJson.name ?? "(missing)"}`);
272
290
  }
@@ -275,12 +293,9 @@ class PackageRunner extends runner("package") {
275
293
  if (pkgJson.publishConfig?.access !== "public") {
276
294
  throw new Error(`[package] ${pkg.name} must publish with publishConfig.access=public`);
277
295
  }
278
- if (!await Bun.file(`${pkg.dist.cwdPath}/README.md`).exists()) {
279
- throw new Error(`[package] README.md is missing from dist package ${pkg.name}`);
280
- }
281
- if (!await Bun.file(`${pkg.dist.cwdPath}/README.ko.md`).exists()) {
282
- throw new Error(`[package] README.ko.md is missing from dist package ${pkg.name}`);
283
- }
296
+ for (const readme of ["README.md", "README.ko.md"])
297
+ if (!await Bun.file(`${pkg.dist.cwdPath}/${readme}`).exists())
298
+ throw new Error(`[package] ${readme} is missing from dist package ${pkg.name}`);
284
299
  const binEntries = typeof pkgJson.bin === "string" ? [pkgJson.bin] : Object.values(pkgJson.bin ?? {});
285
300
  if (binEntries.some((binPath) => binPath.endsWith(".ts"))) {
286
301
  throw new Error(`[package] ${pkg.name} dist bin entries must not point at TypeScript sources`);
@@ -297,6 +312,9 @@ class PackageRunner extends runner("package") {
297
312
  cwd: pkg.workspace.workspaceRoot
298
313
  });
299
314
  const [packResult] = JSON.parse(packOutput);
315
+ const localFiles = (packResult?.files ?? []).filter((file) => file.path?.startsWith("local/"));
316
+ if (localFiles.length > 0)
317
+ throw new Error(`[package] ${pkg.name} would publish ${localFiles.length} test-run files under local/`);
300
318
  return {
301
319
  name: pkg.name,
302
320
  version: pkgJson.version,
@@ -313,9 +331,8 @@ class PackageRunner extends runner("package") {
313
331
  peerExportsMaps.set(pkg.name, await PackageExportsMap.from(pkg.dist.cwdPath));
314
332
  }
315
333
  const results = [];
316
- for (const pkg of pkgs) {
334
+ for (const pkg of pkgs)
317
335
  results.push(await this.verifyDistPackage(pkg, { peerExportsMaps }));
318
- }
319
336
  return results;
320
337
  }
321
338
  async#copyPackageReadmes(pkg) {
@@ -1,12 +1,12 @@
1
1
  // @bun
2
2
  import {
3
3
  getDirname2
4
- } from "./index-6wwzs1bc.js";
4
+ } from "./index-52w0fvh8.js";
5
5
 
6
6
  // pkgs/@akanjs/devkit/prompter.ts
7
7
  import fsPromise from "fs/promises";
8
8
  import { input, select } from "@inquirer/prompts";
9
- class Prompter {
9
+ class Prompter2 {
10
10
  static async#getGuidelineRoot() {
11
11
  const dirname = getDirname2(import.meta.url);
12
12
  const candidates = [`${dirname}/guidelines`, `${dirname}/../cli/guidelines`];
@@ -19,27 +19,21 @@ class Prompter {
19
19
  return candidates[0];
20
20
  }
21
21
  static async selectGuideline() {
22
- const guideNames = await Prompter.listGuidelines();
22
+ const guideNames = await Prompter2.listGuidelines();
23
23
  return await select({
24
24
  message: "Select a guideline",
25
25
  choices: guideNames.map((name) => ({ name, value: name }))
26
26
  });
27
27
  }
28
28
  static async listGuidelines() {
29
- const guidelineRoot = await Prompter.#getGuidelineRoot();
29
+ const guidelineRoot = await Prompter2.#getGuidelineRoot();
30
30
  return (await fsPromise.readdir(guidelineRoot)).filter((name) => !name.startsWith("_")).sort();
31
31
  }
32
- static async getGuideJson(guideName) {
33
- const guidelineRoot = await Prompter.#getGuidelineRoot();
34
- const filePath = `${guidelineRoot}/${guideName}/${guideName}.generate.json`;
35
- const guideJson = await fsPromise.readFile(filePath, "utf-8");
36
- return JSON.parse(guideJson);
37
- }
38
32
  static async getInstruction(guideName) {
39
- const guideNames = await Prompter.listGuidelines();
33
+ const guideNames = await Prompter2.listGuidelines();
40
34
  if (!guideNames.includes(guideName))
41
35
  throw new Error(`Unknown guideline "${guideName}". Available: ${guideNames.join(", ")}`);
42
- const guidelineRoot = await Prompter.#getGuidelineRoot();
36
+ const guidelineRoot = await Prompter2.#getGuidelineRoot();
43
37
  return await fsPromise.readFile(`${guidelineRoot}/${guideName}/${guideName}.instruction.md`, "utf-8");
44
38
  }
45
39
  static async getUpdateRequest(guideName) {
@@ -67,7 +61,7 @@ ${request}
67
61
  `;
68
62
  }
69
63
  async getDocumentation(guideName) {
70
- const guidelineRoot = await Prompter.#getGuidelineRoot();
64
+ const guidelineRoot = await Prompter2.#getGuidelineRoot();
71
65
  const filePath = `${guidelineRoot}/${guideName}/${guideName}.instruction.md`;
72
66
  const document = await fsPromise.readFile(filePath, "utf-8");
73
67
  return `\`\`\`markdown
@@ -77,4 +71,4 @@ ${document}
77
71
  }
78
72
  }
79
73
 
80
- export { Prompter };
74
+ export { Prompter2 };
package/index.js CHANGED
@@ -4,33 +4,34 @@ import {
4
4
  getTargetMetas,
5
5
  getTargetCommandNames,
6
6
  runCommands
7
- } from "./index-0g7r8xz3.js";
8
- import"./index-q0y2jq9j.js";
9
- import"./index-2tv3fdx4.js";
10
- import"./index-6wwzs1bc.js";
7
+ } from "./index-a37by9hn.js";
8
+ import"./index-52w0fvh8.js";
9
+ import"./index-150s07n8.js";
11
10
 
12
11
  // pkgs/@akanjs/cli/commandManifest.ts
13
12
  import path from "path";
14
13
 
15
14
  // pkgs/@akanjs/cli/commandModules.ts
16
15
  var commandModules = {
17
- workspace: async () => (await import("./workspace.command-06wvstgr.js")).WorkspaceCommand,
18
- agent: async () => (await import("./agent.command-0q17pnrs.js")).AgentCommand,
19
- application: async () => (await import("./application.command-18y0s485.js")).ApplicationCommand,
20
- library: async () => (await import("./library.command-qzzbj6d8.js")).LibraryCommand,
21
- localRegistry: async () => (await import("./localRegistry.command-vyrgg4xw.js")).LocalRegistryCommand,
22
- package: async () => (await import("./package.command-d9hd6v9n.js")).PackageCommand,
23
- module: async () => (await import("./module.command-rq5hq3ax.js")).ModuleCommand,
24
- page: async () => (await import("./page.command-126d56te.js")).PageCommand,
25
- context: async () => (await import("./context.command-5v37ef3n.js")).ContextCommand,
26
- cloud: async () => (await import("./cloud.command-av97ndh6.js")).CloudCommand,
27
- subspace: async () => (await import("./subspace.command-eddzqpx3.js")).SubspaceCommand,
28
- guideline: async () => (await import("./guideline.command-4pz9g1rt.js")).GuidelineCommand,
29
- scalar: async () => (await import("./scalar.command-3bcmrrkv.js")).ScalarCommand,
30
- primitive: async () => (await import("./primitive.command-taxd1538.js")).PrimitiveCommand,
31
- quality: async () => (await import("./quality.command-6gsna0a3.js")).QualityCommand,
32
- repair: async () => (await import("./repair.command-tq2dgy72.js")).RepairCommand,
33
- workflow: async () => (await import("./workflow.command-gtdnzvbz.js")).WorkflowCommand
16
+ workspace: async () => (await import("./workspace.command-jvsb7brc.js")).WorkspaceCommand,
17
+ agent: async () => (await import("./agent.command-aja6z9mn.js")).AgentCommand,
18
+ code: async () => (await import("./code.command-x9t6z5nw.js")).CodeCommand,
19
+ application: async () => (await import("./application.command-049ehgx3.js")).ApplicationCommand,
20
+ library: async () => (await import("./library.command-keqjevpp.js")).LibraryCommand,
21
+ localRegistry: async () => (await import("./localRegistry.command-pydeq5zf.js")).LocalRegistryCommand,
22
+ package: async () => (await import("./package.command-wmc0ys5y.js")).PackageCommand,
23
+ module: async () => (await import("./module.command-dkrnqx3v.js")).ModuleCommand,
24
+ page: async () => (await import("./page.command-tf3erhrv.js")).PageCommand,
25
+ context: async () => (await import("./context.command-yfbe1rtd.js")).ContextCommand,
26
+ cloud: async () => (await import("./cloud.command-gw4kqxt8.js")).CloudCommand,
27
+ subspace: async () => (await import("./subspace.command-pzvqfy5h.js")).SubspaceCommand,
28
+ guideline: async () => (await import("./guideline.command-kq9gp690.js")).GuidelineCommand,
29
+ scalar: async () => (await import("./scalar.command-vvvbzttc.js")).ScalarCommand,
30
+ primitive: async () => (await import("./primitive.command-7hqpegj4.js")).PrimitiveCommand,
31
+ quality: async () => (await import("./quality.command-8122axq3.js")).QualityCommand,
32
+ repair: async () => (await import("./repair.command-mcy12h0n.js")).RepairCommand,
33
+ workflow: async () => (await import("./workflow.command-y8x3kgjv.js")).WorkflowCommand,
34
+ tunnel: async () => (await import("./tunnel.command-82zz5xnq.js")).TunnelCommand
34
35
  };
35
36
  var commandModuleIds = Object.keys(commandModules);
36
37
 
@@ -68,4 +69,4 @@ class CommandManifest {
68
69
  // pkgs/@akanjs/cli/index.ts
69
70
  var ids = CommandManifest.resolve(await CommandManifest.read(), process.argv) ?? commandModuleIds;
70
71
  var commands = await Promise.all(ids.map(async (id) => await commandModules[id]()));
71
- runCommands(...commands);
72
+ await runCommands(...commands);
@@ -3,13 +3,12 @@ import {
3
3
  Lib,
4
4
  Workspace,
5
5
  command
6
- } from "./index-0g7r8xz3.js";
7
- import"./index-q0y2jq9j.js";
8
- import"./index-2tv3fdx4.js";
9
- import"./index-6wwzs1bc.js";
6
+ } from "./index-a37by9hn.js";
7
+ import"./index-52w0fvh8.js";
8
+ import"./index-150s07n8.js";
10
9
  import {
11
10
  LibraryScript
12
- } from "./index-vxtad5bd.js";
11
+ } from "./index-66yspb67.js";
13
12
 
14
13
  // pkgs/@akanjs/cli/library/library.command.ts
15
14
  class LibraryCommand extends command("library", [LibraryScript], ({ public: target }) => ({
@@ -4,28 +4,28 @@ import {
4
4
  runner,
5
5
  script,
6
6
  command
7
- } from "./index-0g7r8xz3.js";
8
- import"./index-q0y2jq9j.js";
7
+ } from "./index-a37by9hn.js";
8
+ import"./index-52w0fvh8.js";
9
9
  import {
10
10
  PkgExecutor
11
- } from "./index-2tv3fdx4.js";
12
- import"./index-6wwzs1bc.js";
11
+ } from "./index-150s07n8.js";
12
+ import"./index-senscydg.js";
13
+ import"./index-7p4c0yer.js";
14
+ import"./index-66yspb67.js";
13
15
  import {
14
16
  ApplicationScript
15
- } from "./index-sj5vxr8f.js";
16
- import"./index-vxtad5bd.js";
17
- import"./index-hwkygn9s.js";
18
- import"./index-m0xccmmm.js";
19
- import"./index-te54x9zm.js";
17
+ } from "./index-qe71g4ze.js";
18
+ import"./index-7md2g9vw.js";
19
+ import"./index-94s080qm.js";
20
20
  import {
21
21
  getNpmRegistryUrl,
22
22
  CloudRunner
23
- } from "./index-rtxxan88.js";
24
- import"./index-kcxmv48c.js";
23
+ } from "./index-h54yj9wr.js";
24
+ import"./index-2ahj896a.js";
25
25
  import {
26
26
  PackageScript
27
- } from "./index-9077wzd2.js";
28
- import"./index-j9yhg404.js";
27
+ } from "./index-y7hx1ygz.js";
28
+ import"./index-mzjb6zp4.js";
29
29
 
30
30
  // pkgs/@akanjs/cli/localRegistry/localRegistry.runner.ts
31
31
  import { mkdir, rm } from "fs/promises";
@@ -78,6 +78,7 @@ class LocalRegistryRunner extends runner("localRegistry") {
78
78
  const registry = this.getRegistryUrl(registryUrl);
79
79
  const smokeRoot = path.join(workspace.workspaceRoot, ".akan/e2e");
80
80
  await rm(path.join(smokeRoot, smokeRepoName), { recursive: true, force: true });
81
+ const env = { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry };
81
82
  await workspace.spawn(process.execPath, [
82
83
  "dist/pkgs/create-akan-workspace/index.js",
83
84
  smokeRepoName,
@@ -89,20 +90,13 @@ class LocalRegistryRunner extends runner("localRegistry") {
89
90
  "true",
90
91
  "--registry",
91
92
  registry
92
- ], {
93
- env: { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry },
94
- stdio: "inherit"
95
- });
96
- await workspace.spawn("akan", ["typecheck", smokeAppName], {
97
- cwd: path.join(smokeRoot, smokeRepoName),
98
- env: { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry },
99
- stdio: "inherit"
100
- });
101
- await workspace.spawn("akan", ["build", smokeAppName], {
102
- cwd: path.join(smokeRoot, smokeRepoName),
103
- env: { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry },
104
- stdio: "inherit"
105
- });
93
+ ], { env, stdio: "inherit" });
94
+ for (const command of ["typecheck", "build"])
95
+ await workspace.spawn("akan", [command, smokeAppName], {
96
+ cwd: path.join(smokeRoot, smokeRepoName),
97
+ env,
98
+ stdio: "inherit"
99
+ });
106
100
  Logger.info(`Local registry smoke test completed for ${smokeRepoName}/${smokeAppName}`);
107
101
  }
108
102
  }
@@ -128,11 +122,7 @@ class LocalRegistryScript extends script("localRegistry", [
128
122
  const registry = await this.localRegistryRunner.start(workspace, { registryUrl });
129
123
  const akanPkgs = await this.cloudRunner.getAkanPkgs(workspace);
130
124
  await this.#preparePackages(workspace, akanPkgs, { test });
131
- await this.cloudRunner.deployAkan(workspace, akanPkgs, {
132
- registryUrl: registry,
133
- confirmPublish: false,
134
- tag
135
- });
125
+ await this.cloudRunner.deployAkan(workspace, akanPkgs, { registryUrl: registry, confirmPublish: false, tag });
136
126
  await this.localRegistryRunner.smoke(workspace, { registryUrl: registry });
137
127
  }
138
128
  async#preparePackages(workspace, akanPkgs, { test = true } = {}) {
@@ -158,17 +148,7 @@ class LocalRegistryCommand extends command("local-registry", [LocalRegistryScrip
158
148
  resetRegistry: target({ devOnly: true, desc: "Stop and clear the local Verdaccio npm registry" }).with(Workspace).exec(async function(workspace) {
159
149
  await this.localRegistryScript.reset(workspace);
160
150
  }),
161
- smokeRegistry: target({ devOnly: true, desc: "Publish to local registry and build a generated workspace" }).with(Workspace).option("tag", String, {
162
- flag: "g",
163
- desc: "dist-tag for local registry publish",
164
- default: "rc"
165
- }).option("test", Boolean, {
166
- desc: "run package tests before publishing",
167
- default: true
168
- }).option("registry", String, {
169
- desc: "local npm registry URL",
170
- default: process.env.AKAN_NPM_REGISTRY
171
- }).exec(async function(workspace, tag, test, registry) {
151
+ smokeRegistry: target({ devOnly: true, desc: "Publish to local registry and build a generated workspace" }).with(Workspace).option("tag", String, { flag: "g", desc: "dist-tag for local registry publish", default: "rc" }).option("test", Boolean, { desc: "run package tests before publishing", default: true }).option("registry", String, { desc: "local npm registry URL", default: process.env.AKAN_NPM_REGISTRY }).exec(async function(workspace, tag, test, registry) {
172
152
  await this.localRegistryScript.smoke(workspace, { tag, test, registryUrl: registry });
173
153
  })
174
154
  })) {
@@ -3,27 +3,23 @@ import {
3
3
  Sys,
4
4
  Module,
5
5
  command
6
- } from "./index-0g7r8xz3.js";
7
- import"./index-q0y2jq9j.js";
8
- import"./index-2tv3fdx4.js";
9
- import"./index-6wwzs1bc.js";
6
+ } from "./index-a37by9hn.js";
7
+ import"./index-52w0fvh8.js";
8
+ import"./index-150s07n8.js";
10
9
  import {
11
10
  renderPrimitiveReport
12
- } from "./index-gyd220p2.js";
13
- import"./index-m0xccmmm.js";
14
- import"./index-te54x9zm.js";
11
+ } from "./index-mb59b8x0.js";
12
+ import"./index-25fvrxmy.js";
15
13
  import {
16
14
  ModuleScript
17
- } from "./index-5ystnsd5.js";
18
- import"./index-vyvre9en.js";
19
- import"./index-h7yw2z9n.js";
15
+ } from "./index-rfcz04w9.js";
20
16
 
21
17
  // pkgs/@akanjs/cli/module/module.command.ts
22
18
  import { Logger, lowerlize } from "akanjs/common";
23
19
  class ModuleCommand extends command("module", [ModuleScript], ({ public: target }) => ({
24
- createModule: target({ desc: "Create a new domain module (constant, service, signal, store, UI)" }).arg("moduleName", String, { desc: "name of module" }).with(Sys).option("page", Boolean, { desc: "create page", default: false }).option("ai", Boolean, { desc: "use ai to create module constant and dictionary", default: false }).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(moduleName, sys, page, ai, format) {
20
+ createModule: target({ desc: "Create a new domain module (constant, service, signal, store, UI)" }).arg("moduleName", String, { desc: "name of module" }).with(Sys).option("page", Boolean, { desc: "create page", default: false }).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(moduleName, sys, page, format) {
25
21
  const name = lowerlize(moduleName.replace(/ /g, ""));
26
- const report = ai ? await this.moduleScript.createModule(sys, name, { page }) : await this.moduleScript.createModuleTemplate(sys, name, { page });
22
+ const report = await this.moduleScript.createModuleTemplate(sys, name, { page });
27
23
  Logger.rawLog(renderPrimitiveReport(report, format));
28
24
  }),
29
25
  removeModule: target({ desc: "Remove a module from an app or library" }).with(Module).exec(async function(module) {
@@ -3,21 +3,20 @@ import {
3
3
  Pkg,
4
4
  Workspace,
5
5
  command
6
- } from "./index-0g7r8xz3.js";
7
- import"./index-q0y2jq9j.js";
8
- import"./index-2tv3fdx4.js";
9
- import"./index-6wwzs1bc.js";
10
- import"./index-kcxmv48c.js";
6
+ } from "./index-a37by9hn.js";
7
+ import"./index-52w0fvh8.js";
8
+ import"./index-150s07n8.js";
9
+ import"./index-2ahj896a.js";
11
10
  import {
12
11
  PackageScript
13
- } from "./index-9077wzd2.js";
12
+ } from "./index-y7hx1ygz.js";
14
13
 
15
14
  // pkgs/@akanjs/cli/package/package.command.ts
16
15
  class PackageCommand extends command("package", [PackageScript], ({ public: target }) => ({
17
16
  version: target({ desc: "Show version information for all packages" }).with(Workspace).exec(async function(workspace) {
18
17
  await this.packageScript.version(workspace);
19
18
  }),
20
- createPackage: target({ desc: "Create a new package in pkgs/akanjs/" }).option("name", String, { desc: "name of package" }).with(Workspace).exec(async function(name, workspace) {
19
+ createPackage: target({ desc: "Create a new package in pkgs/<name>/" }).option("name", String, { desc: "name of package" }).with(Workspace).exec(async function(name, workspace) {
21
20
  await this.packageScript.createPackage(workspace, name.toLowerCase().replace(/ /g, "-"));
22
21
  }),
23
22
  removePackage: target({ desc: "Remove a package from the workspace" }).with(Pkg).exec(async function(pkg) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/cli",
3
- "version": "3.0.0-beta.9",
3
+ "version": "3.0.1",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -24,16 +24,22 @@
24
24
  "import": "./index.js",
25
25
  "default": "./index.js"
26
26
  },
27
+ "./code": {
28
+ "import": "./akanCode.js",
29
+ "default": "./akanCode.js"
30
+ },
27
31
  "./package.json": "./package.json"
28
32
  },
29
33
  "dependencies": {
34
+ "@earendil-works/chord": "0.86.1",
35
+ "@earendil-works/pi-agent-core": "0.86.1",
36
+ "@earendil-works/pi-ai": "0.86.1",
37
+ "@earendil-works/pi-coding-agent": "0.86.1",
38
+ "@earendil-works/pi-telemetry": "0.86.1",
39
+ "@earendil-works/pi-tui": "0.86.1",
30
40
  "@inquirer/prompts": "^8.4.3",
31
- "@langchain/core": "^1.1.47",
32
- "@langchain/deepseek": "^1.0.26",
33
- "@langchain/openai": "^1.4.6",
34
41
  "@tailwindcss/node": "^4.3.0",
35
- "@trapezedev/project": "^7.1.4",
36
- "akanjs": "3.0.0-beta.9",
42
+ "akanjs": "3.0.1",
37
43
  "chalk": "^5.6.2",
38
44
  "commander": "^14.0.3",
39
45
  "dayjs": "^1.11.20",
@@ -43,11 +49,13 @@
43
49
  "ink": "^6.8.0",
44
50
  "ora": "^9.4.0",
45
51
  "qrcode": "^1.5.4",
46
- "react": "19.2.7",
52
+ "react": "19.3.0",
47
53
  "ssh2": "^1.17.0",
54
+ "string-width": "^8.2.1",
48
55
  "subset-font": "^2.5.0",
49
56
  "tailwind-scrollbar": "^4.0.2",
50
57
  "tailwindcss": "^4.3.0",
58
+ "typebox": "1.1.38",
51
59
  "typescript": "^6.0.3"
52
60
  },
53
61
  "devDependencies": {},
@@ -3,13 +3,12 @@ import {
3
3
  App,
4
4
  Module,
5
5
  command
6
- } from "./index-0g7r8xz3.js";
7
- import"./index-q0y2jq9j.js";
8
- import"./index-2tv3fdx4.js";
9
- import"./index-6wwzs1bc.js";
6
+ } from "./index-a37by9hn.js";
7
+ import"./index-52w0fvh8.js";
8
+ import"./index-150s07n8.js";
10
9
  import {
11
10
  PageScript
12
- } from "./index-vyvre9en.js";
11
+ } from "./index-25fvrxmy.js";
13
12
 
14
13
  // pkgs/@akanjs/cli/page/page.command.ts
15
14
  class PageCommand extends command("page", [PageScript], ({ public: target }) => ({
@@ -2,21 +2,17 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-0g7r8xz3.js";
6
- import"./index-q0y2jq9j.js";
7
- import"./index-2tv3fdx4.js";
8
- import"./index-6wwzs1bc.js";
5
+ } from "./index-a37by9hn.js";
6
+ import"./index-52w0fvh8.js";
7
+ import"./index-150s07n8.js";
9
8
  import {
10
9
  renderPrimitiveReport
11
- } from "./index-gyd220p2.js";
12
- import"./index-m0xccmmm.js";
13
- import"./index-te54x9zm.js";
14
- import"./index-5ystnsd5.js";
15
- import"./index-vyvre9en.js";
16
- import"./index-h7yw2z9n.js";
10
+ } from "./index-mb59b8x0.js";
11
+ import"./index-25fvrxmy.js";
12
+ import"./index-rfcz04w9.js";
17
13
  import {
18
14
  PrimitiveScript
19
- } from "./index-d43r08tf.js";
15
+ } from "./index-8b639zes.js";
20
16
 
21
17
  // pkgs/@akanjs/cli/primitive/primitive.command.ts
22
18
  import { Logger } from "akanjs/common";
@@ -27,11 +23,7 @@ class PrimitiveCommand extends command("primitive", [PrimitiveScript], ({ public
27
23
  default: "template",
28
24
  enum: ["view", "unit", "template"]
29
25
  }).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(workspace, app, module, surface, format) {
30
- const report = await this.primitiveScript.createUi(workspace, {
31
- app,
32
- module,
33
- surface
34
- });
26
+ const report = await this.primitiveScript.createUi(workspace, { app, module, surface });
35
27
  Logger.rawLog(renderPrimitiveReport(report, format));
36
28
  }),
37
29
  addField: target({ desc: "Add a source-limited field to a module constant and dictionary" }).with(Workspace).option("app", String, { desc: "target app or library name", nullable: true }).option("module", String, { desc: "target module name", nullable: true }).option("field", String, { desc: "field name", nullable: true }).option("type", String, { desc: "field type or scalar name", nullable: true }).option("default", String, { desc: "default value", nullable: true }).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(workspace, app, module, field, typeName, defaultValue, format) {
@@ -45,13 +37,7 @@ class PrimitiveCommand extends command("primitive", [PrimitiveScript], ({ public
45
37
  Logger.rawLog(renderPrimitiveReport(report, format));
46
38
  }),
47
39
  addEnumField: target({ desc: "Add a source-limited enum field to a module constant and dictionary" }).with(Workspace).option("app", String, { desc: "target app or library name", nullable: true }).option("module", String, { desc: "target module name", nullable: true }).option("field", String, { desc: "field name", nullable: true }).option("values", String, { flag: "l", desc: "comma-separated enum values", nullable: true }).option("default", String, { desc: "default value", nullable: true }).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(workspace, app, module, field, values, defaultValue, format) {
48
- const report = await this.primitiveScript.addEnumField(workspace, {
49
- app,
50
- module,
51
- field,
52
- values,
53
- defaultValue
54
- });
40
+ const report = await this.primitiveScript.addEnumField(workspace, { app, module, field, values, defaultValue });
55
41
  Logger.rawLog(renderPrimitiveReport(report, format));
56
42
  })
57
43
  })) {
@@ -0,0 +1,8 @@
1
+ // @bun
2
+ import {
3
+ Prompter2
4
+ } from "./index-zzvvc845.js";
5
+ import"./index-52w0fvh8.js";
6
+ export {
7
+ Prompter2 as Prompter
8
+ };