@orkestrel/scaffold 0.0.70 → 0.0.71
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/dist/bin/main.js +8 -8
- package/dist/bin/main.js.map +1 -1
- package/dist/host/claude/agents/orkestrel.md +7 -7
- package/dist/host/guides/scaffold.md +19 -8
- package/dist/host/manifest.json +3 -3
- package/dist/src/core/index.cjs +11 -11
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.js +12 -12
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +4 -4
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.js +5 -5
- package/dist/src/server/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -46,7 +46,7 @@ so network-controlled descriptions never enter agent instruction context.
|
|
|
46
46
|
| Package | Version | Layer | Runtime dependencies | Peer dependencies |
|
|
47
47
|
| ----------------------- | -------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
48
48
|
| `@orkestrel/abort` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
|
|
49
|
-
| `@orkestrel/agent` | `0.0.
|
|
49
|
+
| `@orkestrel/agent` | `0.0.23` | L5 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/workflow` `^0.0.18`, `@orkestrel/workspace` `^0.0.8` | |
|
|
50
50
|
| `@orkestrel/brief` | `0.0.8` | L4 | `@orkestrel/reason` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/interpret` `^0.0.13` | |
|
|
51
51
|
| `@orkestrel/browser` | `0.0.16` | L3 | `@orkestrel/html` `^0.0.9`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.12` | |
|
|
52
52
|
| `@orkestrel/budget` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
|
|
@@ -63,13 +63,13 @@ so network-controlled descriptions never enter agent instruction context.
|
|
|
63
63
|
| `@orkestrel/interpret` | `0.0.13` | L3 | `@orkestrel/reason` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/template` `^0.0.7` | |
|
|
64
64
|
| `@orkestrel/lsp` | `0.0.8` | L3 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12`, `@orkestrel/contract` `^0.0.17` | |
|
|
65
65
|
| `@orkestrel/markdown` | `0.0.14` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/html` `^0.0.9` | |
|
|
66
|
-
| `@orkestrel/mcp` | `0.0.
|
|
66
|
+
| `@orkestrel/mcp` | `0.0.31` | L4 | `@orkestrel/sse` `^0.0.7`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/codec` `^0.0.3`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.12` | `@orkestrel/router` `^0.0.14`, `@orkestrel/server` `^0.0.19` |
|
|
67
67
|
| `@orkestrel/middleware` | `0.0.20` | L4 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/timeout` `^0.0.10` | `@orkestrel/database` `^0.0.14`, `@orkestrel/server` `^0.0.19` |
|
|
68
68
|
| `@orkestrel/msg` | `0.0.10` | L0 | | |
|
|
69
69
|
| `@orkestrel/ndjson` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
|
|
70
|
-
| `@orkestrel/ollama` | `0.0.
|
|
70
|
+
| `@orkestrel/ollama` | `0.0.17` | L6 | `@orkestrel/tool` `^0.0.15`, `@orkestrel/agent` `^0.0.23`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/ndjson` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
|
|
71
71
|
| `@orkestrel/pool` | `0.0.11` | L2 | `@orkestrel/emitter` `^0.0.10` | |
|
|
72
|
-
| `@orkestrel/probe` | `0.0.
|
|
72
|
+
| `@orkestrel/probe` | `0.0.15` | L5 | `@orkestrel/lsp` `^0.0.8`, `@orkestrel/mcp` `^0.0.31`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | `oxlint` `^1.82.0`, `vitest` `^4.1.11`, `typescript` `^6.0.3` |
|
|
73
73
|
| `@orkestrel/process` | `0.0.12` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
|
|
74
74
|
| `@orkestrel/program` | `0.0.13` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/qualifier` `^0.0.14`, `@orkestrel/rater` `^0.0.14`, `@orkestrel/reason` `^0.0.10` | |
|
|
75
75
|
| `@orkestrel/qualifier` | `0.0.14` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/reason` `^0.0.10` | |
|
|
@@ -78,7 +78,7 @@ so network-controlled descriptions never enter agent instruction context.
|
|
|
78
78
|
| `@orkestrel/reason` | `0.0.10` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
|
|
79
79
|
| `@orkestrel/relation` | `0.0.12` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10` | |
|
|
80
80
|
| `@orkestrel/router` | `0.0.14` | L2 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
|
|
81
|
-
| `@orkestrel/scaffold` | `0.0.
|
|
81
|
+
| `@orkestrel/scaffold` | `0.0.70` | L3 | `@orkestrel/console` `^0.0.13`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/markdown` `^0.0.14`, `@orkestrel/process` `^0.0.12`, `@orkestrel/template` `^0.0.7` | |
|
|
82
82
|
| `@orkestrel/sea` | `0.0.16` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12` | |
|
|
83
83
|
| `@orkestrel/server` | `0.0.19` | L3 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/codec` `^0.0.3`, `@orkestrel/router` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
|
|
84
84
|
| `@orkestrel/sqlite` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
|
|
@@ -89,8 +89,8 @@ so network-controlled descriptions never enter agent instruction context.
|
|
|
89
89
|
| `@orkestrel/terminal` | `0.0.15` | L3 | `@orkestrel/console` `^0.0.13`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/form` `^0.0.6`, `@orkestrel/sse` `^0.0.7` | |
|
|
90
90
|
| `@orkestrel/test` | `0.0.14` | L0 | | `vitest` `^4.1.11` |
|
|
91
91
|
| `@orkestrel/timeout` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
|
|
92
|
-
| `@orkestrel/tool` | `0.0.
|
|
93
|
-
| `@orkestrel/toolbox` | `0.0.
|
|
92
|
+
| `@orkestrel/tool` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
|
|
93
|
+
| `@orkestrel/toolbox` | `0.0.14` | L6 | `@orkestrel/form` `^0.0.6`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/agent` `^0.0.23`, `@orkestrel/server` `^0.0.19`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/relation` `^0.0.12`, `@orkestrel/terminal` `^0.0.15`, `@orkestrel/workflow` `^0.0.18`, `@orkestrel/workspace` `^0.0.8` | |
|
|
94
94
|
| `@orkestrel/websocket` | `0.0.12` | L2 | `@orkestrel/emitter` `^0.0.10` | |
|
|
95
95
|
| `@orkestrel/worker` | `0.0.12` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/pool` `^0.0.11`, `@orkestrel/queue` `^0.0.13` | |
|
|
96
96
|
| `@orkestrel/workflow` | `0.0.18` | L4 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/timeout` `^0.0.10` | |
|
|
@@ -1369,8 +1369,9 @@ leaf and its proof, and the byte-identical root dotfiles. The session-start hook
|
|
|
1369
1369
|
split by job. The bench probe reports whether a bench CLI resolves, and the dependency hook installs
|
|
1370
1370
|
the lockfile's closure in a remote session.
|
|
1371
1371
|
The Ollama hook invokes `scripts/ollama.sh` only when `CLAUDE_CODE_REMOTE=true`; direct invocation
|
|
1372
|
-
remains available for live-service setup.
|
|
1373
|
-
|
|
1372
|
+
remains available for live-service setup. Claude Code Cloud is Linux and has bash: SessionStart
|
|
1373
|
+
runs that POSIX script and never a Windows wrapper. What wires a bench stays in the canon, and a
|
|
1374
|
+
session reads it at its primary root.
|
|
1374
1375
|
|
|
1375
1376
|
`scripts/ollama.sh` defaults to `http://127.0.0.1:11434` and `qwen3.5:2b-q4_K_M`. It requires Node
|
|
1376
1377
|
for native URL and JSON handling and curl for the HTTP protocol. The script accepts an HTTP or HTTPS
|
|
@@ -1383,12 +1384,22 @@ completion.
|
|
|
1383
1384
|
|
|
1384
1385
|
When an HTTP loopback endpoint is unreachable, the script may start an installed Ollama executable
|
|
1385
1386
|
in an owned POSIX process group. A failure sends that owned group `TERM`, then sends `KILL` if it
|
|
1386
|
-
does not stop within 5 seconds; a reused daemon remains untouched. Direct reuse works from Git Bash
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1387
|
+
does not stop within 5 seconds; a reused daemon remains untouched. Direct reuse works from Git Bash
|
|
1388
|
+
on Windows, but local startup there fails because Bash cannot safely terminate the Windows process
|
|
1389
|
+
tree. Automatic installation is limited to Linux cloud or CI automation. The official installer
|
|
1390
|
+
download follows only HTTPS redirects, must be nonempty, and runs within the remaining setup
|
|
1391
|
+
deadline. The installer may require root or `sudo`, and its own platform prerequisites remain
|
|
1392
|
+
authoritative. The full setup deadline is 590 seconds, including a 60-second local startup
|
|
1393
|
+
allowance, within the hook's 600-second timeout.
|
|
1394
|
+
|
|
1395
|
+
Windows test helpers run the HTTP setup protocol in process. For local startup, they resolve a
|
|
1396
|
+
regular-file Ollama executable through `@orkestrel/process` and launch it with `serve`, without
|
|
1397
|
+
Bash. An absent executable returns exit `127` when the endpoint needs local startup; a reachable
|
|
1398
|
+
daemon needs no executable. Windows fixture protocol tests run without an installed executable.
|
|
1399
|
+
The native `serve` launch skips when `resolveExecutable` finds no regular-file Ollama. Fixture
|
|
1400
|
+
setup uses an isolated PATH so an unready fixture cannot launch the host daemon. Local hooks
|
|
1401
|
+
succeed without making requests; remote hooks run setup. Claude Code Cloud continues to invoke
|
|
1402
|
+
`scripts/ollama.sh`.
|
|
1392
1403
|
|
|
1393
1404
|
`CANON_PATHS` is the instruction canon, staged for reading instead: the `AGENTS.md` coding contract,
|
|
1394
1405
|
the `CLAUDE.md` harness bridge, the `.agents/orchestration.md` agent-operation contract, the rules
|
package/dist/host/manifest.json
CHANGED
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
"storage": "claude/agents/orkestrel.md",
|
|
353
353
|
"destination": ".claude/agents/orkestrel.md",
|
|
354
354
|
"executable": false,
|
|
355
|
-
"digest": "
|
|
355
|
+
"digest": "761ad0c795de9afd5c7dfa455c6b500cf18f278a6f0eae89b5370ce469a6d12b"
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
"storage": "claude/agents/planner.md",
|
|
@@ -892,7 +892,7 @@
|
|
|
892
892
|
"storage": "guides/scaffold.md",
|
|
893
893
|
"destination": "guides/scaffold.md",
|
|
894
894
|
"executable": false,
|
|
895
|
-
"digest": "
|
|
895
|
+
"digest": "a3253b032e2f7de815c34ec6cbd111679a8b222c60780e44ade0550a548f5f1c"
|
|
896
896
|
},
|
|
897
897
|
{
|
|
898
898
|
"storage": "guides/sea.md",
|
|
@@ -1993,5 +1993,5 @@
|
|
|
1993
1993
|
]
|
|
1994
1994
|
}
|
|
1995
1995
|
],
|
|
1996
|
-
"digest": "
|
|
1996
|
+
"digest": "9f8770d4e8f9bc8ecace8c5b1b4e4ac285a4ad6f33aae7559ddacb84a403597b"
|
|
1997
1997
|
}
|
package/dist/src/core/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ let _orkestrel_template = require("@orkestrel/template");
|
|
|
4
4
|
let _orkestrel_emitter = require("@orkestrel/emitter");
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "@orkestrel/scaffold",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.71",
|
|
8
8
|
description: "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
|
|
9
9
|
keywords: [
|
|
10
10
|
"audit",
|
|
@@ -90,19 +90,19 @@ var package_default = {
|
|
|
90
90
|
"prepublishOnly": "npm run format:check && npm run lint:check && npm run check && npm run build && npm test && npm run test:distribution -- --mode release"
|
|
91
91
|
},
|
|
92
92
|
dependencies: {
|
|
93
|
-
"@orkestrel/console": "^0.0.
|
|
93
|
+
"@orkestrel/console": "^0.0.14",
|
|
94
94
|
"@orkestrel/contract": "^0.0.17",
|
|
95
95
|
"@orkestrel/emitter": "^0.0.10",
|
|
96
|
-
"@orkestrel/markdown": "^0.0.
|
|
97
|
-
"@orkestrel/process": "^0.0.
|
|
98
|
-
"@orkestrel/template": "^0.0.
|
|
96
|
+
"@orkestrel/markdown": "^0.0.15",
|
|
97
|
+
"@orkestrel/process": "^0.0.13",
|
|
98
|
+
"@orkestrel/template": "^0.0.8"
|
|
99
99
|
},
|
|
100
100
|
devDependencies: {
|
|
101
101
|
"@microsoft/api-extractor": "^7.59.1",
|
|
102
102
|
"@orkestrel/guide": "^0.0.19",
|
|
103
|
-
"@orkestrel/html": "^0.0.
|
|
104
|
-
"@orkestrel/probe": "^0.0.
|
|
105
|
-
"@orkestrel/test": "^0.0.
|
|
103
|
+
"@orkestrel/html": "^0.0.10",
|
|
104
|
+
"@orkestrel/probe": "^0.0.15",
|
|
105
|
+
"@orkestrel/test": "^0.0.15",
|
|
106
106
|
"@types/node": "^26.5.1",
|
|
107
107
|
"@vitest/browser-playwright": "^4.1.11",
|
|
108
108
|
"oxfmt": "^0.68.0",
|
|
@@ -2851,7 +2851,7 @@ var ScaffoldError = class extends Error {
|
|
|
2851
2851
|
* ```
|
|
2852
2852
|
*/
|
|
2853
2853
|
function isScaffoldError(value) {
|
|
2854
|
-
return value
|
|
2854
|
+
return (0, _orkestrel_contract.isInstance)(value, ScaffoldError);
|
|
2855
2855
|
}
|
|
2856
2856
|
//#endregion
|
|
2857
2857
|
//#region src/core/validators.ts
|
|
@@ -5791,7 +5791,7 @@ function replaceManifestRanges(manifest, pins) {
|
|
|
5791
5791
|
if (manifest.charAt(value) === ":") {
|
|
5792
5792
|
value += 1;
|
|
5793
5793
|
while (value < manifest.length && /\s/u.test(manifest.charAt(value))) value += 1;
|
|
5794
|
-
if (
|
|
5794
|
+
if ((0, _orkestrel_contract.isString)(key) && sectionNames.has(key) && manifest.charAt(value) === "{") {
|
|
5795
5795
|
let sectionDepth = 0;
|
|
5796
5796
|
let sectionCursor = value;
|
|
5797
5797
|
while (sectionCursor < manifest.length) {
|
|
@@ -5873,7 +5873,7 @@ function replaceManifestRanges(manifest, pins) {
|
|
|
5873
5873
|
}
|
|
5874
5874
|
valueStart += 1;
|
|
5875
5875
|
while (valueStart < section.length && /\s/u.test(section.charAt(valueStart))) valueStart += 1;
|
|
5876
|
-
if (
|
|
5876
|
+
if (!(0, _orkestrel_contract.isString)(key) || section.charAt(valueStart) !== "\"") {
|
|
5877
5877
|
sectionCursor = keyEnd;
|
|
5878
5878
|
continue;
|
|
5879
5879
|
}
|