@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 +1 -1
- package/{cloud.command-v5g0c7nm.js → cloud.command-f0rhw014.js} +2 -2
- package/guidelines/agentRule/agentRule.instruction.md +15 -0
- package/{index-rrcdemys.js → index-0g9ajdz8.js} +1 -1
- package/{index-d3vvvzsd.js → index-8md8zszv.js} +3 -0
- package/index.js +3 -3
- package/{localRegistry.command-5hp7am6e.js → localRegistry.command-bms0qn6t.js} +1 -1
- package/package.json +2 -2
- package/{workspace.command-s2g36sgr.js → workspace.command-ma3g994j.js} +2 -2
package/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
5ed385877dec10031dfbaab1aae02c9019d7cdc3d536cc04ae64386c2d423949
|
|
@@ -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.
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
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,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akanjs/cli",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
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.
|
|
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-
|
|
14
|
+
} from "./index-0g9ajdz8.js";
|
|
15
15
|
import {
|
|
16
16
|
getLatestPackageVersion,
|
|
17
17
|
getNpmRegistryUrl
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-8md8zszv.js";
|
|
19
19
|
import {
|
|
20
20
|
PackageScript
|
|
21
21
|
} from "./index-x1dbhd80.js";
|