@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.
Files changed (68) hide show
  1. package/CHANGELOG.md +142 -1
  2. package/README.md +78 -27
  3. package/dist-lib/index.d.ts +15 -1
  4. package/dist-lib/index.js +175 -53
  5. package/dist-lib/lib/capabilities/preview-model-source.d.ts +0 -1
  6. package/dist-lib/lib/connect.d.ts +3 -1
  7. package/dist-lib/lib/connect.js +23 -2
  8. package/dist-lib/lib/contract-types.d.ts +14 -0
  9. package/dist-lib/lib/docx/index.d.ts +1 -1
  10. package/dist-lib/lib/docx/index.js +1 -1
  11. package/dist-lib/lib/hardware/capability-probe.js +9 -4
  12. package/dist-lib/lib/hooks/built-in/sandbox.js +0 -5
  13. package/dist-lib/lib/models/model-catalog-constants.d.ts +7 -0
  14. package/dist-lib/lib/models/model-catalog-constants.js +17 -0
  15. package/dist-lib/lib/models/model-catalog.d.ts +16 -6
  16. package/dist-lib/lib/models/model-catalog.js +21 -6
  17. package/dist-lib/lib/models/model-list.d.ts +2 -0
  18. package/dist-lib/lib/models/model-list.js +9 -4
  19. package/dist-lib/lib/models/model-pool.d.ts +6 -2
  20. package/dist-lib/lib/models/model-pool.js +67 -11
  21. package/dist-lib/lib/models/model-task.d.ts +3 -0
  22. package/dist-lib/lib/models/model-task.js +14 -0
  23. package/dist-lib/lib/models/music-catalog.d.ts +2 -0
  24. package/dist-lib/lib/models/music-catalog.js +9 -0
  25. package/dist-lib/lib/office/index.d.ts +1 -1
  26. package/dist-lib/lib/office/index.js +1 -1
  27. package/dist-lib/lib/office/python.js +1 -2
  28. package/dist-lib/lib/serve.js +12 -0
  29. package/dist-lib/lib/tools/exec/adapters/python/deadline-state.d.ts +10 -0
  30. package/dist-lib/lib/tools/exec/adapters/python/deadline-state.js +5 -0
  31. package/dist-lib/lib/tools/exec/adapters/python/interrupt-timer.js +10 -17
  32. package/dist-lib/lib/tools/exec/adapters/python/loader.js +15 -11
  33. package/dist-lib/lib/tools/exec/adapters/python/pyodide.js +1 -15
  34. package/dist-lib/lib/tools/exec/adapters/python/python-adapter.d.ts +1 -0
  35. package/dist-lib/lib/tools/exec/adapters/python/python-adapter.js +13 -2
  36. package/dist-lib/lib/tools/exec/adapters/python/wheels.d.ts +3 -3
  37. package/dist-lib/lib/tools/exec/adapters/python/wheels.js +3 -14
  38. package/dist-lib/lib/tools/exec/adapters/python/worker/active.d.ts +19 -0
  39. package/dist-lib/lib/tools/exec/adapters/python/worker/active.js +72 -0
  40. package/dist-lib/lib/tools/exec/adapters/python/worker/client.d.ts +0 -1
  41. package/dist-lib/lib/tools/exec/adapters/python/worker/client.js +8 -76
  42. package/dist-lib/lib/tools/exec/adapters/python/worker/entry.js +2 -126
  43. package/dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.d.ts +1 -0
  44. package/dist-lib/lib/tools/exec/adapters/python/worker/interrupt-deadline.js +21 -0
  45. package/dist-lib/lib/tools/exec/adapters/python/worker/serve.d.ts +2 -0
  46. package/dist-lib/lib/tools/exec/adapters/python/worker/serve.js +90 -0
  47. package/dist-lib/lib/tools/exec/adapters/python/worker/{spawn-node.d.ts → spawn.d.ts} +0 -1
  48. package/dist-lib/lib/tools/exec/adapters/python/worker/{spawn-node.js → spawn.js} +0 -8
  49. package/dist-lib/lib/tools/exec/bare-runtime.d.ts +2 -0
  50. package/dist-lib/lib/tools/exec/bare-runtime.js +10 -0
  51. package/dist-lib/lib/tools/exec.d.ts +0 -2
  52. package/dist-lib/lib/tools/exec.js +6 -11
  53. package/dist-lib/schema/harness.js +27 -1
  54. package/dist-lib/spec/bind.js +6 -0
  55. package/dist-lib/spec/calls.js +2 -0
  56. package/dist-lib/spec/hrpc/hrpc.json +26 -0
  57. package/dist-lib/spec/hrpc/index.js +27 -3
  58. package/dist-lib/spec/hrpc/messages.js +72 -5
  59. package/dist-lib/spec/hyperschema/index.js +72 -5
  60. package/dist-lib/spec/hyperschema/schema.json +53 -1
  61. package/dist-lib/spec/hyperschema/types.d.ts +18 -1
  62. package/package.json +40 -20
  63. package/dist/harness.bundle +0 -42312
  64. package/dist/harness.cjs +0 -18
  65. package/dist/harness.d.ts +0 -8
  66. package/dist/prebuilds-manifest.json +0 -372
  67. package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.d.ts +0 -3
  68. 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: 15
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 = 15
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 1 so always one byte
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: 15
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 = 15
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 1 so always one byte
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": 15,
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: 15
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.5.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/spawn-bare.ts": {
280
- "types": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.d.ts",
281
- "default": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.js"
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-node.ts": {
284
- "types": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-node.d.ts",
285
- "default": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-node.js"
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
- "prepack": "node scripts/vendor-python-wheels.mjs && node scripts/build-lib.mjs && node scripts/build-bundle.mjs --minify",
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-spawn": {
675
- "bare": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.js",
676
- "default": "./dist-lib/lib/tools/exec/adapters/python/worker/spawn-node.js"
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": "^0.5.2",
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-module-lexer": "^1.6.3",
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-runtime": "^1.30.0",
788
- "bare-module": "6.4.0",
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",