@qvac/harness 0.2.4 → 0.2.6
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/.claude/skills/asana/SKILL.md +86 -0
- package/.claude/skills/gh-stack/SKILL.md +181 -0
- package/.claude/skills/gh-stack/references/commands.md +177 -0
- package/.claude/skills/gh-stack/references/stack-design.md +97 -0
- package/.claude/skills/gh-stack/references/troubleshooting.md +159 -0
- package/.claude/skills/js-house-style/SKILL.md +650 -0
- package/.claude/skills/kvcache/SKILL.md +171 -0
- package/.claude/skills/pr-create/SKILL.md +137 -0
- package/.claude/skills/pr-review/SKILL.md +148 -0
- package/CLAUDE.md +36 -0
- package/dist/harness.bundle +23 -14
- package/dist-lib/index.d.ts +6 -1
- package/dist-lib/index.js +27 -9
- package/dist-lib/lib/hardware/capability-probe.d.ts +1 -1
- package/dist-lib/lib/hardware/capability-probe.js +1 -1
- package/dist-lib/lib/hardware/gpu-probe-entry.d.ts +1 -0
- package/dist-lib/lib/hardware/gpu-probe-entry.js +2 -0
- package/dist-lib/lib/hardware/gpu-probe.d.ts +8 -0
- package/dist-lib/lib/hardware/gpu-probe.js +54 -0
- package/dist-lib/lib/hardware/gpu-stats.bare.d.ts +1 -1
- package/dist-lib/lib/hardware/gpu-stats.bare.js +1 -24
- package/dist-lib/lib/hardware/gpu-stats.native.cjs +27 -0
- package/dist-lib/lib/hardware/gpu-stats.native.d.cts +1 -0
- package/dist-lib/lib/models/model-pool.d.ts +1 -1
- package/dist-lib/lib/models/model-pool.js +3 -2
- package/dist-lib/lib/spawn.d.ts +3 -0
- package/dist-lib/lib/spawn.js +5 -3
- package/dist-lib/lib/tools/exec/adapters/python/loader.d.ts +9 -3
- package/dist-lib/lib/tools/exec/adapters/python/loader.js +9 -6
- package/dist-lib/schema/generate.d.ts +6 -2
- package/dist-lib/schema/generate.js +10 -5
- package/docs/kvcache-reference.md +655 -0
- package/package.json +1 -1
- package/worker/harness-sidecar.mjs +8 -3
- package/worker/stow-entry.mjs +3 -19
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qvac/harness",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "An AI harness implementing generate(context) via @qvac/sdk. Knows nothing about workbench, hyperdb, or chunks — just inference in, events out.",
|
|
6
6
|
"exports": {
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
// argv (empty = absent): [2] skillsDir, [3] SDK storage JSON (required: the fs deny list fences it), [4] embedding config JSON,
|
|
3
3
|
// [5] imageModel JSON, [6] imageClamps JSON,
|
|
4
4
|
// [7] '1' to enable harness logging (written to `harness.log`, beside assistant.log),
|
|
5
|
-
// [8] llm config JSON (llmDevice/llmGpuLayers/contextSize/kvCacheK/kvCacheV),
|
|
6
|
-
// [9] musicModel JSON, [10] musicClamps JSON, [11] vendored python wheels dir
|
|
5
|
+
// [8] llm config JSON (llmDevice/llmGpuLayers/contextSize/kvCacheK/kvCacheV/completionModelCap),
|
|
6
|
+
// [9] musicModel JSON, [10] musicClamps JSON, [11] vendored python wheels dir,
|
|
7
|
+
// [12] host-supplied GPU stats JSON.
|
|
8
|
+
import '../dist-lib/lib/hardware/gpu-probe-entry.js'
|
|
7
9
|
import FileLog from 'bare-file-logger'
|
|
8
10
|
import fs from 'fs'
|
|
9
11
|
import { dirname, join } from 'path'
|
|
@@ -104,6 +106,7 @@ export default async function start(ipc, ready) {
|
|
|
104
106
|
const llmConfig = Bare.argv[8] ? JSON.parse(Bare.argv[8]) : {}
|
|
105
107
|
const musicModel = Bare.argv[9] ? JSON.parse(Bare.argv[9]) : undefined
|
|
106
108
|
const musicClamps = Bare.argv[10] ? JSON.parse(Bare.argv[10]) : undefined
|
|
109
|
+
const gpuStats = Bare.argv[12] ? JSON.parse(Bare.argv[12]) : undefined
|
|
107
110
|
// Only the host knows where the shipped wheels landed.
|
|
108
111
|
if (Bare.argv[11]) process.env.QVAC_PYTHON_WHEELS_DIR = Bare.argv[11]
|
|
109
112
|
|
|
@@ -152,6 +155,7 @@ export default async function start(ipc, ready) {
|
|
|
152
155
|
)
|
|
153
156
|
}
|
|
154
157
|
harness = new Harness({
|
|
158
|
+
gpuStats,
|
|
155
159
|
tools,
|
|
156
160
|
skillsDir,
|
|
157
161
|
imageModel,
|
|
@@ -165,7 +169,8 @@ export default async function start(ipc, ready) {
|
|
|
165
169
|
llmGpuLayers: llmConfig.llmGpuLayers,
|
|
166
170
|
contextSize: llmConfig.contextSize,
|
|
167
171
|
kvCacheK: llmConfig.kvCacheK,
|
|
168
|
-
kvCacheV: llmConfig.kvCacheV
|
|
172
|
+
kvCacheV: llmConfig.kvCacheV,
|
|
173
|
+
completionModelCap: llmConfig.completionModelCap
|
|
169
174
|
})
|
|
170
175
|
serveHarness(ipc, harness)
|
|
171
176
|
ready()
|
package/worker/stow-entry.mjs
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
1
|
/* global Bare */
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
// offloaded beside it, because dlopen cannot read a path inside a bundle. The
|
|
6
|
-
// tarball carries dist/prebuilds-manifest.json naming those addons, not the
|
|
7
|
-
// addons themselves, so whoever spawns the bundle has to put them back from
|
|
8
|
-
// their own node_modules — and then the two halves come from different
|
|
9
|
-
// installs. @qvac/core 0.1.2 shipped that way and hung on boot: a bare-pipe one
|
|
10
|
-
// patch release ahead of the JS calling it, no error, no exit.
|
|
11
|
-
//
|
|
12
|
-
// Nothing needs a bundle to spawn this. Run under `bare` from inside
|
|
13
|
-
// node_modules, every addon already sits beside the JS that calls it, out of
|
|
14
|
-
// one install, so they cannot disagree. The bundle stays published for hosts
|
|
15
|
-
// that relocate the code out of node_modules — a packaged desktop or mobile
|
|
16
|
-
// app, which stow their own entries anyway — and this is for everyone else.
|
|
17
|
-
//
|
|
18
|
-
// The protocol is bare-stow's own published export and the host end is
|
|
19
|
-
// unchanged: bare-supervisor's sidecar runner wraps this exactly as it wraps
|
|
20
|
-
// a bundle.
|
|
2
|
+
// bare-stow's generated bundle shim (lib/shim.js) as a plain file, so the
|
|
3
|
+
// sidecar can be spawned without stowing one.
|
|
4
|
+
import '../dist-lib/lib/hardware/gpu-probe-entry.js'
|
|
21
5
|
import protocol from 'bare-stow/protocol'
|
|
22
6
|
|
|
23
7
|
const ipc = protocol.attach(Bare.IPC)
|