@akanjs/cli 3.1.0-rc.0 → 3.1.0-rc.10

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 (100) hide show
  1. package/.build-stamp +1 -1
  2. package/{CodeAgent-q7a4srt6.js → CodeAgent-rkjyxgec.js} +2 -2
  3. package/{CodeTui-ak23dxc9.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-3v2d53gd.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-kk2rwkvw.js → cloud.command-9cp1t0f5.js} +63 -65
  11. package/cloud.script-dgstqt1m.js +24 -0
  12. package/{code.command-30sca09d.js → code.command-0ad6gw2a.js} +6 -6
  13. package/{context.command-k7eqacq6.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 -1069
  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 +48 -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-nz15k0b6.js → index-20bxxyvn.js} +80 -80
  37. package/{index-qt22xstj.js → index-35hc95h5.js} +5 -3
  38. package/{index-jyv387qw.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-2t4tqd1c.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-tn4rpqp1.js → index-bspm21y1.js} +73 -49
  50. package/index-cpb3nvma.js +667 -0
  51. package/{index-p9ystjrp.js → index-d47ypebv.js} +97 -55
  52. package/{index-0bm04n5g.js → index-d72hfmdm.js} +15 -13
  53. package/{index-e0cvze1s.js → index-fmzcs8v6.js} +4 -4
  54. package/{index-y8q31011.js → index-fyq1z6kt.js} +68 -177
  55. package/{index-kjvrq3nc.js → index-g1mbppa9.js} +331 -250
  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-7bymavqk.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-9e84e32q.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-f02j5tge.js → subspace.command-5c7yasd7.js} +424 -364
  83. package/templates/app/env/env.client.type.ts +2 -3
  84. package/templates/app/page/styles.css.template +8 -0
  85. package/templates/appSample/lib/task/Task.Util.tsx +7 -7
  86. package/templates/appSample/lib/task/Task.Zone.tsx +1 -1
  87. package/templates/appSample/ui/QuantityControl.tsx +2 -2
  88. package/templates/crudSinglePage/page.tsx +1 -1
  89. package/templates/lib/cnst.ts +0 -1
  90. package/templates/workspaceRoot/.gitignore.template +23 -52
  91. package/templates/workspaceRoot/biome.json.template +1 -1
  92. package/{tunnel.command-9x8nfn75.js → tunnel.command-2kw8vt9g.js} +8 -4
  93. package/{workflow.command-jx0wag5r.js → workflow.command-2djwmpqf.js} +10 -10
  94. package/{workspace.command-cmj6mqyk.js → workspace.command-6qfgq4b4.js} +38 -34
  95. package/TunnelShare-21mm6dr5.js +0 -9
  96. package/cloud.script-r7eyfey4.js +0 -20
  97. package/context.runner-hqd1ppqe.js +0 -21
  98. package/index-6w0rbr9d.js +0 -68
  99. package/index-n68jx79w.js +0 -120
  100. package/index-r2tpeb3n.js +0 -392
@@ -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-kjvrq3nc.js";
10
- import"./index-r2tpeb3n.js";
8
+ import"./index-va06nr10.js";
9
+ import"./index-cpb3nvma.js";
11
10
  import {
12
11
  PlatformTestRun
13
- } from "./index-y8q31011.js";
14
- import"./index-k9rrten6.js";
15
- import"./index-c1x0be5j.js";
16
- import"./index-p9ystjrp.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-tn4rpqp1.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,8 +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 }).with(Workspace).exec(async function(app, platform, target, env, channel, notes, subspace, host, write, allowLocalRelease, workspace) {
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, {
116
+ flag: "d",
117
+ desc: "a folder `akan pack-update` wrote, uploaded instead of packing; --platform, --target and --env must match it",
118
+ nullable: true
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) {
110
120
  await this.cloudScript.pushUpdate(workspace, app, {
111
121
  platform,
112
122
  target,
@@ -116,15 +126,17 @@ class CloudCommand extends command("cloud", [CloudScript2], ({ public: target })
116
126
  subspace,
117
127
  host,
118
128
  write,
119
- allowLocalRelease
129
+ allowLocalRelease,
130
+ pack,
131
+ publicEnv
120
132
  });
121
133
  }),
122
134
  registerBinary: target({
123
- 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"
124
136
  }).with(App).option("platform", String, { enum: ["ios", "android"], desc: "the store build to register" }).option("distribution", String, {
125
137
  enum: ["appStore", "testFlight", "playStore", "playTesting", "direct"],
126
138
  desc: "where the binary ships"
127
- }).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) {
128
140
  await this.cloudScript.registerBinary(workspace, app, {
129
141
  platform,
130
142
  distribution,
@@ -133,51 +145,37 @@ class CloudCommand extends command("cloud", [CloudScript2], ({ public: target })
133
145
  subspace,
134
146
  host,
135
147
  write,
136
- allowLocalRelease
148
+ allowLocalRelease,
149
+ publicEnv
137
150
  });
138
151
  }),
139
152
  uploadSecret: target({
140
- 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"
141
154
  }).arg("name", String, { desc: "secret name, e.g. DISCORD_WEBHOOK" }).option("branch", String, {
142
155
  desc: "only builds of this branch use it: debug, develop or main (default: every branch)",
143
156
  nullable: true
144
157
  }).option("file", String, {
145
158
  desc: "read the value from this file instead of stdin or a hidden prompt",
146
159
  nullable: true
147
- }).option("subspace", String, { desc: "the subspace whose project gets it", nullable: true }).option("host", String, {
148
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
149
- nullable: true
150
- }).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) {
151
161
  await this.cloudScript.uploadSecret(workspace, { name, branch, file, subspace, host });
152
162
  }),
153
- 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, {
154
164
  desc: "only the secrets builds of this branch use: debug, develop or main",
155
165
  nullable: true
156
- }).option("subspace", String, { desc: "the subspace whose project to list", nullable: true }).option("host", String, {
157
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
158
- nullable: true
159
- }).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) {
160
167
  await this.cloudScript.listSecrets(workspace, { branch, subspace, host });
161
168
  }),
162
- 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, {
163
170
  desc: "the branch override to remove: debug, develop or main (default: the every-branch value)",
164
171
  nullable: true
165
- }).option("subspace", String, { desc: "the subspace whose project holds it", nullable: true }).option("host", String, {
166
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
167
- nullable: true
168
- }).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) {
169
173
  await this.cloudScript.removeSecret(workspace, { name, branch, subspace, host });
170
174
  }),
171
- downloadEnv: target({ desc: "Download environment variables from cloud or SCP server" }).option("host", String, {
172
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
173
- nullable: true
174
- }).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) {
175
176
  await this.cloudScript.downloadEnv(workspace, undefined, { host });
176
177
  }),
177
- uploadEnv: target({ desc: "Upload environment variables to cloud or SCP server" }).option("host", String, {
178
- desc: "host of the cloud to target (default: cloud.host of the root akan.config.ts, else Akan Cloud)",
179
- nullable: true
180
- }).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) {
181
179
  await this.cloudScript.uploadEnv(workspace, { host });
182
180
  })
183
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-q7a4srt6.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-q7a4srt6.js"),
38
- import("./CodeTui-ak23dxc9.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-q7a4srt6.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-0bm04n5g.js";
12
- import"./index-kjvrq3nc.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-jyv387qw.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