@akanjs/cli 3.1.0-rc.1 → 3.1.0-rc.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.
Files changed (98) hide show
  1. package/.build-stamp +1 -1
  2. package/{CodeAgent-kyprmy06.js → CodeAgent-rkjyxgec.js} +2 -2
  3. package/{CodeTui-21mtze3j.js → CodeTui-h7pyj6xa.js} +1 -1
  4. package/TunnelShare-661cxz5e.js +14 -0
  5. package/{agent.command-f3gsc1gd.js → agent.command-3qxf4xcj.js} +5 -5
  6. package/akanCode.js +2 -2
  7. package/{application.command-5s780vnz.js → application.command-m1kcd7jf.js} +54 -42
  8. package/{applicationBuildRunner-1yaqsrdq.js → applicationBuildRunner-dj0xkrep.js} +26 -33
  9. package/buildBatch.proc.js +24 -15
  10. package/{cloud.command-yj6xb2a7.js → cloud.command-9cp1t0f5.js} +60 -67
  11. package/cloud.script-dgstqt1m.js +24 -0
  12. package/{code.command-3wkn4ja5.js → code.command-0ad6gw2a.js} +6 -6
  13. package/{context.command-9jjn3gcw.js → context.command-0qx447mb.js} +17 -13
  14. package/context.runner-1vsjztjg.js +25 -0
  15. package/{dependencyScanner-06z2dmrr.js → dependencyScanner-3afj2vt1.js} +1 -1
  16. package/{guideline.command-dtczrqpf.js → guideline.command-cv5bmrx2.js} +2 -2
  17. package/guidelines/agentRule/agentRule.instruction.md +3 -3
  18. package/guidelines/conventions/conventions.instruction.md +457 -1071
  19. package/guidelines/cssRule/cssRule.instruction.md +28 -7
  20. package/guidelines/fieldRule/fieldRule.instruction.md +62 -0
  21. package/guidelines/framework/framework.instruction.md +4 -7
  22. package/guidelines/mcpRule/mcpRule.instruction.md +43 -20
  23. package/guidelines/modelConstant/modelConstant.instruction.md +2 -1
  24. package/guidelines/modelStore/modelStore.instruction.md +9 -0
  25. package/guidelines/pageRule/pageRule.instruction.md +80 -0
  26. package/guidelines/queryRule/queryRule.instruction.md +44 -11
  27. package/guidelines/runtimeRule/runtimeRule.instruction.md +113 -17
  28. package/guidelines/ssrRule/ssrRule.instruction.md +13 -0
  29. package/guidelines/transportRule/transportRule.instruction.md +135 -13
  30. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +4 -4
  31. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +68 -7
  32. package/incrementalBuilder.proc.js +10 -7
  33. package/index-192ha4xh.js +1173 -0
  34. package/{index-c76k723e.js → index-1p98exm2.js} +2 -2
  35. package/{index-rwq3ekqc.js → index-1xj2t7cb.js} +7 -7
  36. package/{index-rtct7d43.js → index-20bxxyvn.js} +80 -80
  37. package/{index-qt22xstj.js → index-35hc95h5.js} +5 -3
  38. package/{index-8r4d7cmt.js → index-4mhy6qme.js} +4 -4
  39. package/{index-ww9bhp67.js → index-4pf8g7ff.js} +1 -1
  40. package/{index-2mx692qq.js → index-5edzv8fn.js} +5 -5
  41. package/{index-k9rrten6.js → index-5nd1wtkv.js} +92 -94
  42. package/index-62md4dwy.js +260 -0
  43. package/index-665zp9rs.js +271 -0
  44. package/{index-2etcv0sc.js → index-86jt2a0e.js} +1 -1
  45. package/{index-krq7btbt.js → index-8fp3b47h.js} +419 -418
  46. package/{index-c2yrsxdh.js → index-9z426msb.js} +109 -328
  47. package/{index-ctanya41.js → index-awbdfcf2.js} +4 -4
  48. package/{index-3hx1z96c.js → index-bqbf654f.js} +1 -1
  49. package/{index-rc5rwyps.js → index-bspm21y1.js} +71 -60
  50. package/index-cpb3nvma.js +667 -0
  51. package/{index-jx4bzvwg.js → index-d47ypebv.js} +97 -55
  52. package/{index-ae5pwhgs.js → index-d72hfmdm.js} +15 -13
  53. package/{index-e0cvze1s.js → index-fmzcs8v6.js} +4 -4
  54. package/{index-8ggztp8k.js → index-fyq1z6kt.js} +68 -201
  55. package/{index-1w2qaee2.js → index-g1mbppa9.js} +331 -259
  56. package/{index-gnyf1fqy.js → index-j237xtew.js} +6 -6
  57. package/{index-fm46xrf1.js → index-j4mkhz93.js} +3 -3
  58. package/{index-6jjtnhkw.js → index-jw1zm273.js} +74 -34
  59. package/{index-q958tqqg.js → index-m9jj544v.js} +1 -1
  60. package/index-mdjc93e1.js +33 -0
  61. package/{index-c1x0be5j.js → index-pydbnfez.js} +2 -2
  62. package/{index-56d2g8ms.js → index-qwa5k1j8.js} +1 -1
  63. package/{index-v29746vb.js → index-tamvyvj3.js} +3 -3
  64. package/{index-05g3jayg.js → index-trpasv9q.js} +260 -259
  65. package/{index-2ahj896a.js → index-tvehn2sp.js} +1 -1
  66. package/{index-55mynnqs.js → index-va06nr10.js} +1434 -1173
  67. package/index-vk0pa0mn.js +240 -0
  68. package/{index-aprt7pkz.js → index-w44cy4vs.js} +2271 -3369
  69. package/index.js +22 -22
  70. package/{library.command-gaga5bmq.js → library.command-erp2f56n.js} +3 -3
  71. package/{localRegistry.command-vsreyy42.js → localRegistry.command-y176p558.js} +15 -11
  72. package/{module.command-7vpf6db4.js → module.command-gs2r615e.js} +5 -5
  73. package/{package.command-twmvvf69.js → package.command-j10r76ax.js} +4 -4
  74. package/package.json +21 -21
  75. package/{page.command-5asq7fdf.js → page.command-4h4a8pnh.js} +3 -3
  76. package/{pipeline.command-d0v38572.js → pipeline.command-a2nrk26m.js} +221 -220
  77. package/{primitive.command-dyrs2fm8.js → primitive.command-w6t0asqz.js} +6 -6
  78. package/{projectTypecheck-cvtkrzp2.js → projectTypecheck-f534enqj.js} +1 -1
  79. package/{quality.command-6emsqpbg.js → quality.command-77x7vbbx.js} +4 -4
  80. package/{repair.command-8t6aegv5.js → repair.command-y6sstev7.js} +5 -5
  81. package/{scalar.command-bnggy1x7.js → scalar.command-20b8cy0k.js} +4 -4
  82. package/{subspace.command-md2teygq.js → subspace.command-5c7yasd7.js} +424 -364
  83. package/templates/appSample/lib/task/Task.Util.tsx +7 -7
  84. package/templates/appSample/lib/task/Task.Zone.tsx +1 -1
  85. package/templates/appSample/ui/QuantityControl.tsx +2 -2
  86. package/templates/crudSinglePage/page.tsx +1 -1
  87. package/templates/lib/cnst.ts +0 -1
  88. package/templates/workspaceRoot/.gitignore.template +23 -52
  89. package/templates/workspaceRoot/biome.json.template +1 -1
  90. package/{tunnel.command-jx3tdm2d.js → tunnel.command-2kw8vt9g.js} +8 -4
  91. package/{workflow.command-jx0wag5r.js → workflow.command-2djwmpqf.js} +10 -10
  92. package/{workspace.command-yxd7rr7g.js → workspace.command-6qfgq4b4.js} +38 -34
  93. package/TunnelShare-q4jq08qg.js +0 -9
  94. package/cloud.script-h6pvcpa2.js +0 -20
  95. package/context.runner-atcrzz5b.js +0 -21
  96. package/index-6w0rbr9d.js +0 -68
  97. package/index-n68jx79w.js +0 -120
  98. package/index-pgj2rt78.js +0 -404
@@ -3,57 +3,48 @@ import {
3
3
  App,
4
4
  Workspace,
5
5
  command
6
- } from "./index-6jjtnhkw.js";
6
+ } from "./index-jw1zm273.js";
7
7
  import"./index-52w0fvh8.js";
8
- import"./index-55mynnqs.js";
9
- import"./index-1w2qaee2.js";
10
- import"./index-pgj2rt78.js";
8
+ import"./index-va06nr10.js";
9
+ import"./index-cpb3nvma.js";
11
10
  import {
12
11
  PlatformTestRun
13
- } from "./index-8ggztp8k.js";
14
- import"./index-k9rrten6.js";
15
- import"./index-c1x0be5j.js";
16
- import"./index-jx4bzvwg.js";
12
+ } from "./index-fyq1z6kt.js";
13
+ import"./index-vk0pa0mn.js";
14
+ import"./index-m9jj544v.js";
15
+ import"./index-g1mbppa9.js";
16
+ import"./index-192ha4xh.js";
17
+ import"./index-5nd1wtkv.js";
18
+ import"./index-pydbnfez.js";
19
+ import"./index-d47ypebv.js";
17
20
  import"./index-7md2g9vw.js";
18
- import"./index-2ahj896a.js";
19
- import"./index-gnyf1fqy.js";
21
+ import"./index-tvehn2sp.js";
22
+ import"./index-j237xtew.js";
20
23
  import {
21
24
  CloudScript2
22
- } from "./index-rc5rwyps.js";
23
- import"./index-qt22xstj.js";
25
+ } from "./index-bspm21y1.js";
24
26
  import {
25
- getMobileTargetChoices
26
- } from "./index-q958tqqg.js";
27
+ writeOption,
28
+ oneNativeTargetOption,
29
+ nativeEnvs,
30
+ releaseEnvOption,
31
+ allowLocalOption,
32
+ publicEnvOption,
33
+ hostOption,
34
+ subspaceOption
35
+ } from "./index-mdjc93e1.js";
36
+ import"./index-35hc95h5.js";
37
+ import"./index-665zp9rs.js";
27
38
 
28
39
  // pkgs/@akanjs/cli/cloud/cloud.command.ts
29
40
  var localRegistryUrl = () => process.env.AKAN_NPM_REGISTRY ?? "http://127.0.0.1:4873";
30
- var hostOption = {
31
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
32
- nullable: true
33
- };
34
- var targetOption = {
35
- desc: "native target name (a key of native.targets)",
36
- ask: "Select native target",
37
- enum: async ({ app }) => await getMobileTargetChoices(app)
38
- };
39
- var envOption = {
40
- enum: ["debug", "develop", "main", "local"],
41
- desc: "backend environment",
42
- default: "main"
43
- };
44
41
  var resolveRegistryUrl = (registry) => registry === "local" ? localRegistryUrl() : undefined;
45
42
 
46
43
  class CloudCommand extends command("cloud", [CloudScript2], ({ public: target }) => ({
47
- login: target({ desc: "Login to Akan Cloud services" }).option("host", String, {
48
- desc: "host of the cloud (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
49
- nullable: true
50
- }).with(Workspace).exec(async function(host, workspace) {
44
+ login: target({ desc: "Login to Akan Cloud services" }).option("host", String, hostOption).with(Workspace).exec(async function(host, workspace) {
51
45
  await this.cloudScript.login(workspace, host);
52
46
  }),
53
- logout: target({ desc: "Logout from Akan Cloud services" }).option("host", String, {
54
- desc: "host of the cloud (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
55
- nullable: true
56
- }).with(Workspace).exec(async function(host, workspace) {
47
+ logout: target({ desc: "Logout from Akan Cloud services" }).option("host", String, hostOption).with(Workspace).exec(async function(host, workspace) {
57
48
  await this.cloudScript.logout(workspace, host);
58
49
  }),
59
50
  deployAkan: target({ devOnly: true, desc: "Deploy Akan.js framework to cloud (internal use)" }).option("test", Boolean, { desc: "test the deployment", default: true }).option("registry", String, {
@@ -105,12 +96,27 @@ class CloudCommand extends command("cloud", [CloudScript2], ({ public: target })
105
96
  await this.cloudScript.update(workspace, tag, { registryUrl: resolveRegistryUrl(registry) });
106
97
  }),
107
98
  pushUpdate: target({
108
- desc: "Pack an over-the-air update of a phone's web bundle and upload it to the akasys project, which signs and publishes it"
109
- }).with(App).option("platform", String, { enum: ["ios", "android"], desc: "the app it updates" }).option("target", String, targetOption).option("env", String, envOption).option("channel", String, { desc: "the channel (default: the target's updates.channel)", nullable: true }).option("notes", String, { desc: "release notes shown in the project", nullable: true }).option("subspace", String, { desc: "the subspace whose project gets it", nullable: true }).option("host", String, hostOption).option("write", Boolean, { desc: "write code generation", default: true }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow packing with --env local", default: false }).option("pack", String, {
99
+ desc: "Pack an over-the-air update of a phone's web bundle, or take the folder `akan pack-update` wrote, and upload it to the Akan Cloud project, which signs and publishes it. Exits 2 when the pack needs a new store build or the project rejects it, 1 on any other failure"
100
+ }).with(App).option("platform", String, {
101
+ enum: ["ios", "android"],
102
+ desc: "the app it updates (with --pack, default: the pack's)",
103
+ nullable: true
104
+ }).option("target", String, {
105
+ desc: "native target name, a key of native.targets (default: the only one; with --pack, the pack's)",
106
+ nullable: true
107
+ }).option("env", String, {
108
+ enum: nativeEnvs,
109
+ desc: "backend environment (default: main; with --pack, the pack's)",
110
+ nullable: true
111
+ }).option("channel", String, { desc: "the channel (default: the target's updates.channel)", nullable: true }).option("notes", String, { desc: "release notes shown in the project", nullable: true }).option("subspace", String, subspaceOption("gets it")).option("host", String, hostOption).option("write", Boolean, writeOption).option("allowLocalRelease", Boolean, {
112
+ flag: "l",
113
+ desc: "allow packing, or uploading a pack made, with --env local",
114
+ default: false
115
+ }).option("pack", String, {
110
116
  flag: "d",
111
- desc: "a folder `akan pack-update` wrote, uploaded instead of packing",
117
+ desc: "a folder `akan pack-update` wrote, uploaded instead of packing; --platform, --target and --env must match it",
112
118
  nullable: true
113
- }).with(Workspace).exec(async function(app, platform, target, env, channel, notes, subspace, host, write, allowLocalRelease, pack, workspace) {
119
+ }).option("publicEnv", String, publicEnvOption("the update")).with(Workspace).exec(async function(app, platform, target, env, channel, notes, subspace, host, write, allowLocalRelease, pack, publicEnv, workspace) {
114
120
  await this.cloudScript.pushUpdate(workspace, app, {
115
121
  platform,
116
122
  target,
@@ -121,15 +127,16 @@ class CloudCommand extends command("cloud", [CloudScript2], ({ public: target })
121
127
  host,
122
128
  write,
123
129
  allowLocalRelease,
124
- pack
130
+ pack,
131
+ publicEnv
125
132
  });
126
133
  }),
127
134
  registerBinary: target({
128
- desc: "Register the store build of a phone app with the akasys project, with a pack of the same commit as its embedded bundle"
135
+ desc: "Register the store build of a phone app with the Akan Cloud project, with a pack of the same commit as its embedded bundle. Exits 2 when the store build differs natively from this commit's pack, 1 on any other failure"
129
136
  }).with(App).option("platform", String, { enum: ["ios", "android"], desc: "the store build to register" }).option("distribution", String, {
130
137
  enum: ["appStore", "testFlight", "playStore", "playTesting", "direct"],
131
138
  desc: "where the binary ships"
132
- }).option("target", String, targetOption).option("env", String, envOption).option("subspace", String, { desc: "the subspace whose project gets it", nullable: true }).option("host", String, hostOption).option("write", Boolean, { desc: "write code generation", default: true }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow packing with --env local", default: false }).with(Workspace).exec(async function(app, platform, distribution, target, env, subspace, host, write, allowLocalRelease, workspace) {
139
+ }).option("target", String, oneNativeTargetOption).option("env", String, releaseEnvOption).option("subspace", String, subspaceOption("gets it")).option("host", String, hostOption).option("write", Boolean, writeOption).option("allowLocalRelease", Boolean, allowLocalOption("packing")).option("publicEnv", String, publicEnvOption("the pack (default: what the store build recorded)")).with(Workspace).exec(async function(app, platform, distribution, target, env, subspace, host, write, allowLocalRelease, publicEnv, workspace) {
133
140
  await this.cloudScript.registerBinary(workspace, app, {
134
141
  platform,
135
142
  distribution,
@@ -138,51 +145,37 @@ class CloudCommand extends command("cloud", [CloudScript2], ({ public: target })
138
145
  subspace,
139
146
  host,
140
147
  write,
141
- allowLocalRelease
148
+ allowLocalRelease,
149
+ publicEnv
142
150
  });
143
151
  }),
144
152
  uploadSecret: target({
145
- desc: "Upload a named pipeline secret to the akasys project; write-only, it can never be read back"
153
+ desc: "Upload a named pipeline secret to the Akan Cloud project; write-only, it can never be read back"
146
154
  }).arg("name", String, { desc: "secret name, e.g. DISCORD_WEBHOOK" }).option("branch", String, {
147
155
  desc: "only builds of this branch use it: debug, develop or main (default: every branch)",
148
156
  nullable: true
149
157
  }).option("file", String, {
150
158
  desc: "read the value from this file instead of stdin or a hidden prompt",
151
159
  nullable: true
152
- }).option("subspace", String, { desc: "the subspace whose project gets it", nullable: true }).option("host", String, {
153
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
154
- nullable: true
155
- }).with(Workspace).exec(async function(name, branch, file, subspace, host, workspace) {
160
+ }).option("subspace", String, subspaceOption("gets it")).option("host", String, hostOption).with(Workspace).exec(async function(name, branch, file, subspace, host, workspace) {
156
161
  await this.cloudScript.uploadSecret(workspace, { name, branch, file, subspace, host });
157
162
  }),
158
- listSecrets: target({ desc: "List the pipeline secrets of the akasys project: names and scopes, never values" }).option("branch", String, {
163
+ listSecrets: target({ desc: "List the pipeline secrets of the Akan Cloud project: names and scopes, never values" }).option("branch", String, {
159
164
  desc: "only the secrets builds of this branch use: debug, develop or main",
160
165
  nullable: true
161
- }).option("subspace", String, { desc: "the subspace whose project to list", nullable: true }).option("host", String, {
162
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
163
- nullable: true
164
- }).with(Workspace).exec(async function(branch, subspace, host, workspace) {
166
+ }).option("subspace", String, subspaceOption("to list")).option("host", String, hostOption).with(Workspace).exec(async function(branch, subspace, host, workspace) {
165
167
  await this.cloudScript.listSecrets(workspace, { branch, subspace, host });
166
168
  }),
167
- removeSecret: target({ desc: "Remove a named pipeline secret from the akasys project" }).arg("name", String, { desc: "secret name" }).option("branch", String, {
169
+ removeSecret: target({ desc: "Remove a named pipeline secret from the Akan Cloud project" }).arg("name", String, { desc: "secret name" }).option("branch", String, {
168
170
  desc: "the branch override to remove: debug, develop or main (default: the every-branch value)",
169
171
  nullable: true
170
- }).option("subspace", String, { desc: "the subspace whose project holds it", nullable: true }).option("host", String, {
171
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
172
- nullable: true
173
- }).with(Workspace).exec(async function(name, branch, subspace, host, workspace) {
172
+ }).option("subspace", String, subspaceOption("holds it")).option("host", String, hostOption).with(Workspace).exec(async function(name, branch, subspace, host, workspace) {
174
173
  await this.cloudScript.removeSecret(workspace, { name, branch, subspace, host });
175
174
  }),
176
- downloadEnv: target({ desc: "Download environment variables from cloud or SCP server" }).option("host", String, {
177
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
178
- nullable: true
179
- }).with(Workspace).exec(async function(host, workspace) {
175
+ downloadEnv: target({ desc: "Download environment variables from cloud or SCP server" }).option("host", String, hostOption).with(Workspace).exec(async function(host, workspace) {
180
176
  await this.cloudScript.downloadEnv(workspace, undefined, { host });
181
177
  }),
182
- uploadEnv: target({ desc: "Upload environment variables to cloud or SCP server" }).option("host", String, {
183
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
184
- nullable: true
185
- }).with(Workspace).exec(async function(host, workspace) {
178
+ uploadEnv: target({ desc: "Upload environment variables to cloud or SCP server" }).option("host", String, hostOption).with(Workspace).exec(async function(host, workspace) {
186
179
  await this.cloudScript.uploadEnv(workspace, { host });
187
180
  })
188
181
  })) {
@@ -0,0 +1,24 @@
1
+ // @bun
2
+ import {
3
+ CloudScript2
4
+ } from "./index-bspm21y1.js";
5
+ import"./index-fyq1z6kt.js";
6
+ import"./index-d47ypebv.js";
7
+ import"./index-35hc95h5.js";
8
+ import"./index-pydbnfez.js";
9
+ import"./index-j237xtew.js";
10
+ import"./index-vk0pa0mn.js";
11
+ import"./index-cpb3nvma.js";
12
+ import"./index-g1mbppa9.js";
13
+ import"./index-m9jj544v.js";
14
+ import"./index-jw1zm273.js";
15
+ import"./index-7md2g9vw.js";
16
+ import"./index-665zp9rs.js";
17
+ import"./index-5nd1wtkv.js";
18
+ import"./index-192ha4xh.js";
19
+ import"./index-va06nr10.js";
20
+ import"./index-tvehn2sp.js";
21
+ import"./index-52w0fvh8.js";
22
+ export {
23
+ CloudScript2 as CloudScript
24
+ };
@@ -4,9 +4,9 @@ import {
4
4
  runner,
5
5
  script,
6
6
  command
7
- } from "./index-6jjtnhkw.js";
7
+ } from "./index-jw1zm273.js";
8
8
  import"./index-52w0fvh8.js";
9
- import"./index-55mynnqs.js";
9
+ import"./index-va06nr10.js";
10
10
  import {
11
11
  akanCodeDefaultModel2,
12
12
  CodeAgentStreamPrinter2
@@ -19,7 +19,7 @@ class CodeRunner extends runner("code") {
19
19
  async serve(options, listen) {
20
20
  await import("./consoleToStderr-h5bryj94.js");
21
21
  const [{ CodeAgent }, { CodeAgentRpcHost }, { CodeAgentRpcListener }] = await Promise.all([
22
- import("./CodeAgent-kyprmy06.js"),
22
+ import("./CodeAgent-rkjyxgec.js"),
23
23
  import("./CodeAgentRpcHost-p7h6n2hp.js"),
24
24
  import("./CodeAgentRpcListener-7p7z5dd7.js")
25
25
  ]);
@@ -34,8 +34,8 @@ class CodeRunner extends runner("code") {
34
34
  }
35
35
  async tui(options, seed) {
36
36
  const [{ CodeAgent }, { CodeTui }] = await Promise.all([
37
- import("./CodeAgent-kyprmy06.js"),
38
- import("./CodeTui-21mtze3j.js")
37
+ import("./CodeAgent-rkjyxgec.js"),
38
+ import("./CodeTui-h7pyj6xa.js")
39
39
  ]);
40
40
  const agentOptions = await CodeRunner.#agentOptions(options, false);
41
41
  let resume = options.resume;
@@ -60,7 +60,7 @@ class CodeRunner extends runner("code") {
60
60
  }
61
61
  }
62
62
  async run(prompt, options) {
63
- const { CodeAgent } = await import("./CodeAgent-kyprmy06.js");
63
+ const { CodeAgent } = await import("./CodeAgent-rkjyxgec.js");
64
64
  const agent = await CodeAgent.create(await CodeRunner.#agentOptions(options, false));
65
65
  const printer = new CodeAgentStreamPrinter2({ json: options.json, thinking: options.thinking });
66
66
  agent.on((event) => printer.print(event));
@@ -2,24 +2,28 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-6jjtnhkw.js";
5
+ } from "./index-jw1zm273.js";
6
6
  import"./index-52w0fvh8.js";
7
- import"./index-55mynnqs.js";
7
+ import"./index-va06nr10.js";
8
8
  import"./index-hj6w4ka1.js";
9
- import"./index-05g3jayg.js";
10
- import"./index-2mx692qq.js";
11
- import"./index-ae5pwhgs.js";
12
- import"./index-1w2qaee2.js";
9
+ import"./index-trpasv9q.js";
10
+ import"./index-5edzv8fn.js";
11
+ import"./index-d72hfmdm.js";
12
+ import"./index-vk0pa0mn.js";
13
+ import"./index-m9jj544v.js";
14
+ import"./index-g1mbppa9.js";
15
+ import"./index-192ha4xh.js";
13
16
  import"./index-zzvvc845.js";
14
- import"./index-fm46xrf1.js";
15
- import"./index-2etcv0sc.js";
16
- import"./index-e0cvze1s.js";
17
- import"./index-ctanya41.js";
18
- import"./index-c76k723e.js";
19
- import"./index-rwq3ekqc.js";
17
+ import"./index-j4mkhz93.js";
18
+ import"./index-86jt2a0e.js";
19
+ import"./index-fmzcs8v6.js";
20
+ import"./index-awbdfcf2.js";
21
+ import"./index-1p98exm2.js";
22
+ import"./index-1xj2t7cb.js";
20
23
  import {
21
24
  ContextScript
22
- } from "./index-8r4d7cmt.js";
25
+ } from "./index-4mhy6qme.js";
26
+ import"./index-665zp9rs.js";
23
27
 
24
28
  // pkgs/@akanjs/cli/context/context.command.ts
25
29
  class ContextCommand extends command("context", [ContextScript], ({ public: target }) => ({
@@ -0,0 +1,25 @@
1
+ // @bun
2
+ import {
3
+ ContextRunner2
4
+ } from "./index-d72hfmdm.js";
5
+ import"./index-1xj2t7cb.js";
6
+ import"./index-1p98exm2.js";
7
+ import"./index-awbdfcf2.js";
8
+ import"./index-j4mkhz93.js";
9
+ import"./index-fmzcs8v6.js";
10
+ import"./index-86jt2a0e.js";
11
+ import"./index-vk0pa0mn.js";
12
+ import"./index-g1mbppa9.js";
13
+ import"./index-m9jj544v.js";
14
+ import"./index-5edzv8fn.js";
15
+ import"./index-trpasv9q.js";
16
+ import"./index-zzvvc845.js";
17
+ import"./index-jw1zm273.js";
18
+ import"./index-665zp9rs.js";
19
+ import"./index-192ha4xh.js";
20
+ import"./index-va06nr10.js";
21
+ import"./index-hj6w4ka1.js";
22
+ import"./index-52w0fvh8.js";
23
+ export {
24
+ ContextRunner2 as ContextRunner
25
+ };
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  TypeScriptDependencyScanner2
4
- } from "./index-2ahj896a.js";
4
+ } from "./index-tvehn2sp.js";
5
5
  import"./index-52w0fvh8.js";
6
6
  export {
7
7
  TypeScriptDependencyScanner2 as TypeScriptDependencyScanner
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  script,
4
4
  command
5
- } from "./index-6jjtnhkw.js";
5
+ } from "./index-jw1zm273.js";
6
6
  import"./index-52w0fvh8.js";
7
- import"./index-55mynnqs.js";
7
+ import"./index-va06nr10.js";
8
8
  import {
9
9
  Prompter2
10
10
  } from "./index-zzvvc845.js";
@@ -751,9 +751,9 @@ pages declaring one name never clash, and a registry kept outside the surface re
751
751
  that matter light up with no code. An inline arrow publishes no tool, carries no annotation, and therefore
752
752
  draws nothing: one wrapper silently costs three things at once.
753
753
  - **For a control the framework did not render, spread `agentAttrs`** from `akanjs/ui`:
754
- `<button {...agentAttrs(run)} onClick={run}>`, where `run` is what `st.tool(…).exec(…)` returned. It reads the
755
- name off the callable, so there is nothing to keep in sync and no `ref` to thread — and it earns the same E2E
756
- selector and accessibility name an `akanjs/ui` control has. Never hand-write `data-akan-*`.
754
+ `<button type="button" {...agentAttrs(run)} onClick={run}>`, where `run` is what `st.tool(…).exec(…)` returned.
755
+ It reads the name off the callable, so there is nothing to keep in sync and no `ref` to thread — and it earns the
756
+ same E2E selector and accessibility name an `akanjs/ui` control has. Never hand-write `data-akan-*`.
757
757
  - **A control that shares its handler with its siblings takes a key**: `agentAttrs(switchTab, menu)`, in the same
758
758
  vocabulary the call's argument uses. One tool serves a whole tab strip or a whole list, so without it every
759
759
  namesake is interchangeable in the DOM and the page can say *what* the agent did but never *where* — which the