@akanjs/cli 3.0.0-alpha.55 → 3.0.0-alpha.57

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 CHANGED
@@ -1 +1 @@
1
- 3dcdd65ef34286ed395d168f590ad6a2698d350ab28abc84526d3e3781eae948
1
+ 5ed385877dec10031dfbaab1aae02c9019d7cdc3d536cc04ae64386c2d423949
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudScript
4
- } from "./index-rrcdemys.js";
5
- import"./index-d3vvvzsd.js";
4
+ } from "./index-0g9ajdz8.js";
5
+ import"./index-8md8zszv.js";
6
6
  import"./index-x1dbhd80.js";
7
7
  import {
8
8
  GlobalConfig
@@ -123,6 +123,13 @@ apps and libs never import it directly (`no-import-external-library`) — everyt
123
123
  `data-agent-zone` container; guides follow the layout cascade (ancestors and own, never a sibling's). Zone
124
124
  membership is positional — there is no per-declaration zone key, so a lib component joins whatever zone the app
125
125
  mounts it in.
126
+ - **Everything a zone publishes is named `<id>.<name>`,** and that name is what instructions must use. A bare
127
+ `createVideoProject` inside a zone naming its tool `videoProjectDraft.createVideoProject` is a tool that does
128
+ not exist: the model calls it, the surface answers `Unknown tool`, and a turn is gone. Build the name from the
129
+ id (``const zoneTool = (name) => `${ZONE}.${name}` ``) rather than writing it in two places, and read
130
+ `Agent.Context`'s **Assemble** to see the published list — the names exist in neither file's source. The dot is
131
+ the surface's own join and never reaches a provider: `AgentService` renames it to `__` on the wire, because
132
+ every OpenAI-compatible and Anthropic function schema allows `[A-Za-z0-9_-]` only, up to 64 characters.
126
133
  - **`builtins` decides which of the runtime's own tools a session gets** — all of them by default, `false` none,
127
134
  an array exactly the ones it names, on `Agent.Zone` and `Agent.Chat` alike. A zone whose conversation must stay
128
135
  on one screen takes `navigate` and `goBack` off it: `<Agent.Zone id="wizard" builtins={["readScreen",
@@ -132,6 +139,14 @@ apps and libs never import it directly (`no-import-external-library`) — everyt
132
139
  declaring a hook tool of the same name works at the root and **not inside a zone**, where the hook entry is
133
140
  registered under its scope-prefixed name and never collides — `builtins` is the zone's answer. A tool the screen
134
141
  declares under a built-in name is the screen's, not the runtime's, so `builtins={false}` leaves it standing.
142
+ - **`<Agent.History load save clear onCompact />` backs a zone's transcript from a leaf inside it**, instead of
143
+ through `persist` on whoever builds the session. A function cannot cross the server/client boundary as a prop,
144
+ so `persist={myStore}` makes every ancestor up to the zone a client component; mounted this way the only client
145
+ module is the leaf, and `Agent.Zone` and the chat inside it stay server-assembled. Same shape as `Agent.Guide`,
146
+ and it renders nothing. Restoring follows the session's one rule — it lands only while nothing has happened to
147
+ the conversation yet — so mounting with the zone restores and mounting later saves from there on, with the
148
+ store never asked for a transcript that would be discarded. `session.setHistory` / `setOnCompact` are the same
149
+ thing for a session an app built itself.
135
150
  - **A zone can be handed a session instead of building one**: `<Agent.Zone session={mine} onSession={…}>`. The app
136
151
  then owns it, so unmounting the zone leaves it running — the opposite of a session the zone made, which it
137
152
  aborts. `onSession` fires either way, for a page that wants to send into the conversation from outside it.
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudRunner
4
- } from "./index-d3vvvzsd.js";
4
+ } from "./index-8md8zszv.js";
5
5
  import {
6
6
  PackageScript
7
7
  } from "./index-x1dbhd80.js";
@@ -283,6 +283,9 @@ ${chalk.green("\u27A4")} Authentication Required`));
283
283
  return;
284
284
  }
285
285
  }
286
+ Logger.info("Logging in to npm...");
287
+ await workspace.spawn("npm", ["login"], { stdio: "inherit" });
288
+ Logger.info("Logged in to npm");
286
289
  for (const library of akanPkgs) {
287
290
  Logger.info(`Publishing ${library}@${nextVersion} to ${registry ?? "npm"}...`);
288
291
  await workspace.spawn("npm", ["publish", "--tag", tag, ...this.#getRegistryArgs(registry), ...this.#getLocalRegistryAuthArgs(registry)], {
package/index.js CHANGED
@@ -19,16 +19,16 @@ import path from "path";
19
19
 
20
20
  // pkgs/@akanjs/cli/commandModules.ts
21
21
  var commandModules = {
22
- workspace: async () => (await import("./workspace.command-s2g36sgr.js")).WorkspaceCommand,
22
+ workspace: async () => (await import("./workspace.command-ma3g994j.js")).WorkspaceCommand,
23
23
  agent: async () => (await import("./agent.command-tsx1nsdj.js")).AgentCommand,
24
24
  application: async () => (await import("./application.command-n8ex8g9h.js")).ApplicationCommand,
25
25
  library: async () => (await import("./library.command-p3jgf5h2.js")).LibraryCommand,
26
- localRegistry: async () => (await import("./localRegistry.command-5hp7am6e.js")).LocalRegistryCommand,
26
+ localRegistry: async () => (await import("./localRegistry.command-bms0qn6t.js")).LocalRegistryCommand,
27
27
  package: async () => (await import("./package.command-fbpa6r4w.js")).PackageCommand,
28
28
  module: async () => (await import("./module.command-hb3xm07r.js")).ModuleCommand,
29
29
  page: async () => (await import("./page.command-92vrmw96.js")).PageCommand,
30
30
  context: async () => (await import("./context.command-s7a41qjs.js")).ContextCommand,
31
- cloud: async () => (await import("./cloud.command-v5g0c7nm.js")).CloudCommand,
31
+ cloud: async () => (await import("./cloud.command-f0rhw014.js")).CloudCommand,
32
32
  guideline: async () => (await import("./guideline.command-qrw84ttb.js")).GuidelineCommand,
33
33
  scalar: async () => (await import("./scalar.command-zcsjgvax.js")).ScalarCommand,
34
34
  primitive: async () => (await import("./primitive.command-k6b9jfxr.js")).PrimitiveCommand,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CloudRunner,
4
4
  getNpmRegistryUrl
5
- } from "./index-d3vvvzsd.js";
5
+ } from "./index-8md8zszv.js";
6
6
  import {
7
7
  PackageScript
8
8
  } from "./index-x1dbhd80.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/cli",
3
- "version": "3.0.0-alpha.55",
3
+ "version": "3.0.0-alpha.57",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -34,7 +34,7 @@
34
34
  "@langchain/openai": "^1.4.6",
35
35
  "@tailwindcss/node": "^4.3.0",
36
36
  "@trapezedev/project": "^7.1.4",
37
- "akanjs": "3.0.0-alpha.55",
37
+ "akanjs": "3.0.0-alpha.57",
38
38
  "chalk": "^5.6.2",
39
39
  "commander": "^14.0.3",
40
40
  "dayjs": "^1.11.20",
@@ -11,11 +11,11 @@ import"./index-ss469dec.js";
11
11
  import"./index-kkya2ped.js";
12
12
  import {
13
13
  CloudScript
14
- } from "./index-rrcdemys.js";
14
+ } from "./index-0g9ajdz8.js";
15
15
  import {
16
16
  getLatestPackageVersion,
17
17
  getNpmRegistryUrl
18
- } from "./index-d3vvvzsd.js";
18
+ } from "./index-8md8zszv.js";
19
19
  import {
20
20
  PackageScript
21
21
  } from "./index-x1dbhd80.js";