@akanjs/cli 3.0.0-alpha.49 → 3.0.0-alpha.50
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
|
-
|
|
1
|
+
fc931b5c84401e9bf2bda97ced4e93b6df47eb3293b40b306161d09542b821d7
|
|
@@ -385,6 +385,15 @@ apps and libs never import it directly (`no-import-external-library`) — everyt
|
|
|
385
385
|
`highlight` scrolls its target into view and flashes it **once the scroll lands**, since a smooth scroll across a
|
|
386
386
|
long page outlasts the flash; it is the one built-in that exists for the *user's* benefit, because showing where
|
|
387
387
|
a control is beats writing directions to it.
|
|
388
|
+
- **Every tool's return value is bounded at 20,000 characters before it enters the transcript** (`ToolOutput.limit`,
|
|
389
|
+
clipped with a note that gives the real size and tells the model to read a narrower part). `readScreen` caps
|
|
390
|
+
itself; nothing else did, and a store key is sized for a screen rather than for a model's window — one
|
|
391
|
+
`readState` of a list whose rows carry inlined bytes is megabytes, which the loop then posts on this turn *and on
|
|
392
|
+
every turn after it*, so the window fills after four messages. Compaction cannot save that: it summarizes what is
|
|
393
|
+
above the cut and a result this large arrives below it. Clipped rather than dropped, because a model handed a
|
|
394
|
+
value it cannot see the end of asks a narrower question, where one handed nothing answers from the field names.
|
|
395
|
+
The cap is a safety rail, not the design: a tool should return what answers the question — an id, a count, the
|
|
396
|
+
three fields the agent asked about — and `AgentContext` inlines only small primitives for the same reason.
|
|
388
397
|
- **A slow tool reports its own progress with `AgentProgress.report(message, { done, total })`** from wherever the
|
|
389
398
|
work is — a store action, an upload loop, an adapter — reached through a module slot rather than a parameter, and
|
|
390
399
|
a no-op when nobody is rendering it. The chat shows it on that call's row until the row resolves. It is the
|
|
@@ -531,6 +531,12 @@ package; apps and libs never import it directly (`no-import-external-library`)
|
|
|
531
531
|
nothing — normalize with the control's `transform` prop, and multi-write with a `_postSet<Field>` store method.
|
|
532
532
|
- **Reading is per key, not per store.** `st.use.x({ agent: false })` keeps a subscribed key off the surface;
|
|
533
533
|
a key no component reads is unreadable. A value with populated `hidden`/`secret` fields is refused at read.
|
|
534
|
+
- **Return what answers the question, not the record.** A tool's value is capped at 20,000 characters before it
|
|
535
|
+
enters the transcript and clipped with a note the model reads (`ToolOutput.limit`), because a store key is sized
|
|
536
|
+
for a screen and not for a model's window: one `readState` of a list whose rows carry inlined bytes is megabytes,
|
|
537
|
+
and from there it rides *every* later turn. Each tool row in the chat carries its own estimated token cost and
|
|
538
|
+
opens onto the value the model was handed — that row is where a conversation that filled up in four messages
|
|
539
|
+
explains itself.
|
|
534
540
|
- **Route guidance is `<Agent.Guide instructions="..." />`** rendered from a `_layout.tsx` or page — the render
|
|
535
541
|
tree is the cascade. It is a component, not a `pageConfig` field, and `*.abstract.md` is never served to agents.
|
|
536
542
|
- The framework publishes five built-ins on every store surface — `navigate`, `goBack`, `readScreen`,
|
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.50",
|
|
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.50",
|
|
38
38
|
"chalk": "^5.6.2",
|
|
39
39
|
"commander": "^14.0.3",
|
|
40
40
|
"dayjs": "^1.11.20",
|