@akanjs/cli 3.0.0-beta.18 → 3.0.0-beta.19

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 (75) hide show
  1. package/.build-stamp +1 -1
  2. package/{CodeAgent-0035exh3.js → CodeAgent-6cm97kay.js} +2 -2
  3. package/{CodeAgentRpcHost-qvwfv0n9.js → CodeAgentRpcHost-p7h6n2hp.js} +1 -1
  4. package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
  5. package/{CodeTui-eweg1hep.js → CodeTui-za4jsm41.js} +1 -1
  6. package/{TunnelShare-r5tc2qk5.js → TunnelShare-2j6s511d.js} +2 -2
  7. package/{agent.command-65zqfkg0.js → agent.command-e0wpbbyg.js} +5 -5
  8. package/akanCode.js +4 -4
  9. package/{application.command-2wcj5da3.js → application.command-8wyxqc8q.js} +15 -9
  10. package/{applicationBuildRunner-m0hhgwsx.js → applicationBuildRunner-n9gzaxd0.js} +31 -7
  11. package/{applicationReleasePackager-vykfzgx3.js → applicationReleasePackager-vpggfqgq.js} +1 -1
  12. package/buildBatch.proc.js +3 -3
  13. package/{capacitorApp-2daqhb5h.js → capacitorApp-q3z0qht0.js} +2 -2
  14. package/{cloud.command-960bgbf4.js → cloud.command-4zwa5dsx.js} +34 -12
  15. package/cloud.script-fwx3vb34.js +20 -0
  16. package/{code.command-4feh3ef7.js → code.command-468c9d7s.js} +41 -19
  17. package/commandManifest.json +1 -1
  18. package/{context.command-kzehkx48.js → context.command-dsnw0jby.js} +13 -13
  19. package/context.runner-rs4rj15d.js +22 -0
  20. package/{dependencyScanner-shs82ynp.js → dependencyScanner-0z2h2tks.js} +1 -1
  21. package/{guideline.command-3w2g20x4.js → guideline.command-vhw13pqr.js} +2 -2
  22. package/guidelines/agentRule/agentRule.instruction.md +27 -10
  23. package/guidelines/conventions/conventions.instruction.md +16 -4
  24. package/guidelines/queryRule/queryRule.instruction.md +16 -6
  25. package/guidelines/runtimeRule/runtimeRule.instruction.md +74 -0
  26. package/incrementalBuilder.proc.js +3 -2
  27. package/{index-dw943k93.js → index-10dkrrww.js} +4 -4
  28. package/{index-rpgxs245.js → index-18zybgkc.js} +2 -2
  29. package/{index-mt2154s2.js → index-22xtgmhn.js} +1 -1
  30. package/{index-yw6g3bbv.js → index-2446k7b4.js} +1 -1
  31. package/{index-cjw1sj1x.js → index-3jrp517k.js} +10 -10
  32. package/{index-q9c3c0hy.js → index-4m929vvn.js} +2 -2
  33. package/{index-ef228gzf.js → index-53176s7j.js} +3 -3
  34. package/{index-jwrpsrg3.js → index-667w0yah.js} +1 -1
  35. package/{index-6q589y9t.js → index-7ep8qtvp.js} +2 -2
  36. package/{index-w8kmx1b6.js → index-89hy31kf.js} +30 -7
  37. package/{index-jd01kj5r.js → index-9d6nvkz2.js} +1 -1
  38. package/{index-zq0mr3hh.js → index-a1w6934z.js} +3 -3
  39. package/{index-sbfk9daf.js → index-ab0c38ea.js} +4 -4
  40. package/index-bc88j1ry.js +1166 -0
  41. package/{index-h94faz96.js → index-bftkz6cp.js} +274 -60
  42. package/{index-kcxmv48c.js → index-bhtmj233.js} +4 -1
  43. package/{index-m41ptvat.js → index-bwf965h6.js} +3 -3
  44. package/{index-bwxpk2cj.js → index-crmeqnmf.js} +52 -26
  45. package/{index-8k16atqy.js → index-d2242ksy.js} +23 -6
  46. package/{index-jwexzh42.js → index-e4v6vhxq.js} +222 -56
  47. package/{index-pn8mhpps.js → index-esk82rvk.js} +4 -4
  48. package/{index-4r42ext5.js → index-kwaq3n9n.js} +1 -1
  49. package/{index-gm76f0qb.js → index-n3cv0tm4.js} +1 -1
  50. package/{index-ycy302an.js → index-qdgzsnhg.js} +1 -1
  51. package/{index-wcg582a8.js → index-sq2dzkzm.js} +35 -10
  52. package/{index-myj01w9r.js → index-srmay5jw.js} +15 -2
  53. package/{index-zmj143x7.js → index-txr7dj2g.js} +3 -3
  54. package/{index-erfc1x40.js → index-vqx8bdxz.js} +1 -1
  55. package/{index-d9fjz06h.js → index-zqgj2rt2.js} +4 -4
  56. package/index.js +21 -21
  57. package/{library.command-fp0nhr62.js → library.command-cqr175dy.js} +3 -3
  58. package/{localRegistry.command-8y0ecxb9.js → localRegistry.command-49z55qqz.js} +9 -9
  59. package/{module.command-kqkn48t2.js → module.command-9p8mm3b0.js} +5 -5
  60. package/{package.command-qverjh22.js → package.command-wxyz909t.js} +4 -4
  61. package/package.json +2 -2
  62. package/{page.command-94bwhd0g.js → page.command-gsrsfqqs.js} +3 -3
  63. package/{primitive.command-2ydvtah2.js → primitive.command-ns1mptje.js} +6 -6
  64. package/{quality.command-fa0gth4p.js → quality.command-e76k2q9k.js} +17 -15
  65. package/{repair.command-4qng2hpm.js → repair.command-pkrsm3cw.js} +5 -5
  66. package/{scalar.command-pb2y95sh.js → scalar.command-0cpt3fc8.js} +4 -4
  67. package/{subspace.command-vkxmwp74.js → subspace.command-fktpwp0g.js} +20 -10
  68. package/templates/appSample/lib/task/task.signal.test.ts +1 -1
  69. package/templates/localDev/docker-compose.yaml.template +3 -14
  70. package/{tunnel.command-02cvp9nf.js → tunnel.command-d5jy9gk8.js} +4 -4
  71. package/{workflow.command-132txnrh.js → workflow.command-6tkcysmx.js} +9 -9
  72. package/{workspace.command-d5wkswek.js → workspace.command-gv84eh1p.js} +24 -23
  73. package/cloud.script-qhcnqt1n.js +0 -20
  74. package/context.runner-z0rrcz7b.js +0 -22
  75. package/index-3hpxeys1.js +0 -462
@@ -20,13 +20,13 @@ import {
20
20
  renderWorkflowApply,
21
21
  renderWorkflowValidation,
22
22
  renderWorkflowRunArtifact
23
- } from "./index-yw6g3bbv.js";
23
+ } from "./index-2446k7b4.js";
24
24
  import {
25
25
  AkanContextAnalyzer
26
- } from "./index-rpgxs245.js";
26
+ } from "./index-18zybgkc.js";
27
27
  import {
28
28
  runner
29
- } from "./index-ycy302an.js";
29
+ } from "./index-qdgzsnhg.js";
30
30
 
31
31
  // pkgs/@akanjs/cli/workflow/workflow.runner.ts
32
32
  import { mkdir, readFile, writeFile } from "fs/promises";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  CommandExecutionError
4
- } from "./index-bwxpk2cj.js";
4
+ } from "./index-crmeqnmf.js";
5
5
  import {
6
6
  resolveMobilePath,
7
7
  targetHtmlFilename
@@ -1,12 +1,12 @@
1
1
  // @bun
2
2
  import {
3
3
  script
4
- } from "./index-ycy302an.js";
4
+ } from "./index-qdgzsnhg.js";
5
5
  import {
6
6
  AppExecutor,
7
7
  LibExecutor,
8
8
  ModuleExecutor
9
- } from "./index-bwxpk2cj.js";
9
+ } from "./index-crmeqnmf.js";
10
10
  import {
11
11
  compactDiagnostics,
12
12
  createPrimitiveWriteReport,
@@ -41,10 +41,10 @@ import {
41
41
  hasSignalFactoryEntry,
42
42
  insertSignalFactoryEntry,
43
43
  addFieldUiPolicyForType
44
- } from "./index-yw6g3bbv.js";
44
+ } from "./index-2446k7b4.js";
45
45
  import {
46
46
  ModuleScript
47
- } from "./index-pn8mhpps.js";
47
+ } from "./index-esk82rvk.js";
48
48
 
49
49
  // pkgs/@akanjs/cli/primitive/primitive.script.ts
50
50
  import { capitalize } from "akanjs/common";
package/index.js CHANGED
@@ -4,9 +4,9 @@ import {
4
4
  getTargetMetas,
5
5
  getTargetCommandNames,
6
6
  runCommands
7
- } from "./index-ycy302an.js";
7
+ } from "./index-qdgzsnhg.js";
8
8
  import"./index-q0y2jq9j.js";
9
- import"./index-bwxpk2cj.js";
9
+ import"./index-crmeqnmf.js";
10
10
  import"./index-6wwzs1bc.js";
11
11
 
12
12
  // pkgs/@akanjs/cli/commandManifest.ts
@@ -14,25 +14,25 @@ import path from "path";
14
14
 
15
15
  // pkgs/@akanjs/cli/commandModules.ts
16
16
  var commandModules = {
17
- workspace: async () => (await import("./workspace.command-d5wkswek.js")).WorkspaceCommand,
18
- agent: async () => (await import("./agent.command-65zqfkg0.js")).AgentCommand,
19
- code: async () => (await import("./code.command-4feh3ef7.js")).CodeCommand,
20
- application: async () => (await import("./application.command-2wcj5da3.js")).ApplicationCommand,
21
- library: async () => (await import("./library.command-fp0nhr62.js")).LibraryCommand,
22
- localRegistry: async () => (await import("./localRegistry.command-8y0ecxb9.js")).LocalRegistryCommand,
23
- package: async () => (await import("./package.command-qverjh22.js")).PackageCommand,
24
- module: async () => (await import("./module.command-kqkn48t2.js")).ModuleCommand,
25
- page: async () => (await import("./page.command-94bwhd0g.js")).PageCommand,
26
- context: async () => (await import("./context.command-kzehkx48.js")).ContextCommand,
27
- cloud: async () => (await import("./cloud.command-960bgbf4.js")).CloudCommand,
28
- subspace: async () => (await import("./subspace.command-vkxmwp74.js")).SubspaceCommand,
29
- guideline: async () => (await import("./guideline.command-3w2g20x4.js")).GuidelineCommand,
30
- scalar: async () => (await import("./scalar.command-pb2y95sh.js")).ScalarCommand,
31
- primitive: async () => (await import("./primitive.command-2ydvtah2.js")).PrimitiveCommand,
32
- quality: async () => (await import("./quality.command-fa0gth4p.js")).QualityCommand,
33
- repair: async () => (await import("./repair.command-4qng2hpm.js")).RepairCommand,
34
- workflow: async () => (await import("./workflow.command-132txnrh.js")).WorkflowCommand,
35
- tunnel: async () => (await import("./tunnel.command-02cvp9nf.js")).TunnelCommand
17
+ workspace: async () => (await import("./workspace.command-gv84eh1p.js")).WorkspaceCommand,
18
+ agent: async () => (await import("./agent.command-e0wpbbyg.js")).AgentCommand,
19
+ code: async () => (await import("./code.command-468c9d7s.js")).CodeCommand,
20
+ application: async () => (await import("./application.command-8wyxqc8q.js")).ApplicationCommand,
21
+ library: async () => (await import("./library.command-cqr175dy.js")).LibraryCommand,
22
+ localRegistry: async () => (await import("./localRegistry.command-49z55qqz.js")).LocalRegistryCommand,
23
+ package: async () => (await import("./package.command-wxyz909t.js")).PackageCommand,
24
+ module: async () => (await import("./module.command-9p8mm3b0.js")).ModuleCommand,
25
+ page: async () => (await import("./page.command-gsrsfqqs.js")).PageCommand,
26
+ context: async () => (await import("./context.command-dsnw0jby.js")).ContextCommand,
27
+ cloud: async () => (await import("./cloud.command-4zwa5dsx.js")).CloudCommand,
28
+ subspace: async () => (await import("./subspace.command-fktpwp0g.js")).SubspaceCommand,
29
+ guideline: async () => (await import("./guideline.command-vhw13pqr.js")).GuidelineCommand,
30
+ scalar: async () => (await import("./scalar.command-0cpt3fc8.js")).ScalarCommand,
31
+ primitive: async () => (await import("./primitive.command-ns1mptje.js")).PrimitiveCommand,
32
+ quality: async () => (await import("./quality.command-e76k2q9k.js")).QualityCommand,
33
+ repair: async () => (await import("./repair.command-pkrsm3cw.js")).RepairCommand,
34
+ workflow: async () => (await import("./workflow.command-6tkcysmx.js")).WorkflowCommand,
35
+ tunnel: async () => (await import("./tunnel.command-d5jy9gk8.js")).TunnelCommand
36
36
  };
37
37
  var commandModuleIds = Object.keys(commandModules);
38
38
 
@@ -3,13 +3,13 @@ import {
3
3
  Lib,
4
4
  Workspace,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import {
11
11
  LibraryScript
12
- } from "./index-6q589y9t.js";
12
+ } from "./index-7ep8qtvp.js";
13
13
 
14
14
  // pkgs/@akanjs/cli/library/library.command.ts
15
15
  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-ycy302an.js";
7
+ } from "./index-qdgzsnhg.js";
8
8
  import"./index-q0y2jq9j.js";
9
9
  import {
10
10
  PkgExecutor
11
- } from "./index-bwxpk2cj.js";
11
+ } from "./index-crmeqnmf.js";
12
12
  import"./index-6wwzs1bc.js";
13
13
  import {
14
14
  ApplicationScript
15
- } from "./index-h94faz96.js";
16
- import"./index-6q589y9t.js";
15
+ } from "./index-bftkz6cp.js";
16
+ import"./index-7ep8qtvp.js";
17
17
  import"./index-hwkygn9s.js";
18
18
  import"./index-7md2g9vw.js";
19
- import"./index-myj01w9r.js";
19
+ import"./index-srmay5jw.js";
20
20
  import {
21
21
  getNpmRegistryUrl,
22
22
  CloudRunner
23
- } from "./index-3hpxeys1.js";
24
- import"./index-kcxmv48c.js";
23
+ } from "./index-bc88j1ry.js";
24
+ import"./index-bhtmj233.js";
25
25
  import {
26
26
  PackageScript
27
- } from "./index-sbfk9daf.js";
28
- import"./index-4r42ext5.js";
27
+ } from "./index-ab0c38ea.js";
28
+ import"./index-kwaq3n9n.js";
29
29
 
30
30
  // pkgs/@akanjs/cli/localRegistry/localRegistry.runner.ts
31
31
  import { mkdir, rm } from "fs/promises";
@@ -3,17 +3,17 @@ import {
3
3
  Sys,
4
4
  Module,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import {
11
11
  renderPrimitiveReport
12
- } from "./index-yw6g3bbv.js";
13
- import"./index-mt2154s2.js";
12
+ } from "./index-2446k7b4.js";
13
+ import"./index-22xtgmhn.js";
14
14
  import {
15
15
  ModuleScript
16
- } from "./index-pn8mhpps.js";
16
+ } from "./index-esk82rvk.js";
17
17
 
18
18
  // pkgs/@akanjs/cli/module/module.command.ts
19
19
  import { Logger, lowerlize } from "akanjs/common";
@@ -3,14 +3,14 @@ import {
3
3
  Pkg,
4
4
  Workspace,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
- import"./index-kcxmv48c.js";
10
+ import"./index-bhtmj233.js";
11
11
  import {
12
12
  PackageScript
13
- } from "./index-sbfk9daf.js";
13
+ } from "./index-ab0c38ea.js";
14
14
 
15
15
  // pkgs/@akanjs/cli/package/package.command.ts
16
16
  class PackageCommand extends command("package", [PackageScript], ({ public: target }) => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/cli",
3
- "version": "3.0.0-beta.18",
3
+ "version": "3.0.0-beta.19",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -40,7 +40,7 @@
40
40
  "@inquirer/prompts": "^8.4.3",
41
41
  "@tailwindcss/node": "^4.3.0",
42
42
  "@trapezedev/project": "^7.1.4",
43
- "akanjs": "3.0.0-beta.18",
43
+ "akanjs": "3.0.0-beta.19",
44
44
  "chalk": "^5.6.2",
45
45
  "commander": "^14.0.3",
46
46
  "dayjs": "^1.11.20",
@@ -3,13 +3,13 @@ import {
3
3
  App,
4
4
  Module,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import {
11
11
  PageScript
12
- } from "./index-mt2154s2.js";
12
+ } from "./index-22xtgmhn.js";
13
13
 
14
14
  // pkgs/@akanjs/cli/page/page.command.ts
15
15
  class PageCommand extends command("page", [PageScript], ({ public: target }) => ({
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-ycy302an.js";
5
+ } from "./index-qdgzsnhg.js";
6
6
  import"./index-q0y2jq9j.js";
7
- import"./index-bwxpk2cj.js";
7
+ import"./index-crmeqnmf.js";
8
8
  import"./index-6wwzs1bc.js";
9
9
  import {
10
10
  renderPrimitiveReport
11
- } from "./index-yw6g3bbv.js";
12
- import"./index-mt2154s2.js";
13
- import"./index-pn8mhpps.js";
11
+ } from "./index-2446k7b4.js";
12
+ import"./index-22xtgmhn.js";
13
+ import"./index-esk82rvk.js";
14
14
  import {
15
15
  PrimitiveScript
16
- } from "./index-d9fjz06h.js";
16
+ } from "./index-zqgj2rt2.js";
17
17
 
18
18
  // pkgs/@akanjs/cli/primitive/primitive.command.ts
19
19
  import { Logger } from "akanjs/common";
@@ -4,24 +4,26 @@ import {
4
4
  runner,
5
5
  script,
6
6
  command
7
- } from "./index-ycy302an.js";
7
+ } from "./index-qdgzsnhg.js";
8
8
  import"./index-q0y2jq9j.js";
9
9
  import {
10
10
  rootAllowedFiles,
11
11
  rootAllowedDirs,
12
12
  isAllowedLibFacetRootFile
13
- } from "./index-bwxpk2cj.js";
13
+ } from "./index-crmeqnmf.js";
14
14
  import"./index-6wwzs1bc.js";
15
15
 
16
16
  // pkgs/@akanjs/devkit/qualityScanner.ts
17
17
  import { createHash } from "crypto";
18
18
  import { readdir, readFile, stat } from "fs/promises";
19
- import path from "path";
19
+ import path2 from "path";
20
20
  import { RESERVED_ROUTE_CONFIG_EXPORTS } from "akanjs/common";
21
21
  import ignore from "ignore";
22
22
  import ts3 from "typescript";
23
23
 
24
24
  // pkgs/@akanjs/devkit/abstractDoc.ts
25
+ import path from "path";
26
+
25
27
  class AbstractDoc {
26
28
  path;
27
29
  content;
@@ -46,7 +48,7 @@ class AbstractDoc {
46
48
  return folder.startsWith("_") ? "service" : "domain";
47
49
  }
48
50
  static async findAll(sys, { module } = {}) {
49
- const filePaths = (await sys.getAllFiles(`${AbstractDoc.#facetRoots}/**/*${AbstractDoc.suffix}`)).sort();
51
+ const filePaths = (await sys.getAllFiles(`${AbstractDoc.#facetRoots}/**/*${AbstractDoc.suffix}`)).map((filePath) => filePath.split(path.sep).join("/")).sort();
50
52
  const docs = await Promise.all(filePaths.map((filePath) => AbstractDoc.read(sys, filePath)));
51
53
  if (!module)
52
54
  return docs;
@@ -57,8 +59,8 @@ class AbstractDoc {
57
59
  const [content, folderFiles] = await Promise.all([sys.readFile(filePath), sys.readdir(dirPath)]);
58
60
  return new AbstractDoc(filePath, content, folderFiles.filter((fileName) => !AbstractDoc.isAbstractPath(fileName)));
59
61
  }
60
- constructor(path, content, siblingFiles) {
61
- this.path = path;
62
+ constructor(path2, content, siblingFiles) {
63
+ this.path = path2;
62
64
  this.content = content;
63
65
  this.siblingFiles = siblingFiles;
64
66
  }
@@ -608,7 +610,7 @@ class AkanQualityScanner {
608
610
  const ignoreFilter = ignore().add(await this.#readGitIgnore(workspaceRoot));
609
611
  const files = [];
610
612
  for (const targetRoot of ["apps", "libs"]) {
611
- const absoluteTargetRoot = path.join(workspaceRoot, targetRoot);
613
+ const absoluteTargetRoot = path2.join(workspaceRoot, targetRoot);
612
614
  if (!await isDirectory(absoluteTargetRoot))
613
615
  continue;
614
616
  await this.#walkTargetFiles(workspaceRoot, absoluteTargetRoot, ignoreFilter, files);
@@ -616,7 +618,7 @@ class AkanQualityScanner {
616
618
  return files.sort();
617
619
  }
618
620
  async#readGitIgnore(workspaceRoot) {
619
- const gitIgnorePath = path.join(workspaceRoot, ".gitignore");
621
+ const gitIgnorePath = path2.join(workspaceRoot, ".gitignore");
620
622
  if (!await Bun.file(gitIgnorePath).exists())
621
623
  return [];
622
624
  return (await readFile(gitIgnorePath, "utf8")).split(/\r?\n/);
@@ -624,8 +626,8 @@ class AkanQualityScanner {
624
626
  async#walkTargetFiles(workspaceRoot, currentPath, ignoreFilter, files) {
625
627
  const entries = await readdir(currentPath, { withFileTypes: true });
626
628
  for (const entry of entries) {
627
- const absolutePath = path.join(currentPath, entry.name);
628
- const relativePath = toPosix(path.relative(workspaceRoot, absolutePath));
629
+ const absolutePath = path2.join(currentPath, entry.name);
630
+ const relativePath = toPosix(path2.relative(workspaceRoot, absolutePath));
629
631
  if (shouldSkipPath(relativePath, entry.isDirectory(), ignoreFilter))
630
632
  continue;
631
633
  if (entry.isDirectory()) {
@@ -640,7 +642,7 @@ class AkanQualityScanner {
640
642
  }
641
643
  }
642
644
  async#readSourceFile(workspaceRoot, file) {
643
- const absolutePath = path.join(workspaceRoot, file);
645
+ const absolutePath = path2.join(workspaceRoot, file);
644
646
  const content = await readFile(absolutePath, "utf8");
645
647
  return {
646
648
  file,
@@ -650,7 +652,7 @@ class AkanQualityScanner {
650
652
  };
651
653
  }
652
654
  async#readTextFile(workspaceRoot, file) {
653
- return { file, content: await readFile(path.join(workspaceRoot, file), "utf8") };
655
+ return { file, content: await readFile(path2.join(workspaceRoot, file), "utf8") };
654
656
  }
655
657
  #scanGlobalQuality(sourceFiles) {
656
658
  const exportedFunctionLikes = sourceFiles.flatMap((sourceFile) => getExportedFunctionLikes(sourceFile));
@@ -775,7 +777,7 @@ class AkanQualityScanner {
775
777
  const suffix = CONVENTION_SUFFIXES.find((candidate) => sourceFile.file.endsWith(candidate));
776
778
  if (!suffix)
777
779
  return [];
778
- const modelName = toPascalCase(path.basename(sourceFile.file, suffix));
780
+ const modelName = toPascalCase(path2.basename(sourceFile.file, suffix));
779
781
  const warnings = [];
780
782
  for (const declaration of getTopLevelDeclarations(sourceFile)) {
781
783
  if (isAllowedConventionDeclaration(suffix, modelName, declaration))
@@ -786,7 +788,7 @@ class AkanQualityScanner {
786
788
  severity: "warning",
787
789
  file: sourceFile.file,
788
790
  line: declaration.line,
789
- message: `${path.basename(sourceFile.file)} should not declare top-level ${declaration.kind} "${declaration.name}". Allowed declarations: ${getConventionDescription(suffix, modelName)}.`
791
+ message: `${path2.basename(sourceFile.file)} should not declare top-level ${declaration.kind} "${declaration.name}". Allowed declarations: ${getConventionDescription(suffix, modelName)}.`
790
792
  });
791
793
  }
792
794
  return warnings;
@@ -1321,7 +1323,7 @@ function toPascalCase(value) {
1321
1323
  return value.replace(/(^|[-_./])([a-zA-Z0-9])/g, (_, __, char) => char.toUpperCase()).replace(/[-_./]/g, "");
1322
1324
  }
1323
1325
  function toPosix(value) {
1324
- return value.split(path.sep).join("/");
1326
+ return value.split(path2.sep).join("/");
1325
1327
  }
1326
1328
  function groupBy(items, getKey) {
1327
1329
  const grouped = new Map;
@@ -3,16 +3,16 @@ import {
3
3
  Workspace,
4
4
  script,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import"./index-by5gpp8x.js";
11
- import"./index-yw6g3bbv.js";
12
- import"./index-rpgxs245.js";
11
+ import"./index-2446k7b4.js";
12
+ import"./index-18zybgkc.js";
13
13
  import {
14
14
  RepairRunner
15
- } from "./index-ef228gzf.js";
15
+ } from "./index-53176s7j.js";
16
16
 
17
17
  // pkgs/@akanjs/cli/repair/repair.script.ts
18
18
  import { Logger } from "akanjs/common";
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  Sys,
4
4
  command
5
- } from "./index-ycy302an.js";
5
+ } from "./index-qdgzsnhg.js";
6
6
  import"./index-q0y2jq9j.js";
7
- import"./index-bwxpk2cj.js";
7
+ import"./index-crmeqnmf.js";
8
8
  import"./index-6wwzs1bc.js";
9
9
  import {
10
10
  renderPrimitiveReport
11
- } from "./index-yw6g3bbv.js";
11
+ } from "./index-2446k7b4.js";
12
12
  import {
13
13
  ScalarScript
14
- } from "./index-q9c3c0hy.js";
14
+ } from "./index-4m929vvn.js";
15
15
 
16
16
  // pkgs/@akanjs/cli/scalar/scalar.command.ts
17
17
  import { Logger, lowerlize } from "akanjs/common";
@@ -4,23 +4,23 @@ import {
4
4
  } from "./index-q0y2jq9j.js";
5
5
  import {
6
6
  GlobalConfig
7
- } from "./index-myj01w9r.js";
7
+ } from "./index-srmay5jw.js";
8
8
  import {
9
9
  Workspace,
10
10
  CommandContainer,
11
11
  runner,
12
12
  script,
13
13
  command
14
- } from "./index-ycy302an.js";
14
+ } from "./index-qdgzsnhg.js";
15
15
  import {
16
16
  Executor,
17
17
  WorkspaceExecutor,
18
18
  AppExecutor
19
- } from "./index-bwxpk2cj.js";
19
+ } from "./index-crmeqnmf.js";
20
20
  import"./index-6wwzs1bc.js";
21
21
  import {
22
22
  SlicePlanner
23
- } from "./index-4r42ext5.js";
23
+ } from "./index-kwaq3n9n.js";
24
24
  import {
25
25
  LibSource
26
26
  } from "./index-3d9y066c.js";
@@ -197,9 +197,20 @@ class Subspace {
197
197
  }
198
198
  }
199
199
  async#extract(paths, excludes = []) {
200
- const pathspec = paths.map((entry) => `'${entry}'`).join(" ");
201
- const excludeArgs = excludes.map((entry) => `--exclude='${entry}'`).join(" ");
202
- await this.#workspace.exec(`git archive HEAD -- ${pathspec} | tar -x -C '${this.#clonePath}' ${excludeArgs}`.trim());
200
+ const archivePath = path.relative(this.#workspace.workspaceRoot, `${this.#clonePath}.tar`);
201
+ await this.#workspace.spawn("git", ["archive", "-o", archivePath, "HEAD", "--", ...paths]);
202
+ try {
203
+ await this.#workspace.spawn("tar", [
204
+ "-x",
205
+ "-f",
206
+ archivePath,
207
+ "-C",
208
+ this.#clonePath,
209
+ ...excludes.map((entry) => `--exclude=${entry}`)
210
+ ]);
211
+ } finally {
212
+ await rm(path.join(this.#workspace.workspaceRoot, archivePath), { force: true });
213
+ }
203
214
  }
204
215
  #localEnv() {
205
216
  const { serveDomain } = WorkspaceExecutor.getBaseDevEnv();
@@ -269,8 +280,7 @@ class Subspace {
269
280
  if (!await FileSys.fileExists(gitignorePath))
270
281
  return;
271
282
  const [begin = "", end = ""] = Subspace.secretsMarkers;
272
- const lines = (await FileSys.readText(gitignorePath)).split(`
273
- `);
283
+ const lines = (await FileSys.readText(gitignorePath)).split(/\r?\n/);
274
284
  const beginIdx = lines.indexOf(begin);
275
285
  const endIdx = lines.indexOf(end);
276
286
  const filtered = beginIdx >= 0 && endIdx > beginIdx ? [
@@ -725,7 +735,7 @@ class SubspaceRunner extends runner("subspace") {
725
735
  if (!asked)
726
736
  return { name: subspace.name, workspaceId, host, apps, libs: [], outcome: "cancelled", files: [] };
727
737
  const { libs } = await subspace.slice();
728
- const { CloudScript } = await import("./cloud.script-qhcnqt1n.js");
738
+ const { CloudScript } = await import("./cloud.script-fwx3vb34.js");
729
739
  const { files } = await CommandContainer.get(CloudScript).uploadEnv(workspace, {
730
740
  host,
731
741
  workspaceId,
@@ -6,7 +6,7 @@ import { configureSignalTest } from "akanjs/test";
6
6
 
7
7
  import * as taskSpec from "./task.signal.spec";
8
8
 
9
- configureSignalTest({ databaseMode: "memory" });
9
+ configureSignalTest({ storage: "memory" });
10
10
 
11
11
  describe("Task signal smoke", () => {
12
12
  test("creates a task in todo", async () => {
@@ -1,29 +1,18 @@
1
- version: "3.8"
2
1
  networks:
3
2
  <%= repoName %>-network:
4
3
  driver: bridge
5
4
  services:
6
5
  redis:
7
6
  container_name: <%= repoName %>-redis
8
- image: redis
7
+ image: redis:8
9
8
  restart: unless-stopped
10
9
  ports:
11
10
  - 6379:6379
12
11
  networks:
13
12
  - <%= repoName %>-network
14
- libsql:
15
- container_name: <%= repoName %>-libsql
16
- image: ghcr.io/tursodatabase/libsql-server:latest
17
- restart: unless-stopped
18
- ports:
19
- - 8080:8080
20
- volumes:
21
- - ./libsql:/var/lib/sqld
22
- networks:
23
- - <%= repoName %>-network
24
13
  postgres:
25
14
  container_name: <%= repoName %>-postgres
26
- image: postgres:17
15
+ image: postgres:18
27
16
  restart: unless-stopped
28
17
  ports:
29
18
  - 5432:5432
@@ -32,6 +21,6 @@ services:
32
21
  - POSTGRES_USER=akan
33
22
  - POSTGRES_PASSWORD=akan
34
23
  volumes:
35
- - ./postgres:/var/lib/postgresql/data
24
+ - ./postgres:/var/lib/postgresql
36
25
  networks:
37
26
  - <%= repoName %>-network
@@ -3,20 +3,20 @@ import"./index-q0y2jq9j.js";
3
3
  import {
4
4
  GlobalConfig,
5
5
  CloudApi
6
- } from "./index-myj01w9r.js";
6
+ } from "./index-srmay5jw.js";
7
7
  import {
8
8
  Workspace,
9
9
  runner,
10
10
  script,
11
11
  command
12
- } from "./index-ycy302an.js";
12
+ } from "./index-qdgzsnhg.js";
13
13
  import {
14
14
  AppExecutor
15
- } from "./index-bwxpk2cj.js";
15
+ } from "./index-crmeqnmf.js";
16
16
  import"./index-6wwzs1bc.js";
17
17
  import {
18
18
  TunnelShare2
19
- } from "./index-gm76f0qb.js";
19
+ } from "./index-n3cv0tm4.js";
20
20
  import {
21
21
  writeClipboard
22
22
  } from "./index-p6pbz9n5.js";
@@ -3,28 +3,28 @@ import {
3
3
  Workspace,
4
4
  script,
5
5
  command
6
- } from "./index-ycy302an.js";
6
+ } from "./index-qdgzsnhg.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-bwxpk2cj.js";
8
+ import"./index-crmeqnmf.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import {
11
11
  createWorkflowStepRegistry
12
- } from "./index-yw6g3bbv.js";
13
- import"./index-mt2154s2.js";
12
+ } from "./index-2446k7b4.js";
13
+ import"./index-22xtgmhn.js";
14
14
  import {
15
15
  ModuleScript
16
- } from "./index-pn8mhpps.js";
16
+ } from "./index-esk82rvk.js";
17
17
  import {
18
18
  PrimitiveScript
19
- } from "./index-d9fjz06h.js";
19
+ } from "./index-zqgj2rt2.js";
20
20
  import {
21
21
  ScalarScript
22
- } from "./index-q9c3c0hy.js";
22
+ } from "./index-4m929vvn.js";
23
23
  import"./index-by5gpp8x.js";
24
- import"./index-rpgxs245.js";
24
+ import"./index-18zybgkc.js";
25
25
  import {
26
26
  WorkflowRunner
27
- } from "./index-zmj143x7.js";
27
+ } from "./index-txr7dj2g.js";
28
28
 
29
29
  // pkgs/@akanjs/cli/workflow/workflow.script.ts
30
30
  import { Logger } from "akanjs/common";