@qvac/harness 0.5.0 → 0.7.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.
- package/CHANGELOG.md +142 -1
- package/README.md +78 -27
- package/dist-lib/index.d.ts +15 -1
- package/dist-lib/index.js +175 -53
- package/dist-lib/lib/capabilities/preview-model-source.d.ts +0 -1
- package/dist-lib/lib/connect.d.ts +3 -1
- package/dist-lib/lib/connect.js +23 -2
- package/dist-lib/lib/contract-types.d.ts +14 -0
- package/dist-lib/lib/docx/index.d.ts +1 -1
- package/dist-lib/lib/docx/index.js +1 -1
- package/dist-lib/lib/hardware/capability-probe.js +9 -4
- package/dist-lib/lib/hooks/built-in/sandbox.js +0 -5
- package/dist-lib/lib/models/model-catalog-constants.d.ts +7 -0
- package/dist-lib/lib/models/model-catalog-constants.js +17 -0
- package/dist-lib/lib/models/model-catalog.d.ts +16 -6
- package/dist-lib/lib/models/model-catalog.js +21 -6
- package/dist-lib/lib/models/model-list.d.ts +2 -0
- package/dist-lib/lib/models/model-list.js +9 -4
- package/dist-lib/lib/models/model-pool.d.ts +6 -2
- package/dist-lib/lib/models/model-pool.js +67 -11
- package/dist-lib/lib/models/model-task.d.ts +3 -0
- package/dist-lib/lib/models/model-task.js +14 -0
- package/dist-lib/lib/models/music-catalog.d.ts +2 -0
- package/dist-lib/lib/models/music-catalog.js +9 -0
- package/dist-lib/lib/office/index.d.ts +1 -1
- package/dist-lib/lib/office/index.js +1 -1
- package/dist-lib/lib/office/python.js +1 -2
- package/dist-lib/lib/serve.js +12 -0
- package/dist-lib/lib/tools/exec/adapters/python/deadline-state.d.ts +10 -0
- package/dist-lib/lib/tools/exec/adapters/python/deadline-state.js +5 -0
- package/dist-lib/lib/tools/exec/adapters/python/interrupt-timer.js +10 -17
- package/dist-lib/lib/tools/exec/adapters/python/loader.js +15 -11
- package/dist-lib/lib/tools/exec/adapters/python/pyodide.js +1 -15
- package/dist-lib/lib/tools/exec/adapters/python/python-adapter.d.ts +1 -0
- package/dist-lib/lib/tools/exec/adapters/python/python-adapter.js +13 -2
- package/dist-lib/lib/tools/exec/adapters/python/wheels.d.ts +3 -3
- package/dist-lib/lib/tools/exec/adapters/python/wheels.js +3 -14
- package/dist-lib/lib/tools/exec/adapters/python/worker/active.d.ts +19 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/active.js +72 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/client.d.ts +0 -1
- package/dist-lib/lib/tools/exec/adapters/python/worker/client.js +8 -76
- package/dist-lib/lib/tools/exec/adapters/python/worker/entry.js +2 -126
- package/dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.d.ts +1 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.js +21 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/serve.d.ts +2 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/serve.js +90 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/{spawn-node.d.ts → spawn.d.ts} +0 -1
- package/dist-lib/lib/tools/exec/adapters/python/worker/{spawn-node.js → spawn.js} +0 -8
- package/dist-lib/lib/tools/exec/bare-runtime.d.ts +2 -0
- package/dist-lib/lib/tools/exec/bare-runtime.js +10 -0
- package/dist-lib/lib/tools/exec.d.ts +0 -2
- package/dist-lib/lib/tools/exec.js +6 -11
- package/dist-lib/schema/harness.js +27 -1
- package/dist-lib/spec/bind.js +6 -0
- package/dist-lib/spec/calls.js +2 -0
- package/dist-lib/spec/hrpc/hrpc.json +26 -0
- package/dist-lib/spec/hrpc/index.js +27 -3
- package/dist-lib/spec/hrpc/messages.js +72 -5
- package/dist-lib/spec/hyperschema/index.js +72 -5
- package/dist-lib/spec/hyperschema/schema.json +53 -1
- package/dist-lib/spec/hyperschema/types.d.ts +18 -1
- package/package.json +40 -20
- package/dist/harness.bundle +0 -42312
- package/dist/harness.cjs +0 -18
- package/dist/harness.d.ts +0 -8
- package/dist/prebuilds-manifest.json +0 -372
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.d.ts +0 -3
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.js +0 -38
|
@@ -67,7 +67,11 @@ const methods = new Map([
|
|
|
67
67
|
['@harness/preview-model-source', 29],
|
|
68
68
|
[29, '@harness/preview-model-source'],
|
|
69
69
|
['@harness/set-model-idle-timeout', 30],
|
|
70
|
-
[30, '@harness/set-model-idle-timeout']
|
|
70
|
+
[30, '@harness/set-model-idle-timeout'],
|
|
71
|
+
['@harness/load-model', 31],
|
|
72
|
+
[31, '@harness/load-model'],
|
|
73
|
+
['@harness/unload-model', 32],
|
|
74
|
+
[32, '@harness/unload-model']
|
|
71
75
|
])
|
|
72
76
|
|
|
73
77
|
class HRPC {
|
|
@@ -105,7 +109,9 @@ class HRPC {
|
|
|
105
109
|
['@harness/delete-kv-cache', getEncoding('@harness/kv-cache-delete-request')],
|
|
106
110
|
['@harness/detect-language', getEncoding('@harness/detect-language-request')],
|
|
107
111
|
['@harness/preview-model-source', getEncoding('@harness/preview-model-source-request')],
|
|
108
|
-
['@harness/set-model-idle-timeout', getEncoding('@harness/set-model-idle-timeout-request')]
|
|
112
|
+
['@harness/set-model-idle-timeout', getEncoding('@harness/set-model-idle-timeout-request')],
|
|
113
|
+
['@harness/load-model', getEncoding('@harness/warm-model-request')],
|
|
114
|
+
['@harness/unload-model', getEncoding('@harness/unload-model-request')]
|
|
109
115
|
])
|
|
110
116
|
this._responseEncodings = new Map([
|
|
111
117
|
['@harness/completion', getEncoding('@harness/completion-event')],
|
|
@@ -138,7 +144,9 @@ class HRPC {
|
|
|
138
144
|
['@harness/delete-kv-cache', getEncoding('@harness/kv-cache-deletion-response')],
|
|
139
145
|
['@harness/detect-language', getEncoding('@harness/detect-language-response')],
|
|
140
146
|
['@harness/preview-model-source', getEncoding('@harness/preview-model-source-response')],
|
|
141
|
-
['@harness/set-model-idle-timeout', getEncoding('@harness/ok-response')]
|
|
147
|
+
['@harness/set-model-idle-timeout', getEncoding('@harness/ok-response')],
|
|
148
|
+
['@harness/load-model', getEncoding('@harness/load-model-response')],
|
|
149
|
+
['@harness/unload-model', getEncoding('@harness/unload-model-response')]
|
|
142
150
|
])
|
|
143
151
|
this._rpc = new RPC(stream, async (req) => {
|
|
144
152
|
const command = methods.get(req.command)
|
|
@@ -360,6 +368,14 @@ class HRPC {
|
|
|
360
368
|
return this._call('@harness/set-model-idle-timeout', args)
|
|
361
369
|
}
|
|
362
370
|
|
|
371
|
+
async loadModel(args) {
|
|
372
|
+
return this._call('@harness/load-model', args)
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
async unloadModel(args) {
|
|
376
|
+
return this._call('@harness/unload-model', args)
|
|
377
|
+
}
|
|
378
|
+
|
|
363
379
|
onCompletion(responseFn) {
|
|
364
380
|
this._handlers['@harness/completion'] = responseFn
|
|
365
381
|
}
|
|
@@ -484,6 +500,14 @@ class HRPC {
|
|
|
484
500
|
this._handlers['@harness/set-model-idle-timeout'] = responseFn
|
|
485
501
|
}
|
|
486
502
|
|
|
503
|
+
onLoadModel(responseFn) {
|
|
504
|
+
this._handlers['@harness/load-model'] = responseFn
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
onUnloadModel(responseFn) {
|
|
508
|
+
this._handlers['@harness/unload-model'] = responseFn
|
|
509
|
+
}
|
|
510
|
+
|
|
487
511
|
_requestIsStream(command) {
|
|
488
512
|
return [
|
|
489
513
|
'@harness/completion',
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// This file is autogenerated by the hyperschema compiler
|
|
2
|
-
// Schema Version:
|
|
2
|
+
// Schema Version: 17
|
|
3
3
|
/* eslint-disable camelcase */
|
|
4
4
|
/* eslint-disable quotes */
|
|
5
5
|
/* eslint-disable space-before-function-paren */
|
|
6
6
|
|
|
7
7
|
import { c } from 'hyperschema/runtime'
|
|
8
8
|
|
|
9
|
-
const VERSION =
|
|
9
|
+
const VERSION = 17
|
|
10
10
|
|
|
11
11
|
// eslint-disable-next-line no-unused-vars
|
|
12
12
|
let version = VERSION
|
|
@@ -1919,12 +1919,12 @@ const encoding42 = {
|
|
|
1919
1919
|
preencode(state, m) {
|
|
1920
1920
|
encoding38.preencode(state, m.capabilityProfile)
|
|
1921
1921
|
c.string.preencode(state, m.recommendedModelName)
|
|
1922
|
-
state.end++ // max flag is
|
|
1922
|
+
state.end++ // max flag is 2 so always one byte
|
|
1923
1923
|
|
|
1924
1924
|
if (version >= 2 && m.memoryBudget) encoding42_2.preencode(state, m.memoryBudget)
|
|
1925
1925
|
},
|
|
1926
1926
|
encode(state, m) {
|
|
1927
|
-
const flags = (version >= 2 && m.memoryBudget) ? 1 : 0
|
|
1927
|
+
const flags = ((version >= 2 && m.memoryBudget) ? 1 : 0) | ((version >= 17 && m.mobile) ? 2 : 0)
|
|
1928
1928
|
|
|
1929
1929
|
encoding38.encode(state, m.capabilityProfile)
|
|
1930
1930
|
c.string.encode(state, m.recommendedModelName)
|
|
@@ -1940,7 +1940,8 @@ const encoding42 = {
|
|
|
1940
1940
|
return {
|
|
1941
1941
|
capabilityProfile: r0,
|
|
1942
1942
|
recommendedModelName: r1,
|
|
1943
|
-
memoryBudget: (version >= 2 && (flags & 1) !== 0) ? encoding42_2.decode(state) : null
|
|
1943
|
+
memoryBudget: (version >= 2 && (flags & 1) !== 0) ? encoding42_2.decode(state) : null,
|
|
1944
|
+
mobile: (version >= 17 && (flags & 2) !== 0)
|
|
1944
1945
|
}
|
|
1945
1946
|
}
|
|
1946
1947
|
}
|
|
@@ -3365,6 +3366,66 @@ const encoding88 = {
|
|
|
3365
3366
|
}
|
|
3366
3367
|
}
|
|
3367
3368
|
|
|
3369
|
+
// @harness/load-model-response
|
|
3370
|
+
const encoding89 = {
|
|
3371
|
+
preencode(state, m) {
|
|
3372
|
+
state.end++ // max flag is 2 so always one byte
|
|
3373
|
+
|
|
3374
|
+
if (version >= 16 && m.reason) c.string.preencode(state, m.reason)
|
|
3375
|
+
},
|
|
3376
|
+
encode(state, m) {
|
|
3377
|
+
const flags = ((version >= 16 && m.loaded) ? 1 : 0) | ((version >= 16 && m.reason) ? 2 : 0)
|
|
3378
|
+
|
|
3379
|
+
c.uint.encode(state, flags)
|
|
3380
|
+
|
|
3381
|
+
if (version >= 16 && m.reason) c.string.encode(state, m.reason)
|
|
3382
|
+
},
|
|
3383
|
+
decode(state) {
|
|
3384
|
+
const flags = c.uint.decode(state)
|
|
3385
|
+
|
|
3386
|
+
return {
|
|
3387
|
+
loaded: (version >= 16 && (flags & 1) !== 0),
|
|
3388
|
+
reason: (version >= 16 && (flags & 2) !== 0) ? c.string.decode(state) : null
|
|
3389
|
+
}
|
|
3390
|
+
}
|
|
3391
|
+
}
|
|
3392
|
+
|
|
3393
|
+
// @harness/unload-model-request
|
|
3394
|
+
const encoding90 = {
|
|
3395
|
+
preencode(state, m) {
|
|
3396
|
+
c.string.preencode(state, m.model)
|
|
3397
|
+
},
|
|
3398
|
+
encode(state, m) {
|
|
3399
|
+
c.string.encode(state, m.model)
|
|
3400
|
+
},
|
|
3401
|
+
decode(state) {
|
|
3402
|
+
const r0 = c.string.decode(state)
|
|
3403
|
+
|
|
3404
|
+
return {
|
|
3405
|
+
model: r0
|
|
3406
|
+
}
|
|
3407
|
+
}
|
|
3408
|
+
}
|
|
3409
|
+
|
|
3410
|
+
// @harness/unload-model-response
|
|
3411
|
+
const encoding91 = {
|
|
3412
|
+
preencode(state, m) {
|
|
3413
|
+
state.end++ // max flag is 1 so always one byte
|
|
3414
|
+
},
|
|
3415
|
+
encode(state, m) {
|
|
3416
|
+
const flags = (version >= 16 && m.unloaded) ? 1 : 0
|
|
3417
|
+
|
|
3418
|
+
c.uint.encode(state, flags)
|
|
3419
|
+
},
|
|
3420
|
+
decode(state) {
|
|
3421
|
+
const flags = c.uint.decode(state)
|
|
3422
|
+
|
|
3423
|
+
return {
|
|
3424
|
+
unloaded: (version >= 16 && (flags & 1) !== 0)
|
|
3425
|
+
}
|
|
3426
|
+
}
|
|
3427
|
+
}
|
|
3428
|
+
|
|
3368
3429
|
// @harness/completion-frame.grantedDrives, deferred due to recusive use
|
|
3369
3430
|
const encoding11_23 = c.array(c.frame(encoding60))
|
|
3370
3431
|
// @harness/skill.setupV2, deferred due to recusive use
|
|
@@ -3605,6 +3666,12 @@ function getEncoding(name) {
|
|
|
3605
3666
|
return encoding87
|
|
3606
3667
|
case '@harness/set-model-idle-timeout-request':
|
|
3607
3668
|
return encoding88
|
|
3669
|
+
case '@harness/load-model-response':
|
|
3670
|
+
return encoding89
|
|
3671
|
+
case '@harness/unload-model-request':
|
|
3672
|
+
return encoding90
|
|
3673
|
+
case '@harness/unload-model-response':
|
|
3674
|
+
return encoding91
|
|
3608
3675
|
default:
|
|
3609
3676
|
throw new Error('Encoder not found ' + name)
|
|
3610
3677
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// This file is autogenerated by the hyperschema compiler
|
|
2
|
-
// Schema Version:
|
|
2
|
+
// Schema Version: 17
|
|
3
3
|
/* eslint-disable camelcase */
|
|
4
4
|
/* eslint-disable quotes */
|
|
5
5
|
/* eslint-disable space-before-function-paren */
|
|
6
6
|
|
|
7
7
|
import { c } from 'hyperschema/runtime'
|
|
8
8
|
|
|
9
|
-
const VERSION =
|
|
9
|
+
const VERSION = 17
|
|
10
10
|
|
|
11
11
|
// eslint-disable-next-line no-unused-vars
|
|
12
12
|
let version = VERSION
|
|
@@ -1919,12 +1919,12 @@ const encoding42 = {
|
|
|
1919
1919
|
preencode(state, m) {
|
|
1920
1920
|
encoding38.preencode(state, m.capabilityProfile)
|
|
1921
1921
|
c.string.preencode(state, m.recommendedModelName)
|
|
1922
|
-
state.end++ // max flag is
|
|
1922
|
+
state.end++ // max flag is 2 so always one byte
|
|
1923
1923
|
|
|
1924
1924
|
if (version >= 2 && m.memoryBudget) encoding42_2.preencode(state, m.memoryBudget)
|
|
1925
1925
|
},
|
|
1926
1926
|
encode(state, m) {
|
|
1927
|
-
const flags = (version >= 2 && m.memoryBudget) ? 1 : 0
|
|
1927
|
+
const flags = ((version >= 2 && m.memoryBudget) ? 1 : 0) | ((version >= 17 && m.mobile) ? 2 : 0)
|
|
1928
1928
|
|
|
1929
1929
|
encoding38.encode(state, m.capabilityProfile)
|
|
1930
1930
|
c.string.encode(state, m.recommendedModelName)
|
|
@@ -1940,7 +1940,8 @@ const encoding42 = {
|
|
|
1940
1940
|
return {
|
|
1941
1941
|
capabilityProfile: r0,
|
|
1942
1942
|
recommendedModelName: r1,
|
|
1943
|
-
memoryBudget: (version >= 2 && (flags & 1) !== 0) ? encoding42_2.decode(state) : null
|
|
1943
|
+
memoryBudget: (version >= 2 && (flags & 1) !== 0) ? encoding42_2.decode(state) : null,
|
|
1944
|
+
mobile: (version >= 17 && (flags & 2) !== 0)
|
|
1944
1945
|
}
|
|
1945
1946
|
}
|
|
1946
1947
|
}
|
|
@@ -3365,6 +3366,66 @@ const encoding88 = {
|
|
|
3365
3366
|
}
|
|
3366
3367
|
}
|
|
3367
3368
|
|
|
3369
|
+
// @harness/load-model-response
|
|
3370
|
+
const encoding89 = {
|
|
3371
|
+
preencode(state, m) {
|
|
3372
|
+
state.end++ // max flag is 2 so always one byte
|
|
3373
|
+
|
|
3374
|
+
if (version >= 16 && m.reason) c.string.preencode(state, m.reason)
|
|
3375
|
+
},
|
|
3376
|
+
encode(state, m) {
|
|
3377
|
+
const flags = ((version >= 16 && m.loaded) ? 1 : 0) | ((version >= 16 && m.reason) ? 2 : 0)
|
|
3378
|
+
|
|
3379
|
+
c.uint.encode(state, flags)
|
|
3380
|
+
|
|
3381
|
+
if (version >= 16 && m.reason) c.string.encode(state, m.reason)
|
|
3382
|
+
},
|
|
3383
|
+
decode(state) {
|
|
3384
|
+
const flags = c.uint.decode(state)
|
|
3385
|
+
|
|
3386
|
+
return {
|
|
3387
|
+
loaded: (version >= 16 && (flags & 1) !== 0),
|
|
3388
|
+
reason: (version >= 16 && (flags & 2) !== 0) ? c.string.decode(state) : null
|
|
3389
|
+
}
|
|
3390
|
+
}
|
|
3391
|
+
}
|
|
3392
|
+
|
|
3393
|
+
// @harness/unload-model-request
|
|
3394
|
+
const encoding90 = {
|
|
3395
|
+
preencode(state, m) {
|
|
3396
|
+
c.string.preencode(state, m.model)
|
|
3397
|
+
},
|
|
3398
|
+
encode(state, m) {
|
|
3399
|
+
c.string.encode(state, m.model)
|
|
3400
|
+
},
|
|
3401
|
+
decode(state) {
|
|
3402
|
+
const r0 = c.string.decode(state)
|
|
3403
|
+
|
|
3404
|
+
return {
|
|
3405
|
+
model: r0
|
|
3406
|
+
}
|
|
3407
|
+
}
|
|
3408
|
+
}
|
|
3409
|
+
|
|
3410
|
+
// @harness/unload-model-response
|
|
3411
|
+
const encoding91 = {
|
|
3412
|
+
preencode(state, m) {
|
|
3413
|
+
state.end++ // max flag is 1 so always one byte
|
|
3414
|
+
},
|
|
3415
|
+
encode(state, m) {
|
|
3416
|
+
const flags = (version >= 16 && m.unloaded) ? 1 : 0
|
|
3417
|
+
|
|
3418
|
+
c.uint.encode(state, flags)
|
|
3419
|
+
},
|
|
3420
|
+
decode(state) {
|
|
3421
|
+
const flags = c.uint.decode(state)
|
|
3422
|
+
|
|
3423
|
+
return {
|
|
3424
|
+
unloaded: (version >= 16 && (flags & 1) !== 0)
|
|
3425
|
+
}
|
|
3426
|
+
}
|
|
3427
|
+
}
|
|
3428
|
+
|
|
3368
3429
|
// @harness/completion-frame.grantedDrives, deferred due to recusive use
|
|
3369
3430
|
const encoding11_23 = c.array(c.frame(encoding60))
|
|
3370
3431
|
// @harness/skill.setupV2, deferred due to recusive use
|
|
@@ -3605,6 +3666,12 @@ function getEncoding(name) {
|
|
|
3605
3666
|
return encoding87
|
|
3606
3667
|
case '@harness/set-model-idle-timeout-request':
|
|
3607
3668
|
return encoding88
|
|
3669
|
+
case '@harness/load-model-response':
|
|
3670
|
+
return encoding89
|
|
3671
|
+
case '@harness/unload-model-request':
|
|
3672
|
+
return encoding90
|
|
3673
|
+
case '@harness/unload-model-response':
|
|
3674
|
+
return encoding91
|
|
3608
3675
|
default:
|
|
3609
3676
|
throw new Error('Encoder not found ' + name)
|
|
3610
3677
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
2
|
+
"version": 17,
|
|
3
3
|
"schema": [
|
|
4
4
|
{
|
|
5
5
|
"name": "empty",
|
|
@@ -1580,6 +1580,11 @@
|
|
|
1580
1580
|
"name": "memoryBudget",
|
|
1581
1581
|
"type": "@harness/memory-budget",
|
|
1582
1582
|
"version": 2
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"name": "mobile",
|
|
1586
|
+
"type": "bool",
|
|
1587
|
+
"version": 17
|
|
1583
1588
|
}
|
|
1584
1589
|
]
|
|
1585
1590
|
},
|
|
@@ -2717,6 +2722,53 @@
|
|
|
2717
2722
|
"version": 15
|
|
2718
2723
|
}
|
|
2719
2724
|
]
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "load-model-response",
|
|
2728
|
+
"namespace": "harness",
|
|
2729
|
+
"compact": false,
|
|
2730
|
+
"flagsPosition": 0,
|
|
2731
|
+
"fields": [
|
|
2732
|
+
{
|
|
2733
|
+
"name": "loaded",
|
|
2734
|
+
"required": false,
|
|
2735
|
+
"type": "bool",
|
|
2736
|
+
"version": 16
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"name": "reason",
|
|
2740
|
+
"type": "string",
|
|
2741
|
+
"version": 16
|
|
2742
|
+
}
|
|
2743
|
+
]
|
|
2744
|
+
},
|
|
2745
|
+
{
|
|
2746
|
+
"name": "unload-model-request",
|
|
2747
|
+
"namespace": "harness",
|
|
2748
|
+
"compact": false,
|
|
2749
|
+
"flagsPosition": -1,
|
|
2750
|
+
"fields": [
|
|
2751
|
+
{
|
|
2752
|
+
"name": "model",
|
|
2753
|
+
"required": true,
|
|
2754
|
+
"type": "string",
|
|
2755
|
+
"version": 16
|
|
2756
|
+
}
|
|
2757
|
+
]
|
|
2758
|
+
},
|
|
2759
|
+
{
|
|
2760
|
+
"name": "unload-model-response",
|
|
2761
|
+
"namespace": "harness",
|
|
2762
|
+
"compact": false,
|
|
2763
|
+
"flagsPosition": 0,
|
|
2764
|
+
"fields": [
|
|
2765
|
+
{
|
|
2766
|
+
"name": "unloaded",
|
|
2767
|
+
"required": false,
|
|
2768
|
+
"type": "bool",
|
|
2769
|
+
"version": 16
|
|
2770
|
+
}
|
|
2771
|
+
]
|
|
2720
2772
|
}
|
|
2721
2773
|
]
|
|
2722
2774
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is autogenerated by hyperschema-ts
|
|
2
|
-
// Schema version:
|
|
2
|
+
// Schema version: 17
|
|
3
3
|
// Do not edit manually.
|
|
4
4
|
|
|
5
5
|
export interface HarnessEmpty {
|
|
@@ -312,6 +312,7 @@ export interface HarnessCapabilityResponse {
|
|
|
312
312
|
capabilityProfile: HarnessCapabilityProfile
|
|
313
313
|
recommendedModelName: string
|
|
314
314
|
memoryBudget?: HarnessMemoryBudget | null
|
|
315
|
+
mobile?: boolean
|
|
315
316
|
}
|
|
316
317
|
|
|
317
318
|
export interface HarnessTranscribeRequest {
|
|
@@ -568,6 +569,19 @@ export interface HarnessSetModelIdleTimeoutRequest {
|
|
|
568
569
|
ms: number
|
|
569
570
|
}
|
|
570
571
|
|
|
572
|
+
export interface HarnessLoadModelResponse {
|
|
573
|
+
loaded?: boolean
|
|
574
|
+
reason?: string | null
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export interface HarnessUnloadModelRequest {
|
|
578
|
+
model: string
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
export interface HarnessUnloadModelResponse {
|
|
582
|
+
unloaded?: boolean
|
|
583
|
+
}
|
|
584
|
+
|
|
571
585
|
export interface SchemaTypes {
|
|
572
586
|
"@harness/empty": HarnessEmpty
|
|
573
587
|
"@harness/ok-response": HarnessOkResponse
|
|
@@ -658,4 +672,7 @@ export interface SchemaTypes {
|
|
|
658
672
|
"@harness/model-source-file": HarnessModelSourceFile
|
|
659
673
|
"@harness/preview-model-source-response": HarnessPreviewModelSourceResponse
|
|
660
674
|
"@harness/set-model-idle-timeout-request": HarnessSetModelIdleTimeoutRequest
|
|
675
|
+
"@harness/load-model-response": HarnessLoadModelResponse
|
|
676
|
+
"@harness/unload-model-request": HarnessUnloadModelRequest
|
|
677
|
+
"@harness/unload-model-response": HarnessUnloadModelResponse
|
|
661
678
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qvac/harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"engines": {
|
|
6
|
+
"bare": ">=1.34.0"
|
|
7
|
+
},
|
|
5
8
|
"description": "An AI harness implementing generate(context) via @qvac/sdk. Knows nothing about workbench, hyperdb, or chunks — just inference in, events out.",
|
|
6
9
|
"exports": {
|
|
7
10
|
".": {
|
|
@@ -182,7 +185,6 @@
|
|
|
182
185
|
"types": "./dist-lib/schema/release-tags.d.ts",
|
|
183
186
|
"default": "./dist-lib/schema/release-tags.js"
|
|
184
187
|
},
|
|
185
|
-
"./dist/harness.cjs": "./dist/harness.cjs",
|
|
186
188
|
"./worker/stow-entry.mjs": "./worker/stow-entry.mjs",
|
|
187
189
|
"./lib/tools/catalog.ts": {
|
|
188
190
|
"types": "./dist-lib/lib/tools/catalog.d.ts",
|
|
@@ -212,6 +214,10 @@
|
|
|
212
214
|
"types": "./dist-lib/lib/tools/exec/adapters/python/create-effect.d.ts",
|
|
213
215
|
"default": "./dist-lib/lib/tools/exec/adapters/python/create-effect.js"
|
|
214
216
|
},
|
|
217
|
+
"./lib/tools/exec/adapters/python/deadline-state.ts": {
|
|
218
|
+
"types": "./dist-lib/lib/tools/exec/adapters/python/deadline-state.d.ts",
|
|
219
|
+
"default": "./dist-lib/lib/tools/exec/adapters/python/deadline-state.js"
|
|
220
|
+
},
|
|
215
221
|
"./lib/tools/exec/adapters/python/distributions.ts": {
|
|
216
222
|
"types": "./dist-lib/lib/tools/exec/adapters/python/distributions.d.ts",
|
|
217
223
|
"default": "./dist-lib/lib/tools/exec/adapters/python/distributions.js"
|
|
@@ -264,6 +270,10 @@
|
|
|
264
270
|
"types": "./dist-lib/lib/tools/exec/adapters/python/wheels.d.ts",
|
|
265
271
|
"default": "./dist-lib/lib/tools/exec/adapters/python/wheels.js"
|
|
266
272
|
},
|
|
273
|
+
"./lib/tools/exec/adapters/python/worker/active.ts": {
|
|
274
|
+
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/active.d.ts",
|
|
275
|
+
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/active.js"
|
|
276
|
+
},
|
|
267
277
|
"./lib/tools/exec/adapters/python/worker/client.ts": {
|
|
268
278
|
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/client.d.ts",
|
|
269
279
|
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/client.js"
|
|
@@ -272,22 +282,30 @@
|
|
|
272
282
|
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/entry.d.ts",
|
|
273
283
|
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/entry.js"
|
|
274
284
|
},
|
|
285
|
+
"./lib/tools/exec/adapters/python/worker/interrupt-deadline.ts": {
|
|
286
|
+
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.d.ts",
|
|
287
|
+
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.js"
|
|
288
|
+
},
|
|
275
289
|
"./lib/tools/exec/adapters/python/worker/protocol.ts": {
|
|
276
290
|
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/protocol.d.ts",
|
|
277
291
|
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/protocol.js"
|
|
278
292
|
},
|
|
279
|
-
"./lib/tools/exec/adapters/python/worker/
|
|
280
|
-
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/
|
|
281
|
-
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/
|
|
293
|
+
"./lib/tools/exec/adapters/python/worker/serve.ts": {
|
|
294
|
+
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/serve.d.ts",
|
|
295
|
+
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/serve.js"
|
|
282
296
|
},
|
|
283
|
-
"./lib/tools/exec/adapters/python/worker/spawn
|
|
284
|
-
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn
|
|
285
|
-
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn
|
|
297
|
+
"./lib/tools/exec/adapters/python/worker/spawn.ts": {
|
|
298
|
+
"types": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn.d.ts",
|
|
299
|
+
"default": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn.js"
|
|
286
300
|
},
|
|
287
301
|
"./lib/tools/exec/adapters/shell/shell-adapter.ts": {
|
|
288
302
|
"types": "./dist-lib/lib/tools/exec/adapters/shell/shell-adapter.d.ts",
|
|
289
303
|
"default": "./dist-lib/lib/tools/exec/adapters/shell/shell-adapter.js"
|
|
290
304
|
},
|
|
305
|
+
"./lib/tools/exec/bare-runtime.ts": {
|
|
306
|
+
"types": "./dist-lib/lib/tools/exec/bare-runtime.d.ts",
|
|
307
|
+
"default": "./dist-lib/lib/tools/exec/bare-runtime.js"
|
|
308
|
+
},
|
|
291
309
|
"./lib/tools/exec/obsidian/cli-process.ts": {
|
|
292
310
|
"types": "./dist-lib/lib/tools/exec/obsidian/cli-process.d.ts",
|
|
293
311
|
"default": "./dist-lib/lib/tools/exec/obsidian/cli-process.js"
|
|
@@ -606,7 +624,8 @@
|
|
|
606
624
|
"build:bundle": "node scripts/build-bundle.mjs",
|
|
607
625
|
"skill-eval": "bare examples/skill-eval/run.ts",
|
|
608
626
|
"translate-eval": "bare examples/translate-eval/run.ts",
|
|
609
|
-
"
|
|
627
|
+
"model-residency": "bare examples/model-residency/run.ts",
|
|
628
|
+
"prepack": "node scripts/vendor-python-wheels.mjs && node scripts/build-lib.mjs",
|
|
610
629
|
"vendor:wheels": "node scripts/vendor-python-wheels.mjs",
|
|
611
630
|
"build:lib": "node scripts/build-lib.mjs",
|
|
612
631
|
"test:addons": "node --test scripts/addon-externals.test.cjs"
|
|
@@ -671,9 +690,11 @@
|
|
|
671
690
|
"bare": "./dist-lib/lib/audio-transcode-bare.js",
|
|
672
691
|
"default": "./dist-lib/lib/audio-transcode-node.js"
|
|
673
692
|
},
|
|
674
|
-
"#pyodide-worker-
|
|
675
|
-
|
|
676
|
-
|
|
693
|
+
"#pyodide-worker-entry": "./dist-lib/lib/tools/exec/adapters/python/worker/entry.js",
|
|
694
|
+
"#pyodide-interrupt-deadline": "./dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.js",
|
|
695
|
+
"#pyodide-wheels": "./wheels/",
|
|
696
|
+
"worker_threads": {
|
|
697
|
+
"bare": "bare-worker"
|
|
677
698
|
},
|
|
678
699
|
"#sdk-config-loader": {
|
|
679
700
|
"bare": "./dist-lib/lib/sdk-config-loader.bare.js",
|
|
@@ -715,12 +736,11 @@
|
|
|
715
736
|
"bare-https": "^3.0.0",
|
|
716
737
|
"bare-image-resample": "^1.0.2",
|
|
717
738
|
"bare-media": "^2.10.0",
|
|
718
|
-
"bare-module": "6.4.0",
|
|
719
739
|
"bare-net": "^2.3.2",
|
|
720
740
|
"bare-os": "^3.9.1",
|
|
721
741
|
"bare-path": "^3.0.1",
|
|
722
742
|
"bare-process": "4.4.1",
|
|
723
|
-
"bare-sidecar": "
|
|
743
|
+
"bare-sidecar": "0.5.7",
|
|
724
744
|
"bare-storage": "^1.1.0",
|
|
725
745
|
"bare-stow": "^0.1.4",
|
|
726
746
|
"bare-stream": "^2.13.3",
|
|
@@ -729,6 +749,7 @@
|
|
|
729
749
|
"bare-tls": "^3.1.7",
|
|
730
750
|
"bare-tty": "^5.1.2",
|
|
731
751
|
"bare-url": "^2.4.5",
|
|
752
|
+
"bare-worker": "^4.5.0",
|
|
732
753
|
"compact-encoding": "^3.4.0",
|
|
733
754
|
"hrpc": "^4.3.0",
|
|
734
755
|
"hyperschema": "^1.23.0",
|
|
@@ -748,8 +769,7 @@
|
|
|
748
769
|
},
|
|
749
770
|
"devDependencies": {
|
|
750
771
|
"bare-bundle": "^1.10.0",
|
|
751
|
-
"bare-
|
|
752
|
-
"bare-runtime": "^1.30.0",
|
|
772
|
+
"bare-runtime": "1.34.0",
|
|
753
773
|
"bare-semver": "^1.1.0",
|
|
754
774
|
"brittle": "^4.0.2",
|
|
755
775
|
"brittle-jobs": "^0.2.1",
|
|
@@ -762,12 +782,10 @@
|
|
|
762
782
|
"mermaid": "~11.16.1",
|
|
763
783
|
"prettier": "^3.6.2",
|
|
764
784
|
"prettier-config-holepunch": "^2.0.0",
|
|
765
|
-
"terser": "^5.51.2",
|
|
766
785
|
"typescript": "^7.0.2"
|
|
767
786
|
},
|
|
768
787
|
"patchedDependencies": {
|
|
769
788
|
"pyodide@314.0.2": "patches/pyodide@314.0.2.patch",
|
|
770
|
-
"bare-sidecar@0.5.4": "patches/bare-sidecar@0.5.4.patch",
|
|
771
789
|
"localwatch@1.4.3": "patches/localwatch@1.4.3.patch",
|
|
772
790
|
"hypercore-blob-server@1.15.0": "patches/hypercore-blob-server@1.15.0.patch",
|
|
773
791
|
"bare-stow@0.1.5": "patches/bare-stow@0.1.5.patch",
|
|
@@ -784,8 +802,10 @@
|
|
|
784
802
|
},
|
|
785
803
|
"homepage": "https://github.com/tetherto/qvac-harness",
|
|
786
804
|
"overrides": {
|
|
787
|
-
"bare-
|
|
788
|
-
"bare-module": "
|
|
805
|
+
"bare-sidecar": "0.5.7",
|
|
806
|
+
"bare-module-traverse": "~2.5.8",
|
|
807
|
+
"bare-thread": "^1.2.7",
|
|
808
|
+
"bare-runtime": "1.34.0",
|
|
789
809
|
"bare-process": "4.4.1",
|
|
790
810
|
"lodash": "4.18.1",
|
|
791
811
|
"hyperschema": "^1.23.0",
|