@qvac/harness 0.1.0 → 0.1.2
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/harness.bundle +13 -64
- package/dist/prebuilds-manifest.json +0 -8
- package/dist-lib/index.d.ts +240 -0
- package/dist-lib/index.js +1063 -0
- package/dist-lib/lib/audio-transcode-bare.d.ts +2 -0
- package/dist-lib/lib/audio-transcode-bare.js +145 -0
- package/dist-lib/lib/audio-transcode-node.d.ts +2 -0
- package/dist-lib/lib/audio-transcode-node.js +6 -0
- package/dist-lib/lib/capabilities/audio-resample.d.ts +14 -0
- package/dist-lib/lib/capabilities/audio-resample.js +72 -0
- package/dist-lib/lib/capabilities/completion.d.ts +288 -0
- package/dist-lib/lib/capabilities/completion.js +1077 -0
- package/dist-lib/lib/capabilities/download.d.ts +46 -0
- package/dist-lib/lib/capabilities/download.js +124 -0
- package/dist-lib/lib/capabilities/embed.d.ts +20 -0
- package/dist-lib/lib/capabilities/embed.js +13 -0
- package/dist-lib/lib/capabilities/kv-cache.d.ts +13 -0
- package/dist-lib/lib/capabilities/kv-cache.js +21 -0
- package/dist-lib/lib/capabilities/prompt-prefix.d.ts +6 -0
- package/dist-lib/lib/capabilities/prompt-prefix.js +10 -0
- package/dist-lib/lib/capabilities/speech-lexicon.d.ts +5 -0
- package/dist-lib/lib/capabilities/speech-lexicon.js +32 -0
- package/dist-lib/lib/capabilities/speech-text.d.ts +6 -0
- package/dist-lib/lib/capabilities/speech-text.js +79 -0
- package/dist-lib/lib/capabilities/tool-names.d.ts +3 -0
- package/dist-lib/lib/capabilities/tool-names.js +3 -0
- package/dist-lib/lib/capabilities/tool-selection.d.ts +43 -0
- package/dist-lib/lib/capabilities/tool-selection.js +60 -0
- package/dist-lib/lib/capabilities/tool-turns.d.ts +9 -0
- package/dist-lib/lib/capabilities/tool-turns.js +101 -0
- package/dist-lib/lib/capabilities/usage-breakdown.d.ts +27 -0
- package/dist-lib/lib/capabilities/usage-breakdown.js +44 -0
- package/dist-lib/lib/capabilities/vision-history.d.ts +3 -0
- package/dist-lib/lib/capabilities/vision-history.js +21 -0
- package/dist-lib/lib/capabilities/voice.d.ts +78 -0
- package/dist-lib/lib/capabilities/voice.js +189 -0
- package/dist-lib/lib/connect.d.ts +76 -0
- package/dist-lib/lib/connect.js +789 -0
- package/dist-lib/lib/context-window.d.ts +7 -0
- package/dist-lib/lib/context-window.js +90 -0
- package/dist-lib/lib/contract-types.d.ts +210 -0
- package/dist-lib/lib/contract-types.js +1 -0
- package/dist-lib/lib/diagram-repair.d.ts +21 -0
- package/dist-lib/lib/diagram-repair.js +58 -0
- package/dist-lib/lib/dns-lookup.d.ts +1 -0
- package/dist-lib/lib/dns-lookup.js +13 -0
- package/dist-lib/lib/error-fields.d.ts +2 -0
- package/dist-lib/lib/error-fields.js +8 -0
- package/dist-lib/lib/fetch-node.d.ts +1 -0
- package/dist-lib/lib/fetch-node.js +1 -0
- package/dist-lib/lib/hardware/capability-probe.d.ts +9 -0
- package/dist-lib/lib/hardware/capability-probe.js +99 -0
- package/dist-lib/lib/hardware/gpu-classify.d.ts +2 -0
- package/dist-lib/lib/hardware/gpu-classify.js +32 -0
- package/dist-lib/lib/hardware/gpu-probe-addon.d.ts +2 -0
- package/dist-lib/lib/hardware/gpu-probe-addon.js +42 -0
- package/dist-lib/lib/hardware/gpu-stats.bare.d.ts +1 -0
- package/dist-lib/lib/hardware/gpu-stats.bare.js +24 -0
- package/dist-lib/lib/hardware/gpu-stats.stub.d.ts +1 -0
- package/dist-lib/lib/hardware/gpu-stats.stub.js +3 -0
- package/dist-lib/lib/hardware/memory-budget.d.ts +8 -0
- package/dist-lib/lib/hardware/memory-budget.js +1 -0
- package/dist-lib/lib/hardware/parsers.d.ts +7 -0
- package/dist-lib/lib/hardware/parsers.js +41 -0
- package/dist-lib/lib/headers-bare.d.ts +1 -0
- package/dist-lib/lib/headers-bare.js +1 -0
- package/dist-lib/lib/headers-node.d.ts +4 -0
- package/dist-lib/lib/headers-node.js +1 -0
- package/dist-lib/lib/helpers/buffer-burst.d.ts +1 -0
- package/dist-lib/lib/helpers/buffer-burst.js +20 -0
- package/dist-lib/lib/helpers/control-tokens.d.ts +7 -0
- package/dist-lib/lib/helpers/control-tokens.js +32 -0
- package/dist-lib/lib/helpers/join-guard.d.ts +6 -0
- package/dist-lib/lib/helpers/join-guard.js +46 -0
- package/dist-lib/lib/helpers/markup-stream-filter.d.ts +5 -0
- package/dist-lib/lib/helpers/markup-stream-filter.js +75 -0
- package/dist-lib/lib/helpers/race-abort.d.ts +5 -0
- package/dist-lib/lib/helpers/race-abort.js +18 -0
- package/dist-lib/lib/helpers/retry-memo.d.ts +5 -0
- package/dist-lib/lib/helpers/retry-memo.js +12 -0
- package/dist-lib/lib/helpers/run-outcome.d.ts +33 -0
- package/dist-lib/lib/helpers/run-outcome.js +204 -0
- package/dist-lib/lib/helpers/spawn-path.d.ts +5 -0
- package/dist-lib/lib/helpers/spawn-path.js +57 -0
- package/dist-lib/lib/helpers/text-coalescer.d.ts +15 -0
- package/dist-lib/lib/helpers/text-coalescer.js +34 -0
- package/dist-lib/lib/helpers/thinking.d.ts +8 -0
- package/dist-lib/lib/helpers/thinking.js +95 -0
- package/dist-lib/lib/helpers/tool-call-markup.d.ts +20 -0
- package/dist-lib/lib/helpers/tool-call-markup.js +201 -0
- package/dist-lib/lib/helpers/tool-intent.d.ts +7 -0
- package/dist-lib/lib/helpers/tool-intent.js +21 -0
- package/dist-lib/lib/helpers/tool-label.d.ts +8 -0
- package/dist-lib/lib/helpers/tool-label.js +131 -0
- package/dist-lib/lib/hooks/built-in/arg-repair.d.ts +5 -0
- package/dist-lib/lib/hooks/built-in/arg-repair.js +88 -0
- package/dist-lib/lib/hooks/built-in/egress.d.ts +5 -0
- package/dist-lib/lib/hooks/built-in/egress.js +29 -0
- package/dist-lib/lib/hooks/built-in/index.d.ts +3 -0
- package/dist-lib/lib/hooks/built-in/index.js +3 -0
- package/dist-lib/lib/hooks/built-in/skill-catalog.d.ts +10 -0
- package/dist-lib/lib/hooks/built-in/skill-catalog.js +17 -0
- package/dist-lib/lib/hooks/pipeline.d.ts +20 -0
- package/dist-lib/lib/hooks/pipeline.js +49 -0
- package/dist-lib/lib/hooks/registry.d.ts +2 -0
- package/dist-lib/lib/hooks/registry.js +6 -0
- package/dist-lib/lib/hooks/run.d.ts +5 -0
- package/dist-lib/lib/hooks/run.js +83 -0
- package/dist-lib/lib/hooks/types.d.ts +57 -0
- package/dist-lib/lib/hooks/types.js +1 -0
- package/dist-lib/lib/log.d.ts +5 -0
- package/dist-lib/lib/log.js +37 -0
- package/dist-lib/lib/model-download-progress.d.ts +22 -0
- package/dist-lib/lib/model-download-progress.js +95 -0
- package/dist-lib/lib/models/context.d.ts +5 -0
- package/dist-lib/lib/models/context.js +12 -0
- package/dist-lib/lib/models/embed-config.d.ts +14 -0
- package/dist-lib/lib/models/embed-config.js +31 -0
- package/dist-lib/lib/models/gpu-selection.d.ts +3 -0
- package/dist-lib/lib/models/gpu-selection.js +26 -0
- package/dist-lib/lib/models/kv-cache.d.ts +4 -0
- package/dist-lib/lib/models/kv-cache.js +6 -0
- package/dist-lib/lib/models/llm-presets.d.ts +10 -0
- package/dist-lib/lib/models/llm-presets.js +58 -0
- package/dist-lib/lib/models/model-catalog-constants.d.ts +29 -0
- package/dist-lib/lib/models/model-catalog-constants.js +103 -0
- package/dist-lib/lib/models/model-catalog.d.ts +125 -0
- package/dist-lib/lib/models/model-catalog.js +371 -0
- package/dist-lib/lib/models/model-delete.d.ts +18 -0
- package/dist-lib/lib/models/model-delete.js +47 -0
- package/dist-lib/lib/models/model-handle.d.ts +18 -0
- package/dist-lib/lib/models/model-handle.js +33 -0
- package/dist-lib/lib/models/model-list.d.ts +42 -0
- package/dist-lib/lib/models/model-list.js +123 -0
- package/dist-lib/lib/models/model-pool.d.ts +116 -0
- package/dist-lib/lib/models/model-pool.js +356 -0
- package/dist-lib/lib/models/model-source.d.ts +6 -0
- package/dist-lib/lib/models/model-source.js +21 -0
- package/dist-lib/lib/models/music-catalog.d.ts +12 -0
- package/dist-lib/lib/models/music-catalog.js +26 -0
- package/dist-lib/lib/models/opencl-cache.d.ts +5 -0
- package/dist-lib/lib/models/opencl-cache.js +50 -0
- package/dist-lib/lib/models/sdk-faults.d.ts +21 -0
- package/dist-lib/lib/models/sdk-faults.js +66 -0
- package/dist-lib/lib/models/tool-dialect.d.ts +2 -0
- package/dist-lib/lib/models/tool-dialect.js +19 -0
- package/dist-lib/lib/models/tts-model-default.d.ts +3 -0
- package/dist-lib/lib/models/tts-model-default.js +13 -0
- package/dist-lib/lib/no-redirect-fetch-bare.d.ts +15 -0
- package/dist-lib/lib/no-redirect-fetch-bare.js +59 -0
- package/dist-lib/lib/no-redirect-fetch-impl.d.ts +39 -0
- package/dist-lib/lib/no-redirect-fetch-impl.js +80 -0
- package/dist-lib/lib/no-redirect-fetch-node.d.ts +4 -0
- package/dist-lib/lib/no-redirect-fetch-node.js +52 -0
- package/dist-lib/lib/prompt.d.ts +22 -0
- package/dist-lib/lib/prompt.js +77 -0
- package/dist-lib/lib/queue.d.ts +9 -0
- package/dist-lib/lib/queue.js +48 -0
- package/dist-lib/lib/resolution-detector.d.ts +5 -0
- package/dist-lib/lib/resolution-detector.js +100 -0
- package/dist-lib/lib/rpc-session.d.ts +8 -0
- package/dist-lib/lib/rpc-session.js +20 -0
- package/dist-lib/lib/sdk-config-loader.bare.d.ts +1 -0
- package/dist-lib/lib/sdk-config-loader.bare.js +9 -0
- package/dist-lib/lib/sdk-config-loader.node.d.ts +1 -0
- package/dist-lib/lib/sdk-config-loader.node.js +1 -0
- package/dist-lib/lib/sdk-loader.d.ts +30 -0
- package/dist-lib/lib/sdk-loader.js +53 -0
- package/dist-lib/lib/sdk-storage.d.ts +8 -0
- package/dist-lib/lib/sdk-storage.js +24 -0
- package/dist-lib/lib/serve.d.ts +3 -0
- package/dist-lib/lib/serve.js +612 -0
- package/dist-lib/lib/spawn.d.ts +62 -0
- package/dist-lib/lib/spawn.js +71 -0
- package/dist-lib/lib/staging.d.ts +4 -0
- package/dist-lib/lib/staging.js +28 -0
- package/dist-lib/lib/storage.d.ts +18 -0
- package/dist-lib/lib/storage.js +26 -0
- package/dist-lib/lib/tmp-path.d.ts +7 -0
- package/dist-lib/lib/tmp-path.js +17 -0
- package/dist-lib/lib/tool-call-display.d.ts +21 -0
- package/dist-lib/lib/tool-call-display.js +1 -0
- package/dist-lib/lib/tools/catalog.d.ts +13 -0
- package/dist-lib/lib/tools/catalog.js +13 -0
- package/dist-lib/lib/tools/create-documents.d.ts +3 -0
- package/dist-lib/lib/tools/create-documents.js +87 -0
- package/dist-lib/lib/tools/edit-documents.d.ts +3 -0
- package/dist-lib/lib/tools/edit-documents.js +122 -0
- package/dist-lib/lib/tools/edit-image.d.ts +25 -0
- package/dist-lib/lib/tools/edit-image.js +271 -0
- package/dist-lib/lib/tools/exec/adapters/adapter.d.ts +27 -0
- package/dist-lib/lib/tools/exec/adapters/adapter.js +1 -0
- package/dist-lib/lib/tools/exec/adapters/python/attachments.d.ts +26 -0
- package/dist-lib/lib/tools/exec/adapters/python/attachments.js +160 -0
- package/dist-lib/lib/tools/exec/adapters/python/create-effect.d.ts +7 -0
- package/dist-lib/lib/tools/exec/adapters/python/create-effect.js +290 -0
- package/dist-lib/lib/tools/exec/adapters/python/loader.d.ts +11 -0
- package/dist-lib/lib/tools/exec/adapters/python/loader.js +94 -0
- package/dist-lib/lib/tools/exec/adapters/python/memfs.d.ts +47 -0
- package/dist-lib/lib/tools/exec/adapters/python/memfs.js +85 -0
- package/dist-lib/lib/tools/exec/adapters/python/output-policy.d.ts +13 -0
- package/dist-lib/lib/tools/exec/adapters/python/output-policy.js +129 -0
- package/dist-lib/lib/tools/exec/adapters/python/pyodide.d.ts +19 -0
- package/dist-lib/lib/tools/exec/adapters/python/pyodide.js +107 -0
- package/dist-lib/lib/tools/exec/adapters/python/python-adapter.d.ts +75 -0
- package/dist-lib/lib/tools/exec/adapters/python/python-adapter.js +1094 -0
- package/dist-lib/lib/tools/exec/adapters/python/run-session.d.ts +75 -0
- package/dist-lib/lib/tools/exec/adapters/python/run-session.js +273 -0
- package/dist-lib/lib/tools/exec/adapters/python/wheels.d.ts +38 -0
- package/dist-lib/lib/tools/exec/adapters/python/wheels.js +102 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/client.d.ts +7 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/client.js +188 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/entry.d.ts +1 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/entry.js +105 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/protocol.d.ts +38 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/protocol.js +41 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.d.ts +2 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-bare.js +30 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-node.d.ts +13 -0
- package/dist-lib/lib/tools/exec/adapters/python/worker/spawn-node.js +45 -0
- package/dist-lib/lib/tools/exec/adapters/shell/shell-adapter.d.ts +12 -0
- package/dist-lib/lib/tools/exec/adapters/shell/shell-adapter.js +20 -0
- package/dist-lib/lib/tools/exec/obsidian/cli-process.d.ts +8 -0
- package/dist-lib/lib/tools/exec/obsidian/cli-process.js +74 -0
- package/dist-lib/lib/tools/exec/obsidian/cli.d.ts +18 -0
- package/dist-lib/lib/tools/exec/obsidian/cli.js +153 -0
- package/dist-lib/lib/tools/exec/obsidian/command.d.ts +5 -0
- package/dist-lib/lib/tools/exec/obsidian/command.js +18 -0
- package/dist-lib/lib/tools/exec/obsidian/guidance.d.ts +5 -0
- package/dist-lib/lib/tools/exec/obsidian/guidance.js +18 -0
- package/dist-lib/lib/tools/exec/obsidian/note-name.d.ts +1 -0
- package/dist-lib/lib/tools/exec/obsidian/note-name.js +6 -0
- package/dist-lib/lib/tools/exec/obsidian/output.d.ts +1 -0
- package/dist-lib/lib/tools/exec/obsidian/output.js +31 -0
- package/dist-lib/lib/tools/exec/obsidian/route.d.ts +19 -0
- package/dist-lib/lib/tools/exec/obsidian/route.js +85 -0
- package/dist-lib/lib/tools/exec/obsidian/safe-path.d.ts +3 -0
- package/dist-lib/lib/tools/exec/obsidian/safe-path.js +56 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-create.d.ts +1 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-create.js +40 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-fs.d.ts +3 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-fs.js +57 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-paths.d.ts +20 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-paths.js +171 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-read.d.ts +11 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-read.js +119 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-write.d.ts +7 -0
- package/dist-lib/lib/tools/exec/obsidian/vault-write.js +134 -0
- package/dist-lib/lib/tools/exec/runner.d.ts +62 -0
- package/dist-lib/lib/tools/exec/runner.js +87 -0
- package/dist-lib/lib/tools/exec/scope.d.ts +3 -0
- package/dist-lib/lib/tools/exec/scope.js +97 -0
- package/dist-lib/lib/tools/exec/shell-argv.d.ts +2 -0
- package/dist-lib/lib/tools/exec/shell-argv.js +48 -0
- package/dist-lib/lib/tools/exec.d.ts +29 -0
- package/dist-lib/lib/tools/exec.js +459 -0
- package/dist-lib/lib/tools/file-glob.d.ts +15 -0
- package/dist-lib/lib/tools/file-glob.js +112 -0
- package/dist-lib/lib/tools/fs/drive.d.ts +26 -0
- package/dist-lib/lib/tools/fs/drive.js +1 -0
- package/dist-lib/lib/tools/fs/glob.d.ts +1 -0
- package/dist-lib/lib/tools/fs/glob.js +34 -0
- package/dist-lib/lib/tools/fs/local.d.ts +2 -0
- package/dist-lib/lib/tools/fs/local.js +29 -0
- package/dist-lib/lib/tools/fs/read.d.ts +2 -0
- package/dist-lib/lib/tools/fs/read.js +17 -0
- package/dist-lib/lib/tools/fs/remote-protocol.d.ts +40 -0
- package/dist-lib/lib/tools/fs/remote-protocol.js +1 -0
- package/dist-lib/lib/tools/fs/remote.d.ts +17 -0
- package/dist-lib/lib/tools/fs/remote.js +131 -0
- package/dist-lib/lib/tools/fs/scope.d.ts +37 -0
- package/dist-lib/lib/tools/fs/scope.js +130 -0
- package/dist-lib/lib/tools/fs/walk.d.ts +15 -0
- package/dist-lib/lib/tools/fs/walk.js +38 -0
- package/dist-lib/lib/tools/fs/write.d.ts +4 -0
- package/dist-lib/lib/tools/fs/write.js +5 -0
- package/dist-lib/lib/tools/generate-image.d.ts +111 -0
- package/dist-lib/lib/tools/generate-image.js +369 -0
- package/dist-lib/lib/tools/generate-music.d.ts +124 -0
- package/dist-lib/lib/tools/generate-music.js +522 -0
- package/dist-lib/lib/tools/grep.d.ts +5 -0
- package/dist-lib/lib/tools/grep.js +158 -0
- package/dist-lib/lib/tools/http-methods.d.ts +1 -0
- package/dist-lib/lib/tools/http-methods.js +1 -0
- package/dist-lib/lib/tools/http-request/encode-fields.d.ts +2 -0
- package/dist-lib/lib/tools/http-request/encode-fields.js +69 -0
- package/dist-lib/lib/tools/http-request/truncate-response.d.ts +1 -0
- package/dist-lib/lib/tools/http-request/truncate-response.js +83 -0
- package/dist-lib/lib/tools/http-request/utils.d.ts +27 -0
- package/dist-lib/lib/tools/http-request/utils.js +84 -0
- package/dist-lib/lib/tools/http-request.d.ts +20 -0
- package/dist-lib/lib/tools/http-request.js +177 -0
- package/dist-lib/lib/tools/mcp/utils.d.ts +47 -0
- package/dist-lib/lib/tools/mcp/utils.js +172 -0
- package/dist-lib/lib/tools/mcp-call.d.ts +14 -0
- package/dist-lib/lib/tools/mcp-call.js +155 -0
- package/dist-lib/lib/tools/model-args.d.ts +1 -0
- package/dist-lib/lib/tools/model-args.js +4 -0
- package/dist-lib/lib/tools/operations/builders.d.ts +17 -0
- package/dist-lib/lib/tools/operations/builders.js +179 -0
- package/dist-lib/lib/tools/operations/compile.d.ts +7 -0
- package/dist-lib/lib/tools/operations/compile.js +92 -0
- package/dist-lib/lib/tools/operations/gmail-message.d.ts +15 -0
- package/dist-lib/lib/tools/operations/gmail-message.js +62 -0
- package/dist-lib/lib/tools/operations/manifest.d.ts +60 -0
- package/dist-lib/lib/tools/operations/manifest.js +50 -0
- package/dist-lib/lib/tools/outbound-guard.d.ts +10 -0
- package/dist-lib/lib/tools/outbound-guard.js +127 -0
- package/dist-lib/lib/tools/private-ip.d.ts +4 -0
- package/dist-lib/lib/tools/private-ip.js +126 -0
- package/dist-lib/lib/tools/rag-search.d.ts +2 -0
- package/dist-lib/lib/tools/rag-search.js +98 -0
- package/dist-lib/lib/tools/read-files.d.ts +5 -0
- package/dist-lib/lib/tools/read-files.js +153 -0
- package/dist-lib/lib/tools/skill.d.ts +10 -0
- package/dist-lib/lib/tools/skill.js +123 -0
- package/dist-lib/lib/tools/skills/auth-resolver.d.ts +43 -0
- package/dist-lib/lib/tools/skills/auth-resolver.js +121 -0
- package/dist-lib/lib/tools/skills/bin-check.d.ts +9 -0
- package/dist-lib/lib/tools/skills/bin-check.js +56 -0
- package/dist-lib/lib/tools/skills/bundled-dir.d.ts +2 -0
- package/dist-lib/lib/tools/skills/bundled-dir.js +117 -0
- package/dist-lib/lib/tools/skills/bundled-hash.d.ts +4 -0
- package/dist-lib/lib/tools/skills/bundled-hash.js +12 -0
- package/dist-lib/lib/tools/skills/catalog.d.ts +60 -0
- package/dist-lib/lib/tools/skills/catalog.js +203 -0
- package/dist-lib/lib/tools/skills/cli-argv.d.ts +9 -0
- package/dist-lib/lib/tools/skills/cli-argv.js +147 -0
- package/dist-lib/lib/tools/skills/cli-schema-check.d.ts +3 -0
- package/dist-lib/lib/tools/skills/cli-schema-check.js +62 -0
- package/dist-lib/lib/tools/skills/cli-schema-load.d.ts +4 -0
- package/dist-lib/lib/tools/skills/cli-schema-load.js +90 -0
- package/dist-lib/lib/tools/skills/cli-schema-types.d.ts +30 -0
- package/dist-lib/lib/tools/skills/cli-schema-types.js +1 -0
- package/dist-lib/lib/tools/skills/cli-schema.d.ts +7 -0
- package/dist-lib/lib/tools/skills/cli-schema.js +35 -0
- package/dist-lib/lib/tools/skills/credential-check.d.ts +20 -0
- package/dist-lib/lib/tools/skills/credential-check.js +94 -0
- package/dist-lib/lib/tools/skills/credential-grants.d.ts +9 -0
- package/dist-lib/lib/tools/skills/credential-grants.js +25 -0
- package/dist-lib/lib/tools/skills/credential-health.d.ts +8 -0
- package/dist-lib/lib/tools/skills/credential-health.js +51 -0
- package/dist-lib/lib/tools/skills/credential-slots.d.ts +7 -0
- package/dist-lib/lib/tools/skills/credential-slots.js +8 -0
- package/dist-lib/lib/tools/skills/frontmatter-parser.d.ts +23 -0
- package/dist-lib/lib/tools/skills/frontmatter-parser.js +68 -0
- package/dist-lib/lib/tools/skills/index.d.ts +5 -0
- package/dist-lib/lib/tools/skills/index.js +5 -0
- package/dist-lib/lib/tools/skills/manifest-parse.d.ts +12 -0
- package/dist-lib/lib/tools/skills/manifest-parse.js +199 -0
- package/dist-lib/lib/tools/skills/manifest.d.ts +47 -0
- package/dist-lib/lib/tools/skills/manifest.js +1 -0
- package/dist-lib/lib/tools/skills/mention-name.d.ts +1 -0
- package/dist-lib/lib/tools/skills/mention-name.js +4 -0
- package/dist-lib/lib/tools/skills/mention.d.ts +6 -0
- package/dist-lib/lib/tools/skills/mention.js +42 -0
- package/dist-lib/lib/tools/skills/obsidian-readiness.d.ts +16 -0
- package/dist-lib/lib/tools/skills/obsidian-readiness.js +95 -0
- package/dist-lib/lib/tools/skills/overlay-crud.d.ts +18 -0
- package/dist-lib/lib/tools/skills/overlay-crud.js +98 -0
- package/dist-lib/lib/tools/skills/overlay-dir.d.ts +2 -0
- package/dist-lib/lib/tools/skills/overlay-dir.js +22 -0
- package/dist-lib/lib/tools/skills/overlay-watch.d.ts +13 -0
- package/dist-lib/lib/tools/skills/overlay-watch.js +44 -0
- package/dist-lib/lib/tools/skills/scope-key.d.ts +7 -0
- package/dist-lib/lib/tools/skills/scope-key.js +7 -0
- package/dist-lib/lib/tools/skills/setup-routes.d.ts +4 -0
- package/dist-lib/lib/tools/skills/setup-routes.js +14 -0
- package/dist-lib/lib/tools/skills/skill-settings.d.ts +16 -0
- package/dist-lib/lib/tools/skills/skill-settings.js +33 -0
- package/dist-lib/lib/tools/skills/skill-state-constants.d.ts +12 -0
- package/dist-lib/lib/tools/skills/skill-state-constants.js +14 -0
- package/dist-lib/lib/tools/skills/skill-state.d.ts +40 -0
- package/dist-lib/lib/tools/skills/skill-state.js +117 -0
- package/dist-lib/lib/tools/skills/tool-grants.d.ts +5 -0
- package/dist-lib/lib/tools/skills/tool-grants.js +14 -0
- package/dist-lib/lib/tools/toolsets.d.ts +8 -0
- package/dist-lib/lib/tools/toolsets.js +20 -0
- package/dist-lib/lib/tools/url-guard.d.ts +8 -0
- package/dist-lib/lib/tools/url-guard.js +40 -0
- package/dist-lib/lib/tools/web-fetch.d.ts +8 -0
- package/dist-lib/lib/tools/web-fetch.js +302 -0
- package/dist-lib/lib/tools/web-search.d.ts +6 -0
- package/dist-lib/lib/tools/web-search.js +55 -0
- package/dist-lib/lib/transport.d.ts +12 -0
- package/dist-lib/lib/transport.js +59 -0
- package/dist-lib/lib/user-agent.d.ts +1 -0
- package/dist-lib/lib/user-agent.js +1 -0
- package/dist-lib/lib/validating-lookup.d.ts +17 -0
- package/dist-lib/lib/validating-lookup.js +25 -0
- package/dist-lib/lib/wav-encode.d.ts +5 -0
- package/dist-lib/lib/wav-encode.js +24 -0
- package/dist-lib/lib/web-fetch/embedded-state.d.ts +1 -0
- package/dist-lib/lib/web-fetch/embedded-state.js +131 -0
- package/dist-lib/lib/web-fetch/extract.d.ts +6 -0
- package/dist-lib/lib/web-fetch/extract.js +65 -0
- package/dist-lib/lib/web-fetch/images.d.ts +3 -0
- package/dist-lib/lib/web-fetch/images.js +43 -0
- package/dist-lib/lib/web-fetch/video.d.ts +5 -0
- package/dist-lib/lib/web-fetch/video.js +42 -0
- package/dist-lib/lib/web-search/engine-registry.d.ts +7 -0
- package/dist-lib/lib/web-search/engine-registry.js +17 -0
- package/dist-lib/lib/web-search/engines/aol.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/aol.js +81 -0
- package/dist-lib/lib/web-search/engines/bing.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/bing.js +111 -0
- package/dist-lib/lib/web-search/engines/brave.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/brave.js +59 -0
- package/dist-lib/lib/web-search/engines/duckduckgo.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/duckduckgo.js +112 -0
- package/dist-lib/lib/web-search/engines/google.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/google.js +92 -0
- package/dist-lib/lib/web-search/engines/wikipedia.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/wikipedia.js +37 -0
- package/dist-lib/lib/web-search/engines/yahoo.d.ts +3 -0
- package/dist-lib/lib/web-search/engines/yahoo.js +81 -0
- package/dist-lib/lib/web-search/fetch-html.d.ts +25 -0
- package/dist-lib/lib/web-search/fetch-html.js +97 -0
- package/dist-lib/lib/web-search/format-results.d.ts +3 -0
- package/dist-lib/lib/web-search/format-results.js +14 -0
- package/dist-lib/lib/web-search/html-helpers.d.ts +3 -0
- package/dist-lib/lib/web-search/html-helpers.js +24 -0
- package/dist-lib/lib/web-search/merge-results.d.ts +2 -0
- package/dist-lib/lib/web-search/merge-results.js +53 -0
- package/dist-lib/lib/web-search/orchestrator.d.ts +14 -0
- package/dist-lib/lib/web-search/orchestrator.js +50 -0
- package/dist-lib/lib/web-search/types.d.ts +34 -0
- package/dist-lib/lib/web-search/types.js +1 -0
- package/dist-lib/lib/web-search/url-helpers.d.ts +1 -0
- package/dist-lib/lib/web-search/url-helpers.js +11 -0
- package/dist-lib/lib/web-search/url-normalize.d.ts +1 -0
- package/dist-lib/lib/web-search/url-normalize.js +25 -0
- package/dist-lib/lib/web-search/user-agents.d.ts +3 -0
- package/dist-lib/lib/web-search/user-agents.js +3 -0
- package/dist-lib/lib/wire.d.ts +50 -0
- package/dist-lib/lib/wire.js +145 -0
- package/dist-lib/schema/baseline.d.ts +8 -0
- package/dist-lib/schema/baseline.js +35 -0
- package/dist-lib/schema/build.d.ts +1 -0
- package/dist-lib/schema/build.js +39 -0
- package/dist-lib/schema/generate.d.ts +20 -0
- package/dist-lib/schema/generate.js +149 -0
- package/dist-lib/schema/harness.d.ts +2 -0
- package/dist-lib/schema/harness.js +745 -0
- package/dist-lib/schema/release-tags.d.ts +5 -0
- package/dist-lib/schema/release-tags.js +58 -0
- package/dist-lib/spec/bind.d.ts +2 -0
- package/dist-lib/spec/bind.js +124 -0
- package/dist-lib/spec/calls.d.ts +3 -0
- package/dist-lib/spec/calls.js +41 -0
- package/dist-lib/spec/hrpc/hrpc.json +356 -0
- package/dist-lib/spec/hrpc/index.d.ts +3 -0
- package/dist-lib/spec/hrpc/index.js +463 -0
- package/dist-lib/spec/hrpc/messages.d.ts +4 -0
- package/dist-lib/spec/hrpc/messages.js +3102 -0
- package/dist-lib/spec/hyperschema/index.js +3102 -0
- package/dist-lib/spec/hyperschema/schema.json +2290 -0
- package/dist-lib/spec/hyperschema/types.d.ts +554 -0
- package/dist-lib/spec/index.d.ts +8 -0
- package/dist-lib/spec/index.js +1 -0
- package/package.json +239 -64
- package/.gitattributes +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export function pushQueue({ highWaterMark = 0 } = {}) {
|
|
2
|
+
const items = [];
|
|
3
|
+
let wake = null;
|
|
4
|
+
let drain = null;
|
|
5
|
+
let ended = false;
|
|
6
|
+
const wakeConsumer = () => {
|
|
7
|
+
wake?.resolve();
|
|
8
|
+
wake = null;
|
|
9
|
+
};
|
|
10
|
+
const wakeProducer = () => {
|
|
11
|
+
drain?.resolve();
|
|
12
|
+
drain = null;
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
get size() {
|
|
16
|
+
return items.length;
|
|
17
|
+
},
|
|
18
|
+
push(item) {
|
|
19
|
+
if (ended)
|
|
20
|
+
return Promise.resolve();
|
|
21
|
+
items.push(item);
|
|
22
|
+
wakeConsumer();
|
|
23
|
+
if (highWaterMark <= 0 || items.length < highWaterMark)
|
|
24
|
+
return Promise.resolve();
|
|
25
|
+
drain ??= Promise.withResolvers();
|
|
26
|
+
return drain.promise;
|
|
27
|
+
},
|
|
28
|
+
end() {
|
|
29
|
+
ended = true;
|
|
30
|
+
wakeConsumer();
|
|
31
|
+
wakeProducer();
|
|
32
|
+
},
|
|
33
|
+
async *[Symbol.asyncIterator]() {
|
|
34
|
+
while (true) {
|
|
35
|
+
while (items.length) {
|
|
36
|
+
const item = items.shift();
|
|
37
|
+
if (highWaterMark > 0 && items.length < highWaterMark)
|
|
38
|
+
wakeProducer();
|
|
39
|
+
yield item;
|
|
40
|
+
}
|
|
41
|
+
if (ended)
|
|
42
|
+
return;
|
|
43
|
+
wake = Promise.withResolvers();
|
|
44
|
+
await wake.promise;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function resolutionDetail(err: unknown): Record<string, unknown>;
|
|
2
|
+
export declare function isReferrerLost(referrer: unknown, parent: string, cache: object | null): boolean;
|
|
3
|
+
export declare function resolutionFailure(specifier: string, parent: string, err: unknown): Record<string, unknown>;
|
|
4
|
+
export declare function installResolutionDetector(meta: ImportMeta): () => void;
|
|
5
|
+
export declare function uninstallResolutionDetector(): void;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { hlog } from "./log.js";
|
|
2
|
+
function readValue(value, key) {
|
|
3
|
+
if (value === null)
|
|
4
|
+
return undefined;
|
|
5
|
+
if (typeof value !== 'object' && typeof value !== 'function')
|
|
6
|
+
return undefined;
|
|
7
|
+
return Reflect.get(value, key);
|
|
8
|
+
}
|
|
9
|
+
function readString(value, key) {
|
|
10
|
+
const found = readValue(value, key);
|
|
11
|
+
return typeof found === 'string' ? found : null;
|
|
12
|
+
}
|
|
13
|
+
function readCandidates(err) {
|
|
14
|
+
const found = readValue(err, 'candidates');
|
|
15
|
+
if (!Array.isArray(found))
|
|
16
|
+
return undefined;
|
|
17
|
+
return found.map((candidate) => readString(candidate, 'href') ?? String(candidate));
|
|
18
|
+
}
|
|
19
|
+
export function resolutionDetail(err) {
|
|
20
|
+
const detail = {};
|
|
21
|
+
const code = readString(err, 'code');
|
|
22
|
+
if (code !== null)
|
|
23
|
+
detail.code = code;
|
|
24
|
+
const specifier = readString(err, 'specifier');
|
|
25
|
+
if (specifier !== null)
|
|
26
|
+
detail.specifier = specifier;
|
|
27
|
+
const referrer = readString(readValue(err, 'referrer'), 'href');
|
|
28
|
+
if (referrer !== null)
|
|
29
|
+
detail.referrer = referrer;
|
|
30
|
+
const candidates = readCandidates(err);
|
|
31
|
+
if (candidates !== undefined)
|
|
32
|
+
detail.candidates = candidates;
|
|
33
|
+
return detail;
|
|
34
|
+
}
|
|
35
|
+
function readCache(meta) {
|
|
36
|
+
const cache = readValue(meta, 'cache');
|
|
37
|
+
return typeof cache === 'object' && cache !== null ? cache : null;
|
|
38
|
+
}
|
|
39
|
+
export function isReferrerLost(referrer, parent, cache) {
|
|
40
|
+
if (referrer !== null && referrer !== undefined)
|
|
41
|
+
return false;
|
|
42
|
+
if (cache === null)
|
|
43
|
+
return false;
|
|
44
|
+
return Reflect.get(cache, parent) !== undefined;
|
|
45
|
+
}
|
|
46
|
+
export function resolutionFailure(specifier, parent, err) {
|
|
47
|
+
return {
|
|
48
|
+
specifier,
|
|
49
|
+
parent,
|
|
50
|
+
...resolutionDetail(err),
|
|
51
|
+
err: err instanceof Error ? err.message : String(err)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
let uninstall = null;
|
|
55
|
+
export function installResolutionDetector(meta) {
|
|
56
|
+
const cacheRecord = readCache(meta);
|
|
57
|
+
if (cacheRecord === null)
|
|
58
|
+
return noop;
|
|
59
|
+
if (uninstall !== null)
|
|
60
|
+
return noop;
|
|
61
|
+
const self = Reflect.get(cacheRecord, meta.url);
|
|
62
|
+
const Module = readValue(self, 'constructor');
|
|
63
|
+
if (typeof Module !== 'function')
|
|
64
|
+
return noop;
|
|
65
|
+
const resolve = readValue(Module, 'resolve');
|
|
66
|
+
if (typeof resolve !== 'function')
|
|
67
|
+
return noop;
|
|
68
|
+
const startedAt = Date.now();
|
|
69
|
+
const original = resolve.bind(Module);
|
|
70
|
+
const wrapped = (specifier, parentURL, opts = {}) => {
|
|
71
|
+
const parent = String(parentURL);
|
|
72
|
+
if (isReferrerLost(opts.referrer, parent, cacheRecord)) {
|
|
73
|
+
hlog('diag referrer LOST', {
|
|
74
|
+
specifier,
|
|
75
|
+
parent,
|
|
76
|
+
modules: Object.keys(cacheRecord).length,
|
|
77
|
+
aliveSec: Math.round((Date.now() - startedAt) / 1000)
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
return original(specifier, parentURL, opts);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
if (isReferrerLost(opts.referrer, parent, cacheRecord)) {
|
|
85
|
+
hlog('diag resolve FAILED after a lost referrer', resolutionFailure(specifier, parent, err));
|
|
86
|
+
}
|
|
87
|
+
throw err;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
Reflect.set(Module, 'resolve', wrapped);
|
|
91
|
+
uninstall = () => {
|
|
92
|
+
Reflect.set(Module, 'resolve', resolve);
|
|
93
|
+
uninstall = null;
|
|
94
|
+
};
|
|
95
|
+
return uninstall;
|
|
96
|
+
}
|
|
97
|
+
export function uninstallResolutionDetector() {
|
|
98
|
+
uninstall?.();
|
|
99
|
+
}
|
|
100
|
+
function noop() { }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface Stream {
|
|
2
|
+
destroyed?: boolean;
|
|
3
|
+
destroy(): void;
|
|
4
|
+
on(event: 'close', listener: () => void): unknown;
|
|
5
|
+
on(event: 'error', listener: (err: unknown) => void): unknown;
|
|
6
|
+
}
|
|
7
|
+
export type Transport = () => Stream | Promise<Stream>;
|
|
8
|
+
export declare function settleOnClose<T>(hrpc: T): T;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function settleOnClose(hrpc) {
|
|
2
|
+
const session = hrpc;
|
|
3
|
+
let reason = null;
|
|
4
|
+
const dead = (err) => {
|
|
5
|
+
reason ??= err ?? new Error('rpc stream destroyed');
|
|
6
|
+
};
|
|
7
|
+
const call = session._call.bind(session);
|
|
8
|
+
const callSync = session._callSync.bind(session);
|
|
9
|
+
session._call = (name, args) => (reason ? Promise.reject(reason) : call(name, args));
|
|
10
|
+
session._callSync = (name, args) => {
|
|
11
|
+
if (reason)
|
|
12
|
+
throw reason;
|
|
13
|
+
return callSync(name, args);
|
|
14
|
+
};
|
|
15
|
+
session._stream.on('error', (err) => dead(err));
|
|
16
|
+
session._stream.on('close', () => dead(null));
|
|
17
|
+
if (session._stream.destroyed)
|
|
18
|
+
dead(null);
|
|
19
|
+
return hrpc;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function installSdkConfigLoader(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function installSdkConfigLoader() {
|
|
2
|
+
if ('require' in globalThis)
|
|
3
|
+
return;
|
|
4
|
+
const module = Reflect.get(import.meta, 'cache')[import.meta.url];
|
|
5
|
+
Object.defineProperty(globalThis, 'require', {
|
|
6
|
+
configurable: true,
|
|
7
|
+
value: Reflect.get(module, 'constructor').createRequire(import.meta.url, { module })
|
|
8
|
+
});
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function installSdkConfigLoader(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function installSdkConfigLoader() { }
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type Sdk = typeof import('@qvac/sdk');
|
|
2
|
+
export type SdkPlugin = Parameters<(typeof import('@qvac/sdk/plugins'))['registerPlugin']>[0];
|
|
3
|
+
type Plugin = SdkPlugin;
|
|
4
|
+
interface PluginRegistry {
|
|
5
|
+
registerPlugin(plugin: Plugin): void;
|
|
6
|
+
}
|
|
7
|
+
export interface SdkImports {
|
|
8
|
+
sdk(): Promise<Sdk>;
|
|
9
|
+
plugins(): Promise<PluginRegistry>;
|
|
10
|
+
llm(): Promise<{
|
|
11
|
+
llmPlugin: Plugin;
|
|
12
|
+
}>;
|
|
13
|
+
embeddings(): Promise<{
|
|
14
|
+
embeddingsPlugin: Plugin;
|
|
15
|
+
}>;
|
|
16
|
+
tts(): Promise<{
|
|
17
|
+
ttsPlugin: Plugin;
|
|
18
|
+
}>;
|
|
19
|
+
parakeet(): Promise<{
|
|
20
|
+
parakeetPlugin: Plugin;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export interface SdkLoader {
|
|
24
|
+
load(): Promise<Sdk>;
|
|
25
|
+
loadEmbed(): Promise<Sdk>;
|
|
26
|
+
loadVoice(): Promise<Sdk>;
|
|
27
|
+
peek(): Promise<Sdk> | null;
|
|
28
|
+
}
|
|
29
|
+
export declare function createSdkLoader(imports?: SdkImports): SdkLoader;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { retryMemo } from "./helpers/retry-memo.js";
|
|
2
|
+
import { hlog } from "./log.js";
|
|
3
|
+
const defaultImports = {
|
|
4
|
+
sdk: () => import('@qvac/sdk'),
|
|
5
|
+
plugins: () => import('@qvac/sdk/plugins'),
|
|
6
|
+
llm: () => import('@qvac/sdk/llamacpp-completion/plugin'),
|
|
7
|
+
embeddings: () => import('@qvac/sdk/llamacpp-embedding/plugin'),
|
|
8
|
+
tts: () => import('@qvac/sdk/onnx-tts/plugin'),
|
|
9
|
+
parakeet: () => import('@qvac/sdk/parakeet-transcription/plugin')
|
|
10
|
+
};
|
|
11
|
+
function register(registry, name, plugin) {
|
|
12
|
+
try {
|
|
13
|
+
registry.registerPlugin(plugin);
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
hlog('plugin registration skipped', {
|
|
17
|
+
plugin: name,
|
|
18
|
+
err: err instanceof Error ? err.message : String(err)
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function createSdkLoader(imports = defaultImports) {
|
|
23
|
+
const load = retryMemo(async () => {
|
|
24
|
+
const [sdk, { llmPlugin }, registry] = await Promise.all([
|
|
25
|
+
imports.sdk(),
|
|
26
|
+
imports.llm(),
|
|
27
|
+
imports.plugins()
|
|
28
|
+
]);
|
|
29
|
+
register(registry, 'llm', llmPlugin);
|
|
30
|
+
return sdk;
|
|
31
|
+
});
|
|
32
|
+
const loadEmbed = retryMemo(async () => {
|
|
33
|
+
const [sdk, { embeddingsPlugin }, registry] = await Promise.all([
|
|
34
|
+
load(),
|
|
35
|
+
imports.embeddings(),
|
|
36
|
+
imports.plugins()
|
|
37
|
+
]);
|
|
38
|
+
register(registry, 'embeddings', embeddingsPlugin);
|
|
39
|
+
return sdk;
|
|
40
|
+
});
|
|
41
|
+
const loadVoice = retryMemo(async () => {
|
|
42
|
+
const [sdk, { ttsPlugin }, { parakeetPlugin }, registry] = await Promise.all([
|
|
43
|
+
load(),
|
|
44
|
+
imports.tts(),
|
|
45
|
+
imports.parakeet(),
|
|
46
|
+
imports.plugins()
|
|
47
|
+
]);
|
|
48
|
+
register(registry, 'tts', ttsPlugin);
|
|
49
|
+
register(registry, 'parakeet', parakeetPlugin);
|
|
50
|
+
return sdk;
|
|
51
|
+
});
|
|
52
|
+
return { load, loadEmbed, loadVoice, peek: () => load.peek() };
|
|
53
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type SdkStorage } from './storage.ts';
|
|
2
|
+
export declare const SDK_CONFIG_PATH_ENV = "QVAC_CONFIG_PATH";
|
|
3
|
+
export declare const OPENCL_CACHE_DIR_ENV = "QVAC_OPENCL_CACHE_DIR";
|
|
4
|
+
export interface SdkStorageChannels {
|
|
5
|
+
readonly env?: Record<string, string | undefined>;
|
|
6
|
+
readonly argv?: Array<string> | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function configureSdkStorage(storage: SdkStorage, channels?: SdkStorageChannels): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { mkdirSync, writeFileSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import process from 'process';
|
|
4
|
+
import { isBareKit } from 'which-runtime';
|
|
5
|
+
import { installSdkConfigLoader } from '#sdk-config-loader';
|
|
6
|
+
import { SDK_HOME_ENV } from "./storage.js";
|
|
7
|
+
export const SDK_CONFIG_PATH_ENV = 'QVAC_CONFIG_PATH';
|
|
8
|
+
export const OPENCL_CACHE_DIR_ENV = 'QVAC_OPENCL_CACHE_DIR';
|
|
9
|
+
export function configureSdkStorage(storage, channels = {}) {
|
|
10
|
+
const { env = process.env, argv = isBareKit ? Bare.argv : null } = channels;
|
|
11
|
+
installSdkConfigLoader();
|
|
12
|
+
mkdirSync(storage.home, { recursive: true });
|
|
13
|
+
const configPath = join(storage.home, 'qvac.config.json');
|
|
14
|
+
writeFileSync(configPath, `${JSON.stringify({ cacheDirectory: storage.models }, null, 2)}\n`);
|
|
15
|
+
const openclCacheDir = join(storage.home, 'opencl-cache');
|
|
16
|
+
mkdirSync(openclCacheDir, { recursive: true });
|
|
17
|
+
if (argv)
|
|
18
|
+
argv[0] = storage.home;
|
|
19
|
+
else
|
|
20
|
+
env[SDK_HOME_ENV] = storage.home;
|
|
21
|
+
env[SDK_CONFIG_PATH_ENV] = configPath;
|
|
22
|
+
env[OPENCL_CACHE_DIR_ENV] = openclCacheDir;
|
|
23
|
+
return configPath;
|
|
24
|
+
}
|