@akanjs/cli 3.0.0-beta.10 → 3.0.0-beta.11
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/TunnelShare-sbsaggmb.js +9 -0
- package/{abstractCompactor-gmkc0z8j.js → abstractCompactor-bqh31fk5.js} +2 -2
- package/{agent.command-0q17pnrs.js → agent.command-7357vxd8.js} +5 -5
- package/{application.command-18y0s485.js → application.command-pc8mdn3w.js} +10 -10
- package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-4f1wrba0.js} +2 -2
- package/{applicationReleasePackager-4yasxwv9.js → applicationReleasePackager-jkjmy5ee.js} +1 -1
- package/buildBatch.proc.js +2 -2
- package/{capacitorApp-36rbr858.js → capacitorApp-hqvsrec4.js} +2 -2
- package/{cloud.command-av97ndh6.js → cloud.command-cawrd5nq.js} +10 -10
- package/cloud.script-1bmptvw0.js +20 -0
- package/commandManifest.json +1 -1
- package/{context.command-5v37ef3n.js → context.command-982b6kdp.js} +14 -14
- package/{devTui-m1atgkc9.js → devTui-hmteztv3.js} +4 -24
- package/{devTuiView-0hc2emhe.js → devTuiView-40jvjnyz.js} +1 -1
- package/{guideline.command-4pz9g1rt.js → guideline.command-jn0vwszx.js} +4 -4
- package/guidelines/agentRule/agentRule.instruction.md +41 -0
- package/incrementalBuilder.proc.js +1 -1
- package/{index-ktb5njgy.js → index-15r9a10e.js} +2 -2
- package/{index-vxtad5bd.js → index-1nwxbr2y.js} +2 -2
- package/{index-y6n8nmny.js → index-3pvkjza8.js} +10 -10
- package/{index-2tv3fdx4.js → index-5nyznra1.js} +1 -0
- package/{index-wt7qrtd4.js → index-7f4dsf9v.js} +1 -1
- package/{index-ffvk10zz.js → index-8pkvrcv1.js} +3 -3
- package/{index-rtxxan88.js → index-8tfmh0v6.js} +5 -5
- package/{index-2xp0kfkt.js → index-ay8wj00x.js} +7 -7
- package/{index-0g7r8xz3.js → index-b3ae16mg.js} +1 -1
- package/{index-m0xccmmm.js → index-bw2marpf.js} +9 -0
- package/{index-a17x49vg.js → index-ceph7zqj.js} +3 -3
- package/{index-04bk599g.js → index-em4swemt.js} +3 -3
- package/{index-5ystnsd5.js → index-fr2x3qvv.js} +5 -5
- package/index-jcekapz4.js +49 -0
- package/{index-gyd220p2.js → index-jwjaf9fy.js} +1 -1
- package/{index-d43r08tf.js → index-kbsach1y.js} +4 -4
- package/index-p6pbz9n5.js +25 -0
- package/{index-sj5vxr8f.js → index-r8bd61d9.js} +46 -11
- package/{index-k2j1hc4r.js → index-s3fvrydw.js} +3 -3
- package/{index-vyvre9en.js → index-sh88vtye.js} +1 -1
- package/{index-9077wzd2.js → index-t8gvwcrx.js} +2 -2
- package/{index-a64esmtb.js → index-vrwdx0zx.js} +1 -1
- package/{index-te54x9zm.js → index-yc1keaer.js} +2 -2
- package/{index-j9yhg404.js → index-ys7dvdb3.js} +1 -1
- package/index.js +20 -19
- package/{library.command-qzzbj6d8.js → library.command-1f9h2ex6.js} +3 -3
- package/{localRegistry.command-vyrgg4xw.js → localRegistry.command-rx758ajg.js} +9 -9
- package/{module.command-rq5hq3ax.js → module.command-c2eve036.js} +7 -7
- package/{package.command-d9hd6v9n.js → package.command-y2rh4np7.js} +3 -3
- package/package.json +2 -2
- package/{page.command-126d56te.js → page.command-e5h29fyt.js} +3 -3
- package/{primitive.command-taxd1538.js → primitive.command-c44f7z1s.js} +8 -8
- package/{quality.command-6gsna0a3.js → quality.command-5evdd263.js} +2 -2
- package/{repair.command-tq2dgy72.js → repair.command-c2amvt74.js} +5 -5
- package/{scalar.command-3bcmrrkv.js → scalar.command-xyzerygj.js} +6 -6
- package/{subspace.command-eddzqpx3.js → subspace.command-ebfwzypw.js} +5 -5
- package/tunnel.command-v6a7at16.js +130 -0
- package/{workflow.command-gtdnzvbz.js → workflow.command-t174m6sy.js} +11 -11
- package/{workspace.command-06wvstgr.js → workspace.command-bg3eveth.js} +21 -21
- package/cloud.script-cm11xjdz.js +0 -20
package/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
14dcf08e297228b84d390560fb0b666562b61989362641c9027868a93d4c503a
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Workspace,
|
|
4
4
|
command
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-b3ae16mg.js";
|
|
6
6
|
import"./index-q0y2jq9j.js";
|
|
7
|
-
import"./index-
|
|
7
|
+
import"./index-5nyznra1.js";
|
|
8
8
|
import"./index-6wwzs1bc.js";
|
|
9
9
|
import"./index-by5gpp8x.js";
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
import"./index-jwjaf9fy.js";
|
|
11
|
+
import"./index-15r9a10e.js";
|
|
12
12
|
import"./index-h7yw2z9n.js";
|
|
13
13
|
import {
|
|
14
14
|
AgentScript
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-s3fvrydw.js";
|
|
16
16
|
|
|
17
17
|
// pkgs/@akanjs/cli/agent/agent.command.ts
|
|
18
18
|
class AgentCommand extends command("agent", [AgentScript], ({ public: target }) => ({
|
|
@@ -6,22 +6,22 @@ import {
|
|
|
6
6
|
Exec,
|
|
7
7
|
Workspace,
|
|
8
8
|
command
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-b3ae16mg.js";
|
|
10
10
|
import"./index-q0y2jq9j.js";
|
|
11
|
-
import"./index-
|
|
11
|
+
import"./index-5nyznra1.js";
|
|
12
12
|
import"./index-6wwzs1bc.js";
|
|
13
13
|
import {
|
|
14
14
|
ApplicationScript
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
15
|
+
} from "./index-r8bd61d9.js";
|
|
16
|
+
import"./index-1nwxbr2y.js";
|
|
17
17
|
import"./index-hwkygn9s.js";
|
|
18
|
-
import
|
|
19
|
-
AbstractDoc
|
|
20
|
-
} from "./index-meh558jy.js";
|
|
21
|
-
import"./index-j9yhg404.js";
|
|
18
|
+
import"./index-ys7dvdb3.js";
|
|
22
19
|
import {
|
|
23
20
|
getMobileTargetChoices
|
|
24
21
|
} from "./index-47pj3aee.js";
|
|
22
|
+
import {
|
|
23
|
+
AbstractDoc
|
|
24
|
+
} from "./index-meh558jy.js";
|
|
25
25
|
|
|
26
26
|
// pkgs/@akanjs/cli/application/application.command.ts
|
|
27
27
|
import { select } from "@inquirer/prompts";
|
|
@@ -106,8 +106,8 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
|
|
|
106
106
|
start: target({ short: true, desc: "Start development server(s) (frontend SSR + backend)" }).with(Apps).option("plain", Boolean, { desc: "print prefixed lines instead of the full-screen view", default: false }).option("kill", Boolean, { flag: "k", desc: "free the dev ports first, whoever is holding them", default: false }).option("concurrency", Number, {
|
|
107
107
|
desc: "apps to boot at a time (default: what this machine's memory and cores allow)",
|
|
108
108
|
nullable: true
|
|
109
|
-
}).option("dbup", Boolean, { desc: "start the local database first", default: true }).option("open", Boolean, { desc: "open web browser?", default: false }).option("write", Boolean, { desc: "write code generation", default: true }).exec(async function(apps, plain, kill, concurrency, dbup, open, write) {
|
|
110
|
-
await this.applicationScript.start(apps, { plain, kill, concurrency, dbup, open, write });
|
|
109
|
+
}).option("dbup", Boolean, { desc: "start the local database first", default: true }).option("open", Boolean, { desc: "open web browser?", default: false }).option("share", Boolean, { desc: "also share each app on a public URL through an akan tunnel", default: false }).option("write", Boolean, { desc: "write code generation", default: true }).exec(async function(apps, plain, kill, concurrency, dbup, open, share, write) {
|
|
110
|
+
await this.applicationScript.start(apps, { plain, kill, concurrency, dbup, open, share, write });
|
|
111
111
|
}),
|
|
112
112
|
startIos: target({ short: true, desc: "Start iOS app in simulator or device" }).with(App).option("target", String, mobileTargetOption).option("env", String, {
|
|
113
113
|
enum: ["local", "debug", "develop", "main"],
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
Spinner
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-5nyznra1.js";
|
|
5
5
|
import {
|
|
6
6
|
AllRoutesBuilder,
|
|
7
7
|
CsrArtifactBuilder,
|
|
8
8
|
FontPruner,
|
|
9
9
|
precompressArtifacts,
|
|
10
10
|
SsrBaseArtifactBuilder
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-vrwdx0zx.js";
|
|
12
12
|
import"./index-w8kmx1b6.js";
|
|
13
13
|
import"./index-q0y2jq9j.js";
|
|
14
14
|
import"./index-hwkygn9s.js";
|
package/buildBatch.proc.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
WorkspaceExecutor,
|
|
4
4
|
AppExecutor
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-5nyznra1.js";
|
|
6
6
|
import"./index-q0y2jq9j.js";
|
|
7
7
|
import"./index-6wwzs1bc.js";
|
|
8
8
|
import {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
CsrArtifactBuilder,
|
|
12
12
|
FontOptimizer,
|
|
13
13
|
SsrBaseArtifactBuilder
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-vrwdx0zx.js";
|
|
15
15
|
import"./index-w8kmx1b6.js";
|
|
16
16
|
import"./index-hwkygn9s.js";
|
|
17
17
|
import"./index-n68jx79w.js";
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
import"./index-q0y2jq9j.js";
|
|
3
3
|
import {
|
|
4
4
|
GlobalConfig
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-bw2marpf.js";
|
|
6
6
|
import {
|
|
7
7
|
Workspace,
|
|
8
8
|
command
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-b3ae16mg.js";
|
|
10
|
+
import"./index-5nyznra1.js";
|
|
11
11
|
import"./index-6wwzs1bc.js";
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
12
|
+
import"./index-yc1keaer.js";
|
|
13
|
+
import"./index-r8bd61d9.js";
|
|
14
|
+
import"./index-1nwxbr2y.js";
|
|
15
15
|
import"./index-hwkygn9s.js";
|
|
16
16
|
import"./index-kcxmv48c.js";
|
|
17
|
-
import"./index-
|
|
18
|
-
import"./index-
|
|
17
|
+
import"./index-t8gvwcrx.js";
|
|
18
|
+
import"./index-8tfmh0v6.js";
|
|
19
19
|
import {
|
|
20
20
|
CloudScript2
|
|
21
|
-
} from "./index-
|
|
22
|
-
import"./index-
|
|
21
|
+
} from "./index-ay8wj00x.js";
|
|
22
|
+
import"./index-ys7dvdb3.js";
|
|
23
23
|
|
|
24
24
|
// pkgs/@akanjs/cli/cloud/cloud.command.ts
|
|
25
25
|
var localRegistryUrl = () => process.env.AKAN_NPM_REGISTRY ?? "http://127.0.0.1:4873";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
CloudScript2
|
|
4
|
+
} from "./index-ay8wj00x.js";
|
|
5
|
+
import"./index-8tfmh0v6.js";
|
|
6
|
+
import"./index-r8bd61d9.js";
|
|
7
|
+
import"./index-ys7dvdb3.js";
|
|
8
|
+
import"./index-1nwxbr2y.js";
|
|
9
|
+
import"./index-t8gvwcrx.js";
|
|
10
|
+
import"./index-yc1keaer.js";
|
|
11
|
+
import"./index-bw2marpf.js";
|
|
12
|
+
import"./index-b3ae16mg.js";
|
|
13
|
+
import"./index-hwkygn9s.js";
|
|
14
|
+
import"./index-5nyznra1.js";
|
|
15
|
+
import"./index-6wwzs1bc.js";
|
|
16
|
+
import"./index-kcxmv48c.js";
|
|
17
|
+
import"./index-q0y2jq9j.js";
|
|
18
|
+
export {
|
|
19
|
+
CloudScript2 as CloudScript
|
|
20
|
+
};
|
package/commandManifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","plan-slice":"application","sync":"application","compact":"application","script":"application","console":"application","logs":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","library-status":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","subspace":"subspace","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow"}}
|
|
1
|
+
{"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","plan-slice":"application","sync":"application","compact":"application","script":"application","console":"application","logs":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","library-status":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","subspace":"subspace","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow","tunnel":"tunnel"}}
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Workspace,
|
|
4
4
|
command
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-b3ae16mg.js";
|
|
6
6
|
import"./index-q0y2jq9j.js";
|
|
7
|
-
import"./index-
|
|
7
|
+
import"./index-5nyznra1.js";
|
|
8
8
|
import"./index-6wwzs1bc.js";
|
|
9
9
|
import"./index-by5gpp8x.js";
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
import"./index-jwjaf9fy.js";
|
|
11
|
+
import"./index-15r9a10e.js";
|
|
12
12
|
import {
|
|
13
13
|
ContextScript
|
|
14
|
-
} from "./index-
|
|
15
|
-
import"./index-
|
|
14
|
+
} from "./index-3pvkjza8.js";
|
|
15
|
+
import"./index-7f4dsf9v.js";
|
|
16
16
|
import"./index-h7yw2z9n.js";
|
|
17
|
-
import"./index-
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
17
|
+
import"./index-em4swemt.js";
|
|
18
|
+
import"./index-8pkvrcv1.js";
|
|
19
|
+
import"./index-bw2marpf.js";
|
|
20
|
+
import"./index-yc1keaer.js";
|
|
21
|
+
import"./index-fr2x3qvv.js";
|
|
22
|
+
import"./index-sh88vtye.js";
|
|
23
|
+
import"./index-kbsach1y.js";
|
|
24
|
+
import"./index-ceph7zqj.js";
|
|
25
25
|
|
|
26
26
|
// pkgs/@akanjs/cli/context/context.command.ts
|
|
27
27
|
class ContextCommand extends command("context", [ContextScript], ({ public: target }) => ({
|
|
@@ -4,34 +4,14 @@ import {
|
|
|
4
4
|
plainTextOf,
|
|
5
5
|
HOST_SOURCE,
|
|
6
6
|
DevLogBuffer
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-r8bd61d9.js";
|
|
8
|
+
import {
|
|
9
|
+
writeClipboard
|
|
10
|
+
} from "./index-p6pbz9n5.js";
|
|
8
11
|
|
|
9
12
|
// pkgs/@akanjs/cli/application/devTui.tsx
|
|
10
13
|
import { render } from "ink";
|
|
11
14
|
|
|
12
|
-
// pkgs/@akanjs/cli/clipboard.ts
|
|
13
|
-
var clipboardCommands = () => {
|
|
14
|
-
if (process.platform === "darwin")
|
|
15
|
-
return [["pbcopy"]];
|
|
16
|
-
if (process.platform === "win32")
|
|
17
|
-
return [["clip"]];
|
|
18
|
-
return [["wl-copy"], ["xclip", "-selection", "clipboard"], ["xsel", "--clipboard", "--input"]];
|
|
19
|
-
};
|
|
20
|
-
var writeClipboard = async (text) => {
|
|
21
|
-
for (const command of clipboardCommands()) {
|
|
22
|
-
try {
|
|
23
|
-
const proc = Bun.spawn(command, {
|
|
24
|
-
stdin: new TextEncoder().encode(text),
|
|
25
|
-
stdout: "ignore",
|
|
26
|
-
stderr: "ignore"
|
|
27
|
-
});
|
|
28
|
-
if (await proc.exited === 0)
|
|
29
|
-
return true;
|
|
30
|
-
} catch {}
|
|
31
|
-
}
|
|
32
|
-
return false;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
15
|
// pkgs/@akanjs/cli/ui/DevTuiApp.tsx
|
|
36
16
|
import { Box, Text, useInput } from "ink";
|
|
37
17
|
import { useEffect, useState } from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// pkgs/@akanjs/cli/application/devTuiView.ts
|
|
3
3
|
var createDevTuiView = async (supervisor) => {
|
|
4
|
-
const { DevTui } = await import("./devTui-
|
|
4
|
+
const { DevTui } = await import("./devTui-hmteztv3.js");
|
|
5
5
|
return new DevTui(supervisor);
|
|
6
6
|
};
|
|
7
7
|
export {
|
|
@@ -4,21 +4,21 @@ import {
|
|
|
4
4
|
runner,
|
|
5
5
|
script,
|
|
6
6
|
command
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-b3ae16mg.js";
|
|
8
8
|
import {
|
|
9
9
|
FileSys
|
|
10
10
|
} from "./index-q0y2jq9j.js";
|
|
11
|
-
import"./index-
|
|
11
|
+
import"./index-5nyznra1.js";
|
|
12
12
|
import {
|
|
13
13
|
getDirname2
|
|
14
14
|
} from "./index-6wwzs1bc.js";
|
|
15
15
|
import {
|
|
16
16
|
Prompter
|
|
17
17
|
} from "./index-h7yw2z9n.js";
|
|
18
|
-
import"./index-
|
|
18
|
+
import"./index-bw2marpf.js";
|
|
19
19
|
import {
|
|
20
20
|
AiSession
|
|
21
|
-
} from "./index-
|
|
21
|
+
} from "./index-yc1keaer.js";
|
|
22
22
|
|
|
23
23
|
// pkgs/@akanjs/cli/guideline/guideline.script.ts
|
|
24
24
|
import { Logger } from "akanjs/common";
|
|
@@ -675,3 +675,44 @@ apps and libs never import it directly (`no-import-external-library`) — everyt
|
|
|
675
675
|
error result rather than a silent empty answer, and the settled exchange renders as question-and-answer instead
|
|
676
676
|
of a tool row. **Never re-implement it per screen** — a `st.tool("askAboutX")` that opens a modal is the same
|
|
677
677
|
thing with a worse transcript — and a hook tool named `askUser` shadows it like any other built-in.
|
|
678
|
+
|
|
679
|
+
## What The Page Draws
|
|
680
|
+
- **The page shows the agent's work, not just the transcript.** A chat panel is closed as often as it is open, and
|
|
681
|
+
a form that fills itself or a tab that switches on its own is a change the user watches happen with nothing
|
|
682
|
+
anywhere attributing it. So **the control a call was published from is ringed** where it stands, scrolled to
|
|
683
|
+
first when it is off screen, and **a pointer travels to it and presses it** — both on by default, and both
|
|
684
|
+
driven from the tool call itself rather than from a store action, which cannot tell the agent's write from the
|
|
685
|
+
user's.
|
|
686
|
+
- **It costs an app nothing, for the same reason `data-akan-action` does.** `onChange={st.do.setTitleOnTask}` by
|
|
687
|
+
reference is what annotates the control, and the annotation is what makes it findable — so the fields and verbs
|
|
688
|
+
that matter light up with no code. An inline arrow publishes no tool, carries no annotation, and therefore
|
|
689
|
+
draws nothing: one wrapper silently costs three things at once.
|
|
690
|
+
- **For a control the framework did not render, spread `agentAttrs`** from `akanjs/ui`:
|
|
691
|
+
`<button {...agentAttrs(run)} onClick={run}>`, where `run` is what `st.tool(…).exec(…)` returned. It reads the
|
|
692
|
+
name off the callable, so there is nothing to keep in sync and no `ref` to thread — and it earns the same E2E
|
|
693
|
+
selector and accessibility name an `akanjs/ui` control has. Never hand-write `data-akan-*`.
|
|
694
|
+
- **Nothing is ever waited on.** The call starts the moment the effect is handed its event; a ring that lands a
|
|
695
|
+
frame later costs the turn nothing, and an animation that held a call would make the agent slower for a
|
|
696
|
+
decoration. A batch past four calls stops scrolling and keeps ringing — eight scrolls across a page is motion
|
|
697
|
+
sickness rather than attribution.
|
|
698
|
+
- **What it refuses to draw is the point.** A name several rows answer to rings nothing rather than guessing a row,
|
|
699
|
+
a call an approval or a guard turned back is never drawn at all, a tool no control carries draws nothing, and a
|
|
700
|
+
backgrounded tab draws nothing. A ring on the wrong element is worse than no ring: it is the screen telling the
|
|
701
|
+
user something untrue about what just happened. **`navigate` is in that last class** — the router is not an
|
|
702
|
+
element, so it draws nothing. A bar across the top of the page was tried for it and removed: it read as chrome
|
|
703
|
+
the page had grown rather than as the agent doing something, which is the opposite of attribution.
|
|
704
|
+
- **Turn it off with `visual`** on `Agent.Chat` / `Agent.Zone` — `false` for all of it, `{ cursor: false }` or
|
|
705
|
+
`{ reveal: false }` for one effect. The pointer is chrome (`data-agent-ui`, `aria-hidden`,
|
|
706
|
+
`pointer-events: none`), so `readScreen` never reads it back and `highlight` can never aim at it.
|
|
707
|
+
- **`ToolActivity` is the channel underneath**, a `ToolRunner` host option and an `AgentSession.onActivity`, firing
|
|
708
|
+
`start` / `end` around the execution alone. It is deliberately not `progress`: that one fires only for a tool
|
|
709
|
+
that chose to report, and a tool that says nothing about itself is exactly the one whose effect arrives
|
|
710
|
+
unexplained.
|
|
711
|
+
- **The pointer presses on arrival, never on departure** — a press fired as it leaves is a click on whatever it
|
|
712
|
+
was still over. It glides only when the hop is far enough to be worth following (a third of a second to cross
|
|
713
|
+
fifty pixels reads as lag, not motion), teleports otherwise, and fades once the batch is over. The ring answers
|
|
714
|
+
*where* and the pointer answers *who*, which is why they are one default rather than two.
|
|
715
|
+
- **A form patch fans out over the fields it named.** `fill<Model>Form` is published by the form rather than by any
|
|
716
|
+
one control, so it rings one control per field in the arguments — resolved through the same
|
|
717
|
+
`data-akan-state="<model>Form.<field>"` the setter annotates — capped at five. `writeOn<Model>(path, value)`
|
|
718
|
+
draws nothing, for the same reason it carries no annotation: there is no control to put one on.
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
isScannedRootEntry,
|
|
8
8
|
AppExecutor,
|
|
9
9
|
LibExecutor
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-5nyznra1.js";
|
|
11
11
|
import {
|
|
12
12
|
FileSys
|
|
13
13
|
} from "./index-q0y2jq9j.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
workflowRunArtifactPath,
|
|
21
21
|
workflowSyncDir
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-jwjaf9fy.js";
|
|
23
23
|
|
|
24
24
|
// pkgs/@akanjs/devkit/akanContext.ts
|
|
25
25
|
import { readdir } from "fs/promises";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
AppExecutor
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-5nyznra1.js";
|
|
5
5
|
import {
|
|
6
6
|
jsonText,
|
|
7
7
|
createWorkflowBaselineSummary,
|
|
8
8
|
buildAkanModuleContextIndex,
|
|
9
9
|
createWorkflowStepRegistry,
|
|
10
10
|
toolingRolloutGate
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-jwjaf9fy.js";
|
|
12
12
|
import {
|
|
13
13
|
buildResourceList,
|
|
14
14
|
codexMcpConfigPath,
|
|
@@ -19,33 +19,33 @@ import {
|
|
|
19
19
|
upsertCodexMcpServerBlock,
|
|
20
20
|
renderDoctorText,
|
|
21
21
|
AkanContextAnalyzer
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-15r9a10e.js";
|
|
23
23
|
import {
|
|
24
24
|
CommandContainer,
|
|
25
25
|
runner,
|
|
26
26
|
script
|
|
27
|
-
} from "./index-
|
|
27
|
+
} from "./index-b3ae16mg.js";
|
|
28
28
|
import {
|
|
29
29
|
isPlaceholderAppId2
|
|
30
|
-
} from "./index-
|
|
30
|
+
} from "./index-7f4dsf9v.js";
|
|
31
31
|
import {
|
|
32
32
|
Prompter
|
|
33
33
|
} from "./index-h7yw2z9n.js";
|
|
34
34
|
import {
|
|
35
35
|
RepairRunner
|
|
36
|
-
} from "./index-
|
|
36
|
+
} from "./index-em4swemt.js";
|
|
37
37
|
import {
|
|
38
38
|
WorkflowRunner
|
|
39
|
-
} from "./index-
|
|
39
|
+
} from "./index-8pkvrcv1.js";
|
|
40
40
|
import {
|
|
41
41
|
ModuleScript
|
|
42
|
-
} from "./index-
|
|
42
|
+
} from "./index-fr2x3qvv.js";
|
|
43
43
|
import {
|
|
44
44
|
PrimitiveScript
|
|
45
|
-
} from "./index-
|
|
45
|
+
} from "./index-kbsach1y.js";
|
|
46
46
|
import {
|
|
47
47
|
ScalarScript
|
|
48
|
-
} from "./index-
|
|
48
|
+
} from "./index-ceph7zqj.js";
|
|
49
49
|
import {
|
|
50
50
|
getMobileTargets
|
|
51
51
|
} from "./index-47pj3aee.js";
|
|
@@ -3576,6 +3576,7 @@ class AppExecutor extends SysExecutor {
|
|
|
3576
3576
|
executor: this,
|
|
3577
3577
|
getPath: (rel) => this.getPath(rel),
|
|
3578
3578
|
fileExists: (rel) => FileSys.fileExists(this.getPath(rel)),
|
|
3579
|
+
readFile: (rel) => this.readFile(rel),
|
|
3579
3580
|
writeFile: async (rel, content, opts) => {
|
|
3580
3581
|
await this.writeFile(rel, content, opts);
|
|
3581
3582
|
},
|
|
@@ -20,13 +20,13 @@ import {
|
|
|
20
20
|
renderWorkflowApply,
|
|
21
21
|
renderWorkflowValidation,
|
|
22
22
|
renderWorkflowRunArtifact
|
|
23
|
-
} from "./index-
|
|
23
|
+
} from "./index-jwjaf9fy.js";
|
|
24
24
|
import {
|
|
25
25
|
AkanContextAnalyzer
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-15r9a10e.js";
|
|
27
27
|
import {
|
|
28
28
|
runner
|
|
29
|
-
} from "./index-
|
|
29
|
+
} from "./index-b3ae16mg.js";
|
|
30
30
|
|
|
31
31
|
// pkgs/@akanjs/cli/workflow/workflow.runner.ts
|
|
32
32
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
@@ -3,20 +3,20 @@ import {
|
|
|
3
3
|
getDefaultHostConfig,
|
|
4
4
|
GlobalConfig,
|
|
5
5
|
CloudApi
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-bw2marpf.js";
|
|
7
7
|
import {
|
|
8
8
|
WorkspaceExecutor,
|
|
9
9
|
AppExecutor
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-5nyznra1.js";
|
|
11
11
|
import {
|
|
12
12
|
AiSession
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-yc1keaer.js";
|
|
14
14
|
import {
|
|
15
15
|
runner
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-b3ae16mg.js";
|
|
17
17
|
import {
|
|
18
18
|
openBrowser
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-r8bd61d9.js";
|
|
20
20
|
|
|
21
21
|
// pkgs/@akanjs/cli/cloud/cloud.runner.ts
|
|
22
22
|
import path from "path";
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
import {
|
|
3
3
|
GlobalConfig,
|
|
4
4
|
CloudApi
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-bw2marpf.js";
|
|
6
6
|
import {
|
|
7
7
|
PkgExecutor
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-5nyznra1.js";
|
|
9
9
|
import {
|
|
10
10
|
AiSession
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-yc1keaer.js";
|
|
12
12
|
import {
|
|
13
13
|
script
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-b3ae16mg.js";
|
|
15
15
|
import {
|
|
16
16
|
ApplicationScript
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-r8bd61d9.js";
|
|
18
18
|
import {
|
|
19
19
|
PackageScript
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-t8gvwcrx.js";
|
|
21
21
|
import {
|
|
22
22
|
CloudRunner
|
|
23
|
-
} from "./index-
|
|
23
|
+
} from "./index-8tfmh0v6.js";
|
|
24
24
|
|
|
25
25
|
// pkgs/@akanjs/cli/cloud/cloud.script.ts
|
|
26
26
|
import { Logger } from "akanjs/common";
|
|
@@ -216,6 +216,15 @@ class CloudApi {
|
|
|
216
216
|
this.#api.setHeaders({ Authorization: `Bearer ${this.#accessToken.jwt}` });
|
|
217
217
|
return this.#accessToken;
|
|
218
218
|
}
|
|
219
|
+
async requestTunnel(input) {
|
|
220
|
+
return await this.#api.post(`/requestTunnel`, input);
|
|
221
|
+
}
|
|
222
|
+
async tunnelListInSelf() {
|
|
223
|
+
return await this.#api.get(`/tunnelListInSelf`);
|
|
224
|
+
}
|
|
225
|
+
async revokeTunnel(code) {
|
|
226
|
+
return await this.#api.post(`/revokeTunnel`, { code });
|
|
227
|
+
}
|
|
219
228
|
async getRemoteSelf() {
|
|
220
229
|
try {
|
|
221
230
|
const data = await this.#api.get(`/getRemoteSelf`);
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import {
|
|
3
3
|
runner,
|
|
4
4
|
script
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-b3ae16mg.js";
|
|
6
6
|
import {
|
|
7
7
|
generatedFilesForSync,
|
|
8
8
|
createPassedPrimitiveReport,
|
|
9
9
|
scalarChangedFiles
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-jwjaf9fy.js";
|
|
11
11
|
import {
|
|
12
12
|
AiSession
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-yc1keaer.js";
|
|
14
14
|
import {
|
|
15
15
|
Prompter
|
|
16
16
|
} from "./index-h7yw2z9n.js";
|