@lokascript/planner 7.3.0 → 7.4.0

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 (2) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [7.4.0] - 2026-10-21
11
+
12
+ Content htmx or fixi swaps in runs its hyperscript, as it does on upstream `_hyperscript`: the
13
+ engine has upstream's htmx integration in every bundle, and loading the engine twice no longer
14
+ binds every handler twice. A minor: new behavior and a deprecated option, nothing removed.
15
+
16
+ ### Fixed
17
+
18
+ - **`@hyperfixi/engine`: content htmx or fixi swaps in runs its hyperscript, and htmx content a
19
+ script puts in issues its requests.** Upstream `_hyperscript` has this integration in its core
20
+ runtime and the engine had none: a `_="on click …"` that htmx swapped in did nothing, and an
21
+ `hx-get` that a script `put` into the page was never wired. The engine now has upstream's
22
+ integration (0.9.93's `htmx-compat.js`), installed by `boot()` in every bundle, the Vite
23
+ plugin's included: `htmx:load` (htmx 2) and `htmx:after:process` (htmx 4) process the content,
24
+ an after-process hook hands what a script inserts to `htmx.process`, and on htmx 4 it
25
+ registers upstream's `hs-include` extension (`hs-include=":id"` sends element-scoped variables
26
+ with the request; `htmx.config.extensions = "hs-include"` enables it). Two additions upstream
27
+ lacks: fixi (`fx:swapped` processes the swapped content), and pages with their own hooks
28
+ between the two (`htmx.onLoad(el => _hyperscript.process(el))`,
29
+ `_hyperscript.addAfterProcessHook(el => htmx.process(el))`, the workarounds until now) no longer
30
+ recurse, where upstream recurses until the stack runs out. The workarounds can be removed. The
31
+ first vendoring of upstream's suite left out its htmx tests (`integration/htmx.js`,
32
+ `ext/hs-include.js`), which is how the gap shipped; the gate now runs them and passes all 19
33
+ (1422/1486). `hyperfixi-hs.js` grows 0.7 KB gzipped, to 34.9 KB.
34
+ - **`@hyperfixi/engine`: loading the engine twice no longer binds every handler twice.** Element
35
+ state was private to each copy of the engine, so the second copy initialised every element
36
+ again and one click ran its handler twice. htmx 4's boosted swaps run body scripts again, so
37
+ boost, then back, did it on a page that loads the engine at the end of its body. The state is
38
+ now `elt._hyperscript`, where upstream keeps it and a second copy finds it (two more of
39
+ upstream's tests pass).
40
+ - **Examples: sortable-list's Add Task added a blank task and threw.** Its script read the input
41
+ with `first #new-item-input`, which is null (`first` of one element), and now reads the element
42
+ itself. tell-command's code sample shows its `on click`.
43
+
44
+ ### Deprecated
45
+
46
+ - **`@hyperfixi/vite-plugin`'s `htmx` option does nothing.** It added a listener for htmx 2's
47
+ event names, which htmx 4 does not fire; the engine's integration covers every bundle. The
48
+ option is still accepted, so existing configs build.
49
+
10
50
  ## [7.3.0] - 2026-10-21
11
51
 
12
52
  `@hyperfixi/mcp-server` lists its 14 core tools by default and keeps the other 70 in toolsets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokascript/planner",
3
- "version": "7.3.0",
3
+ "version": "7.4.0",
4
4
  "description": "BFS planner over affordance graphs — cost-aware planning with preconditions, effects, and template parameters",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",