@akanjs/cli 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (101) hide show
  1. package/.build-stamp +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +1 -1
  4. package/{abstractCompactor-e5yq60qz.js → abstractCompactor-20e0cwbs.js} +2 -2
  5. package/{agent.command-yv00p0s0.js → agent.command-g92sg0pw.js} +8 -7
  6. package/{application.command-0qsczf4k.js → application.command-8snsrzks.js} +6 -5
  7. package/{applicationBuildRunner-ct2pxyvw.js → applicationBuildRunner-7gnfz7ww.js} +6 -7
  8. package/{applicationReleasePackager-gg8ccbeh.js → applicationReleasePackager-93nzdfsy.js} +1 -1
  9. package/buildBatch.proc.js +5 -4
  10. package/{capacitorApp-4r9sm3qg.js → capacitorApp-hyz5hypv.js} +29 -26
  11. package/{cloud.command-dxfv18sa.js → cloud.command-27tan2c5.js} +10 -9
  12. package/{context.command-8d9e3k6b.js → context.command-x0ms4783.js} +16 -15
  13. package/{dependencyScanner-f6grrep3.js → dependencyScanner-rbs2407b.js} +1 -1
  14. package/getDirname-ka11hm7e.js +8 -0
  15. package/{guideline.command-3jbkxzh6.js → guideline.command-1vadc7m2.js} +7 -6
  16. package/guidelines/conventions/conventions.generate.json +25 -0
  17. package/guidelines/conventions/conventions.instruction.md +909 -0
  18. package/guidelines/cssRule/cssRule.instruction.md +7 -0
  19. package/guidelines/framework/framework.instruction.md +1 -0
  20. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +24 -0
  21. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +972 -0
  22. package/incrementalBuilder.proc.js +4 -3
  23. package/index-1577bej2.js +7 -0
  24. package/{index-1pvex4az.js → index-1brb6fhj.js} +13 -13
  25. package/{index-2q1f5j9k.js → index-3taw6vhk.js} +3 -3
  26. package/{index-k95xkh4p.js → index-4zbcwnr4.js} +8 -4
  27. package/{index-a00jg8x8.js → index-68ynenz3.js} +49 -32
  28. package/{index-yzmhasdb.js → index-72jn9p18.js} +8 -8
  29. package/{index-8hsbnyes.js → index-91va923f.js} +5 -3
  30. package/{index-rzwcpcc3.js → index-cfzvtfwp.js} +1 -1
  31. package/{index-7c6k4yvg.js → index-cmffkxcx.js} +15 -7
  32. package/{index-ec09pws3.js → index-cxf04znn.js} +4 -4
  33. package/{index-nm6wghb6.js → index-dc8y2vae.js} +6 -6
  34. package/{index-bbkek1bp.js → index-f8qt4sdr.js} +1 -1
  35. package/{index-hgna5rjy.js → index-gn6jc5kp.js} +141 -65
  36. package/{index-t3723f99.js → index-hbm5htq0.js} +86 -17
  37. package/{index-pyt2b4nw.js → index-hg0qvhmx.js} +152 -241
  38. package/{index-tdbas9r0.js → index-j37qq1f2.js} +1 -1
  39. package/{index-mr5s7mqd.js → index-krmp6zdm.js} +3 -3
  40. package/{index-bekddz9q.js → index-prq4dmbf.js} +4 -4
  41. package/{index-rh16j3c7.js → index-qnv0aqmm.js} +12 -8
  42. package/{index-0cj2zxbm.js → index-sh01r3pm.js} +1 -1
  43. package/{index-zasydjxd.js → index-vbvnq3cr.js} +9 -11
  44. package/{index-ej426mcr.js → index-w4gzpx6w.js} +37 -6
  45. package/{index-e16gnn26.js → index-zyk0731f.js} +12 -12
  46. package/index.js +20 -19
  47. package/{library.command-ebdj1vnm.js → library.command-eszvmj60.js} +5 -4
  48. package/{localRegistry.command-gb178ne8.js → localRegistry.command-t4yksc4z.js} +9 -8
  49. package/{module.command-9c1bnsx4.js → module.command-7nezmr8d.js} +9 -8
  50. package/{package.command-t93p4jkj.js → package.command-vtyf9kgj.js} +5 -4
  51. package/package.json +3 -4
  52. package/{page.command-k3k0meh2.js → page.command-08kg25hh.js} +5 -4
  53. package/{primitive.command-de6nktdt.js → primitive.command-er9zkjhd.js} +10 -9
  54. package/{quality.command-z5kth2wa.js → quality.command-ntyzf8vz.js} +11 -41
  55. package/{recipeScanner-tghkzrrt.js → recipeScanner-zrzev25x.js} +3 -3
  56. package/{repair.command-ehf2g112.js → repair.command-sfn4msje.js} +7 -6
  57. package/{routeSourceValidator-cncd92fv.js → routeSourceValidator-7fycdqyv.js} +3 -39
  58. package/{scalar.command-7a2jtv33.js → scalar.command-mxvqc069.js} +8 -7
  59. package/templates/app/page/styles.css.template +3 -3
  60. package/templates/appSample/srvkit/AuthGuard.ts +9 -5
  61. package/templates/appSample/srvkit/SessionInternalArg.ts +4 -3
  62. package/templates/crudPages/[__model__Id]/edit/page.tsx +1 -1
  63. package/templates/crudPages/new/page.tsx +1 -1
  64. package/templates/crudSinglePage/page.tsx +1 -1
  65. package/templates/env/_env.server.type.ts +7 -4
  66. package/templates/lib/db.ts +1 -1
  67. package/templates/lib/dict.ts +1 -1
  68. package/templates/lib/sig.ts +1 -1
  69. package/templates/lib/srv.ts +7 -3
  70. package/templates/lib/useClient.ts +9 -3
  71. package/templates/module/__Model__.Util.tsx +1 -1
  72. package/templates/module/__Model__.Zone.tsx +3 -5
  73. package/templates/workspaceRoot/AGENTS.md.template +0 -955
  74. package/templates/workspaceRoot/CLAUDE.md.template +19 -0
  75. package/templates/workspaceRoot/biome.json.template +4 -198
  76. package/templates/workspaceRoot/docs/AI-DEVELOPMENT.md.template +4 -1
  77. package/{typeChecker-kravn7ns.js → typeChecker-g6bh0xfv.js} +1 -1
  78. package/typecheck.proc.js +1 -1
  79. package/{workflow.command-e0tt0vk2.js → workflow.command-y7vg1hx2.js} +15 -14
  80. package/{workspace.command-fpda0evj.js → workspace.command-bjf247fv.js} +69 -51
  81. package/templates/workspaceRoot/.cursor/rules/akan-page-routing.mdc.template +0 -43
  82. package/templates/workspaceRoot/.cursor/rules/akan-sync-conventions.mdc.template +0 -33
  83. package/templates/workspaceRoot/.cursor/rules/application-test-commands.mdc.template +0 -16
  84. package/templates/workspaceRoot/.cursor/rules/change-scope.mdc.template +0 -12
  85. package/templates/workspaceRoot/.cursor/rules/client-server-boundaries.mdc.template +0 -18
  86. package/templates/workspaceRoot/.cursor/rules/coding-comments.mdc.template +0 -25
  87. package/templates/workspaceRoot/.cursor/rules/coding-style.mdc.template +0 -44
  88. package/templates/workspaceRoot/.cursor/rules/domain-module-conventions.mdc.template +0 -17
  89. package/templates/workspaceRoot/.cursor/rules/format-lint.mdc.template +0 -12
  90. package/templates/workspaceRoot/.cursor/rules/lint-enforced-rules.mdc.template +0 -18
  91. package/templates/workspaceRoot/.cursor/rules/module-file-playbook.mdc.template +0 -61
  92. package/templates/workspaceRoot/.cursor/rules/naming-conventions.mdc.template +0 -15
  93. package/templates/workspaceRoot/.cursor/rules/react-component-style.mdc.template +0 -21
  94. package/templates/workspaceRoot/.cursor/rules/repo-overview.mdc.template +0 -17
  95. package/templates/workspaceRoot/.cursor/rules/scalar-modeling.mdc.template +0 -58
  96. package/templates/workspaceRoot/.cursor/rules/secrets-and-env.mdc.template +0 -13
  97. package/templates/workspaceRoot/.cursor/rules/service-signal-conventions.mdc.template +0 -83
  98. package/templates/workspaceRoot/.cursor/rules/srvkit-adapters-and-guards.mdc.template +0 -50
  99. package/templates/workspaceRoot/.cursor/rules/ssr-first.mdc.template +0 -59
  100. package/templates/workspaceRoot/.cursor/rules/typescript-imports.mdc.template +0 -16
  101. /package/{index-r24hmh0q.js → index-yb2wsc7f.js} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  DevGeneratedIndexSync,
9
9
  GraphClientEntryDiscovery,
10
10
  RouteClientBuilder
11
- } from "./index-rh16j3c7.js";
11
+ } from "./index-qnv0aqmm.js";
12
12
  import {
13
13
  HmrWatcher,
14
14
  WatchRootResolver
@@ -16,10 +16,11 @@ import {
16
16
  import {
17
17
  AppExecutor,
18
18
  WorkspaceExecutor
19
- } from "./index-hgna5rjy.js";
19
+ } from "./index-gn6jc5kp.js";
20
20
  import"./index-mxvakhsm.js";
21
+ import"./index-1577bej2.js";
21
22
  import"./index-67546d0j.js";
22
- import"./index-r24hmh0q.js";
23
+ import"./index-yb2wsc7f.js";
23
24
 
24
25
  // pkgs/@akanjs/devkit/incrementalBuilder/incrementalBuilder.proc.ts
25
26
  import path2 from "path";
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ // pkgs/@akanjs/devkit/getDirname.ts
3
+ import path from "path";
4
+ import { fileURLToPath } from "url";
5
+ var getDirname = (url) => path.dirname(fileURLToPath(url));
6
+
7
+ export { getDirname };
@@ -1,22 +1,22 @@
1
1
  // @bun
2
2
  import {
3
3
  RepairRunner
4
- } from "./index-mr5s7mqd.js";
4
+ } from "./index-krmp6zdm.js";
5
5
  import {
6
6
  WorkflowRunner
7
- } from "./index-2q1f5j9k.js";
7
+ } from "./index-3taw6vhk.js";
8
+ import {
9
+ ScalarScript
10
+ } from "./index-cxf04znn.js";
8
11
  import {
9
12
  PrimitiveScript
10
- } from "./index-bekddz9q.js";
13
+ } from "./index-prq4dmbf.js";
11
14
  import {
12
15
  ModuleScript
13
- } from "./index-yzmhasdb.js";
14
- import {
15
- ScalarScript
16
- } from "./index-ec09pws3.js";
16
+ } from "./index-72jn9p18.js";
17
17
  import {
18
18
  isPlaceholderAppId
19
- } from "./index-t3723f99.js";
19
+ } from "./index-hbm5htq0.js";
20
20
  import {
21
21
  AkanContextAnalyzer,
22
22
  akanMcpInstallConfigPaths,
@@ -27,17 +27,17 @@ import {
27
27
  renderDoctorText,
28
28
  resourceList,
29
29
  upsertCodexMcpServerBlock
30
- } from "./index-a00jg8x8.js";
30
+ } from "./index-68ynenz3.js";
31
31
  import {
32
32
  buildAkanModuleContextIndex,
33
33
  createWorkflowBaselineSummary,
34
34
  createWorkflowStepRegistry,
35
35
  jsonText,
36
36
  toolingRolloutGate
37
- } from "./index-rzwcpcc3.js";
37
+ } from "./index-cfzvtfwp.js";
38
38
  import {
39
39
  Prompter
40
- } from "./index-tdbas9r0.js";
40
+ } from "./index-j37qq1f2.js";
41
41
  import {
42
42
  getMobileTargets
43
43
  } from "./index-76rn3g2c.js";
@@ -45,10 +45,10 @@ import {
45
45
  CommandContainer,
46
46
  runner,
47
47
  script
48
- } from "./index-8hsbnyes.js";
48
+ } from "./index-91va923f.js";
49
49
  import {
50
50
  AppExecutor
51
- } from "./index-hgna5rjy.js";
51
+ } from "./index-gn6jc5kp.js";
52
52
 
53
53
  // pkgs/@akanjs/cli/context/context.script.ts
54
54
  import { Logger } from "akanjs/common";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  AkanContextAnalyzer
4
- } from "./index-a00jg8x8.js";
4
+ } from "./index-68ynenz3.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-rzwcpcc3.js";
26
+ } from "./index-cfzvtfwp.js";
27
27
  import {
28
28
  runner
29
- } from "./index-8hsbnyes.js";
29
+ } from "./index-91va923f.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-8hsbnyes.js";
5
+ } from "./index-91va923f.js";
6
6
  import {
7
7
  PkgExecutor
8
- } from "./index-hgna5rjy.js";
8
+ } from "./index-gn6jc5kp.js";
9
9
  import {
10
10
  TypeScriptDependencyScanner
11
11
  } from "./index-46tjzh6s.js";
@@ -163,13 +163,17 @@ class PackageRunner extends runner("package") {
163
163
  "tailwind-scrollbar"
164
164
  ].filter((dep) => dep !== "akanjs" && dep !== "@akanjs/devkit");
165
165
  }
166
- const bundledRuntimeDeps = new Set(pkg.name === "@akanjs/cli" ? ["@akanjs/devkit"] : []);
166
+ const packageBundledRuntimeDependencies = {
167
+ "@akanjs/cli": ["@akanjs/devkit"],
168
+ akanjs: ["use-agentic"]
169
+ };
170
+ const bundledRuntimeDeps = new Set(packageBundledRuntimeDependencies[pkg.name] ?? []);
167
171
  const forcedRuntimeDeps = packageRuntimeDependencies[pkg.name] ?? [];
168
172
  const forcedRuntimeDevDeps = packageRuntimeDevDependencies[pkg.name] ?? [];
169
173
  const [rootPackageJson, pkgJson] = await Promise.all([pkg.workspace.getPackageJson(), pkg.getPackageJson()]);
170
174
  const optionalPeerDeps = new Set(Object.entries(pkgJson.peerDependenciesMeta ?? {}).filter(([, meta]) => meta.optional).map(([dep]) => dep));
171
175
  const packageRuntimeDeps = [...new Set([...npmDeps, ...forcedRuntimeDeps])].filter((dep) => !optionalPeerDeps.has(dep) && !bundledRuntimeDeps.has(dep));
172
- const packageRuntimeDevDeps = [...new Set([...npmDevDeps, ...forcedRuntimeDevDeps])].filter((dep) => !optionalPeerDeps.has(dep));
176
+ const packageRuntimeDevDeps = [...new Set([...npmDevDeps, ...forcedRuntimeDevDeps])].filter((dep) => !optionalPeerDeps.has(dep) && !bundledRuntimeDeps.has(dep));
173
177
  const rootDeps = { ...rootPackageJson.dependencies, ...rootPackageJson.devDependencies };
174
178
  const missingForcedDeps = forcedRuntimeDeps.filter((dep) => !rootDeps[dep]);
175
179
  const missingForcedDevDeps = forcedRuntimeDevDeps.filter((dep) => !rootDeps[dep]);
@@ -2,11 +2,16 @@
2
2
  import {
3
3
  workflowRunArtifactPath,
4
4
  workflowSyncDir
5
- } from "./index-rzwcpcc3.js";
5
+ } from "./index-cfzvtfwp.js";
6
6
  import {
7
7
  AppExecutor,
8
- LibExecutor
9
- } from "./index-hgna5rjy.js";
8
+ LibExecutor,
9
+ appRootAllowedDirs,
10
+ appRootAllowedFiles,
11
+ extractBlockVersion,
12
+ isScannedAppRootEntry,
13
+ readDevkitVersion
14
+ } from "./index-gn6jc5kp.js";
10
15
  import {
11
16
  collectRecipeSources,
12
17
  findInlineRecipeDuplicates,
@@ -121,7 +126,9 @@ var validationCommands = [
121
126
  "akan typecheck <app-name>",
122
127
  "akan test <app-or-lib-or-pkg>",
123
128
  "akan build <app-name>",
124
- "akan doctor --strict --format json"
129
+ "akan doctor --strict --format json",
130
+ "akan quality scan [--format json]",
131
+ "akan quality ssr [--format json]"
125
132
  ];
126
133
  var unknownGeneratedFilesFreshness = {
127
134
  status: "unknown",
@@ -150,33 +157,6 @@ var moduleShapeFiles = (module) => {
150
157
  ];
151
158
  };
152
159
  var constantFieldNames = (content) => [...content.matchAll(/\b([A-Za-z_$][\w$]*)\s*:\s*field\(/g)].map((match) => match[1]).filter(Boolean);
153
- var appRootAllowFiles = new Set([
154
- "AGENTS.md",
155
- "CLAUDE.md",
156
- "akan.app.json",
157
- "akan.config.ts",
158
- "capacitor.config.ts",
159
- "client.ts",
160
- "main.ts",
161
- "package.json",
162
- "server.ts",
163
- "tsconfig.json"
164
- ]);
165
- var appRootAllowDirs = new Set([
166
- ".akan",
167
- "android",
168
- "common",
169
- "env",
170
- "ios",
171
- "lib",
172
- "page",
173
- "private",
174
- "public",
175
- "script",
176
- "srvkit",
177
- "ui",
178
- "webkit"
179
- ]);
180
160
  var safeReadDir = async (dirPath) => {
181
161
  try {
182
162
  return (await readdir(dirPath, { withFileTypes: true })).sort((a, b) => a.name.localeCompare(b.name));
@@ -389,6 +369,29 @@ class AkanContextAnalyzer {
389
369
  validationCommands
390
370
  };
391
371
  }
372
+ static async#agentGuideDrift(workspace) {
373
+ const installed = await readDevkitVersion();
374
+ if (!installed)
375
+ return null;
376
+ const content = await safeReadText(path.join(workspace.workspaceRoot, "AGENTS.md"));
377
+ if (content === null)
378
+ return null;
379
+ const stamped = extractBlockVersion(content);
380
+ if (stamped === installed)
381
+ return null;
382
+ const hint = "Re-render the AGENTS.md managed block from the installed framework release.";
383
+ if (!stamped)
384
+ return {
385
+ code: "agent-guide-unstamped",
386
+ message: `AGENTS.md carries no generated-version stamp, so its conventions may predate @akanjs/devkit ${installed}`,
387
+ hint
388
+ };
389
+ return {
390
+ code: "agent-guide-stale",
391
+ message: `AGENTS.md was generated by @akanjs/devkit ${stamped}, but ${installed} is installed`,
392
+ hint
393
+ };
394
+ }
392
395
  static async doctor(workspace, {
393
396
  strict = false,
394
397
  runIdOrPlan = null,
@@ -404,7 +407,9 @@ class AkanContextAnalyzer {
404
407
  for (const app of context.apps) {
405
408
  const appPath = path.join(workspace.workspaceRoot, app.path);
406
409
  for (const entry of await safeReadDir(appPath)) {
407
- const allowed = entry.isDirectory() ? appRootAllowDirs.has(entry.name) : appRootAllowFiles.has(entry.name);
410
+ if (!isScannedAppRootEntry(entry.name))
411
+ continue;
412
+ const allowed = entry.isDirectory() ? appRootAllowedDirs.has(entry.name) : appRootAllowedFiles.has(entry.name);
408
413
  if (!allowed) {
409
414
  const action = repairAction("module-shape", `akan repair module-shape --app ${app.name}`, "Review app root shape and remove or move the unknown entry.", false);
410
415
  diagnostics.push({
@@ -418,6 +423,18 @@ class AkanContextAnalyzer {
418
423
  }
419
424
  }
420
425
  }
426
+ const agentDrift = await AkanContextAnalyzer.#agentGuideDrift(workspace);
427
+ if (agentDrift) {
428
+ const action = repairAction("generated", "akan agent install agents-md", agentDrift.hint, true);
429
+ diagnostics.push({
430
+ severity: "warning",
431
+ code: agentDrift.code,
432
+ path: "AGENTS.md",
433
+ message: agentDrift.message,
434
+ repairActions: [action]
435
+ });
436
+ repairActions.push(action);
437
+ }
421
438
  for (const sys of [...context.apps, ...context.libs]) {
422
439
  for (const module of sys.modules) {
423
440
  if (!module.abstract.exists) {
@@ -1,13 +1,13 @@
1
1
  // @bun
2
- import {
3
- PageScript
4
- } from "./index-bbkek1bp.js";
5
2
  import {
6
3
  pluralizeName
7
4
  } from "./index-ss469dec.js";
5
+ import {
6
+ PageScript
7
+ } from "./index-f8qt4sdr.js";
8
8
  import {
9
9
  AiSession
10
- } from "./index-0cj2zxbm.js";
10
+ } from "./index-sh01r3pm.js";
11
11
  import {
12
12
  bilingualDescriptionForField,
13
13
  bilingualLabelForField,
@@ -15,17 +15,17 @@ import {
15
15
  generatedFilesForSync,
16
16
  moduleSourcePaths,
17
17
  sourceFile
18
- } from "./index-rzwcpcc3.js";
18
+ } from "./index-cfzvtfwp.js";
19
19
  import {
20
20
  Prompter
21
- } from "./index-tdbas9r0.js";
21
+ } from "./index-j37qq1f2.js";
22
22
  import {
23
23
  runner,
24
24
  script
25
- } from "./index-8hsbnyes.js";
25
+ } from "./index-91va923f.js";
26
26
  import {
27
27
  ModuleExecutor
28
- } from "./index-hgna5rjy.js";
28
+ } from "./index-gn6jc5kp.js";
29
29
  import {
30
30
  FileSys
31
31
  } from "./index-67546d0j.js";
@@ -5,15 +5,17 @@ import {
5
5
  LibExecutor,
6
6
  ModuleExecutor,
7
7
  PkgExecutor,
8
- WorkspaceExecutor,
8
+ WorkspaceExecutor
9
+ } from "./index-gn6jc5kp.js";
10
+ import {
9
11
  getDirname
10
- } from "./index-hgna5rjy.js";
12
+ } from "./index-1577bej2.js";
11
13
  import {
12
14
  FileSys
13
15
  } from "./index-67546d0j.js";
14
16
  import {
15
17
  __require
16
- } from "./index-r24hmh0q.js";
18
+ } from "./index-yb2wsc7f.js";
17
19
 
18
20
  // pkgs/@akanjs/devkit/commandDecorators/targetMeta.ts
19
21
  var COMMAND_META = Symbol("akan.command.meta");
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AppExecutor,
4
4
  LibExecutor
5
- } from "./index-hgna5rjy.js";
5
+ } from "./index-gn6jc5kp.js";
6
6
 
7
7
  // pkgs/@akanjs/devkit/workflow/utils.ts
8
8
  var jsonText = (value, { trailingNewline = true } = {}) => `${JSON.stringify(value, null, 2)}${trailingNewline ? `
@@ -2,16 +2,17 @@
2
2
  import {
3
3
  runner,
4
4
  script
5
- } from "./index-8hsbnyes.js";
5
+ } from "./index-91va923f.js";
6
6
  import {
7
7
  LibExecutor
8
- } from "./index-hgna5rjy.js";
8
+ } from "./index-gn6jc5kp.js";
9
9
 
10
10
  // pkgs/@akanjs/cli/semver.ts
11
- function parseVersion(version) {
11
+ var stripRangeOperator = (version) => version.replace(/^[\s^~>=<v]+/, "").trim();
12
+ var parseVersion = (version) => {
12
13
  return version.replace(/^[^\d]*/, "").split(/[.-]/).map((part) => Number.parseInt(part, 10)).map((part) => Number.isFinite(part) ? part : 0);
13
- }
14
- function compareSemver(a, b) {
14
+ };
15
+ var compareNumeric = (a, b) => {
15
16
  const left = parseVersion(a);
16
17
  const right = parseVersion(b);
17
18
  const length = Math.max(left.length, right.length);
@@ -21,7 +22,14 @@ function compareSemver(a, b) {
21
22
  return diff > 0 ? 1 : -1;
22
23
  }
23
24
  return 0;
24
- }
25
+ };
26
+ var compareSemver = (a, b) => {
27
+ try {
28
+ return Bun.semver.order(stripRangeOperator(a), stripRangeOperator(b));
29
+ } catch {
30
+ return compareNumeric(a, b);
31
+ }
32
+ };
25
33
 
26
34
  // pkgs/@akanjs/cli/library/library.runner.ts
27
35
  class LibraryRunner extends runner("library") {
@@ -70,7 +78,7 @@ class LibraryRunner extends runner("library") {
70
78
  return [dep, newerVersion];
71
79
  }));
72
80
  Object.keys(allDependencies).sort().forEach((dep) => {
73
- if (!!libPackageJson.dependencies?.[dep] || !!rootPackageJson.dependencies?.[dep])
81
+ if (libPackageJson.dependencies?.[dep] || rootPackageJson.dependencies?.[dep])
74
82
  dependencies[dep] = allDependencies[dep];
75
83
  else
76
84
  devDependencies[dep] = allDependencies[dep];
@@ -4,19 +4,19 @@ import {
4
4
  } from "./index-ss469dec.js";
5
5
  import {
6
6
  AiSession
7
- } from "./index-0cj2zxbm.js";
7
+ } from "./index-sh01r3pm.js";
8
8
  import {
9
9
  createPassedPrimitiveReport,
10
10
  generatedFilesForSync,
11
11
  scalarChangedFiles
12
- } from "./index-rzwcpcc3.js";
12
+ } from "./index-cfzvtfwp.js";
13
13
  import {
14
14
  Prompter
15
- } from "./index-tdbas9r0.js";
15
+ } from "./index-j37qq1f2.js";
16
16
  import {
17
17
  runner,
18
18
  script
19
- } from "./index-8hsbnyes.js";
19
+ } from "./index-91va923f.js";
20
20
 
21
21
  // pkgs/@akanjs/cli/scalar/scalar.prompt.ts
22
22
  import { input } from "@inquirer/prompts";
@@ -1,24 +1,24 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudRunner
4
- } from "./index-zasydjxd.js";
4
+ } from "./index-vbvnq3cr.js";
5
5
  import {
6
6
  PackageScript
7
- } from "./index-k95xkh4p.js";
7
+ } from "./index-4zbcwnr4.js";
8
8
  import {
9
9
  AiSession,
10
10
  CloudApi,
11
11
  GlobalConfig
12
- } from "./index-0cj2zxbm.js";
12
+ } from "./index-sh01r3pm.js";
13
13
  import {
14
14
  ApplicationScript
15
- } from "./index-e16gnn26.js";
15
+ } from "./index-zyk0731f.js";
16
16
  import {
17
17
  script
18
- } from "./index-8hsbnyes.js";
18
+ } from "./index-91va923f.js";
19
19
  import {
20
20
  PkgExecutor
21
- } from "./index-hgna5rjy.js";
21
+ } from "./index-gn6jc5kp.js";
22
22
 
23
23
  // pkgs/@akanjs/cli/cloud/cloud.script.ts
24
24
  import { Logger } from "akanjs/common";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  runner,
4
4
  script
5
- } from "./index-8hsbnyes.js";
5
+ } from "./index-91va923f.js";
6
6
 
7
7
  // pkgs/@akanjs/cli/page/page.runner.ts
8
8
  class PageRunner extends runner("page") {