@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.
- package/.build-stamp +1 -1
- package/CodeAgent-tbdpdjat.js +9 -0
- package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
- package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
- package/CodeTui-my2x5fah.js +1457 -0
- package/README.md +3 -0
- package/TunnelShare-cwh9ezsm.js +9 -0
- package/{agent.command-d2gfxfck.js → agent.command-vz60x05c.js} +8 -9
- package/akanCode.js +102 -0
- package/application.command-pxqfjrqm.js +241 -0
- package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-shnfyfdy.js} +121 -77
- package/buildBatch.proc.js +120 -32
- package/cloud.command-9v9tpgps.js +95 -0
- package/cloud.script-baqdthnz.js +20 -0
- package/code.command-13h14j25.js +154 -0
- package/commandManifest.json +1 -1
- package/consoleToStderr-h5bryj94.js +7 -0
- package/context.command-x1hbasm5.js +48 -0
- package/context.runner-kqbjjea1.js +21 -0
- package/{dependencyScanner-shs82ynp.js → dependencyScanner-06z2dmrr.js} +2 -2
- package/{devTui-40ggmd99.js → devTui-q7k7bakd.js} +122 -40
- package/fileSys-wzzrntkw.js +9 -0
- package/guideline.command-vfk11hpj.js +42 -0
- package/guidelines/agentRule/agentRule.instruction.md +209 -33
- package/guidelines/conventions/conventions.instruction.md +144 -41
- package/guidelines/fieldRule/fieldRule.instruction.md +1 -0
- package/guidelines/mcpRule/mcpRule.instruction.md +7 -5
- package/guidelines/queryRule/queryRule.instruction.md +21 -7
- package/guidelines/runtimeRule/runtimeRule.instruction.md +271 -6
- package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
- package/guidelines/transportRule/transportRule.instruction.md +51 -0
- package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +20 -0
- package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +66 -3
- package/incrementalBuilder.proc.js +564 -109
- package/{index-mak3cd28.js → index-1skctzbq.js} +137 -255
- package/{index-kcxmv48c.js → index-2ahj896a.js} +45 -79
- package/index-2wc41k5w.js +49 -0
- package/index-3hx1z96c.js +87 -0
- package/{index-hwkygn9s.js → index-48k96p55.js} +325 -36
- package/{index-q0y2jq9j.js → index-52w0fvh8.js} +21 -4
- package/index-7md2g9vw.js +6 -0
- package/index-7yf7rnjg.js +53 -0
- package/{index-gyd220p2.js → index-84r80zdx.js} +554 -577
- package/{index-zry5nz81.js → index-8psse8dw.js} +51 -30
- package/index-947t6zm4.js +1119 -0
- package/index-94s080qm.js +266 -0
- package/index-9dp031by.js +12 -0
- package/index-9s5zga3q.js +4300 -0
- package/{index-ws5e0j51.js → index-arnkqb6f.js} +43 -26
- package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
- package/index-c6eggbee.js +123 -0
- package/{index-4edzf1gr.js → index-cxafpw23.js} +77 -150
- package/index-d2242ksy.js +99 -0
- package/index-d5yn19ef.js +700 -0
- package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
- package/{index-2tv3fdx4.js → index-e52z7psd.js} +1212 -1458
- package/{index-a64esmtb.js → index-ew8dna9s.js} +523 -1022
- package/{index-7737gxcp.js → index-f50dy7yq.js} +107 -241
- package/index-f8q701fb.js +1003 -0
- package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
- package/{index-j9yhg404.js → index-ksq4t16z.js} +4 -7
- package/index-nhhrjvk1.js +187 -0
- package/index-p6pbz9n5.js +25 -0
- package/index-ptshj7y1.js +2729 -0
- package/{index-fz5q3gd7.js → index-q9q7x4zj.js} +10 -17
- package/{index-pnqbkf5p.js → index-qk9vv9hm.js} +6 -2
- package/{index-600zhnve.js → index-rqxa9r98.js} +75 -203
- package/{index-ne2qy0nk.js → index-smbecayj.js} +12 -12
- package/{index-ktb5njgy.js → index-vcdxpmsx.js} +49 -99
- package/index-wa5jbxj1.js +760 -0
- package/index-ymnqrsxm.js +69 -0
- package/{index-v0qh106m.js → index-zc90rh75.js} +961 -892
- package/{index-259dsnz3.js → index-zvr7wfyg.js} +5 -8
- package/{index-h7yw2z9n.js → index-zzvvc845.js} +8 -14
- package/index.js +23 -22
- package/{library.command-nbsky672.js → library.command-m52jqc0s.js} +4 -5
- package/{localRegistry.command-yeq57wjr.js → localRegistry.command-x5vs1z43.js} +23 -42
- package/{module.command-29vqzrh8.js → module.command-ty3k6rwd.js} +8 -11
- package/{package.command-axv0abmn.js → package.command-hphdh4g4.js} +6 -7
- package/package.json +15 -7
- package/{page.command-vs9s3zrh.js → page.command-5aq8mzvq.js} +4 -5
- package/{primitive.command-cbxmqbtc.js → primitive.command-adwj84kx.js} +9 -22
- package/prompter-76k56b37.js +8 -0
- package/{quality.command-gmbs7nws.js → quality.command-y10kea2f.js} +205 -377
- package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
- package/{repair.command-bqsjptsj.js → repair.command-v7mwqvjh.js} +11 -35
- package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
- package/{scalar.command-6k1vhe9s.js → scalar.command-pg3gneer.js} +7 -10
- package/skills/akan-code/SKILL.md +130 -0
- package/skills/akan-debug/SKILL.md +42 -0
- package/skills/akan-deps/SKILL.md +50 -0
- package/skills/akan-err/SKILL.md +39 -0
- package/skills/akan-module/SKILL.md +45 -0
- package/skills/akan-scaffold/SKILL.md +76 -0
- package/skills/akan-scalar/SKILL.md +52 -0
- package/skills/akan-service/SKILL.md +34 -0
- package/skills/akan-store/SKILL.md +67 -0
- package/skills/akan-ui/SKILL.md +63 -0
- package/skills/akan-validate/SKILL.md +44 -0
- package/{subspace.command-fwjfcts7.js → subspace.command-ejdmvbq7.js} +138 -67
- package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
- package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
- package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
- package/templates/appSample/lib/task/task.abstract.ts +12 -32
- package/templates/appSample/lib/task/task.signal.spec.ts +15 -18
- package/templates/appSample/lib/task/task.signal.test.ts +15 -1
- package/templates/appSample/lib/task/task.signal.ts +1 -1
- package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
- package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
- package/templates/client.ts +7 -30
- package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
- package/templates/crudPages/[__model__Id]/page.tsx +2 -1
- package/templates/crudPages/new/page.tsx +2 -1
- package/templates/crudPages/page.tsx +2 -1
- package/templates/crudSinglePage/page.tsx +2 -1
- package/templates/lib/__lib/lib.dictionary.ts +0 -2
- package/templates/lib/__lib/lib.document.ts +0 -2
- package/templates/lib/sig.ts +8 -30
- package/templates/localDev/docker-compose.yaml.template +3 -14
- package/templates/module/__model__.signal.ts +12 -4
- package/templates/pkgRoot/tsconfig.json.template +2 -7
- package/templates/server.ts +1 -3
- package/templates/service/__model__.abstract.md.template +8 -0
- package/templates/workspaceRoot/.gitignore.template +0 -1
- package/templates/workspaceRoot/package.json.template +1 -3
- package/tunnel.command-rz9qf230.js +129 -0
- package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
- package/typecheck.proc.js +1 -1
- package/workflow.command-6r809r2z.js +79 -0
- package/{workspace.command-8s050m0h.js → workspace.command-8g3cw7jd.js} +77 -109
- package/abstractCompactor-mjh5ppsq.js +0 -101
- package/application.command-pj2m7584.js +0 -204
- package/applicationReleasePackager-4yasxwv9.js +0 -244
- package/capacitorApp-36rbr858.js +0 -12
- package/cloud.command-jshwdq22.js +0 -93
- package/context.command-ez8a0zyz.js +0 -80
- package/devTuiView-c08ccbat.js +0 -9
- package/getDirname-dr3jz1xg.js +0 -7
- package/guideline.command-xmqwx8zm.js +0 -359
- package/guidelines/agentRule/agentRule.generate.json +0 -31
- package/guidelines/componentRule/componentRule.generate.json +0 -31
- package/guidelines/conventions/conventions.generate.json +0 -25
- package/guidelines/cssRule/cssRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
- package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
- package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
- package/guidelines/enumConstant/enumConstant.generate.json +0 -31
- package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
- package/guidelines/fieldRule/fieldRule.generate.json +0 -31
- package/guidelines/framework/framework.generate.json +0 -32
- package/guidelines/mcpRule/mcpRule.generate.json +0 -35
- package/guidelines/modelConstant/modelConstant.generate.json +0 -32
- package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
- package/guidelines/modelDocument/modelDocument.generate.json +0 -31
- package/guidelines/modelService/modelService.generate.json +0 -31
- package/guidelines/modelSignal/modelSignal.generate.json +0 -31
- package/guidelines/modelStore/modelStore.generate.json +0 -31
- package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
- package/guidelines/modelUnit/modelUnit.generate.json +0 -31
- package/guidelines/modelUtil/modelUtil.generate.json +0 -31
- package/guidelines/modelView/modelView.generate.json +0 -31
- package/guidelines/modelZone/modelZone.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
- package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
- package/guidelines/queryRule/queryRule.generate.json +0 -31
- package/guidelines/recipeRule/recipeRule.generate.json +0 -31
- package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
- package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
- package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
- package/guidelines/scalarModule/scalarModule.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
- package/guidelines/ssrRule/ssrRule.generate.json +0 -31
- package/guidelines/transportRule/transportRule.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
- package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
- package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
- package/index-2hq52jq3.js +0 -465
- package/index-47pj3aee.js +0 -76
- package/index-6wwzs1bc.js +0 -7
- package/index-8pm30m73.js +0 -841
- package/index-kn1h7p1x.js +0 -560
- package/index-meh558jy.js +0 -65
- package/index-rwg2aa4f.js +0 -229
- package/index-w8kmx1b6.js +0 -2176
- package/index-wt7qrtd4.js +0 -1516
- package/templates/__scalar/__model__/__model__.abstract.md +0 -28
- package/templates/module/__model__.abstract.md +0 -28
- package/templates/service/__model__.abstract.md +0 -28
- package/templates/workspaceRoot/patches/react-dom@19.2.7.patch.template +0 -62
- package/workflow.command-nwpcdc8p.js +0 -107
|
@@ -2,23 +2,21 @@
|
|
|
2
2
|
import {
|
|
3
3
|
runner,
|
|
4
4
|
script
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-1skctzbq.js";
|
|
6
6
|
import {
|
|
7
7
|
LibExecutor
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-e52z7psd.js";
|
|
9
9
|
import {
|
|
10
10
|
LibSource,
|
|
11
11
|
formatLibStatuses
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-bjwxs904.js";
|
|
13
13
|
|
|
14
14
|
// pkgs/@akanjs/cli/library/library.script.ts
|
|
15
15
|
import { Logger } from "akanjs/common";
|
|
16
16
|
|
|
17
17
|
// pkgs/@akanjs/devkit/semver.ts
|
|
18
18
|
var stripRangeOperator = (version) => version.replace(/^[\s^~>=<v]+/, "").trim();
|
|
19
|
-
var parseVersion = (version) =>
|
|
20
|
-
return version.replace(/^[^\d]*/, "").split(/[.-]/).map((part) => Number.parseInt(part, 10)).map((part) => Number.isFinite(part) ? part : 0);
|
|
21
|
-
};
|
|
19
|
+
var parseVersion = (version) => version.replace(/^[^\d]*/, "").split(/[.-]/).map((part) => Number.parseInt(part, 10)).map((part) => Number.isFinite(part) ? part : 0);
|
|
22
20
|
var compareNumeric = (a, b) => {
|
|
23
21
|
const left = parseVersion(a);
|
|
24
22
|
const right = parseVersion(b);
|
|
@@ -44,8 +42,7 @@ class LibraryRunner extends runner("library") {
|
|
|
44
42
|
async createLibrary(libName, workspace) {
|
|
45
43
|
await workspace.mkdir(`libs/${libName}`);
|
|
46
44
|
await workspace.applyTemplate({ basePath: `libs/${libName}`, template: "libRoot", dict: { libName } });
|
|
47
|
-
|
|
48
|
-
return lib;
|
|
45
|
+
return LibExecutor.from(workspace, libName);
|
|
49
46
|
}
|
|
50
47
|
async removeLibrary(lib) {
|
|
51
48
|
await lib.workspace.removeDir(`libs/${lib.name}`);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
getDirname2
|
|
4
|
-
} from "./index-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
74
|
+
export { Prompter2 };
|
package/index.js
CHANGED
|
@@ -4,33 +4,34 @@ import {
|
|
|
4
4
|
getTargetMetas,
|
|
5
5
|
getTargetCommandNames,
|
|
6
6
|
runCommands
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-6wwzs1bc.js";
|
|
7
|
+
} from "./index-1skctzbq.js";
|
|
8
|
+
import"./index-52w0fvh8.js";
|
|
9
|
+
import"./index-e52z7psd.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-
|
|
18
|
-
agent: async () => (await import("./agent.command-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
workspace: async () => (await import("./workspace.command-8g3cw7jd.js")).WorkspaceCommand,
|
|
17
|
+
agent: async () => (await import("./agent.command-vz60x05c.js")).AgentCommand,
|
|
18
|
+
code: async () => (await import("./code.command-13h14j25.js")).CodeCommand,
|
|
19
|
+
application: async () => (await import("./application.command-pxqfjrqm.js")).ApplicationCommand,
|
|
20
|
+
library: async () => (await import("./library.command-m52jqc0s.js")).LibraryCommand,
|
|
21
|
+
localRegistry: async () => (await import("./localRegistry.command-x5vs1z43.js")).LocalRegistryCommand,
|
|
22
|
+
package: async () => (await import("./package.command-hphdh4g4.js")).PackageCommand,
|
|
23
|
+
module: async () => (await import("./module.command-ty3k6rwd.js")).ModuleCommand,
|
|
24
|
+
page: async () => (await import("./page.command-5aq8mzvq.js")).PageCommand,
|
|
25
|
+
context: async () => (await import("./context.command-x1hbasm5.js")).ContextCommand,
|
|
26
|
+
cloud: async () => (await import("./cloud.command-9v9tpgps.js")).CloudCommand,
|
|
27
|
+
subspace: async () => (await import("./subspace.command-ejdmvbq7.js")).SubspaceCommand,
|
|
28
|
+
guideline: async () => (await import("./guideline.command-vfk11hpj.js")).GuidelineCommand,
|
|
29
|
+
scalar: async () => (await import("./scalar.command-pg3gneer.js")).ScalarCommand,
|
|
30
|
+
primitive: async () => (await import("./primitive.command-adwj84kx.js")).PrimitiveCommand,
|
|
31
|
+
quality: async () => (await import("./quality.command-y10kea2f.js")).QualityCommand,
|
|
32
|
+
repair: async () => (await import("./repair.command-v7mwqvjh.js")).RepairCommand,
|
|
33
|
+
workflow: async () => (await import("./workflow.command-6r809r2z.js")).WorkflowCommand,
|
|
34
|
+
tunnel: async () => (await import("./tunnel.command-rz9qf230.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-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-6wwzs1bc.js";
|
|
6
|
+
} from "./index-1skctzbq.js";
|
|
7
|
+
import"./index-52w0fvh8.js";
|
|
8
|
+
import"./index-e52z7psd.js";
|
|
10
9
|
import {
|
|
11
10
|
LibraryScript
|
|
12
|
-
} from "./index-
|
|
11
|
+
} from "./index-zvr7wfyg.js";
|
|
13
12
|
|
|
14
13
|
// pkgs/@akanjs/cli/library/library.command.ts
|
|
15
14
|
class LibraryCommand extends command("library", [LibraryScript], ({ public: target }) => ({
|
|
@@ -4,27 +4,28 @@ import {
|
|
|
4
4
|
runner,
|
|
5
5
|
script,
|
|
6
6
|
command
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-1skctzbq.js";
|
|
8
|
+
import"./index-52w0fvh8.js";
|
|
9
9
|
import {
|
|
10
10
|
PkgExecutor
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
} from "./index-e52z7psd.js";
|
|
12
|
+
import"./index-48k96p55.js";
|
|
13
|
+
import"./index-f8q701fb.js";
|
|
14
|
+
import"./index-zvr7wfyg.js";
|
|
13
15
|
import {
|
|
14
16
|
ApplicationScript
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
18
|
-
import"./index-kn1h7p1x.js";
|
|
17
|
+
} from "./index-zc90rh75.js";
|
|
18
|
+
import"./index-7md2g9vw.js";
|
|
19
|
+
import"./index-94s080qm.js";
|
|
19
20
|
import {
|
|
20
21
|
getNpmRegistryUrl,
|
|
21
22
|
CloudRunner
|
|
22
|
-
} from "./index-
|
|
23
|
-
import"./index-
|
|
23
|
+
} from "./index-947t6zm4.js";
|
|
24
|
+
import"./index-2ahj896a.js";
|
|
24
25
|
import {
|
|
25
26
|
PackageScript
|
|
26
|
-
} from "./index-
|
|
27
|
-
import"./index-
|
|
27
|
+
} from "./index-arnkqb6f.js";
|
|
28
|
+
import"./index-ksq4t16z.js";
|
|
28
29
|
|
|
29
30
|
// pkgs/@akanjs/cli/localRegistry/localRegistry.runner.ts
|
|
30
31
|
import { mkdir, rm } from "fs/promises";
|
|
@@ -77,6 +78,7 @@ class LocalRegistryRunner extends runner("localRegistry") {
|
|
|
77
78
|
const registry = this.getRegistryUrl(registryUrl);
|
|
78
79
|
const smokeRoot = path.join(workspace.workspaceRoot, ".akan/e2e");
|
|
79
80
|
await rm(path.join(smokeRoot, smokeRepoName), { recursive: true, force: true });
|
|
81
|
+
const env = { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry };
|
|
80
82
|
await workspace.spawn(process.execPath, [
|
|
81
83
|
"dist/pkgs/create-akan-workspace/index.js",
|
|
82
84
|
smokeRepoName,
|
|
@@ -88,20 +90,13 @@ class LocalRegistryRunner extends runner("localRegistry") {
|
|
|
88
90
|
"true",
|
|
89
91
|
"--registry",
|
|
90
92
|
registry
|
|
91
|
-
], {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
stdio: "inherit"
|
|
99
|
-
});
|
|
100
|
-
await workspace.spawn("akan", ["build", smokeAppName], {
|
|
101
|
-
cwd: path.join(smokeRoot, smokeRepoName),
|
|
102
|
-
env: { ...process.env, AKAN_NPM_REGISTRY: registry, NPM_CONFIG_REGISTRY: registry },
|
|
103
|
-
stdio: "inherit"
|
|
104
|
-
});
|
|
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
|
+
});
|
|
105
100
|
Logger.info(`Local registry smoke test completed for ${smokeRepoName}/${smokeAppName}`);
|
|
106
101
|
}
|
|
107
102
|
}
|
|
@@ -127,11 +122,7 @@ class LocalRegistryScript extends script("localRegistry", [
|
|
|
127
122
|
const registry = await this.localRegistryRunner.start(workspace, { registryUrl });
|
|
128
123
|
const akanPkgs = await this.cloudRunner.getAkanPkgs(workspace);
|
|
129
124
|
await this.#preparePackages(workspace, akanPkgs, { test });
|
|
130
|
-
await this.cloudRunner.deployAkan(workspace, akanPkgs, {
|
|
131
|
-
registryUrl: registry,
|
|
132
|
-
confirmPublish: false,
|
|
133
|
-
tag
|
|
134
|
-
});
|
|
125
|
+
await this.cloudRunner.deployAkan(workspace, akanPkgs, { registryUrl: registry, confirmPublish: false, tag });
|
|
135
126
|
await this.localRegistryRunner.smoke(workspace, { registryUrl: registry });
|
|
136
127
|
}
|
|
137
128
|
async#preparePackages(workspace, akanPkgs, { test = true } = {}) {
|
|
@@ -157,17 +148,7 @@ class LocalRegistryCommand extends command("local-registry", [LocalRegistryScrip
|
|
|
157
148
|
resetRegistry: target({ devOnly: true, desc: "Stop and clear the local Verdaccio npm registry" }).with(Workspace).exec(async function(workspace) {
|
|
158
149
|
await this.localRegistryScript.reset(workspace);
|
|
159
150
|
}),
|
|
160
|
-
smokeRegistry: target({ devOnly: true, desc: "Publish to local registry and build a generated workspace" }).with(Workspace).option("tag", String, {
|
|
161
|
-
flag: "g",
|
|
162
|
-
desc: "dist-tag for local registry publish",
|
|
163
|
-
default: "rc"
|
|
164
|
-
}).option("test", Boolean, {
|
|
165
|
-
desc: "run package tests before publishing",
|
|
166
|
-
default: true
|
|
167
|
-
}).option("registry", String, {
|
|
168
|
-
desc: "local npm registry URL",
|
|
169
|
-
default: process.env.AKAN_NPM_REGISTRY
|
|
170
|
-
}).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) {
|
|
171
152
|
await this.localRegistryScript.smoke(workspace, { tag, test, registryUrl: registry });
|
|
172
153
|
})
|
|
173
154
|
})) {
|
|
@@ -3,26 +3,23 @@ import {
|
|
|
3
3
|
Sys,
|
|
4
4
|
Module,
|
|
5
5
|
command
|
|
6
|
-
} from "./index-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-6wwzs1bc.js";
|
|
6
|
+
} from "./index-1skctzbq.js";
|
|
7
|
+
import"./index-52w0fvh8.js";
|
|
8
|
+
import"./index-e52z7psd.js";
|
|
10
9
|
import {
|
|
11
10
|
renderPrimitiveReport
|
|
12
|
-
} from "./index-
|
|
13
|
-
import"./index-
|
|
11
|
+
} from "./index-84r80zdx.js";
|
|
12
|
+
import"./index-qk9vv9hm.js";
|
|
14
13
|
import {
|
|
15
14
|
ModuleScript
|
|
16
|
-
} from "./index-
|
|
17
|
-
import"./index-pnqbkf5p.js";
|
|
18
|
-
import"./index-h7yw2z9n.js";
|
|
15
|
+
} from "./index-nhhrjvk1.js";
|
|
19
16
|
|
|
20
17
|
// pkgs/@akanjs/cli/module/module.command.ts
|
|
21
18
|
import { Logger, lowerlize } from "akanjs/common";
|
|
22
19
|
class ModuleCommand extends command("module", [ModuleScript], ({ public: target }) => ({
|
|
23
|
-
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("
|
|
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) {
|
|
24
21
|
const name = lowerlize(moduleName.replace(/ /g, ""));
|
|
25
|
-
const report =
|
|
22
|
+
const report = await this.moduleScript.createModuleTemplate(sys, name, { page });
|
|
26
23
|
Logger.rawLog(renderPrimitiveReport(report, format));
|
|
27
24
|
}),
|
|
28
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-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-kcxmv48c.js";
|
|
6
|
+
} from "./index-1skctzbq.js";
|
|
7
|
+
import"./index-52w0fvh8.js";
|
|
8
|
+
import"./index-e52z7psd.js";
|
|
9
|
+
import"./index-2ahj896a.js";
|
|
11
10
|
import {
|
|
12
11
|
PackageScript
|
|
13
|
-
} from "./index-
|
|
12
|
+
} from "./index-arnkqb6f.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
|
|
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.
|
|
3
|
+
"version": "3.0.0-beta.31",
|
|
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
|
-
"
|
|
36
|
-
"akanjs": "3.0.0-beta.3",
|
|
42
|
+
"akanjs": "3.0.0-beta.31",
|
|
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.
|
|
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-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-6wwzs1bc.js";
|
|
6
|
+
} from "./index-1skctzbq.js";
|
|
7
|
+
import"./index-52w0fvh8.js";
|
|
8
|
+
import"./index-e52z7psd.js";
|
|
10
9
|
import {
|
|
11
10
|
PageScript
|
|
12
|
-
} from "./index-
|
|
11
|
+
} from "./index-qk9vv9hm.js";
|
|
13
12
|
|
|
14
13
|
// pkgs/@akanjs/cli/page/page.command.ts
|
|
15
14
|
class PageCommand extends command("page", [PageScript], ({ public: target }) => ({
|
|
@@ -2,20 +2,17 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Workspace,
|
|
4
4
|
command
|
|
5
|
-
} from "./index-
|
|
6
|
-
import"./index-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-6wwzs1bc.js";
|
|
5
|
+
} from "./index-1skctzbq.js";
|
|
6
|
+
import"./index-52w0fvh8.js";
|
|
7
|
+
import"./index-e52z7psd.js";
|
|
9
8
|
import {
|
|
10
9
|
renderPrimitiveReport
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-pnqbkf5p.js";
|
|
15
|
-
import"./index-h7yw2z9n.js";
|
|
10
|
+
} from "./index-84r80zdx.js";
|
|
11
|
+
import"./index-qk9vv9hm.js";
|
|
12
|
+
import"./index-nhhrjvk1.js";
|
|
16
13
|
import {
|
|
17
14
|
PrimitiveScript
|
|
18
|
-
} from "./index-
|
|
15
|
+
} from "./index-cxafpw23.js";
|
|
19
16
|
|
|
20
17
|
// pkgs/@akanjs/cli/primitive/primitive.command.ts
|
|
21
18
|
import { Logger } from "akanjs/common";
|
|
@@ -26,11 +23,7 @@ class PrimitiveCommand extends command("primitive", [PrimitiveScript], ({ public
|
|
|
26
23
|
default: "template",
|
|
27
24
|
enum: ["view", "unit", "template"]
|
|
28
25
|
}).option("format", String, { flag: "o", desc: "output format", default: "markdown", enum: ["markdown", "json"] }).exec(async function(workspace, app, module, surface, format) {
|
|
29
|
-
const report = await this.primitiveScript.createUi(workspace, {
|
|
30
|
-
app,
|
|
31
|
-
module,
|
|
32
|
-
surface
|
|
33
|
-
});
|
|
26
|
+
const report = await this.primitiveScript.createUi(workspace, { app, module, surface });
|
|
34
27
|
Logger.rawLog(renderPrimitiveReport(report, format));
|
|
35
28
|
}),
|
|
36
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) {
|
|
@@ -44,13 +37,7 @@ class PrimitiveCommand extends command("primitive", [PrimitiveScript], ({ public
|
|
|
44
37
|
Logger.rawLog(renderPrimitiveReport(report, format));
|
|
45
38
|
}),
|
|
46
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) {
|
|
47
|
-
const report = await this.primitiveScript.addEnumField(workspace, {
|
|
48
|
-
app,
|
|
49
|
-
module,
|
|
50
|
-
field,
|
|
51
|
-
values,
|
|
52
|
-
defaultValue
|
|
53
|
-
});
|
|
40
|
+
const report = await this.primitiveScript.addEnumField(workspace, { app, module, field, values, defaultValue });
|
|
54
41
|
Logger.rawLog(renderPrimitiveReport(report, format));
|
|
55
42
|
})
|
|
56
43
|
})) {
|