@akanjs/cli 3.0.0-beta.24 → 3.0.0-beta.26

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 (68) hide show
  1. package/.build-stamp +1 -1
  2. package/{CodeAgent-0dh9fzzg.js → CodeAgent-p65jja35.js} +2 -2
  3. package/{CodeTui-drwdvwg9.js → CodeTui-5xr8kxx4.js} +1 -1
  4. package/TunnelShare-cwh9ezsm.js +9 -0
  5. package/{agent.command-ttn09rx3.js → agent.command-rp505zxa.js} +7 -7
  6. package/akanCode.js +2 -2
  7. package/{application.command-z7a4bdrq.js → application.command-afajz1m5.js} +7 -7
  8. package/{applicationBuildRunner-n6xfexaa.js → applicationBuildRunner-412y0345.js} +4 -4
  9. package/buildBatch.proc.js +77 -23
  10. package/{cloud.command-j0fcz44z.js → cloud.command-yz0h8a2e.js} +12 -12
  11. package/cloud.script-zez2b8am.js +20 -0
  12. package/{code.command-1jgk14tc.js → code.command-jhrjttm1.js} +7 -7
  13. package/{context.command-4vpjmg22.js → context.command-xncdvv7n.js} +14 -14
  14. package/context.runner-pjy89k2s.js +21 -0
  15. package/{dependencyScanner-ye2e6pdz.js → dependencyScanner-06z2dmrr.js} +2 -2
  16. package/{fileSys-5ngz93ga.js → fileSys-wzzrntkw.js} +1 -1
  17. package/{guideline.command-7jk47fgq.js → guideline.command-d5qmxx29.js} +4 -4
  18. package/guidelines/conventions/conventions.instruction.md +7 -5
  19. package/incrementalBuilder.proc.js +544 -72
  20. package/{index-ga6hygxr.js → index-0n9q1f23.js} +3 -3
  21. package/{index-3t7g9e4r.js → index-2ahj896a.js} +1 -1
  22. package/{index-zabxte74.js → index-2wc41k5w.js} +1 -1
  23. package/{index-khpfpcsd.js → index-48k96p55.js} +27 -7
  24. package/{index-2gh9sndr.js → index-50rq2qms.js} +4 -4
  25. package/{index-5b6tavv3.js → index-52w0fvh8.js} +15 -1
  26. package/{index-zbc2q6a6.js → index-56xwsgyn.js} +3 -3
  27. package/{index-rmcw8yc8.js → index-58cyna2s.js} +2 -2
  28. package/{index-1db2cw0y.js → index-5mm3g24t.js} +2 -2
  29. package/{index-wp43xrjv.js → index-6dt6zft6.js} +4 -4
  30. package/{index-vj1cwwy5.js → index-7yxndzea.js} +7 -7
  31. package/{index-q44jbw48.js → index-860zjnr1.js} +1 -1
  32. package/{index-fzd22vjh.js → index-94s080qm.js} +3 -17
  33. package/index-cd9qt2t6.js +4110 -0
  34. package/{index-ymgtbmf1.js → index-cfj73ck1.js} +213 -62
  35. package/{index-yy4s1j72.js → index-d65fzxvd.js} +1 -1
  36. package/{index-m0ms3n1c.js → index-da72pfdv.js} +7 -7
  37. package/{index-4dn1p115.js → index-ggfhz9ab.js} +4 -4
  38. package/{index-9629w7ns.js → index-hzy4pe24.js} +3 -3
  39. package/{index-d4mfjgm0.js → index-mq74nzf8.js} +6 -6
  40. package/{index-mgfx3mfs.js → index-per2kqy9.js} +4 -4
  41. package/{index-aaz7n8s2.js → index-qm4fppfk.js} +4 -4
  42. package/{index-ya5qbmyg.js → index-t02g6dpn.js} +3 -3
  43. package/{index-hb8sgepf.js → index-tpdn30ya.js} +1 -1
  44. package/{index-rnt66vym.js → index-v4hnkqz9.js} +1 -1
  45. package/{index-ne50hc2m.js → index-wvebzf0y.js} +456 -1623
  46. package/{index-pp54p5zk.js → index-xfgdmm5d.js} +2 -2
  47. package/{index-tgjy8xf3.js → index-zazvn45w.js} +4 -4
  48. package/{index-0bq14vr1.js → index-zzvvc845.js} +1 -1
  49. package/index.js +22 -22
  50. package/{library.command-ccb1cp92.js → library.command-sv6g1h2g.js} +4 -4
  51. package/{localRegistry.command-gmj1k6q8.js → localRegistry.command-fm41vdtw.js} +11 -11
  52. package/{module.command-5k6h407d.js → module.command-ccdeder9.js} +6 -6
  53. package/{package.command-e6ntvpez.js → package.command-xmw605b1.js} +5 -5
  54. package/package.json +2 -2
  55. package/{page.command-v4f90wb8.js → page.command-ky7vafsn.js} +4 -4
  56. package/{primitive.command-g6km57q5.js → primitive.command-bh6j8nfs.js} +7 -7
  57. package/{prompter-ptaa3nk0.js → prompter-76k56b37.js} +2 -2
  58. package/{quality.command-de3p36pz.js → quality.command-rqqrpe98.js} +3 -3
  59. package/{repair.command-d3x1javq.js → repair.command-n9nsm9qe.js} +6 -6
  60. package/{scalar.command-7ezrac2b.js → scalar.command-t09gmck8.js} +5 -5
  61. package/{subspace.command-ksenprez.js → subspace.command-y1p56wyv.js} +6 -6
  62. package/{tunnel.command-54947jck.js → tunnel.command-4g95vhsn.js} +5 -5
  63. package/{workflow.command-z2p32nmf.js → workflow.command-b91ph8sx.js} +11 -11
  64. package/{workspace.command-tkn8g0bn.js → workspace.command-d8he10tv.js} +24 -24
  65. package/TunnelShare-pemaknmd.js +0 -9
  66. package/cloud.script-g2dcnr8c.js +0 -20
  67. package/context.runner-ehjs419v.js +0 -21
  68. package/index-fgq75haa.js +0 -2084
package/.build-stamp CHANGED
@@ -1 +1 @@
1
- d1115d8b0bbb9ee80f54ccd68f0cc8da997b4929b92fa7c0c9b7ed40ff253709
1
+ 2c02e63aa5466798c5de1ca1a641b776ce09e613629d2e311bae25a91063f81a
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  CodeAgent2
4
- } from "./index-aaz7n8s2.js";
5
- import"./index-hb8sgepf.js";
4
+ } from "./index-qm4fppfk.js";
5
+ import"./index-tpdn30ya.js";
6
6
  import"./index-7md2g9vw.js";
7
7
  export {
8
8
  CodeAgent2 as CodeAgent
@@ -4,7 +4,7 @@ import {
4
4
  McpServerConfig,
5
5
  McpTokenStore,
6
6
  McpSignIn
7
- } from "./index-hb8sgepf.js";
7
+ } from "./index-tpdn30ya.js";
8
8
  import {
9
9
  CodeTuiLines2,
10
10
  CodeTuiAgents2,
@@ -0,0 +1,9 @@
1
+ // @bun
2
+ import {
3
+ TunnelShare2
4
+ } from "./index-2wc41k5w.js";
5
+ import"./index-94s080qm.js";
6
+ import"./index-52w0fvh8.js";
7
+ export {
8
+ TunnelShare2 as TunnelShare
9
+ };
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-rmcw8yc8.js";
6
- import"./index-5b6tavv3.js";
7
- import"./index-ga6hygxr.js";
5
+ } from "./index-58cyna2s.js";
6
+ import"./index-52w0fvh8.js";
7
+ import"./index-0n9q1f23.js";
8
8
  import"./index-hj6w4ka1.js";
9
- import"./index-yy4s1j72.js";
10
- import"./index-9629w7ns.js";
11
- import"./index-0bq14vr1.js";
9
+ import"./index-d65fzxvd.js";
10
+ import"./index-hzy4pe24.js";
11
+ import"./index-zzvvc845.js";
12
12
  import {
13
13
  AgentScript
14
- } from "./index-4dn1p115.js";
14
+ } from "./index-ggfhz9ab.js";
15
15
 
16
16
  // pkgs/@akanjs/cli/agent/agent.command.ts
17
17
  class AgentCommand extends command("agent", [AgentScript], ({ public: target }) => ({
package/akanCode.js CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  CodeMailbox2,
29
29
  CodeSessionFork2,
30
30
  CodeAgent2
31
- } from "./index-aaz7n8s2.js";
31
+ } from "./index-qm4fppfk.js";
32
32
  import {
33
33
  akanCodeDefaultModel2,
34
34
  akanCodeModel2,
@@ -39,7 +39,7 @@ import {
39
39
  import {
40
40
  SubagentPool2,
41
41
  akanCodePaths2
42
- } from "./index-hb8sgepf.js";
42
+ } from "./index-tpdn30ya.js";
43
43
  import"./index-7md2g9vw.js";
44
44
  import {
45
45
  CodeAgentRpcHost2
@@ -6,19 +6,19 @@ import {
6
6
  Exec,
7
7
  Workspace,
8
8
  command
9
- } from "./index-rmcw8yc8.js";
10
- import"./index-5b6tavv3.js";
11
- import"./index-ga6hygxr.js";
9
+ } from "./index-58cyna2s.js";
10
+ import"./index-52w0fvh8.js";
11
+ import"./index-0n9q1f23.js";
12
12
  import {
13
13
  getMobileTargetChoices
14
14
  } from "./index-ys6f0bvh.js";
15
- import"./index-khpfpcsd.js";
16
- import"./index-1db2cw0y.js";
15
+ import"./index-48k96p55.js";
16
+ import"./index-5mm3g24t.js";
17
17
  import {
18
18
  ApplicationScript
19
- } from "./index-ymgtbmf1.js";
19
+ } from "./index-cfj73ck1.js";
20
20
  import"./index-7md2g9vw.js";
21
- import"./index-q44jbw48.js";
21
+ import"./index-860zjnr1.js";
22
22
 
23
23
  // pkgs/@akanjs/cli/application/application.command.ts
24
24
  var mobileTargetOption = {
@@ -1,16 +1,16 @@
1
1
  // @bun
2
2
  import {
3
3
  Spinner
4
- } from "./index-ga6hygxr.js";
4
+ } from "./index-0n9q1f23.js";
5
+ import"./index-cd9qt2t6.js";
5
6
  import {
6
7
  AllRoutesBuilder,
7
8
  CsrArtifactBuilder,
8
9
  FontPruner,
9
10
  precompressArtifacts,
10
11
  SsrBaseArtifactBuilder
11
- } from "./index-ne50hc2m.js";
12
- import"./index-fgq75haa.js";
13
- import"./index-5b6tavv3.js";
12
+ } from "./index-wvebzf0y.js";
13
+ import"./index-52w0fvh8.js";
14
14
  import"./index-n68jx79w.js";
15
15
 
16
16
  // pkgs/@akanjs/devkit/applicationBuildRunner.ts
@@ -1,24 +1,27 @@
1
1
  // @bun
2
2
  import {
3
3
  ApplicationBuildReporter
4
- } from "./index-khpfpcsd.js";
4
+ } from "./index-48k96p55.js";
5
5
  import {
6
6
  resolveSsrPageEntriesForApp,
7
7
  WorkspaceExecutor,
8
8
  AppExecutor
9
- } from "./index-ga6hygxr.js";
9
+ } from "./index-0n9q1f23.js";
10
10
  import {
11
11
  computeRouteSeedIndex,
12
12
  saveRouteSeedIndex,
13
- CssCompiler,
13
+ ServerGraphFile,
14
14
  PagesBundleBuilder,
15
- CsrArtifactBuilder,
16
15
  CsrDevBundler,
16
+ SsrDevBundler
17
+ } from "./index-cd9qt2t6.js";
18
+ import"./index-52w0fvh8.js";
19
+ import {
20
+ CsrArtifactBuilder,
21
+ CssCompiler,
17
22
  FontOptimizer,
18
23
  SsrBaseArtifactBuilder
19
- } from "./index-ne50hc2m.js";
20
- import"./index-5b6tavv3.js";
21
- import"./index-fgq75haa.js";
24
+ } from "./index-wvebzf0y.js";
22
25
  import"./index-n68jx79w.js";
23
26
 
24
27
  // pkgs/@akanjs/devkit/incrementalBuilder/buildBatch.proc.ts
@@ -41,15 +44,23 @@ class BuildBatch {
41
44
  await this.#buildBase();
42
45
  if (this.#request.needs.includes("csr"))
43
46
  await this.#buildCsr();
44
- if (this.#request.needs.includes("pages"))
45
- await this.#buildPages();
47
+ if (this.#request.needs.includes("ssr"))
48
+ await this.#buildSsrRegistry();
46
49
  if (this.#request.needs.includes("css"))
47
50
  await this.#buildCss();
51
+ if (this.#request.needs.includes("pages"))
52
+ await this.#buildPages();
48
53
  return this.#result;
49
54
  }
50
55
  #emit(message) {
51
56
  process.send?.(message);
52
57
  }
58
+ #sentTrace() {
59
+ if (!this.#request.trace)
60
+ return;
61
+ const now = Date.now();
62
+ return { ...this.#request.trace, patchAt: now, sentAt: now };
63
+ }
53
64
  #emitStatus(phase, message) {
54
65
  this.#emit({
55
66
  type: "build-status",
@@ -103,44 +114,80 @@ class BuildBatch {
103
114
  });
104
115
  }
105
116
  async#updateCsrRegistry(started) {
106
- const update = await new CsrDevBundler(this.#app).update(this.#request.changedFiles);
117
+ const update = await new CsrDevBundler(this.#app).update(this.#request.changedFiles, {
118
+ announce: (announced) => this.#emit({
119
+ type: "csr-updated",
120
+ data: {
121
+ generation: announced.generation,
122
+ mode: "registry",
123
+ reload: announced.reload,
124
+ reason: announced.reason,
125
+ patchUrl: announced.patchUrl,
126
+ changedIds: announced.changedIds,
127
+ trace: this.#sentTrace()
128
+ }
129
+ })
130
+ });
107
131
  if (!update) {
108
132
  this.#logger.verbose(`csr-dev unchanged (${Date.now() - started}ms)`);
109
133
  return;
110
134
  }
111
135
  this.#logger.verbose(`csr-dev generation=${update.generation} ${update.reload ? `reload (${update.reason})` : `patch modules=${update.changedIds.length}`} graph=${update.moduleCount} (${Date.now() - started}ms)`);
112
- this.#emit({
113
- type: "csr-updated",
114
- data: {
115
- generation: update.generation,
116
- mode: "registry",
117
- reload: update.reload,
118
- reason: update.reason,
119
- patchUrl: update.patchUrl,
120
- changedIds: update.changedIds
121
- }
122
- });
136
+ }
137
+ async#buildSsrRegistry() {
138
+ const started = Date.now();
139
+ try {
140
+ const bundler = new SsrDevBundler(this.#app);
141
+ const hold = await ServerGraphFile.touches(await ServerGraphFile.read(this.#request.artifactDir), this.#request.changedFiles, (file) => ServerGraphFile.clientExportsOf(file));
142
+ const update = await bundler.update(this.#request.changedFiles, {
143
+ roots: await bundler.clientEntries(),
144
+ announce: (announced) => this.#emit({
145
+ type: "ssr-updated",
146
+ data: {
147
+ generation: announced.generation,
148
+ reload: announced.reload,
149
+ reason: announced.reason,
150
+ patchUrl: announced.patchUrl,
151
+ changedIds: announced.changedIds,
152
+ trace: this.#sentTrace(),
153
+ ...announced.epoch !== undefined ? { epoch: announced.epoch } : {},
154
+ ...announced.first ? { first: true } : {},
155
+ ...hold && this.#request.changedFiles.length > 0 ? { hold, batchGeneration: this.#request.generation } : {}
156
+ }
157
+ })
158
+ });
159
+ this.#emitStatus("ssr");
160
+ this.#logger.verbose(update ? `ssr-dev generation=${update.generation} ${update.reload ? `reload (${update.reason})` : `patch modules=${update.changedIds.length}`} graph=${update.moduleCount} (${Date.now() - started}ms)` : `ssr-dev unchanged (${Date.now() - started}ms)`);
161
+ } catch (err) {
162
+ this.#fail("ssr", "ssr-dev", err);
163
+ }
123
164
  }
124
165
  async#buildPages() {
125
166
  const started = Date.now();
126
167
  try {
127
168
  const pageEntries = await resolveSsrPageEntriesForApp(this.#app, await this.#app.getPageKeys());
128
169
  const seedIndex = computeRouteSeedIndex(pageEntries);
170
+ const previousGraph = await ServerGraphFile.read(this.#request.artifactDir);
129
171
  const next = await new PagesBundleBuilder(this.#app, "start", pageEntries).build();
130
172
  await saveRouteSeedIndex(this.#request.artifactDir, seedIndex);
173
+ const nextGraph = await ServerGraphFile.read(this.#request.artifactDir);
174
+ const serverTouched = await ServerGraphFile.touches(previousGraph, [...this.#request.changedFiles, ...previousGraph?.carried ?? []], (file) => nextGraph?.clientExports[file] ?? null, nextGraph);
131
175
  this.#emit({
132
176
  type: "pages-updated",
133
177
  data: {
134
178
  bundlePath: next.bundlePath,
135
179
  buildId: next.buildId,
136
180
  generation: this.#request.generation,
137
- changedFiles: this.#request.changedFiles
181
+ changedFiles: this.#request.changedFiles,
182
+ trace: this.#sentTrace(),
183
+ serverTouched
138
184
  }
139
185
  });
140
186
  this.#emitStatus("pages");
141
187
  this.#logger.verbose(`pages-rebundle ok buildId=${next.buildId} (${Date.now() - started}ms)`);
142
188
  } catch (err) {
143
189
  this.#fail("pages", "pages-rebundle", err);
190
+ await ServerGraphFile.carry(this.#request.artifactDir, this.#request.changedFiles).catch((carryError) => this.#logger.warn(`server graph carry failed; the next save may skip its RSC refresh: ${String(carryError)}`));
144
191
  }
145
192
  }
146
193
  async#buildCss() {
@@ -209,7 +256,11 @@ ${cssText}`).toString(36);
209
256
  const raw = process.argv[2];
210
257
  if (!raw)
211
258
  throw new Error("[build-batch] missing request argument");
212
- const request = JSON.parse(raw);
259
+ const parsed = JSON.parse(raw);
260
+ const request = parsed.trace ? {
261
+ ...parsed,
262
+ trace: { ...parsed.trace, workerStartAt: Math.round(performance.timeOrigin), workerAt: Date.now() }
263
+ } : parsed;
213
264
  const workspace = WorkspaceExecutor.fromRoot({
214
265
  workspaceRoot: request.workspaceRoot,
215
266
  repoName: request.repoName
@@ -217,8 +268,11 @@ ${cssText}`).toString(36);
217
268
  const app = AppExecutor.from(workspace, request.appName);
218
269
  if (request.pageKeys)
219
270
  app.setPageKeys(request.pageKeys);
271
+ const orphaned = () => process.exit(1);
272
+ process.on("disconnect", orphaned);
220
273
  const result = await new BuildBatch(request, app).run();
221
274
  process.send?.({ type: "build-batch-result", data: result });
275
+ process.off("disconnect", orphaned);
222
276
  }
223
277
  }
224
278
  await BuildBatch.main().catch((err) => {
@@ -1,27 +1,27 @@
1
1
  // @bun
2
- import"./index-5b6tavv3.js";
2
+ import"./index-52w0fvh8.js";
3
3
  import {
4
4
  GlobalConfig
5
- } from "./index-fzd22vjh.js";
5
+ } from "./index-94s080qm.js";
6
6
  import {
7
7
  Workspace,
8
8
  command
9
- } from "./index-rmcw8yc8.js";
10
- import"./index-ga6hygxr.js";
9
+ } from "./index-58cyna2s.js";
10
+ import"./index-0n9q1f23.js";
11
11
  import {
12
12
  PlatformTestRun
13
- } from "./index-zbc2q6a6.js";
14
- import"./index-khpfpcsd.js";
15
- import"./index-1db2cw0y.js";
16
- import"./index-ymgtbmf1.js";
13
+ } from "./index-56xwsgyn.js";
14
+ import"./index-48k96p55.js";
15
+ import"./index-5mm3g24t.js";
16
+ import"./index-cfj73ck1.js";
17
17
  import"./index-ys6f0bvh.js";
18
18
  import"./index-7md2g9vw.js";
19
- import"./index-3t7g9e4r.js";
20
- import"./index-mgfx3mfs.js";
19
+ import"./index-2ahj896a.js";
20
+ import"./index-per2kqy9.js";
21
21
  import {
22
22
  CloudScript2
23
- } from "./index-d4mfjgm0.js";
24
- import"./index-q44jbw48.js";
23
+ } from "./index-mq74nzf8.js";
24
+ import"./index-860zjnr1.js";
25
25
 
26
26
  // pkgs/@akanjs/cli/cloud/cloud.command.ts
27
27
  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-mq74nzf8.js";
5
+ import"./index-56xwsgyn.js";
6
+ import"./index-per2kqy9.js";
7
+ import"./index-cfj73ck1.js";
8
+ import"./index-860zjnr1.js";
9
+ import"./index-5mm3g24t.js";
10
+ import"./index-ys6f0bvh.js";
11
+ import"./index-94s080qm.js";
12
+ import"./index-58cyna2s.js";
13
+ import"./index-7md2g9vw.js";
14
+ import"./index-48k96p55.js";
15
+ import"./index-0n9q1f23.js";
16
+ import"./index-2ahj896a.js";
17
+ import"./index-52w0fvh8.js";
18
+ export {
19
+ CloudScript2 as CloudScript
20
+ };
@@ -4,9 +4,9 @@ import {
4
4
  runner,
5
5
  script,
6
6
  command
7
- } from "./index-rmcw8yc8.js";
8
- import"./index-5b6tavv3.js";
9
- import"./index-ga6hygxr.js";
7
+ } from "./index-58cyna2s.js";
8
+ import"./index-52w0fvh8.js";
9
+ import"./index-0n9q1f23.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-0dh9fzzg.js"),
22
+ import("./CodeAgent-p65jja35.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-0dh9fzzg.js"),
38
- import("./CodeTui-drwdvwg9.js")
37
+ import("./CodeAgent-p65jja35.js"),
38
+ import("./CodeTui-5xr8kxx4.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-0dh9fzzg.js");
63
+ const { CodeAgent } = await import("./CodeAgent-p65jja35.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,24 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-rmcw8yc8.js";
6
- import"./index-5b6tavv3.js";
7
- import"./index-ga6hygxr.js";
5
+ } from "./index-58cyna2s.js";
6
+ import"./index-52w0fvh8.js";
7
+ import"./index-0n9q1f23.js";
8
8
  import"./index-hj6w4ka1.js";
9
- import"./index-yy4s1j72.js";
10
- import"./index-9629w7ns.js";
11
- import"./index-vj1cwwy5.js";
9
+ import"./index-d65fzxvd.js";
10
+ import"./index-hzy4pe24.js";
11
+ import"./index-7yxndzea.js";
12
12
  import"./index-ys6f0bvh.js";
13
- import"./index-0bq14vr1.js";
14
- import"./index-ya5qbmyg.js";
15
- import"./index-rnt66vym.js";
16
- import"./index-tgjy8xf3.js";
17
- import"./index-wp43xrjv.js";
18
- import"./index-pp54p5zk.js";
19
- import"./index-m0ms3n1c.js";
13
+ import"./index-zzvvc845.js";
14
+ import"./index-t02g6dpn.js";
15
+ import"./index-v4hnkqz9.js";
16
+ import"./index-zazvn45w.js";
17
+ import"./index-6dt6zft6.js";
18
+ import"./index-xfgdmm5d.js";
19
+ import"./index-da72pfdv.js";
20
20
  import {
21
21
  ContextScript
22
- } from "./index-2gh9sndr.js";
22
+ } from "./index-50rq2qms.js";
23
23
 
24
24
  // pkgs/@akanjs/cli/context/context.command.ts
25
25
  class ContextCommand extends command("context", [ContextScript], ({ public: target }) => ({
@@ -0,0 +1,21 @@
1
+ // @bun
2
+ import {
3
+ ContextRunner2
4
+ } from "./index-7yxndzea.js";
5
+ import"./index-da72pfdv.js";
6
+ import"./index-xfgdmm5d.js";
7
+ import"./index-6dt6zft6.js";
8
+ import"./index-t02g6dpn.js";
9
+ import"./index-zazvn45w.js";
10
+ import"./index-v4hnkqz9.js";
11
+ import"./index-ys6f0bvh.js";
12
+ import"./index-hzy4pe24.js";
13
+ import"./index-d65fzxvd.js";
14
+ import"./index-zzvvc845.js";
15
+ import"./index-58cyna2s.js";
16
+ import"./index-0n9q1f23.js";
17
+ import"./index-hj6w4ka1.js";
18
+ import"./index-52w0fvh8.js";
19
+ export {
20
+ ContextRunner2 as ContextRunner
21
+ };
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  TypeScriptDependencyScanner2
4
- } from "./index-3t7g9e4r.js";
5
- import"./index-5b6tavv3.js";
4
+ } from "./index-2ahj896a.js";
5
+ import"./index-52w0fvh8.js";
6
6
  export {
7
7
  TypeScriptDependencyScanner2 as TypeScriptDependencyScanner
8
8
  };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getDirname2,
4
4
  FileSys2
5
- } from "./index-5b6tavv3.js";
5
+ } from "./index-52w0fvh8.js";
6
6
  export {
7
7
  FileSys2 as FileSys,
8
8
  getDirname2 as getDirname
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  script,
4
4
  command
5
- } from "./index-rmcw8yc8.js";
6
- import"./index-5b6tavv3.js";
7
- import"./index-ga6hygxr.js";
5
+ } from "./index-58cyna2s.js";
6
+ import"./index-52w0fvh8.js";
7
+ import"./index-0n9q1f23.js";
8
8
  import {
9
9
  Prompter2
10
- } from "./index-0bq14vr1.js";
10
+ } from "./index-zzvvc845.js";
11
11
 
12
12
  // pkgs/@akanjs/cli/guideline/guideline.script.ts
13
13
  import { Logger } from "akanjs/common";
@@ -1002,11 +1002,13 @@ actions and state (see `<model>.store.ts` above).
1002
1002
  other file. The previous session is kept beside it as `dev.prev.log`. Hand somebody — or an agent — the
1003
1003
  path rather than a paste: it costs one line instead of a transcript, and it can be re-read after a fix.
1004
1004
  In the view, `y` copies the lines the filters have already narrowed and `Y` copies the path.
1005
- - **How many apps boot at once is the machine's answer, not a constant.** A cold boot build is the builder's
1006
- RSS peak (~900MB per app), so the default wave is what memory and cores allow — half the memory budget
1007
- divided by that peak, and one app per four cores — which boots a laptop's apps together and still staggers
1008
- them inside a small container. The session says which in one line. `--concurrency <n>` overrides it, and
1009
- `AKAN_MEMORY_LIMIT` lowers the budget it derives from.
1005
+ - **How many apps boot at once is the machine's answer, not a constant.** A cold boot is an app's RSS peak
1006
+ (~1.8GB per app, most of it the build worker — the base build, then the SSR registry's), so the default wave
1007
+ is what memory and cores allow — half the memory budget divided by that peak, and one app per four cores —
1008
+ which boots a laptop's apps together and still staggers them inside a small container. The session says
1009
+ which in one line. The next wave starts once an app serves and its boot builds have settled, or 30 seconds
1010
+ after it serves, while the app shows as ready — and `--open` opens it — as soon as it serves.
1011
+ `--concurrency <n>` overrides the wave size, and `AKAN_MEMORY_LIMIT` lowers the budget it derives from.
1010
1012
  - `--kill` frees the dev ports first — it resolves each port's listener, walks up to the top of that akan dev
1011
1013
  tree and signals it, so another checkout's server or a stale orphan on the same port is reclaimed. A holder
1012
1014
  that is not recognisably an akan process is reported and left alone.