@akanjs/cli 3.0.0-beta.3 → 3.0.0-beta.31

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 (194) hide show
  1. package/.build-stamp +1 -1
  2. package/CodeAgent-tbdpdjat.js +9 -0
  3. package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
  4. package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
  5. package/CodeTui-my2x5fah.js +1457 -0
  6. package/README.md +3 -0
  7. package/TunnelShare-cwh9ezsm.js +9 -0
  8. package/{agent.command-d2gfxfck.js → agent.command-vz60x05c.js} +8 -9
  9. package/akanCode.js +102 -0
  10. package/application.command-pxqfjrqm.js +241 -0
  11. package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-shnfyfdy.js} +121 -77
  12. package/buildBatch.proc.js +120 -32
  13. package/cloud.command-9v9tpgps.js +95 -0
  14. package/cloud.script-baqdthnz.js +20 -0
  15. package/code.command-13h14j25.js +154 -0
  16. package/commandManifest.json +1 -1
  17. package/consoleToStderr-h5bryj94.js +7 -0
  18. package/context.command-x1hbasm5.js +48 -0
  19. package/context.runner-kqbjjea1.js +21 -0
  20. package/{dependencyScanner-shs82ynp.js → dependencyScanner-06z2dmrr.js} +2 -2
  21. package/{devTui-40ggmd99.js → devTui-q7k7bakd.js} +122 -40
  22. package/fileSys-wzzrntkw.js +9 -0
  23. package/guideline.command-vfk11hpj.js +42 -0
  24. package/guidelines/agentRule/agentRule.instruction.md +209 -33
  25. package/guidelines/conventions/conventions.instruction.md +144 -41
  26. package/guidelines/fieldRule/fieldRule.instruction.md +1 -0
  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 +271 -6
  30. package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
  31. package/guidelines/transportRule/transportRule.instruction.md +51 -0
  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-mak3cd28.js → index-1skctzbq.js} +137 -255
  36. package/{index-kcxmv48c.js → index-2ahj896a.js} +45 -79
  37. package/index-2wc41k5w.js +49 -0
  38. package/index-3hx1z96c.js +87 -0
  39. package/{index-hwkygn9s.js → index-48k96p55.js} +325 -36
  40. package/{index-q0y2jq9j.js → index-52w0fvh8.js} +21 -4
  41. package/index-7md2g9vw.js +6 -0
  42. package/index-7yf7rnjg.js +53 -0
  43. package/{index-gyd220p2.js → index-84r80zdx.js} +554 -577
  44. package/{index-zry5nz81.js → index-8psse8dw.js} +51 -30
  45. package/index-947t6zm4.js +1119 -0
  46. package/index-94s080qm.js +266 -0
  47. package/index-9dp031by.js +12 -0
  48. package/index-9s5zga3q.js +4300 -0
  49. package/{index-ws5e0j51.js → index-arnkqb6f.js} +43 -26
  50. package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
  51. package/index-c6eggbee.js +123 -0
  52. package/{index-4edzf1gr.js → index-cxafpw23.js} +77 -150
  53. package/index-d2242ksy.js +99 -0
  54. package/index-d5yn19ef.js +700 -0
  55. package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
  56. package/{index-2tv3fdx4.js → index-e52z7psd.js} +1212 -1458
  57. package/{index-a64esmtb.js → index-ew8dna9s.js} +523 -1022
  58. package/{index-7737gxcp.js → index-f50dy7yq.js} +107 -241
  59. package/index-f8q701fb.js +1003 -0
  60. package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
  61. package/{index-j9yhg404.js → index-ksq4t16z.js} +4 -7
  62. package/index-nhhrjvk1.js +187 -0
  63. package/index-p6pbz9n5.js +25 -0
  64. package/index-ptshj7y1.js +2729 -0
  65. package/{index-fz5q3gd7.js → index-q9q7x4zj.js} +10 -17
  66. package/{index-pnqbkf5p.js → index-qk9vv9hm.js} +6 -2
  67. package/{index-600zhnve.js → index-rqxa9r98.js} +75 -203
  68. package/{index-ne2qy0nk.js → index-smbecayj.js} +12 -12
  69. package/{index-ktb5njgy.js → index-vcdxpmsx.js} +49 -99
  70. package/index-wa5jbxj1.js +760 -0
  71. package/index-ymnqrsxm.js +69 -0
  72. package/{index-v0qh106m.js → index-zc90rh75.js} +961 -892
  73. package/{index-259dsnz3.js → index-zvr7wfyg.js} +5 -8
  74. package/{index-h7yw2z9n.js → index-zzvvc845.js} +8 -14
  75. package/index.js +23 -22
  76. package/{library.command-nbsky672.js → library.command-m52jqc0s.js} +4 -5
  77. package/{localRegistry.command-yeq57wjr.js → localRegistry.command-x5vs1z43.js} +23 -42
  78. package/{module.command-29vqzrh8.js → module.command-ty3k6rwd.js} +8 -11
  79. package/{package.command-axv0abmn.js → package.command-hphdh4g4.js} +6 -7
  80. package/package.json +15 -7
  81. package/{page.command-vs9s3zrh.js → page.command-5aq8mzvq.js} +4 -5
  82. package/{primitive.command-cbxmqbtc.js → primitive.command-adwj84kx.js} +9 -22
  83. package/prompter-76k56b37.js +8 -0
  84. package/{quality.command-gmbs7nws.js → quality.command-y10kea2f.js} +205 -377
  85. package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
  86. package/{repair.command-bqsjptsj.js → repair.command-v7mwqvjh.js} +11 -35
  87. package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
  88. package/{scalar.command-6k1vhe9s.js → scalar.command-pg3gneer.js} +7 -10
  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-fwjfcts7.js → subspace.command-ejdmvbq7.js} +138 -67
  101. package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
  102. package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
  103. package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
  104. package/templates/appSample/lib/task/task.abstract.ts +12 -32
  105. package/templates/appSample/lib/task/task.signal.spec.ts +15 -18
  106. package/templates/appSample/lib/task/task.signal.test.ts +15 -1
  107. package/templates/appSample/lib/task/task.signal.ts +1 -1
  108. package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
  109. package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
  110. package/templates/client.ts +7 -30
  111. package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
  112. package/templates/crudPages/[__model__Id]/page.tsx +2 -1
  113. package/templates/crudPages/new/page.tsx +2 -1
  114. package/templates/crudPages/page.tsx +2 -1
  115. package/templates/crudSinglePage/page.tsx +2 -1
  116. package/templates/lib/__lib/lib.dictionary.ts +0 -2
  117. package/templates/lib/__lib/lib.document.ts +0 -2
  118. package/templates/lib/sig.ts +8 -30
  119. package/templates/localDev/docker-compose.yaml.template +3 -14
  120. package/templates/module/__model__.signal.ts +12 -4
  121. package/templates/pkgRoot/tsconfig.json.template +2 -7
  122. package/templates/server.ts +1 -3
  123. package/templates/service/__model__.abstract.md.template +8 -0
  124. package/templates/workspaceRoot/.gitignore.template +0 -1
  125. package/templates/workspaceRoot/package.json.template +1 -3
  126. package/tunnel.command-rz9qf230.js +129 -0
  127. package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
  128. package/typecheck.proc.js +1 -1
  129. package/workflow.command-6r809r2z.js +79 -0
  130. package/{workspace.command-8s050m0h.js → workspace.command-8g3cw7jd.js} +77 -109
  131. package/abstractCompactor-mjh5ppsq.js +0 -101
  132. package/application.command-pj2m7584.js +0 -204
  133. package/applicationReleasePackager-4yasxwv9.js +0 -244
  134. package/capacitorApp-36rbr858.js +0 -12
  135. package/cloud.command-jshwdq22.js +0 -93
  136. package/context.command-ez8a0zyz.js +0 -80
  137. package/devTuiView-c08ccbat.js +0 -9
  138. package/getDirname-dr3jz1xg.js +0 -7
  139. package/guideline.command-xmqwx8zm.js +0 -359
  140. package/guidelines/agentRule/agentRule.generate.json +0 -31
  141. package/guidelines/componentRule/componentRule.generate.json +0 -31
  142. package/guidelines/conventions/conventions.generate.json +0 -25
  143. package/guidelines/cssRule/cssRule.generate.json +0 -31
  144. package/guidelines/docPageRule/docPageRule.generate.json +0 -31
  145. package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
  146. package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
  147. package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
  148. package/guidelines/enumConstant/enumConstant.generate.json +0 -31
  149. package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
  150. package/guidelines/fieldRule/fieldRule.generate.json +0 -31
  151. package/guidelines/framework/framework.generate.json +0 -32
  152. package/guidelines/mcpRule/mcpRule.generate.json +0 -35
  153. package/guidelines/modelConstant/modelConstant.generate.json +0 -32
  154. package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
  155. package/guidelines/modelDocument/modelDocument.generate.json +0 -31
  156. package/guidelines/modelService/modelService.generate.json +0 -31
  157. package/guidelines/modelSignal/modelSignal.generate.json +0 -31
  158. package/guidelines/modelStore/modelStore.generate.json +0 -31
  159. package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
  160. package/guidelines/modelUnit/modelUnit.generate.json +0 -31
  161. package/guidelines/modelUtil/modelUtil.generate.json +0 -31
  162. package/guidelines/modelView/modelView.generate.json +0 -31
  163. package/guidelines/modelZone/modelZone.generate.json +0 -31
  164. package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
  165. package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
  166. package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
  167. package/guidelines/queryRule/queryRule.generate.json +0 -31
  168. package/guidelines/recipeRule/recipeRule.generate.json +0 -31
  169. package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
  170. package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
  171. package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
  172. package/guidelines/scalarModule/scalarModule.generate.json +0 -31
  173. package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
  174. package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
  175. package/guidelines/ssrRule/ssrRule.generate.json +0 -31
  176. package/guidelines/transportRule/transportRule.generate.json +0 -31
  177. package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
  178. package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
  179. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
  180. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
  181. package/index-2hq52jq3.js +0 -465
  182. package/index-47pj3aee.js +0 -76
  183. package/index-6wwzs1bc.js +0 -7
  184. package/index-8pm30m73.js +0 -841
  185. package/index-kn1h7p1x.js +0 -560
  186. package/index-meh558jy.js +0 -65
  187. package/index-rwg2aa4f.js +0 -229
  188. package/index-w8kmx1b6.js +0 -2176
  189. package/index-wt7qrtd4.js +0 -1516
  190. package/templates/__scalar/__model__/__model__.abstract.md +0 -28
  191. package/templates/module/__model__.abstract.md +0 -28
  192. package/templates/service/__model__.abstract.md +0 -28
  193. package/templates/workspaceRoot/patches/react-dom@19.2.7.patch.template +0 -62
  194. package/workflow.command-nwpcdc8p.js +0 -107
@@ -1,44 +1,33 @@
1
1
  // @bun
2
2
  import {
3
3
  GlobalConfig,
4
- CloudApi,
5
- AiSession
6
- } from "./index-kn1h7p1x.js";
7
- import {
8
- PkgExecutor
9
- } from "./index-2tv3fdx4.js";
4
+ CloudApi
5
+ } from "./index-94s080qm.js";
10
6
  import {
11
7
  script
12
- } from "./index-mak3cd28.js";
8
+ } from "./index-1skctzbq.js";
9
+ import {
10
+ PkgExecutor
11
+ } from "./index-e52z7psd.js";
13
12
  import {
14
13
  ApplicationScript
15
- } from "./index-v0qh106m.js";
14
+ } from "./index-zc90rh75.js";
16
15
  import {
17
16
  PackageScript
18
- } from "./index-ws5e0j51.js";
17
+ } from "./index-arnkqb6f.js";
19
18
  import {
20
19
  CloudRunner
21
- } from "./index-2hq52jq3.js";
20
+ } from "./index-947t6zm4.js";
22
21
 
23
22
  // pkgs/@akanjs/cli/cloud/cloud.script.ts
24
23
  import { Logger } from "akanjs/common";
25
- class CloudScript extends script("cloud", [CloudRunner, ApplicationScript, PackageScript]) {
24
+ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, PackageScript]) {
26
25
  async login(workspace, host = GlobalConfig.akanCloudHost) {
27
26
  await this.cloudRunner.login(host, workspace);
28
27
  }
29
28
  async logout(workspace, host = GlobalConfig.akanCloudHost) {
30
29
  await this.cloudRunner.logout(host);
31
30
  }
32
- async setLlm(workspace) {
33
- await this.cloudRunner.setLlm();
34
- }
35
- resetLlm(workspace) {
36
- this.cloudRunner.resetLlm();
37
- }
38
- async ask(question, workspace) {
39
- const session = new AiSession("general", { workspace, isContinued: true });
40
- await session.ask(question);
41
- }
42
31
  async downloadEnv(workspace, workspaceId = workspace.getWorkspaceId({ allowEmpty: true }), { host = GlobalConfig.akanCloudHost } = {}) {
43
32
  if (workspaceId) {
44
33
  await this.login(workspace, host);
@@ -48,29 +37,61 @@ class CloudScript extends script("cloud", [CloudRunner, ApplicationScript, Packa
48
37
  }
49
38
  await this.cloudRunner.downloadEnvByScp(workspace);
50
39
  }
51
- async uploadEnv(workspace, { host = GlobalConfig.akanCloudHost } = {}) {
52
- const workspaceId = workspace.getWorkspaceId({ allowEmpty: true });
53
- const { path } = await this.cloudRunner.gatherEnvFiles(workspace);
40
+ async uploadEnv(workspace, {
41
+ host = GlobalConfig.akanCloudHost,
42
+ workspaceId = workspace.getWorkspaceId({ allowEmpty: true }),
43
+ scope,
44
+ archivePath
45
+ } = {}) {
46
+ if (scope && !workspaceId)
47
+ throw new Error("A scoped env upload needs a cloud workspace id \u2014 the scp target is workspace-wide.");
48
+ const { files, path } = await this.cloudRunner.gatherEnvFiles(workspace, { scope, archivePath });
54
49
  if (workspaceId) {
55
50
  await this.login(workspace, host);
56
51
  const cloudApi = await CloudApi.fromHost(workspace, host);
57
52
  await this.cloudRunner.uploadEnv(cloudApi, workspaceId, path);
58
- return;
53
+ return { workspaceId, files };
59
54
  }
60
55
  await this.cloudRunner.uploadEnvByScp(workspace, path);
56
+ return { workspaceId: null, files };
61
57
  }
62
- async deployAkan(workspace, { test = true, registryUrl } = {}) {
58
+ async deployAkan(workspace, {
59
+ test = true,
60
+ registryUrl,
61
+ platforms = []
62
+ } = {}) {
63
63
  const akanPkgs = await this.cloudRunner.getAkanPkgs(workspace);
64
64
  await this.packageScript.updateWorskpaceRootPackageJson(workspace);
65
65
  const pkgs = akanPkgs.map((pkgName) => PkgExecutor.from(workspace, pkgName));
66
- if (test)
67
- for (const pkg of pkgs)
68
- await this.applicationScript.test(pkg);
66
+ if (test) {
67
+ const platformRun = platforms.length ? await this.cloudRunner.startPlatformTests(workspace, platforms, akanPkgs) : null;
68
+ let localFailure = null;
69
+ try {
70
+ for (const pkg of pkgs)
71
+ await this.applicationScript.test(pkg);
72
+ } catch (error) {
73
+ localFailure = error;
74
+ }
75
+ if (platformRun)
76
+ await this.cloudRunner.settlePlatformTests(platformRun, {
77
+ interactive: !localFailure,
78
+ recordStreaks: !localFailure,
79
+ checkDrift: true
80
+ });
81
+ if (localFailure)
82
+ throw localFailure;
83
+ }
69
84
  for (const pkg of pkgs)
70
85
  await this.packageScript.buildPackage(pkg);
71
86
  await this.packageScript.verifyAkanPublishPackages(workspace);
72
87
  await this.cloudRunner.deployAkan(workspace, akanPkgs, { registryUrl });
73
88
  }
89
+ async testPlatforms(workspace, { platforms, pkgs }) {
90
+ if (!platforms.length)
91
+ throw new Error("No platform to test on \u2014 pass --platforms linux,windows");
92
+ const run = await this.cloudRunner.startPlatformTests(workspace, platforms, pkgs ?? await this.cloudRunner.getAkanPkgs(workspace));
93
+ await this.cloudRunner.settlePlatformTests(run, { interactive: false, recordStreaks: false, checkDrift: false });
94
+ }
74
95
  async update(workspace, tag = "latest", { registryUrl } = {}) {
75
96
  const spinner = workspace.spinning("Updating Akan.js packages and CLI...");
76
97
  await this.cloudRunner.update(workspace, tag, { registryUrl });
@@ -80,4 +101,4 @@ class CloudScript extends script("cloud", [CloudRunner, ApplicationScript, Packa
80
101
  }
81
102
  }
82
103
 
83
- export { CloudScript };
104
+ export { CloudScript2 };