@akanjs/cli 3.1.0-rc.2 → 3.1.0-rc.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.
- package/.build-stamp +1 -1
- package/{CodeAgent-q50k4s45.js → CodeAgent-gzfc5t52.js} +2 -2
- package/{CodeAgentRpcHost-p7h6n2hp.js → CodeAgentRpcHost-9g27hmer.js} +1 -1
- package/{CodeTui-62g35ztk.js → CodeTui-bpsjs8wz.js} +47 -4
- package/TunnelShare-tfrnftgr.js +14 -0
- package/{agent.command-adfd5299.js → agent.command-67ysh3n6.js} +5 -5
- package/akanCode.js +7 -5
- package/{application.command-hj3gv1rx.js → application.command-q0tqw5pc.js} +38 -11
- package/{applicationBuildRunner-by10r9gf.js → applicationBuildRunner-wsszr305.js} +16 -9
- package/buildBatch.proc.js +7 -7
- package/{cloud.command-k2fhaape.js → cloud.command-e7tkxyx6.js} +17 -16
- package/cloud.script-krzh3d7k.js +24 -0
- package/{code.command-kt5zgcc2.js → code.command-ttk8tje2.js} +25 -12
- package/commandManifest.json +1 -1
- package/{context.command-8fgn42jw.js → context.command-bdsk2z2r.js} +17 -16
- package/context.runner-bxzv0gm0.js +25 -0
- package/{dependencyScanner-06z2dmrr.js → dependencyScanner-3afj2vt1.js} +1 -1
- package/{guideline.command-3yxxr2mm.js → guideline.command-man90n70.js} +2 -2
- package/guidelines/agentRule/agentRule.instruction.md +25 -10
- package/guidelines/conventions/conventions.instruction.md +486 -1084
- package/guidelines/cssRule/cssRule.instruction.md +16 -1
- package/guidelines/fieldRule/fieldRule.instruction.md +74 -0
- package/guidelines/framework/framework.instruction.md +4 -7
- package/guidelines/mcpRule/mcpRule.instruction.md +16 -9
- package/guidelines/modelConstant/modelConstant.instruction.md +2 -1
- package/guidelines/modelStore/modelStore.instruction.md +16 -0
- package/guidelines/pageRule/pageRule.instruction.md +80 -0
- package/guidelines/queryRule/queryRule.instruction.md +47 -12
- package/guidelines/runtimeRule/runtimeRule.instruction.md +89 -2
- package/guidelines/ssrRule/ssrRule.instruction.md +13 -0
- package/guidelines/transportRule/transportRule.instruction.md +107 -8
- package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +4 -4
- package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +70 -7
- package/incrementalBuilder.proc.js +4 -4
- package/{index-rhbabmja.js → index-033wne2j.js} +260 -259
- package/{index-xpdgxsj5.js → index-1r5a8bzx.js} +2216 -2216
- package/{index-jwqtchha.js → index-27y8t17p.js} +1 -1
- package/{index-wa5jbxj1.js → index-2mrn1mrg.js} +1 -0
- package/{index-t7nws9mx.js → index-2w8j2fnv.js} +661 -448
- package/{index-0909wckt.js → index-35m6bzm7.js} +238 -236
- package/{index-sqfdmb5b.js → index-4393nb4b.js} +4 -4
- package/{index-sby8fe1p.js → index-48edp6q4.js} +1 -1
- package/{index-g0vwzy9m.js → index-4v43h00g.js} +20 -21
- package/{index-azh29dc8.js → index-54wc2phm.js} +19 -14
- package/{index-k9rrten6.js → index-5nd1wtkv.js} +92 -94
- package/index-62md4dwy.js +260 -0
- package/{index-hnby7p9n.js → index-75n5q4ph.js} +7 -7
- package/{index-fjsv10hd.js → index-844q7f8z.js} +7 -7
- package/{index-tv8fjaba.js → index-8jehkey8.js} +4 -4
- package/{index-bea2gwc6.js → index-9mt4smfy.js} +2 -2
- package/{index-d2242ksy.js → index-at7bz0xq.js} +3 -0
- package/{index-3hx1z96c.js → index-bqbf654f.js} +1 -1
- package/{index-8zdwpxef.js → index-cae9m5jz.js} +119 -81
- package/{index-tz5evhdr.js → index-ebarbgba.js} +6 -6
- package/{index-2etqq75t.js → index-g6ax17x4.js} +1114 -1082
- package/{index-h85cxfkg.js → index-g9ks2k8c.js} +2 -2
- package/{index-nq045px5.js → index-h3r3nr9y.js} +356 -307
- package/{index-20cebtth.js → index-h6czey01.js} +79 -24
- package/{index-6726qr1m.js → index-jrmzcp66.js} +57 -58
- package/{index-q958tqqg.js → index-m9jj544v.js} +1 -1
- package/{index-8935h3n1.js → index-mdjc93e1.js} +1 -1
- package/{index-rk9sdys3.js → index-nv79n88g.js} +5 -5
- package/{index-kc8z134d.js → index-nx64dz92.js} +38 -15
- package/{index-z507nzhg.js → index-p2r64bpa.js} +4 -4
- package/{index-nq2ja5e0.js → index-pg1t468s.js} +3 -3
- package/{index-3reaaa1h.js → index-rc51f9ht.js} +29 -27
- package/{index-e9prnmyt.js → index-ta1dychm.js} +3 -3
- package/{index-2ahj896a.js → index-tvehn2sp.js} +1 -1
- package/{index-31ce9vhg.js → index-vkb9m4z7.js} +80 -38
- package/{index-58vvz603.js → index-xsd96yzw.js} +1 -1
- package/{index-pyxn1b53.js → index-zv5s8x58.js} +13 -13
- package/index.js +22 -22
- package/{library.command-8tw59xzj.js → library.command-6amzsrb8.js} +3 -3
- package/{localRegistry.command-tf3dmznd.js → localRegistry.command-yqc0nyhh.js} +15 -14
- package/{module.command-9vm8hffy.js → module.command-10x6jv6c.js} +5 -5
- package/{package.command-erbxe2tz.js → package.command-pwfvecjf.js} +4 -4
- package/package.json +21 -21
- package/{page.command-jpavcj0p.js → page.command-ahhgx9y1.js} +3 -3
- package/{pipeline.command-b8rzvjvv.js → pipeline.command-1ptr3e9y.js} +3 -3
- package/{primitive.command-sm32chzk.js → primitive.command-g5xwv6tj.js} +6 -6
- package/{projectTypecheck-jamtx95x.js → projectTypecheck-fx8x7cat.js} +1 -1
- package/{quality.command-pkd17n6y.js → quality.command-fw9ck061.js} +4 -4
- package/{repair.command-8y4mq6hs.js → repair.command-g8kecj96.js} +5 -5
- package/{scalar.command-q8khmyx5.js → scalar.command-fprap51w.js} +4 -4
- package/skills/akan-code/SKILL.md +4 -0
- package/skills/akan-store/SKILL.md +2 -1
- package/{subspace.command-51n0ykbx.js → subspace.command-sc0t527y.js} +11 -10
- package/templates/appSample/lib/task/Task.Util.tsx +7 -7
- package/templates/appSample/lib/task/Task.Zone.tsx +1 -1
- package/templates/appSample/ui/QuantityControl.tsx +2 -2
- package/templates/crudSinglePage/page.tsx +1 -1
- package/templates/lib/cnst.ts +0 -1
- package/templates/migration/__migrationId__.ts +23 -0
- package/templates/server.ts +8 -1
- package/templates/workspaceRoot/.gitignore.template +23 -52
- package/templates/workspaceRoot/biome.json.template +1 -1
- package/{tunnel.command-7820vtxq.js → tunnel.command-mqnsqbwf.js} +8 -7
- package/{workflow.command-n5sv4wqz.js → workflow.command-j0jgkr13.js} +10 -10
- package/{workspace.command-zdy60jh8.js → workspace.command-1r9hvvw0.js} +29 -28
- package/TunnelShare-f1egrktx.js +0 -13
- package/cloud.script-z8p5dz7e.js +0 -23
- package/context.runner-hnh0rg7m.js +0 -24
- package/index-n68jx79w.js +0 -120
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
runner,
|
|
6
6
|
script,
|
|
7
7
|
command
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-vkb9m4z7.js";
|
|
9
9
|
import {
|
|
10
10
|
FileSys2
|
|
11
11
|
} from "./index-52w0fvh8.js";
|
|
@@ -19,64 +19,65 @@ import {
|
|
|
19
19
|
AppExecutor,
|
|
20
20
|
LibExecutor,
|
|
21
21
|
PkgExecutor
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-g6ax17x4.js";
|
|
23
23
|
import {
|
|
24
24
|
countBlocking,
|
|
25
25
|
formatStyleContract,
|
|
26
26
|
ThemeValidator
|
|
27
|
-
} from "./index-
|
|
27
|
+
} from "./index-62md4dwy.js";
|
|
28
28
|
import {
|
|
29
29
|
collectRecipeSources2,
|
|
30
30
|
scanRecipes2
|
|
31
31
|
} from "./index-hj6w4ka1.js";
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
32
|
+
import"./index-033wne2j.js";
|
|
33
|
+
import"./index-nv79n88g.js";
|
|
34
34
|
import"./index-zzvvc845.js";
|
|
35
35
|
import {
|
|
36
36
|
AgentScript
|
|
37
|
-
} from "./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
37
|
+
} from "./index-ta1dychm.js";
|
|
38
|
+
import"./index-5nd1wtkv.js";
|
|
39
|
+
import"./index-4v43h00g.js";
|
|
40
|
+
import"./index-m9jj544v.js";
|
|
41
|
+
import"./index-35m6bzm7.js";
|
|
42
|
+
import"./index-h3r3nr9y.js";
|
|
42
43
|
import {
|
|
43
44
|
LibraryScript
|
|
44
|
-
} from "./index-
|
|
45
|
+
} from "./index-9mt4smfy.js";
|
|
45
46
|
import {
|
|
46
47
|
ApplicationScript
|
|
47
|
-
} from "./index-
|
|
48
|
+
} from "./index-h6czey01.js";
|
|
48
49
|
import"./index-7md2g9vw.js";
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-jrmzcp66.js";
|
|
51
|
+
import"./index-tvehn2sp.js";
|
|
51
52
|
import {
|
|
52
53
|
PackageScript
|
|
53
|
-
} from "./index-
|
|
54
|
+
} from "./index-ebarbgba.js";
|
|
54
55
|
import {
|
|
55
56
|
getNpmRegistryUrl,
|
|
56
57
|
getLatestPackageVersion
|
|
57
|
-
} from "./index-
|
|
58
|
+
} from "./index-rc51f9ht.js";
|
|
58
59
|
import {
|
|
59
60
|
CloudScript2
|
|
60
|
-
} from "./index-
|
|
61
|
-
import"./index-
|
|
62
|
-
import"./index-
|
|
63
|
-
import"./index-
|
|
64
|
-
import"./index-
|
|
65
|
-
import"./index-
|
|
66
|
-
import"./index-
|
|
67
|
-
import"./index-
|
|
61
|
+
} from "./index-844q7f8z.js";
|
|
62
|
+
import"./index-zv5s8x58.js";
|
|
63
|
+
import"./index-pg1t468s.js";
|
|
64
|
+
import"./index-27y8t17p.js";
|
|
65
|
+
import"./index-p2r64bpa.js";
|
|
66
|
+
import"./index-4393nb4b.js";
|
|
67
|
+
import"./index-g9ks2k8c.js";
|
|
68
|
+
import"./index-75n5q4ph.js";
|
|
68
69
|
import {
|
|
69
70
|
ContextScript
|
|
70
|
-
} from "./index-
|
|
71
|
-
import"./index-
|
|
72
|
-
import"./index-
|
|
71
|
+
} from "./index-8jehkey8.js";
|
|
72
|
+
import"./index-xsd96yzw.js";
|
|
73
|
+
import"./index-nx64dz92.js";
|
|
73
74
|
|
|
74
75
|
// pkgs/@akanjs/cli/workspace/workspace.runner.ts
|
|
75
76
|
import { mkdir, writeFile } from "fs/promises";
|
|
76
77
|
import path from "path";
|
|
77
78
|
|
|
78
79
|
// pkgs/@akanjs/devkit/biomeBase.ts
|
|
79
|
-
var biomeVersion = "2.5.
|
|
80
|
+
var biomeVersion = "2.5.14";
|
|
80
81
|
|
|
81
82
|
// pkgs/@akanjs/cli/workspace/workspace.runner.ts
|
|
82
83
|
import { Ed25519Key } from "akanjs/server/ed25519Key";
|
package/TunnelShare-f1egrktx.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
TunnelShare2
|
|
4
|
-
} from "./index-sby8fe1p.js";
|
|
5
|
-
import"./index-6726qr1m.js";
|
|
6
|
-
import"./index-0909wckt.js";
|
|
7
|
-
import"./index-kc8z134d.js";
|
|
8
|
-
import"./index-nq045px5.js";
|
|
9
|
-
import"./index-2etqq75t.js";
|
|
10
|
-
import"./index-52w0fvh8.js";
|
|
11
|
-
export {
|
|
12
|
-
TunnelShare2 as TunnelShare
|
|
13
|
-
};
|
package/cloud.script-z8p5dz7e.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
CloudScript2
|
|
4
|
-
} from "./index-fjsv10hd.js";
|
|
5
|
-
import"./index-3reaaa1h.js";
|
|
6
|
-
import"./index-20cebtth.js";
|
|
7
|
-
import"./index-58vvz603.js";
|
|
8
|
-
import"./index-bea2gwc6.js";
|
|
9
|
-
import"./index-tz5evhdr.js";
|
|
10
|
-
import"./index-g0vwzy9m.js";
|
|
11
|
-
import"./index-6726qr1m.js";
|
|
12
|
-
import"./index-0909wckt.js";
|
|
13
|
-
import"./index-31ce9vhg.js";
|
|
14
|
-
import"./index-7md2g9vw.js";
|
|
15
|
-
import"./index-kc8z134d.js";
|
|
16
|
-
import"./index-k9rrten6.js";
|
|
17
|
-
import"./index-nq045px5.js";
|
|
18
|
-
import"./index-2etqq75t.js";
|
|
19
|
-
import"./index-2ahj896a.js";
|
|
20
|
-
import"./index-52w0fvh8.js";
|
|
21
|
-
export {
|
|
22
|
-
CloudScript2 as CloudScript
|
|
23
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
ContextRunner2
|
|
4
|
-
} from "./index-pyxn1b53.js";
|
|
5
|
-
import"./index-hnby7p9n.js";
|
|
6
|
-
import"./index-h85cxfkg.js";
|
|
7
|
-
import"./index-sqfdmb5b.js";
|
|
8
|
-
import"./index-nq2ja5e0.js";
|
|
9
|
-
import"./index-z507nzhg.js";
|
|
10
|
-
import"./index-jwqtchha.js";
|
|
11
|
-
import"./index-g0vwzy9m.js";
|
|
12
|
-
import"./index-0909wckt.js";
|
|
13
|
-
import"./index-rk9sdys3.js";
|
|
14
|
-
import"./index-rhbabmja.js";
|
|
15
|
-
import"./index-zzvvc845.js";
|
|
16
|
-
import"./index-31ce9vhg.js";
|
|
17
|
-
import"./index-kc8z134d.js";
|
|
18
|
-
import"./index-nq045px5.js";
|
|
19
|
-
import"./index-2etqq75t.js";
|
|
20
|
-
import"./index-hj6w4ka1.js";
|
|
21
|
-
import"./index-52w0fvh8.js";
|
|
22
|
-
export {
|
|
23
|
-
ContextRunner2 as ContextRunner
|
|
24
|
-
};
|
package/index-n68jx79w.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// pkgs/@akanjs/devkit/frontendBuild/styleContract.ts
|
|
3
|
-
var countBlocking = (violations) => violations.theme.length;
|
|
4
|
-
var formatStyleContract = (violations) => violations.theme.flatMap((theme) => [
|
|
5
|
-
` [error] contrast ${theme.scope} ${theme.pair} = ${theme.ratio}:1 (min ${theme.threshold}:1)`,
|
|
6
|
-
` \u2192 ${theme.suggestion}`
|
|
7
|
-
]).join(`
|
|
8
|
-
`);
|
|
9
|
-
|
|
10
|
-
// pkgs/@akanjs/devkit/frontendBuild/themeValidator.ts
|
|
11
|
-
var PAIRS = [
|
|
12
|
-
{ base: "background", fg: "foreground", threshold: 4.5 },
|
|
13
|
-
{ base: "primary", fg: "primary-foreground", threshold: 4.5 },
|
|
14
|
-
{ base: "secondary", fg: "secondary-foreground", threshold: 4.5 },
|
|
15
|
-
{ base: "accent", fg: "accent-foreground", threshold: 4.5 },
|
|
16
|
-
{ base: "neutral", fg: "neutral-foreground", threshold: 4.5 },
|
|
17
|
-
{ base: "card", fg: "card-foreground", threshold: 4.5 },
|
|
18
|
-
{ base: "popover", fg: "popover-foreground", threshold: 4.5 },
|
|
19
|
-
{ base: "muted", fg: "muted-foreground", threshold: 3 },
|
|
20
|
-
{ base: "info", fg: "info-foreground", threshold: 3 },
|
|
21
|
-
{ base: "success", fg: "success-foreground", threshold: 3 },
|
|
22
|
-
{ base: "warning", fg: "warning-foreground", threshold: 3 },
|
|
23
|
-
{ base: "destructive", fg: "destructive-foreground", threshold: 3 },
|
|
24
|
-
{ base: "open", fg: "open-foreground", threshold: 3 }
|
|
25
|
-
];
|
|
26
|
-
var THEME_SCOPES = new Set([":root", '[data-theme="dark"]', '[data-theme="light"]']);
|
|
27
|
-
|
|
28
|
-
class ThemeValidator {
|
|
29
|
-
validate(css) {
|
|
30
|
-
const tokensByScope = ThemeValidator.parseThemeTokens(css);
|
|
31
|
-
const violations = [];
|
|
32
|
-
for (const [scope, tokens] of Object.entries(tokensByScope)) {
|
|
33
|
-
if (!THEME_SCOPES.has(scope))
|
|
34
|
-
continue;
|
|
35
|
-
violations.push(...this.validateScope(tokens, scope));
|
|
36
|
-
}
|
|
37
|
-
return violations;
|
|
38
|
-
}
|
|
39
|
-
validateScope(tokens, scope) {
|
|
40
|
-
const violations = [];
|
|
41
|
-
for (const { base, fg, threshold } of PAIRS) {
|
|
42
|
-
const bg = tokens[base];
|
|
43
|
-
const front = tokens[fg];
|
|
44
|
-
if (!bg || !front)
|
|
45
|
-
continue;
|
|
46
|
-
const bgRgb = ThemeValidator.parseHex(bg);
|
|
47
|
-
const fgRgb = ThemeValidator.parseHex(front);
|
|
48
|
-
if (!bgRgb || !fgRgb)
|
|
49
|
-
continue;
|
|
50
|
-
const ratio = ThemeValidator.contrastRatio(bgRgb, fgRgb);
|
|
51
|
-
if (ratio >= threshold)
|
|
52
|
-
continue;
|
|
53
|
-
violations.push({
|
|
54
|
-
scope,
|
|
55
|
-
pair: `${base} / ${fg}`,
|
|
56
|
-
background: bg,
|
|
57
|
-
foreground: front,
|
|
58
|
-
ratio: Math.round(ratio * 100) / 100,
|
|
59
|
-
threshold,
|
|
60
|
-
suggestion: `In ${scope}, --${base} (${bg}) against --${fg} (${front}) is ${ratio.toFixed(2)}:1, under the ${threshold}:1 minimum. Lighten or darken one of them until it clears.`
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
return violations;
|
|
64
|
-
}
|
|
65
|
-
static parseThemeTokens(css) {
|
|
66
|
-
const result = {};
|
|
67
|
-
const blockRe = /(?:^|})\s*([^{}@]+?)\s*\{([^{}]*)\}/g;
|
|
68
|
-
for (const block of css.matchAll(blockRe)) {
|
|
69
|
-
const selectors = block[1].split(",").map((s) => s.trim());
|
|
70
|
-
const relevant = selectors.filter((s) => THEME_SCOPES.has(ThemeValidator.#normalizeScope(s)));
|
|
71
|
-
if (relevant.length === 0)
|
|
72
|
-
continue;
|
|
73
|
-
const decls = {};
|
|
74
|
-
for (const decl of block[2].matchAll(/--([\w-]+)\s*:\s*([^;]+?)\s*(?:;|$)/g)) {
|
|
75
|
-
decls[decl[1]] = decl[2].trim();
|
|
76
|
-
}
|
|
77
|
-
for (const selector of relevant) {
|
|
78
|
-
const scope = ThemeValidator.#normalizeScope(selector);
|
|
79
|
-
result[scope] = { ...result[scope] ?? {}, ...decls };
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
static #normalizeScope(selector) {
|
|
85
|
-
return selector.replace(/\[data-theme=['"]?([\w-]+)['"]?\]/g, '[data-theme="$1"]').trim();
|
|
86
|
-
}
|
|
87
|
-
static parseHex(value) {
|
|
88
|
-
const v = value.trim();
|
|
89
|
-
if (!v.startsWith("#"))
|
|
90
|
-
return null;
|
|
91
|
-
const hex = v.slice(1);
|
|
92
|
-
let full;
|
|
93
|
-
if (hex.length === 3 || hex.length === 4)
|
|
94
|
-
full = hex.slice(0, 3).split("").map((c) => c + c).join("");
|
|
95
|
-
else if (hex.length === 6 || hex.length === 8)
|
|
96
|
-
full = hex.slice(0, 6);
|
|
97
|
-
else
|
|
98
|
-
return null;
|
|
99
|
-
if (!/^[0-9a-fA-F]{6}$/.test(full))
|
|
100
|
-
return null;
|
|
101
|
-
const n = Number.parseInt(full, 16);
|
|
102
|
-
return [n >> 16 & 255, n >> 8 & 255, n & 255];
|
|
103
|
-
}
|
|
104
|
-
static #relativeLuminance([r, g, b]) {
|
|
105
|
-
const channel = (c) => {
|
|
106
|
-
const s = c / 255;
|
|
107
|
-
return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
|
|
108
|
-
};
|
|
109
|
-
return 0.2126 * channel(r) + 0.7152 * channel(g) + 0.0722 * channel(b);
|
|
110
|
-
}
|
|
111
|
-
static contrastRatio(a, b) {
|
|
112
|
-
const la = ThemeValidator.#relativeLuminance(a);
|
|
113
|
-
const lb = ThemeValidator.#relativeLuminance(b);
|
|
114
|
-
const hi = Math.max(la, lb);
|
|
115
|
-
const lo = Math.min(la, lb);
|
|
116
|
-
return (hi + 0.05) / (lo + 0.05);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export { countBlocking, formatStyleContract, ThemeValidator };
|