@orkestrel/scaffold 0.0.38 → 0.0.40

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.
@@ -643,9 +643,14 @@ either publishes packages nobody needed to publish or leaves a consumer pinned t
643
643
  downstream of it re-pins, re-runs its gates, bumps, and republishes, in layer order.
644
644
  - A **development** `devDependencies` bump reaches nobody. Re-pin it, prove the gates still green,
645
645
  and commit to `main`. Do not bump the version and do not publish.
646
- - A development bump that forces a change to `src` or `app` is no longer a development bump. The
647
- published types or runtime moved, so that package bumps and publishes on its own account, and
648
- its own dependents follow the runtime rule above.
646
+ - A development bump that moves the published artifact is no longer a development bump. Prove the
647
+ direction with the build, not the diff of sources: rebuild after the re-pin and compare `dist/`
648
+ against the published tarball. Compare material content only — exclude sourcemaps and ignore
649
+ whitespace-only differences; a superfluous diff (formatting, blank lines, map noise) moves
650
+ nothing and obliges nothing. A material diff — tokens, declarations, logic — means the published
651
+ surface moved — a forced `src` or `app` edit and a toolchain-changed emit both surface here — so
652
+ that package bumps and publishes on its own account, and its own dependents follow the runtime
653
+ rule above.
649
654
 
650
655
  Every package is `0.0.x`, where a caret pins one exact release. A dependent therefore sees a new
651
656
  version only after it re-pins and republishes, so the fleet publishes in topological layer order
@@ -683,6 +688,29 @@ and propagates as files rather than as a cascade.
683
688
  target. Scope a fleet-wide refactor to the files each target owns, and record the vendored
684
689
  exclusion in the brief rather than letting each unit rediscover it.
685
690
 
691
+ ### The release wave
692
+
693
+ Close a fleet-wide "everything on latest" goal as a release wave in layer order: visit every repo
694
+ once per round with one procedure, publish each layer in one window, and only then prepare the next.
695
+
696
+ - The visit, in order: re-pin the target's `@orkestrel/scaffold` devDependency and install, so the
697
+ overwrite runs the current vendored host; `scaffold overwrite`; force-verify every `@orkestrel`
698
+ range against a registry sweep taken after the previous layer published; full install; mutating
699
+ `format` to converge generated writes; the five gates; the material-dist comparison against the
700
+ published tarball.
701
+ - Bump on either trigger: the rebuilt dist differs materially from the published tarball, or the
702
+ final runtime dependency set differs from the published packument. Test the final set against the
703
+ packument, never "did my step move a pin" — overwrite's `declare` re-pins before any later check,
704
+ so the step-local reading reports nothing moved while the manifest surface did. A re-pinned
705
+ runtime range is published surface: without the bump a consumer installs two copies of the moved
706
+ dependency.
707
+ - A dist built before the version bump is the release artifact; the bump edits no emitted byte.
708
+ - Refresh the registry evidence between layers and derive each round's pins from it. A pin can only
709
+ name a version the registry already serves, so a dependency shipping in the same window keeps the
710
+ resolvable previous pin and takes its dev-only re-pin after the window closes.
711
+ - Run visits in parallel slices of disjoint repos, each slice strictly serial inside itself,
712
+ reporting per-target. Refuse a failed target, name it, repair, and re-run it alone.
713
+
686
714
  ### Preparing
687
715
 
688
716
  1. **Bump from what the registry serves, not from the local manifest.** A repository's `version`
@@ -718,6 +746,10 @@ flag is what stops the gate chain running a second time inside the five minutes.
718
746
  prompt to answer: kill it by process id and mint a fresh flow.
719
747
  - Run the login and every publish under `script -qfc '<command>' <log>`. npm offers the approval only
720
748
  when it sees a TTY; without one it fails `EOTP` with no way to answer.
749
+ - Git Bash on Windows ships no `script` binary, so the upload step there is operator-driven: prepare
750
+ the layer, prove the gates, surface the exact `npm publish` command, and the operator runs it in a
751
+ real terminal. Everything before and after the upload — bumps, re-pins, gates, registry reads —
752
+ stays with the Orchestrator. The fifo stdin law still binds on that host.
721
753
  - Expect two approvals. `npmjs.com/login/cli/<id>` authenticates the session; `npmjs.com/auth/cli/<id>`
722
754
  authorizes the publish and opens the five-minute window. Tell the user both are coming, or the
723
755
  second link reads as the first having failed.
@@ -736,8 +768,16 @@ flag is what stops the gate chain running a second time inside the five minutes.
736
768
 
737
769
  ### Spending the window
738
770
 
739
- - The window opens when the user approves, not when the first publish starts. Chain every remaining
740
- publish inside the same process as the gate package, so no human turn sits inside it.
771
+ - The window opens when the user approves, not when the first publish starts. Open each layer with
772
+ one package: publish it alone, surface its approval URL the moment the journal shows it, and
773
+ confirm the upload from the registry before starting the rest. Then chase the remaining uploads
774
+ back-to-back in one process with no gap — an upload started within seconds of an approval
775
+ frequently rides that approval, and each one that does not mints its own URL. Relay every new URL
776
+ to the user the moment it appears, through a journal watcher, and never pause the chain to wait
777
+ for a click: a poll outlives the relay.
778
+ - A click on a superseded URL poisons the live attempt — the current poll fails
779
+ `403 Forbidden - GET /-/v1/done` mid-flight. Tell the user to click only the newest URL. After
780
+ any such 403, confirm no publish process is live, then mint one fresh attempt.
741
781
  - Publish serially. Concurrent publishes collide on the auth handshake and fail each other.
742
782
  - **Never retry a publish that is still waiting for its authorization.** Each `npm publish` attempt
743
783
  mints a new `authId` and invalidates the previous one, so a retry loop makes the URL a moving
@@ -754,6 +794,11 @@ flag is what stops the gate chain running a second time inside the five minutes.
754
794
  - Read the result from the registry, not from an exit code: a piped `npm publish` reports the exit
755
795
  status of the pipeline, and a CDN read straight after a publish can still serve the previous
756
796
  version.
797
+ - A first publish creates the packument and can serve 404 for minutes after success. For a package
798
+ with no prior version treat 404 as pending, not failed, and re-read on an interval before
799
+ reporting either way. A bump serving the old version is CDN lag, same rule.
800
+ - Rule on a pack-time manifest-rewriting warning by fetching the registry's copy of the manifest,
801
+ never by the warning's own text.
757
802
  - Re-read the registry before telling the user a package failed. A chain still running, a retry that
758
803
  landed, and CDN lag all produce a failure reading that the registry contradicts, and a false
759
804
  failure report costs a needless approval and a needless republish.
@@ -36,47 +36,49 @@ so network-controlled descriptions never enter agent instruction context.
36
36
 
37
37
  | Package | Version | Layer | Runtime dependencies |
38
38
  | ----------------------- | -------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
39
- | `@orkestrel/abort` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
39
+ | `@orkestrel/abort` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
40
40
  | `@orkestrel/agent` | `0.0.15` | L5 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/queue` `^0.0.8`, `@orkestrel/timeout` `^0.0.6`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/workflow` `^0.0.11`, `@orkestrel/workspace` `^0.0.4` |
41
- | `@orkestrel/brief` | `0.0.1` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/interpret` `^0.0.8`, `@orkestrel/reason` `^0.0.5` |
41
+ | `@orkestrel/brief` | `0.0.2` | L4 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/interpret` `^0.0.9`, `@orkestrel/reason` `^0.0.6` |
42
42
  | `@orkestrel/browser` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/html` `^0.0.3`, `@orkestrel/websocket` `^0.0.8` |
43
- | `@orkestrel/budget` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
44
- | `@orkestrel/console` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
45
- | `@orkestrel/contract` | `0.0.11` | L0 | |
46
- | `@orkestrel/csv` | `0.0.3` | L1 | `@orkestrel/contract` `^0.0.11` |
47
- | `@orkestrel/database` | `0.0.9` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/indexeddb` `^0.0.7`, `@orkestrel/sqlite` `^0.0.7` |
48
- | `@orkestrel/emitter` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
43
+ | `@orkestrel/budget` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
44
+ | `@orkestrel/console` | `0.0.8` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
45
+ | `@orkestrel/contract` | `0.0.12` | L0 | |
46
+ | `@orkestrel/csv` | `0.0.4` | L1 | `@orkestrel/contract` `^0.0.12` |
47
+ | `@orkestrel/database` | `0.0.10` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7`, `@orkestrel/indexeddb` `^0.0.8`, `@orkestrel/sqlite` `^0.0.8` |
48
+ | `@orkestrel/emitter` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
49
+ | `@orkestrel/form` | `0.0.2` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
49
50
  | `@orkestrel/guide` | `0.0.11` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/markdown` `^0.0.8` |
50
- | `@orkestrel/html` | `0.0.3` | L1 | `@orkestrel/contract` `^0.0.11` |
51
- | `@orkestrel/indexeddb` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.11` |
52
- | `@orkestrel/interpret` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5`, `@orkestrel/template` `^0.0.3` |
53
- | `@orkestrel/markdown` | `0.0.8` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/html` `^0.0.3` |
51
+ | `@orkestrel/html` | `0.0.4` | L1 | `@orkestrel/contract` `^0.0.12` |
52
+ | `@orkestrel/indexeddb` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.12` |
53
+ | `@orkestrel/interpret` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6`, `@orkestrel/template` `^0.0.3` |
54
+ | `@orkestrel/markdown` | `0.0.9` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/html` `^0.0.4` |
54
55
  | `@orkestrel/mcp` | `0.0.15` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/sse` `^0.0.5`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/websocket` `^0.0.8` |
55
- | `@orkestrel/middleware` | `0.0.12` | L2 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/timeout` `^0.0.6` |
56
- | `@orkestrel/msg` | `0.0.6` | L0 | |
57
- | `@orkestrel/ndjson` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
56
+ | `@orkestrel/middleware` | `0.0.13` | L2 | `@orkestrel/abort` `^0.0.7`, `@orkestrel/budget` `^0.0.7`, `@orkestrel/contract` `^0.0.12`, `@orkestrel/timeout` `^0.0.7` |
57
+ | `@orkestrel/msg` | `0.0.7` | L0 | |
58
+ | `@orkestrel/ndjson` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
58
59
  | `@orkestrel/ollama` | `0.0.9` | L6 | `@orkestrel/agent` `^0.0.15`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/ndjson` `^0.0.6`, `@orkestrel/timeout` `^0.0.6`, `@orkestrel/tool` `^0.0.10` |
59
- | `@orkestrel/pool` | `0.0.7` | L2 | `@orkestrel/emitter` `^0.0.6` |
60
- | `@orkestrel/program` | `0.0.7` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/qualifier` `^0.0.8`, `@orkestrel/rater` `^0.0.9`, `@orkestrel/reason` `^0.0.5` |
61
- | `@orkestrel/qualifier` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5` |
60
+ | `@orkestrel/pool` | `0.0.8` | L2 | `@orkestrel/emitter` `^0.0.7` |
61
+ | `@orkestrel/program` | `0.0.8` | L4 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/qualifier` `^0.0.9`, `@orkestrel/rater` `^0.0.10`, `@orkestrel/reason` `^0.0.6` |
62
+ | `@orkestrel/qualifier` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6` |
62
63
  | `@orkestrel/queue` | `0.0.8` | L3 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/timeout` `^0.0.6` |
63
- | `@orkestrel/rater` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5` |
64
- | `@orkestrel/reason` | `0.0.5` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
64
+ | `@orkestrel/rater` | `0.0.10` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6` |
65
+ | `@orkestrel/reason` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
65
66
  | `@orkestrel/relation` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6` |
66
- | `@orkestrel/router` | `0.0.9` | L2 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
67
- | `@orkestrel/scaffold` | `0.0.37` | L3 | `@orkestrel/console` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/markdown` `^0.0.8`, `@orkestrel/template` `^0.0.3` |
68
- | `@orkestrel/sea` | `0.0.6` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
67
+ | `@orkestrel/router` | `0.0.10` | L2 | `@orkestrel/abort` `^0.0.7`, `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
68
+ | `@orkestrel/scaffold` | `0.0.38` | L3 | `@orkestrel/console` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/markdown` `^0.0.8`, `@orkestrel/template` `^0.0.3` |
69
+ | `@orkestrel/sea` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
69
70
  | `@orkestrel/server` | `0.0.12` | L3 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/router` `^0.0.9`, `@orkestrel/timeout` `^0.0.6` |
70
- | `@orkestrel/sqlite` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.11` |
71
+ | `@orkestrel/sqlite` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.12` |
71
72
  | `@orkestrel/sse` | `0.0.5` | L0 | |
72
73
  | `@orkestrel/supervisor` | `0.0.1` | L5 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/workflow` `^0.0.12` |
73
- | `@orkestrel/template` | `0.0.3` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
74
- | `@orkestrel/terminal` | `0.0.8` | L3 | `@orkestrel/console` `^0.0.7`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/sse` `^0.0.5` |
75
- | `@orkestrel/test` | `0.0.3` | L0 | |
76
- | `@orkestrel/timeout` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
77
- | `@orkestrel/tool` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.11` |
74
+ | `@orkestrel/table` | `0.0.2` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
75
+ | `@orkestrel/template` | `0.0.4` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
76
+ | `@orkestrel/terminal` | `0.0.9` | L3 | `@orkestrel/console` `^0.0.7`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/form` `^0.0.1`, `@orkestrel/sse` `^0.0.5` |
77
+ | `@orkestrel/test` | `0.0.6` | L0 | |
78
+ | `@orkestrel/timeout` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
79
+ | `@orkestrel/tool` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.12` |
78
80
  | `@orkestrel/toolbox` | `0.0.6` | L6 | `@orkestrel/agent` `^0.0.15`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/relation` `^0.0.8`, `@orkestrel/server` `^0.0.12`, `@orkestrel/terminal` `^0.0.7`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/workflow` `^0.0.11`, `@orkestrel/workspace` `^0.0.4` |
79
- | `@orkestrel/websocket` | `0.0.8` | L2 | `@orkestrel/emitter` `^0.0.6` |
81
+ | `@orkestrel/websocket` | `0.0.9` | L2 | `@orkestrel/emitter` `^0.0.7` |
80
82
  | `@orkestrel/worker` | `0.0.7` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/pool` `^0.0.7`, `@orkestrel/queue` `^0.0.8` |
81
83
  | `@orkestrel/workflow` | `0.0.12` | L4 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/queue` `^0.0.8`, `@orkestrel/timeout` `^0.0.6` |
82
84
  | `@orkestrel/workspace` | `0.0.4` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6` |
@@ -99,9 +101,11 @@ pin names an older version runs that older version, whatever the registry holds.
99
101
 
100
102
  A **development** bump obliges nothing. A `devDependencies` range reaches no consumer of
101
103
  the published package, so re-pin it, prove the gates still green, and stop. Never report a
102
- development bump as a cascade. It becomes one only if it forces a change to `src` or
103
- `app`, because then the published types or runtime moved and the package bumps on that
104
- account rather than on the dependency's.
104
+ development bump as a cascade. It becomes one only when the rebuilt `dist/` differs
105
+ materially from the published artifact after the re-pin sourcemaps excluded,
106
+ whitespace-only differences ignored meaning the published surface moved, through a
107
+ forced `src`/`app` edit or a changed toolchain emit, and the package then bumps on that
108
+ account rather than on the dependency's. A superfluous diff obliges nothing.
105
109
 
106
110
  The `Layer` column above is the publish round, derived from the runtime edges in the same
107
111
  row. `L0` depends on nothing else in the fleet and publishes first; each later layer
@@ -304,9 +304,9 @@ var DEFAULT_VERSION = "0.0.1";
304
304
  var DEFAULT_ENGINES = `>=${MINIMUM_NODE_VERSION}`;
305
305
  /** The tooling versions scaffold and every generated workspace share. */
306
306
  var BASE_DEV_DEPENDENCIES = Object.freeze({
307
- "@orkestrel/guide": "^0.0.11",
308
- "@orkestrel/scaffold": "^0.0.38",
309
- "@orkestrel/test": "^0.0.5",
307
+ "@orkestrel/guide": "^0.0.12",
308
+ "@orkestrel/scaffold": "^0.0.40",
309
+ "@orkestrel/test": "^0.0.6",
310
310
  "@types/node": "^26.2.0",
311
311
  oxfmt: "^0.62.0",
312
312
  oxlint: "^1.77.0",
@@ -325,11 +325,11 @@ var SOURCE_BROWSER_DEV_DEPENDENCIES = Object.freeze({
325
325
  playwright: "^1.62.1"
326
326
  });
327
327
  /** The development dependency every private `app` environment adds. */
328
- var APP_DEV_DEPENDENCIES = Object.freeze({ "@orkestrel/contract": "^0.0.11" });
328
+ var APP_DEV_DEPENDENCIES = Object.freeze({ "@orkestrel/contract": "^0.0.12" });
329
329
  /** The development dependencies a private Vue browser application adds. */
330
330
  var APP_BROWSER_DEV_DEPENDENCIES = Object.freeze({
331
331
  ...SOURCE_BROWSER_DEV_DEPENDENCIES,
332
- "@orkestrel/html": "^0.0.3",
332
+ "@orkestrel/html": "^0.0.4",
333
333
  "@vitejs/plugin-vue": "^6.0.8",
334
334
  vue: "^3.5.40",
335
335
  "vue-tsc": "^3.3.7"
@@ -347,10 +347,10 @@ var APP_BROWSER_DEV_DEPENDENCIES = Object.freeze({
347
347
  var SHOWCASE_DEV_DEPENDENCIES = Object.freeze({ "vite-plugin-singlefile": "^2.3.3" });
348
348
  /** The development dependencies a private server application adds. */
349
349
  var APP_SERVER_DEV_DEPENDENCIES = Object.freeze({
350
- "@orkestrel/emitter": "^0.0.6",
351
- "@orkestrel/middleware": "^0.0.10",
352
- "@orkestrel/router": "^0.0.9",
353
- "@orkestrel/server": "^0.0.11"
350
+ "@orkestrel/emitter": "^0.0.7",
351
+ "@orkestrel/middleware": "^0.0.13",
352
+ "@orkestrel/router": "^0.0.10",
353
+ "@orkestrel/server": "^0.0.13"
354
354
  });
355
355
  //#endregion
356
356
  //#region src/core/templates.ts