@akanjs/cli 3.0.0-alpha.32 → 3.0.0-alpha.34
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
|
+
1ba5af5f113a1c106187a2b639d58cebb76b91f2b81154ec5fd690e268026a8e
|
|
@@ -59,10 +59,13 @@ that looks wrong; do not "fix" it back.
|
|
|
59
59
|
- **Never redeclare a generated CRUD endpoint name** in `*.signal.ts` (`no-redeclare-predefined-endpoint.grit`).
|
|
60
60
|
- **Never type a `*.Util.tsx` / `*.Zone.tsx` prop as a `cnst` model** (`no-model-type-in-util-zone.grit`). Those two
|
|
61
61
|
roles are always client components, so a `cnst.Banner` / `cnst.LightBanner` prop is a class instance the server has
|
|
62
|
-
to hand across the boundary; take `bannerId: string` and read the model from the store instead.
|
|
63
|
-
exempt because
|
|
64
|
-
a `ClientInit` / `ClientView` / `ClientEdit` type argument, which the framework maps to `GetStateObject<…>`
|
|
65
|
-
data.
|
|
62
|
+
to hand across the boundary; take `bannerId: string` and read the model from the store instead. Three shapes are
|
|
63
|
+
exempt because none of them is an instance: `cnst.<Enum>["value"]`, whose indexed access resolves to a string
|
|
64
|
+
union; a `ClientInit` / `ClientView` / `ClientEdit` type argument, which the framework maps to `GetStateObject<…>`
|
|
65
|
+
plain data; and a `ModelsProps<cnst.Setting>` type argument, whose only use of the model is the `onClickItem`
|
|
66
|
+
callback, so nothing model-shaped ever lands on a prop. `ModelProps<"setting", cnst.LightSetting>` is *not* exempt
|
|
67
|
+
— that one spreads the model onto the props themselves, and `Unit` / `View`, which take it, are server components
|
|
68
|
+
this rule does not cover. Any *other* indexed access is still flagged — `cnst.Banner["image"]` is a `File`.
|
|
66
69
|
**Only prop positions are read** — a `*Props` interface or type alias, and the inline object type on the
|
|
67
70
|
component's own parameter. A `cnst` type that never leaves the file is not a boundary crossing and stays legal: a
|
|
68
71
|
local annotation, a callback parameter the framework itself types with the model
|
|
@@ -710,7 +713,11 @@ apps and libs never import it directly (`no-import-external-library`) — everyt
|
|
|
710
713
|
globally and a component cannot build one per render: pass the list it has — a slice's sort keys, the options a
|
|
711
714
|
prop carried — and it is published and enforced the same way. Neither reaches a set that fills in *after* the
|
|
712
715
|
first render, since a declaration is mount-static; put that in the tool's `guard`, which is re-read per call and
|
|
713
|
-
can name the current values in its refusal.
|
|
716
|
+
can name the current values in its refusal. **An argument type nothing can describe — a model class, `Any`, a
|
|
717
|
+
`Map` — withdraws the whole tool and says so on the console**, naming the tool, the argument and the type; the
|
|
718
|
+
callable still drives the click a person makes. It does not throw: a tool schema is built during render, and an
|
|
719
|
+
agent-tooling mistake that aborted the render would cost the route its server rendering. `st.useState`'s `set`
|
|
720
|
+
degrades the same way, to read-only.
|
|
714
721
|
- **A component that renders once per row publishes nothing.** A tool registered under one name by fifty rows is
|
|
715
722
|
forty-nine collisions and one survivor. The container publishes one tool taking the id instead —
|
|
716
723
|
`removeTask(taskId)`, never fifty `removeTask` — and the agent reads the ids from the `<slice>.items` resource
|
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.34",
|
|
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.34",
|
|
38
38
|
"chalk": "^5.6.2",
|
|
39
39
|
"commander": "^14.0.3",
|
|
40
40
|
"dayjs": "^1.11.20",
|