@qvac/core 0.0.0 → 0.1.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/LICENSE.md +198 -0
- package/NOTICE.md +13 -0
- package/README.md +694 -0
- package/SECURITY.md +6 -0
- package/dist/assistant.bundle +47256 -0
- package/dist/assistant.cjs +18 -0
- package/dist/assistant.d.ts +8 -0
- package/dist/prebuilds-manifest.json +380 -0
- package/dist-lib/client.d.ts +2 -0
- package/dist-lib/client.js +1 -0
- package/dist-lib/index.d.ts +13 -0
- package/dist-lib/index.js +10 -0
- package/dist-lib/lib/agent-icons.d.ts +3 -0
- package/dist-lib/lib/agent-icons.js +1 -0
- package/dist-lib/lib/api/agents.d.ts +5 -0
- package/dist-lib/lib/api/agents.js +38 -0
- package/dist-lib/lib/api/app-config.d.ts +5 -0
- package/dist-lib/lib/api/app-config.js +108 -0
- package/dist-lib/lib/api/approval-rules.d.ts +3 -0
- package/dist-lib/lib/api/approval-rules.js +9 -0
- package/dist-lib/lib/api/attachments.d.ts +8 -0
- package/dist-lib/lib/api/attachments.js +15 -0
- package/dist-lib/lib/api/chat-groups.d.ts +5 -0
- package/dist-lib/lib/api/chat-groups.js +12 -0
- package/dist-lib/lib/api/chat.d.ts +5 -0
- package/dist-lib/lib/api/chat.js +38 -0
- package/dist-lib/lib/api/chunks.d.ts +5 -0
- package/dist-lib/lib/api/chunks.js +61 -0
- package/dist-lib/lib/api/config.d.ts +5 -0
- package/dist-lib/lib/api/config.js +15 -0
- package/dist-lib/lib/api/current-mesh.d.ts +5 -0
- package/dist-lib/lib/api/current-mesh.js +12 -0
- package/dist-lib/lib/api/custom-models.d.ts +5 -0
- package/dist-lib/lib/api/custom-models.js +45 -0
- package/dist-lib/lib/api/devices.d.ts +8 -0
- package/dist-lib/lib/api/devices.js +125 -0
- package/dist-lib/lib/api/diagnostics.d.ts +7 -0
- package/dist-lib/lib/api/diagnostics.js +7 -0
- package/dist-lib/lib/api/effective-ctx-size.d.ts +2 -0
- package/dist-lib/lib/api/effective-ctx-size.js +10 -0
- package/dist-lib/lib/api/execution.d.ts +3 -0
- package/dist-lib/lib/api/execution.js +45 -0
- package/dist-lib/lib/api/files.d.ts +3 -0
- package/dist-lib/lib/api/files.js +48 -0
- package/dist-lib/lib/api/index.d.ts +62 -0
- package/dist-lib/lib/api/index.js +172 -0
- package/dist-lib/lib/api/instrument.d.ts +2 -0
- package/dist-lib/lib/api/instrument.js +86 -0
- package/dist-lib/lib/api/knowledge.d.ts +8 -0
- package/dist-lib/lib/api/knowledge.js +26 -0
- package/dist-lib/lib/api/logs.d.ts +14 -0
- package/dist-lib/lib/api/logs.js +116 -0
- package/dist-lib/lib/api/mesh.d.ts +13 -0
- package/dist-lib/lib/api/mesh.js +25 -0
- package/dist-lib/lib/api/model-download.d.ts +5 -0
- package/dist-lib/lib/api/model-download.js +47 -0
- package/dist-lib/lib/api/network.d.ts +8 -0
- package/dist-lib/lib/api/network.js +6 -0
- package/dist-lib/lib/api/notifications.d.ts +21 -0
- package/dist-lib/lib/api/notifications.js +108 -0
- package/dist-lib/lib/api/rag.d.ts +7 -0
- package/dist-lib/lib/api/rag.js +216 -0
- package/dist-lib/lib/api/sync.d.ts +3 -0
- package/dist-lib/lib/api/sync.js +6 -0
- package/dist-lib/lib/api/tool-activity.d.ts +5 -0
- package/dist-lib/lib/api/tool-activity.js +53 -0
- package/dist-lib/lib/api/tool-configs.d.ts +6 -0
- package/dist-lib/lib/api/tool-configs.js +27 -0
- package/dist-lib/lib/api/watchable.d.ts +12 -0
- package/dist-lib/lib/api/watchable.js +121 -0
- package/dist-lib/lib/assistant-client.d.ts +21 -0
- package/dist-lib/lib/assistant-client.js +52 -0
- package/dist-lib/lib/assistant-tree.d.ts +50 -0
- package/dist-lib/lib/assistant-tree.js +184 -0
- package/dist-lib/lib/assistant.d.ts +425 -0
- package/dist-lib/lib/assistant.js +2706 -0
- package/dist-lib/lib/audio-format.d.ts +4 -0
- package/dist-lib/lib/audio-format.js +4 -0
- package/dist-lib/lib/chat-title.d.ts +5 -0
- package/dist-lib/lib/chat-title.js +58 -0
- package/dist-lib/lib/client.d.ts +25 -0
- package/dist-lib/lib/client.js +53 -0
- package/dist-lib/lib/collabora/convert.d.ts +9 -0
- package/dist-lib/lib/collabora/convert.js +62 -0
- package/dist-lib/lib/collabora/entry.d.ts +1 -0
- package/dist-lib/lib/collabora/entry.js +44 -0
- package/dist-lib/lib/collabora/protocol.d.ts +15 -0
- package/dist-lib/lib/collabora/protocol.js +24 -0
- package/dist-lib/lib/collabora/worker.d.ts +5 -0
- package/dist-lib/lib/collabora/worker.js +111 -0
- package/dist-lib/lib/compaction.d.ts +30 -0
- package/dist-lib/lib/compaction.js +95 -0
- package/dist-lib/lib/constants.d.ts +4 -0
- package/dist-lib/lib/constants.js +4 -0
- package/dist-lib/lib/core/agent.d.ts +15 -0
- package/dist-lib/lib/core/agent.js +149 -0
- package/dist-lib/lib/core/app-build.d.ts +7 -0
- package/dist-lib/lib/core/app-build.js +1 -0
- package/dist-lib/lib/core/approval-rules.d.ts +15 -0
- package/dist-lib/lib/core/approval-rules.js +41 -0
- package/dist-lib/lib/core/async-iterable.d.ts +13 -0
- package/dist-lib/lib/core/async-iterable.js +65 -0
- package/dist-lib/lib/core/attachment-link.d.ts +7 -0
- package/dist-lib/lib/core/attachment-link.js +6 -0
- package/dist-lib/lib/core/audio-attachment.d.ts +1 -0
- package/dist-lib/lib/core/audio-attachment.js +4 -0
- package/dist-lib/lib/core/blind-peers.d.ts +6 -0
- package/dist-lib/lib/core/blind-peers.js +13 -0
- package/dist-lib/lib/core/chat-activity.d.ts +7 -0
- package/dist-lib/lib/core/chat-activity.js +244 -0
- package/dist-lib/lib/core/chat-group.d.ts +14 -0
- package/dist-lib/lib/core/chat-group.js +79 -0
- package/dist-lib/lib/core/chat-search.d.ts +17 -0
- package/dist-lib/lib/core/chat-search.js +199 -0
- package/dist-lib/lib/core/chat.d.ts +37 -0
- package/dist-lib/lib/core/chat.js +196 -0
- package/dist-lib/lib/core/chunk.d.ts +61 -0
- package/dist-lib/lib/core/chunk.js +212 -0
- package/dist-lib/lib/core/contract/activity.d.ts +11 -0
- package/dist-lib/lib/core/contract/activity.js +45 -0
- package/dist-lib/lib/core/contract/agents.d.ts +2 -0
- package/dist-lib/lib/core/contract/agents.js +29 -0
- package/dist-lib/lib/core/contract/approval-rules.d.ts +2 -0
- package/dist-lib/lib/core/contract/approval-rules.js +14 -0
- package/dist-lib/lib/core/contract/attestations.d.ts +2 -0
- package/dist-lib/lib/core/contract/attestations.js +14 -0
- package/dist-lib/lib/core/contract/chat-group.d.ts +2 -0
- package/dist-lib/lib/core/contract/chat-group.js +20 -0
- package/dist-lib/lib/core/contract/chat.d.ts +2 -0
- package/dist-lib/lib/core/contract/chat.js +18 -0
- package/dist-lib/lib/core/contract/chunks.d.ts +2 -0
- package/dist-lib/lib/core/contract/chunks.js +156 -0
- package/dist-lib/lib/core/contract/devices.d.ts +2 -0
- package/dist-lib/lib/core/contract/devices.js +110 -0
- package/dist-lib/lib/core/contract/index.d.ts +2 -0
- package/dist-lib/lib/core/contract/index.js +30 -0
- package/dist-lib/lib/core/contract/indexing.d.ts +4 -0
- package/dist-lib/lib/core/contract/indexing.js +82 -0
- package/dist-lib/lib/core/contract/knowledge.d.ts +2 -0
- package/dist-lib/lib/core/contract/knowledge.js +55 -0
- package/dist-lib/lib/core/contract/members.d.ts +2 -0
- package/dist-lib/lib/core/contract/members.js +96 -0
- package/dist-lib/lib/core/contract/seed-defaults.d.ts +2 -0
- package/dist-lib/lib/core/contract/seed-defaults.js +29 -0
- package/dist-lib/lib/core/contract/tool-activity.d.ts +2 -0
- package/dist-lib/lib/core/contract/tool-activity.js +25 -0
- package/dist-lib/lib/core/contract/tool-configs.d.ts +2 -0
- package/dist-lib/lib/core/contract/tool-configs.js +50 -0
- package/dist-lib/lib/core/contract/types.d.ts +11 -0
- package/dist-lib/lib/core/contract/types.js +1 -0
- package/dist-lib/lib/core/contract/writers.d.ts +2 -0
- package/dist-lib/lib/core/contract/writers.js +112 -0
- package/dist-lib/lib/core/cpu-info-node.d.ts +3 -0
- package/dist-lib/lib/core/cpu-info-node.js +2 -0
- package/dist-lib/lib/core/departures.d.ts +41 -0
- package/dist-lib/lib/core/departures.js +145 -0
- package/dist-lib/lib/core/device-attestation.d.ts +6 -0
- package/dist-lib/lib/core/device-attestation.js +12 -0
- package/dist-lib/lib/core/devices.d.ts +14 -0
- package/dist-lib/lib/core/devices.js +11 -0
- package/dist-lib/lib/core/document-attachment.d.ts +22 -0
- package/dist-lib/lib/core/document-attachment.js +35 -0
- package/dist-lib/lib/core/files/attachments.d.ts +8 -0
- package/dist-lib/lib/core/files/attachments.js +50 -0
- package/dist-lib/lib/core/files/index.d.ts +133 -0
- package/dist-lib/lib/core/files/index.js +585 -0
- package/dist-lib/lib/core/files/knowledge.d.ts +9 -0
- package/dist-lib/lib/core/files/knowledge.js +31 -0
- package/dist-lib/lib/core/files/preview/image.d.ts +4 -0
- package/dist-lib/lib/core/files/preview/image.js +42 -0
- package/dist-lib/lib/core/files/preview/index.d.ts +33 -0
- package/dist-lib/lib/core/files/preview/index.js +161 -0
- package/dist-lib/lib/core/files/processing/claims.d.ts +26 -0
- package/dist-lib/lib/core/files/processing/claims.js +89 -0
- package/dist-lib/lib/core/files/processing/document.d.ts +100 -0
- package/dist-lib/lib/core/files/processing/document.js +101 -0
- package/dist-lib/lib/core/files/processing/index.d.ts +75 -0
- package/dist-lib/lib/core/files/processing/index.js +295 -0
- package/dist-lib/lib/core/files/processing/ownership.d.ts +11 -0
- package/dist-lib/lib/core/files/processing/ownership.js +41 -0
- package/dist-lib/lib/core/files/processing/protocol.d.ts +29 -0
- package/dist-lib/lib/core/files/processing/protocol.js +70 -0
- package/dist-lib/lib/core/files/processing/settle.d.ts +10 -0
- package/dist-lib/lib/core/files/processing/settle.js +75 -0
- package/dist-lib/lib/core/files/processing/source.d.ts +36 -0
- package/dist-lib/lib/core/files/processing/source.js +96 -0
- package/dist-lib/lib/core/files/processing/state.d.ts +64 -0
- package/dist-lib/lib/core/files/processing/state.js +118 -0
- package/dist-lib/lib/core/files/rag/artifact/codec.d.ts +3 -0
- package/dist-lib/lib/core/files/rag/artifact/codec.js +172 -0
- package/dist-lib/lib/core/files/rag/artifact/id.d.ts +10 -0
- package/dist-lib/lib/core/files/rag/artifact/id.js +39 -0
- package/dist-lib/lib/core/files/rag/artifact/types.d.ts +24 -0
- package/dist-lib/lib/core/files/rag/artifact/types.js +41 -0
- package/dist-lib/lib/core/files/rag/build.d.ts +25 -0
- package/dist-lib/lib/core/files/rag/build.js +60 -0
- package/dist-lib/lib/core/files/rag/chunk/chunking.d.ts +12 -0
- package/dist-lib/lib/core/files/rag/chunk/chunking.js +117 -0
- package/dist-lib/lib/core/files/rag/chunk/metadata.d.ts +30 -0
- package/dist-lib/lib/core/files/rag/chunk/metadata.js +89 -0
- package/dist-lib/lib/core/files/rag/chunk/tokenizer.d.ts +7 -0
- package/dist-lib/lib/core/files/rag/chunk/tokenizer.js +18 -0
- package/dist-lib/lib/core/files/rag/document-types.d.ts +11 -0
- package/dist-lib/lib/core/files/rag/document-types.js +94 -0
- package/dist-lib/lib/core/files/rag/extract/csv-text.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/extract/csv-text.js +117 -0
- package/dist-lib/lib/core/files/rag/extract/document-types.d.ts +22 -0
- package/dist-lib/lib/core/files/rag/extract/document-types.js +152 -0
- package/dist-lib/lib/core/files/rag/extract/extract.d.ts +17 -0
- package/dist-lib/lib/core/files/rag/extract/extract.js +81 -0
- package/dist-lib/lib/core/files/rag/extract/html-table-text.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/extract/html-table-text.js +125 -0
- package/dist-lib/lib/core/files/rag/extract/html-text.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/extract/html-text.js +132 -0
- package/dist-lib/lib/core/files/rag/extract/office-collabora.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/extract/office-collabora.js +8 -0
- package/dist-lib/lib/core/files/rag/extract/pdf-platform.d.ts +17 -0
- package/dist-lib/lib/core/files/rag/extract/pdf-platform.js +141 -0
- package/dist-lib/lib/core/files/rag/extract/pdf-text.d.ts +12 -0
- package/dist-lib/lib/core/files/rag/extract/pdf-text.js +43 -0
- package/dist-lib/lib/core/files/rag/extract/rtf-text.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/extract/rtf-text.js +15 -0
- package/dist-lib/lib/core/files/rag/extract/text-decoding.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/extract/text-decoding.js +91 -0
- package/dist-lib/lib/core/files/rag/extract/types.d.ts +36 -0
- package/dist-lib/lib/core/files/rag/extract/types.js +12 -0
- package/dist-lib/lib/core/files/rag/extract/utf.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/extract/utf.js +18 -0
- package/dist-lib/lib/core/files/rag/index.d.ts +54 -0
- package/dist-lib/lib/core/files/rag/index.js +79 -0
- package/dist-lib/lib/core/files/rag/limits.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/limits.js +2 -0
- package/dist-lib/lib/core/files/rag/load.d.ts +28 -0
- package/dist-lib/lib/core/files/rag/load.js +250 -0
- package/dist-lib/lib/core/files/rag/models.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/models.js +1 -0
- package/dist-lib/lib/core/files/rag/policy.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/policy.js +23 -0
- package/dist-lib/lib/core/files/rag/produce.d.ts +21 -0
- package/dist-lib/lib/core/files/rag/produce.js +214 -0
- package/dist-lib/lib/core/files/rag/retrieval/citation-match.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/retrieval/citation-match.js +16 -0
- package/dist-lib/lib/core/files/rag/retrieval/coverage.d.ts +4 -0
- package/dist-lib/lib/core/files/rag/retrieval/coverage.js +48 -0
- package/dist-lib/lib/core/files/rag/retrieval/diversity.d.ts +10 -0
- package/dist-lib/lib/core/files/rag/retrieval/diversity.js +37 -0
- package/dist-lib/lib/core/files/rag/retrieval/floor.d.ts +5 -0
- package/dist-lib/lib/core/files/rag/retrieval/floor.js +21 -0
- package/dist-lib/lib/core/files/rag/retrieval/format.d.ts +6 -0
- package/dist-lib/lib/core/files/rag/retrieval/format.js +21 -0
- package/dist-lib/lib/core/files/rag/retrieval/full-text.d.ts +22 -0
- package/dist-lib/lib/core/files/rag/retrieval/full-text.js +137 -0
- package/dist-lib/lib/core/files/rag/retrieval/knowledge.d.ts +2 -0
- package/dist-lib/lib/core/files/rag/retrieval/knowledge.js +53 -0
- package/dist-lib/lib/core/files/rag/retrieval/notices.d.ts +16 -0
- package/dist-lib/lib/core/files/rag/retrieval/notices.js +27 -0
- package/dist-lib/lib/core/files/rag/retrieval/scoring.d.ts +8 -0
- package/dist-lib/lib/core/files/rag/retrieval/scoring.js +82 -0
- package/dist-lib/lib/core/files/rag/retrieval/search.d.ts +3 -0
- package/dist-lib/lib/core/files/rag/retrieval/search.js +46 -0
- package/dist-lib/lib/core/files/rag/retrieval/selection.d.ts +10 -0
- package/dist-lib/lib/core/files/rag/retrieval/selection.js +63 -0
- package/dist-lib/lib/core/files/rag/retrieval/source-tag-filter.d.ts +6 -0
- package/dist-lib/lib/core/files/rag/retrieval/source-tag-filter.js +79 -0
- package/dist-lib/lib/core/files/rag/retrieval/sources.d.ts +13 -0
- package/dist-lib/lib/core/files/rag/retrieval/sources.js +20 -0
- package/dist-lib/lib/core/files/rag/retrieval/target.d.ts +13 -0
- package/dist-lib/lib/core/files/rag/retrieval/target.js +89 -0
- package/dist-lib/lib/core/files/rag/retrieval/terms.d.ts +8 -0
- package/dist-lib/lib/core/files/rag/retrieval/terms.js +70 -0
- package/dist-lib/lib/core/files/rag/retrieval/types.d.ts +28 -0
- package/dist-lib/lib/core/files/rag/retrieval/types.js +1 -0
- package/dist-lib/lib/core/files/rag/retrieval/web-sources.d.ts +8 -0
- package/dist-lib/lib/core/files/rag/retrieval/web-sources.js +41 -0
- package/dist-lib/lib/core/files/rag/retrieval/whole-document-query.d.ts +1 -0
- package/dist-lib/lib/core/files/rag/retrieval/whole-document-query.js +96 -0
- package/dist-lib/lib/core/files/rag/vector/memory.d.ts +15 -0
- package/dist-lib/lib/core/files/rag/vector/memory.js +135 -0
- package/dist-lib/lib/core/files/rag/vector/types.d.ts +28 -0
- package/dist-lib/lib/core/files/rag/vector/types.js +1 -0
- package/dist-lib/lib/core/files/records/chunks.d.ts +3 -0
- package/dist-lib/lib/core/files/records/chunks.js +12 -0
- package/dist-lib/lib/core/files/records/index.d.ts +10 -0
- package/dist-lib/lib/core/files/records/index.js +8 -0
- package/dist-lib/lib/core/files/records/knowledge.d.ts +22 -0
- package/dist-lib/lib/core/files/records/knowledge.js +105 -0
- package/dist-lib/lib/core/files/records/linkage.d.ts +11 -0
- package/dist-lib/lib/core/files/records/linkage.js +27 -0
- package/dist-lib/lib/core/files/records/output.d.ts +8 -0
- package/dist-lib/lib/core/files/records/output.js +38 -0
- package/dist-lib/lib/core/files/records/reclaim.d.ts +5 -0
- package/dist-lib/lib/core/files/records/reclaim.js +73 -0
- package/dist-lib/lib/core/files/records/routing.d.ts +23 -0
- package/dist-lib/lib/core/files/records/routing.js +62 -0
- package/dist-lib/lib/core/files/records/source.d.ts +16 -0
- package/dist-lib/lib/core/files/records/source.js +70 -0
- package/dist-lib/lib/core/files/records/sweep.d.ts +2 -0
- package/dist-lib/lib/core/files/records/sweep.js +30 -0
- package/dist-lib/lib/core/files/store/blob.d.ts +29 -0
- package/dist-lib/lib/core/files/store/blob.js +98 -0
- package/dist-lib/lib/core/files/store/index.d.ts +36 -0
- package/dist-lib/lib/core/files/store/index.js +89 -0
- package/dist-lib/lib/core/files/store/inline.d.ts +8 -0
- package/dist-lib/lib/core/files/store/inline.js +38 -0
- package/dist-lib/lib/core/files/store/reference.d.ts +27 -0
- package/dist-lib/lib/core/files/store/reference.js +168 -0
- package/dist-lib/lib/core/files/store/server.d.ts +27 -0
- package/dist-lib/lib/core/files/store/server.js +114 -0
- package/dist-lib/lib/core/files/store/sweep.d.ts +2 -0
- package/dist-lib/lib/core/files/store/sweep.js +45 -0
- package/dist-lib/lib/core/files/upload-input.d.ts +27 -0
- package/dist-lib/lib/core/files/upload-input.js +52 -0
- package/dist-lib/lib/core/files/upload.d.ts +32 -0
- package/dist-lib/lib/core/files/upload.js +201 -0
- package/dist-lib/lib/core/fs-drives.d.ts +18 -0
- package/dist-lib/lib/core/fs-drives.js +58 -0
- package/dist-lib/lib/core/gpu-info-node.d.ts +3 -0
- package/dist-lib/lib/core/gpu-info-node.js +2 -0
- package/dist-lib/lib/core/handoff-channel.d.ts +46 -0
- package/dist-lib/lib/core/handoff-channel.js +102 -0
- package/dist-lib/lib/core/health-assistant.d.ts +7 -0
- package/dist-lib/lib/core/health-assistant.js +24 -0
- package/dist-lib/lib/core/helpers/index.d.ts +5 -0
- package/dist-lib/lib/core/helpers/index.js +74 -0
- package/dist-lib/lib/core/hosted-agents.d.ts +36 -0
- package/dist-lib/lib/core/hosted-agents.js +127 -0
- package/dist-lib/lib/core/id.d.ts +1 -0
- package/dist-lib/lib/core/id.js +5 -0
- package/dist-lib/lib/core/identity.d.ts +14 -0
- package/dist-lib/lib/core/identity.js +45 -0
- package/dist-lib/lib/core/image/cache-sweep.d.ts +12 -0
- package/dist-lib/lib/core/image/cache-sweep.js +67 -0
- package/dist-lib/lib/core/image/normalize.d.ts +3 -0
- package/dist-lib/lib/core/image/normalize.js +49 -0
- package/dist-lib/lib/core/image/sniff.d.ts +3 -0
- package/dist-lib/lib/core/image/sniff.js +149 -0
- package/dist-lib/lib/core/invite.d.ts +14 -0
- package/dist-lib/lib/core/invite.js +36 -0
- package/dist-lib/lib/core/local/index.d.ts +71 -0
- package/dist-lib/lib/core/local/index.js +391 -0
- package/dist-lib/lib/core/membership.d.ts +15 -0
- package/dist-lib/lib/core/membership.js +40 -0
- package/dist-lib/lib/core/mesh.d.ts +153 -0
- package/dist-lib/lib/core/mesh.js +509 -0
- package/dist-lib/lib/core/migrations/agent-catalog.d.ts +6 -0
- package/dist-lib/lib/core/migrations/agent-catalog.js +17 -0
- package/dist-lib/lib/core/migrations/index.d.ts +5 -0
- package/dist-lib/lib/core/migrations/index.js +7 -0
- package/dist-lib/lib/core/migrations/membership.d.ts +11 -0
- package/dist-lib/lib/core/migrations/membership.js +26 -0
- package/dist-lib/lib/core/min-version.d.ts +6 -0
- package/dist-lib/lib/core/min-version.js +31 -0
- package/dist-lib/lib/core/next-frame.d.ts +6 -0
- package/dist-lib/lib/core/next-frame.js +27 -0
- package/dist-lib/lib/core/notification.d.ts +6 -0
- package/dist-lib/lib/core/notification.js +162 -0
- package/dist-lib/lib/core/ota-config.d.ts +19 -0
- package/dist-lib/lib/core/ota-config.js +44 -0
- package/dist-lib/lib/core/prompt-history.d.ts +12 -0
- package/dist-lib/lib/core/prompt-history.js +40 -0
- package/dist-lib/lib/core/search-fold.d.ts +1 -0
- package/dist-lib/lib/core/search-fold.js +4 -0
- package/dist-lib/lib/core/secret-handoff.d.ts +17 -0
- package/dist-lib/lib/core/secret-handoff.js +29 -0
- package/dist-lib/lib/core/send.d.ts +18 -0
- package/dist-lib/lib/core/send.js +46 -0
- package/dist-lib/lib/core/skill-overlay-handoff.d.ts +25 -0
- package/dist-lib/lib/core/skill-overlay-handoff.js +50 -0
- package/dist-lib/lib/core/skill-overlay-receiver.d.ts +8 -0
- package/dist-lib/lib/core/skill-overlay-receiver.js +20 -0
- package/dist-lib/lib/core/skill-secrets.d.ts +25 -0
- package/dist-lib/lib/core/skill-secrets.js +79 -0
- package/dist-lib/lib/core/sync/chats.d.ts +3 -0
- package/dist-lib/lib/core/sync/chats.js +5 -0
- package/dist-lib/lib/core/sync/chunks.d.ts +9 -0
- package/dist-lib/lib/core/sync/chunks.js +16 -0
- package/dist-lib/lib/core/sync/devices.d.ts +4 -0
- package/dist-lib/lib/core/sync/devices.js +12 -0
- package/dist-lib/lib/core/sync/files.d.ts +16 -0
- package/dist-lib/lib/core/sync/files.js +109 -0
- package/dist-lib/lib/core/sync/index.d.ts +5 -0
- package/dist-lib/lib/core/sync/index.js +63 -0
- package/dist-lib/lib/core/sync-status.d.ts +17 -0
- package/dist-lib/lib/core/sync-status.js +129 -0
- package/dist-lib/lib/core/system-info.d.ts +24 -0
- package/dist-lib/lib/core/system-info.js +66 -0
- package/dist-lib/lib/core/tool-activity.d.ts +22 -0
- package/dist-lib/lib/core/tool-activity.js +39 -0
- package/dist-lib/lib/core/tool-configs.d.ts +13 -0
- package/dist-lib/lib/core/tool-configs.js +141 -0
- package/dist-lib/lib/core.d.ts +291 -0
- package/dist-lib/lib/core.js +2126 -0
- package/dist-lib/lib/credential-pusher.d.ts +67 -0
- package/dist-lib/lib/credential-pusher.js +290 -0
- package/dist-lib/lib/custom-model-pusher.d.ts +9 -0
- package/dist-lib/lib/custom-model-pusher.js +42 -0
- package/dist-lib/lib/custom-model-source.d.ts +15 -0
- package/dist-lib/lib/custom-model-source.js +46 -0
- package/dist-lib/lib/deadline.d.ts +9 -0
- package/dist-lib/lib/deadline.js +31 -0
- package/dist-lib/lib/diagnostics.d.ts +35 -0
- package/dist-lib/lib/diagnostics.js +14 -0
- package/dist-lib/lib/fetch-node.d.ts +1 -0
- package/dist-lib/lib/fetch-node.js +1 -0
- package/dist-lib/lib/fs-drive-bridge.d.ts +12 -0
- package/dist-lib/lib/fs-drive-bridge.js +186 -0
- package/dist-lib/lib/fs-grant-keys.d.ts +2 -0
- package/dist-lib/lib/fs-grant-keys.js +6 -0
- package/dist-lib/lib/fs-grants.d.ts +10 -0
- package/dist-lib/lib/fs-grants.js +44 -0
- package/dist-lib/lib/image-cache-dir.d.ts +1 -0
- package/dist-lib/lib/image-cache-dir.js +5 -0
- package/dist-lib/lib/integrations/index.d.ts +4 -0
- package/dist-lib/lib/integrations/index.js +3 -0
- package/dist-lib/lib/integrations/mcp-providers.d.ts +12 -0
- package/dist-lib/lib/integrations/mcp-providers.js +22 -0
- package/dist-lib/lib/integrations/oauth-providers.d.ts +14 -0
- package/dist-lib/lib/integrations/oauth-providers.js +116 -0
- package/dist-lib/lib/integrations/setup-routes.d.ts +12 -0
- package/dist-lib/lib/integrations/setup-routes.js +114 -0
- package/dist-lib/lib/knowledge-search.d.ts +7 -0
- package/dist-lib/lib/knowledge-search.js +53 -0
- package/dist-lib/lib/kv-cache-reclaim.d.ts +5 -0
- package/dist-lib/lib/kv-cache-reclaim.js +29 -0
- package/dist-lib/lib/kv-cache.d.ts +18 -0
- package/dist-lib/lib/kv-cache.js +33 -0
- package/dist-lib/lib/legacy-core-domain.d.ts +258 -0
- package/dist-lib/lib/legacy-core-domain.js +1 -0
- package/dist-lib/lib/llm-model-names.d.ts +1 -0
- package/dist-lib/lib/llm-model-names.js +1 -0
- package/dist-lib/lib/log-buffer.d.ts +7 -0
- package/dist-lib/lib/log-buffer.js +16 -0
- package/dist-lib/lib/log-levels.d.ts +7 -0
- package/dist-lib/lib/log-levels.js +1 -0
- package/dist-lib/lib/log.d.ts +60 -0
- package/dist-lib/lib/log.js +149 -0
- package/dist-lib/lib/logger-type.d.ts +13 -0
- package/dist-lib/lib/logger-type.js +1 -0
- package/dist-lib/lib/logger.d.ts +5 -0
- package/dist-lib/lib/logger.js +18 -0
- package/dist-lib/lib/model-catalog-revision.d.ts +9 -0
- package/dist-lib/lib/model-catalog-revision.js +65 -0
- package/dist-lib/lib/model-clamp.d.ts +6 -0
- package/dist-lib/lib/model-clamp.js +20 -0
- package/dist-lib/lib/model-context.d.ts +13 -0
- package/dist-lib/lib/model-context.js +71 -0
- package/dist-lib/lib/model-download-status.d.ts +29 -0
- package/dist-lib/lib/model-download-status.js +56 -0
- package/dist-lib/lib/model-download.d.ts +191 -0
- package/dist-lib/lib/model-download.js +787 -0
- package/dist-lib/lib/oauth/asana.d.ts +35 -0
- package/dist-lib/lib/oauth/asana.js +71 -0
- package/dist-lib/lib/oauth/browser-connect.d.ts +22 -0
- package/dist-lib/lib/oauth/browser-connect.js +83 -0
- package/dist-lib/lib/oauth/client.d.ts +9 -0
- package/dist-lib/lib/oauth/client.js +9 -0
- package/dist-lib/lib/oauth/common.d.ts +38 -0
- package/dist-lib/lib/oauth/common.js +36 -0
- package/dist-lib/lib/oauth/crypto.d.ts +3 -0
- package/dist-lib/lib/oauth/crypto.js +25 -0
- package/dist-lib/lib/oauth/fetch-platform.d.ts +1 -0
- package/dist-lib/lib/oauth/fetch-platform.js +1 -0
- package/dist-lib/lib/oauth/flow-core.d.ts +6 -0
- package/dist-lib/lib/oauth/flow-core.js +37 -0
- package/dist-lib/lib/oauth/flow.d.ts +3 -0
- package/dist-lib/lib/oauth/flow.js +24 -0
- package/dist-lib/lib/oauth/google.d.ts +37 -0
- package/dist-lib/lib/oauth/google.js +77 -0
- package/dist-lib/lib/oauth/host.d.ts +5 -0
- package/dist-lib/lib/oauth/host.js +3 -0
- package/dist-lib/lib/oauth/keys.d.ts +25 -0
- package/dist-lib/lib/oauth/keys.js +93 -0
- package/dist-lib/lib/oauth/loopback.d.ts +3 -0
- package/dist-lib/lib/oauth/loopback.js +119 -0
- package/dist-lib/lib/oauth/loopback.stub.d.ts +3 -0
- package/dist-lib/lib/oauth/loopback.stub.js +6 -0
- package/dist-lib/lib/oauth/notion.d.ts +34 -0
- package/dist-lib/lib/oauth/notion.js +82 -0
- package/dist-lib/lib/oauth/pkce-runtime.d.ts +3 -0
- package/dist-lib/lib/oauth/pkce-runtime.js +5 -0
- package/dist-lib/lib/oauth/pkce.d.ts +8 -0
- package/dist-lib/lib/oauth/pkce.js +6 -0
- package/dist-lib/lib/oauth/providers.d.ts +5 -0
- package/dist-lib/lib/oauth/providers.js +73 -0
- package/dist-lib/lib/oauth/redirect-types.d.ts +19 -0
- package/dist-lib/lib/oauth/redirect-types.js +1 -0
- package/dist-lib/lib/oauth/register.d.ts +3 -0
- package/dist-lib/lib/oauth/register.js +34 -0
- package/dist-lib/lib/oauth/resolve.d.ts +17 -0
- package/dist-lib/lib/oauth/resolve.js +57 -0
- package/dist-lib/lib/oauth/spotify.d.ts +32 -0
- package/dist-lib/lib/oauth/spotify.js +73 -0
- package/dist-lib/lib/oauth/token-exchange-core.d.ts +6 -0
- package/dist-lib/lib/oauth/token-exchange-core.js +97 -0
- package/dist-lib/lib/oauth/token-exchange.d.ts +5 -0
- package/dist-lib/lib/oauth/token-exchange.js +9 -0
- package/dist-lib/lib/oauth/types.d.ts +54 -0
- package/dist-lib/lib/oauth/types.js +1 -0
- package/dist-lib/lib/oauth.client.d.ts +5 -0
- package/dist-lib/lib/oauth.client.js +2 -0
- package/dist-lib/lib/oauth.d.ts +14 -0
- package/dist-lib/lib/oauth.js +12 -0
- package/dist-lib/lib/obsidian-key.d.ts +1 -0
- package/dist-lib/lib/obsidian-key.js +1 -0
- package/dist-lib/lib/race-resource.d.ts +5 -0
- package/dist-lib/lib/race-resource.js +25 -0
- package/dist-lib/lib/reconnecting-watch.d.ts +2 -0
- package/dist-lib/lib/reconnecting-watch.js +78 -0
- package/dist-lib/lib/retry-budget.d.ts +14 -0
- package/dist-lib/lib/retry-budget.js +39 -0
- package/dist-lib/lib/run-notices.d.ts +23 -0
- package/dist-lib/lib/run-notices.js +33 -0
- package/dist-lib/lib/run-transcript.d.ts +35 -0
- package/dist-lib/lib/run-transcript.js +106 -0
- package/dist-lib/lib/skill-readiness.d.ts +2 -0
- package/dist-lib/lib/skill-readiness.js +21 -0
- package/dist-lib/lib/skill-types.d.ts +70 -0
- package/dist-lib/lib/skill-types.js +1 -0
- package/dist-lib/lib/spec-loader.d.ts +14 -0
- package/dist-lib/lib/spec-loader.js +9 -0
- package/dist-lib/lib/suspend-lifecycle.d.ts +17 -0
- package/dist-lib/lib/suspend-lifecycle.js +33 -0
- package/dist-lib/lib/task.d.ts +26 -0
- package/dist-lib/lib/task.js +69 -0
- package/dist-lib/lib/unref.d.ts +3 -0
- package/dist-lib/lib/unref.js +4 -0
- package/dist-lib/lib/wav-duration.d.ts +1 -0
- package/dist-lib/lib/wav-duration.js +53 -0
- package/dist-lib/lib/write-queue.d.ts +22 -0
- package/dist-lib/lib/write-queue.js +39 -0
- package/dist-lib/schema/build.d.ts +1 -0
- package/dist-lib/schema/build.js +120 -0
- package/dist-lib/schema/config.d.ts +4 -0
- package/dist-lib/schema/config.js +7 -0
- package/dist-lib/schema/content.d.ts +20 -0
- package/dist-lib/schema/content.js +122 -0
- package/dist-lib/schema/engine.d.ts +2 -0
- package/dist-lib/schema/engine.js +2013 -0
- package/dist-lib/schema/field-order.d.ts +1 -0
- package/dist-lib/schema/field-order.js +95 -0
- package/dist-lib/schema/local.d.ts +2 -0
- package/dist-lib/schema/local.js +133 -0
- package/dist-lib/schema/qvac.d.ts +22 -0
- package/dist-lib/schema/qvac.js +722 -0
- package/dist-lib/spec/bind.d.ts +2 -0
- package/dist-lib/spec/bind.js +520 -0
- package/dist-lib/spec/calls.d.ts +3 -0
- package/dist-lib/spec/calls.js +129 -0
- package/dist-lib/spec/capabilities.d.ts +263 -0
- package/dist-lib/spec/config/hyperconf/index.d.ts +15 -0
- package/dist-lib/spec/config/hyperconf/index.js +24 -0
- package/dist-lib/spec/config/hyperconf/package.json +3 -0
- package/dist-lib/spec/config/hyperschema/index.js +81 -0
- package/dist-lib/spec/config/hyperschema/schema.json +19 -0
- package/dist-lib/spec/hrpc/hrpc.json +1500 -0
- package/dist-lib/spec/hrpc/index.d.ts +3 -0
- package/dist-lib/spec/hrpc/index.js +1545 -0
- package/dist-lib/spec/hrpc/messages.d.ts +4 -0
- package/dist-lib/spec/hrpc/messages.js +8373 -0
- package/dist-lib/spec/hyperschema/index.d.ts +20 -0
- package/dist-lib/spec/hyperschema/index.js +8373 -0
- package/dist-lib/spec/hyperschema/schema.json +6202 -0
- package/dist-lib/spec/hyperschema/types.d.ts +1545 -0
- package/dist-lib/spec/index.d.ts +36 -0
- package/dist-lib/spec/index.js +6 -0
- package/dist-lib/spec/local/hyperdb/db.json +186 -0
- package/dist-lib/spec/local/hyperdb/index.d.ts +9 -0
- package/dist-lib/spec/local/hyperdb/index.js +855 -0
- package/dist-lib/spec/local/hyperdb/messages.js +2189 -0
- package/dist-lib/spec/local/hyperschema/index.js +1208 -0
- package/dist-lib/spec/local/hyperschema/schema.json +639 -0
- package/dist-lib/spec/local/hyperschema/types.d.ts +159 -0
- package/dist-lib/spec/mesh/hyperdb/db.json +702 -0
- package/dist-lib/spec/mesh/hyperdb/index.d.ts +9 -0
- package/dist-lib/spec/mesh/hyperdb/index.js +2260 -0
- package/dist-lib/spec/mesh/hyperdb/messages.js +7453 -0
- package/dist-lib/spec/mesh/hyperdispatch/dispatch.json +174 -0
- package/dist-lib/spec/mesh/hyperdispatch/index.d.ts +13 -0
- package/dist-lib/spec/mesh/hyperdispatch/index.js +566 -0
- package/dist-lib/spec/mesh/hyperdispatch/messages.js +5713 -0
- package/dist-lib/spec/mesh/hyperschema/index.d.ts +14 -0
- package/dist-lib/spec/mesh/hyperschema/index.js +5713 -0
- package/dist-lib/spec/mesh/hyperschema/schema.json +3142 -0
- package/dist-lib/spec/mesh/hyperschema/types.d.ts +754 -0
- package/ducks.png +0 -0
- package/package.json +332 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AbortController } from 'bare-abort-controller';
|
|
2
|
+
import { createChat, deleteChat, listSidebar, mustGetActiveChatListing, renameChat, setChatRagEnabled, setChatWebSearchEnabled } from "../core/chat.js";
|
|
3
|
+
import { listChatActivity } from "../core/chat-activity.js";
|
|
4
|
+
import { searchChats } from "../core/chat-search.js";
|
|
5
|
+
import { requireMesh } from "./current-mesh.js";
|
|
6
|
+
import { watchable } from "./watchable.js";
|
|
7
|
+
const SEARCH_SUPERSEDED_ABORT = 'superseded by a newer chat search';
|
|
8
|
+
export function createChatApi(current, deviceId) {
|
|
9
|
+
let searchAbort = null;
|
|
10
|
+
const chatList = (mesh) => listSidebar(mesh);
|
|
11
|
+
const chatActivity = (mesh, chatIds) => listChatActivity(mesh, chatIds ?? undefined).then((activities) => ({ activities }));
|
|
12
|
+
return {
|
|
13
|
+
createChat: async (input) => createChat(await requireMesh(current), input),
|
|
14
|
+
listChats: async () => chatList(await requireMesh(current)),
|
|
15
|
+
getChat: async ({ id }) => mustGetActiveChatListing(await requireMesh(current), id),
|
|
16
|
+
renameChat: async ({ id, title }) => renameChat(await requireMesh(current), id, title),
|
|
17
|
+
setChatRagEnabled: async ({ id, enabled }) => setChatRagEnabled(await requireMesh(current), id, enabled ?? false),
|
|
18
|
+
setChatWebSearchEnabled: async ({ id, enabled }) => setChatWebSearchEnabled(await requireMesh(current), id, enabled ?? false),
|
|
19
|
+
deleteChat: async ({ id }) => deleteChat(await requireMesh(current), deviceId, id),
|
|
20
|
+
chatsWatch: watchable('chatsWatch', () => requireMesh(current), (_request, store) => chatList(store)),
|
|
21
|
+
listChatActivity: async (input) => chatActivity(await requireMesh(current), input?.chatIds),
|
|
22
|
+
chatActivityWatch: watchable('chatActivityWatch', () => requireMesh(current), (request, store) => chatActivity(store, request?.chatIds)),
|
|
23
|
+
searchChats: async (input) => {
|
|
24
|
+
searchAbort?.abort(SEARCH_SUPERSEDED_ABORT);
|
|
25
|
+
const controller = new AbortController();
|
|
26
|
+
searchAbort = controller;
|
|
27
|
+
return {
|
|
28
|
+
hits: [
|
|
29
|
+
...(await searchChats(await requireMesh(current), {
|
|
30
|
+
query: input.query,
|
|
31
|
+
limit: input.limit,
|
|
32
|
+
signal: controller.signal
|
|
33
|
+
}))
|
|
34
|
+
]
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type CurrentMesh } from './current-mesh.ts';
|
|
2
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
3
|
+
type ChunkCapabilities = Pick<CapabilityHandlers, 'appendChunk' | 'updateChunk' | 'resolveApproval' | 'listChunks' | 'listAttachmentsByKind' | 'chunksWatch' | 'runRequestsWatch'>;
|
|
4
|
+
export declare function createChunksApi(current: CurrentMesh): ChunkCapabilities;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { appendChunk, listAttachmentsByKind, listChunks, resolveApproval, updateChunk } from "../core/chunk.js";
|
|
2
|
+
import { requireMesh } from "./current-mesh.js";
|
|
3
|
+
import { watchable } from "./watchable.js";
|
|
4
|
+
export function createChunksApi(current) {
|
|
5
|
+
return {
|
|
6
|
+
appendChunk: async (input) => appendChunk(await requireMesh(current), input),
|
|
7
|
+
updateChunk: async (input) => {
|
|
8
|
+
await updateChunk(await requireMesh(current), input);
|
|
9
|
+
return { ok: true };
|
|
10
|
+
},
|
|
11
|
+
resolveApproval: async (input) => {
|
|
12
|
+
await resolveApproval(await requireMesh(current), {
|
|
13
|
+
id: input.id,
|
|
14
|
+
approved: input.approved === true,
|
|
15
|
+
scope: input.scope ?? undefined,
|
|
16
|
+
expiresAt: input.expiresAt || undefined,
|
|
17
|
+
agentId: input.agentId ?? undefined
|
|
18
|
+
});
|
|
19
|
+
return { ok: true };
|
|
20
|
+
},
|
|
21
|
+
listChunks: async ({ chatId, type, types, fromSeq, reverse, limit }) => ({
|
|
22
|
+
chunks: await listChunks(await requireMesh(current), {
|
|
23
|
+
chatId,
|
|
24
|
+
type: type ?? undefined,
|
|
25
|
+
types: types ?? undefined,
|
|
26
|
+
fromSeq: fromSeq || undefined,
|
|
27
|
+
reverse: reverse === true,
|
|
28
|
+
limit: limit || undefined
|
|
29
|
+
})
|
|
30
|
+
}),
|
|
31
|
+
listAttachmentsByKind: async ({ kind, origin, fromCreatedAt, reverse, limit }) => ({
|
|
32
|
+
chunks: await listAttachmentsByKind(await requireMesh(current), {
|
|
33
|
+
kind,
|
|
34
|
+
origin: origin ?? undefined,
|
|
35
|
+
fromCreatedAt: fromCreatedAt || undefined,
|
|
36
|
+
reverse: reverse === true,
|
|
37
|
+
limit: limit || undefined
|
|
38
|
+
})
|
|
39
|
+
}),
|
|
40
|
+
chunksWatch: watchable('chunksWatch', () => requireMesh(current), async ({ chatId, type, types, fromSeq, reverse, limit }, mesh) => ({
|
|
41
|
+
chunks: await listChunks(mesh, {
|
|
42
|
+
chatId,
|
|
43
|
+
type: type ?? undefined,
|
|
44
|
+
types: types ?? undefined,
|
|
45
|
+
fromSeq: fromSeq || undefined,
|
|
46
|
+
reverse: reverse === true,
|
|
47
|
+
limit: limit || undefined
|
|
48
|
+
})
|
|
49
|
+
})),
|
|
50
|
+
runRequestsWatch: watchable('runRequestsWatch', () => requireMesh(current), async (_request, mesh) => {
|
|
51
|
+
const snap = mesh.view.snapshot();
|
|
52
|
+
try {
|
|
53
|
+
const chunks = await snap.find('@qvac/run-requests').toArray();
|
|
54
|
+
return { chunks };
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
await snap.close();
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { openLocalStore } from '../core/local/index.ts';
|
|
2
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
3
|
+
type LocalStore = Awaited<ReturnType<typeof openLocalStore>>;
|
|
4
|
+
export declare function createConfigApi(state: LocalStore): Pick<CapabilityHandlers, 'configGet' | 'configSet' | 'configWatch'>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { watchable } from "./watchable.js";
|
|
2
|
+
export function createConfigApi(state) {
|
|
3
|
+
return {
|
|
4
|
+
async configGet({ key }) {
|
|
5
|
+
return { value: await state.get(key) };
|
|
6
|
+
},
|
|
7
|
+
async configSet({ key, value }) {
|
|
8
|
+
await state.set(key, value);
|
|
9
|
+
return { ok: true };
|
|
10
|
+
},
|
|
11
|
+
configWatch: watchable('configWatch', () => state, async ({ key }) => ({
|
|
12
|
+
value: await state.get(key)
|
|
13
|
+
}))
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Mesh } from '../core/mesh.ts';
|
|
2
|
+
export type CurrentMesh = () => Mesh | null | Promise<Mesh | null>;
|
|
3
|
+
export declare const NO_ACTIVE_MESH = "no active mesh";
|
|
4
|
+
export declare function requireMesh(current: CurrentMesh): Promise<Mesh>;
|
|
5
|
+
export declare function isMeshTransition(err: unknown): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const NO_ACTIVE_MESH = 'no active mesh';
|
|
2
|
+
export async function requireMesh(current) {
|
|
3
|
+
const mesh = await current();
|
|
4
|
+
if (!mesh)
|
|
5
|
+
throw new Error(NO_ACTIVE_MESH);
|
|
6
|
+
if (!mesh.opened)
|
|
7
|
+
await mesh.ready();
|
|
8
|
+
return mesh;
|
|
9
|
+
}
|
|
10
|
+
export function isMeshTransition(err) {
|
|
11
|
+
return err instanceof Error && err.message === NO_ACTIVE_MESH;
|
|
12
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { openLocalStore } from '../core/local/index.ts';
|
|
2
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
3
|
+
type LocalStore = Awaited<ReturnType<typeof openLocalStore>>;
|
|
4
|
+
export declare function createCustomModelApi(state: LocalStore): Pick<CapabilityHandlers, 'customModelsWatch' | 'addCustomModel' | 'removeCustomModel'>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { watchable } from "./watchable.js";
|
|
2
|
+
import { normalizeModelSource, probeModelSource } from "../custom-model-source.js";
|
|
3
|
+
async function readCustomModels(state) {
|
|
4
|
+
const rows = await state.getCustomModelRows();
|
|
5
|
+
return {
|
|
6
|
+
models: rows.map((row) => ({
|
|
7
|
+
name: row.name,
|
|
8
|
+
src: row.src,
|
|
9
|
+
mmprojSrc: row.mmprojSrc ?? null,
|
|
10
|
+
supportsTools: row.supportsTools ?? false,
|
|
11
|
+
supportsThinking: row.supportsThinking ?? false,
|
|
12
|
+
supportsVision: row.supportsVision ?? false,
|
|
13
|
+
expectedSize: row.expectedSize ?? 0,
|
|
14
|
+
createdAt: row.createdAt
|
|
15
|
+
}))
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function createCustomModelApi(state) {
|
|
19
|
+
return {
|
|
20
|
+
customModelsWatch: watchable('customModelsWatch', () => state, () => readCustomModels(state)),
|
|
21
|
+
addCustomModel: async (input) => {
|
|
22
|
+
const src = normalizeModelSource(input.src);
|
|
23
|
+
const mmprojSrc = input.mmprojSrc ? normalizeModelSource(input.mmprojSrc) : null;
|
|
24
|
+
const expectedSize = input.expectedSize && input.expectedSize > 0
|
|
25
|
+
? input.expectedSize
|
|
26
|
+
: await probeModelSource(src);
|
|
27
|
+
const row = {
|
|
28
|
+
name: input.name,
|
|
29
|
+
src,
|
|
30
|
+
mmprojSrc,
|
|
31
|
+
supportsTools: input.supportsTools ?? false,
|
|
32
|
+
supportsThinking: input.supportsThinking ?? false,
|
|
33
|
+
supportsVision: input.supportsVision ?? false,
|
|
34
|
+
expectedSize,
|
|
35
|
+
createdAt: Date.now()
|
|
36
|
+
};
|
|
37
|
+
await state.putCustomModelRow(row);
|
|
38
|
+
return { ok: true };
|
|
39
|
+
},
|
|
40
|
+
removeCustomModel: async ({ name }) => {
|
|
41
|
+
await state.deleteCustomModelRow(name);
|
|
42
|
+
return { ok: true };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AssistantCapabilityProfile } from '../../spec/hyperschema/types.d.ts';
|
|
2
|
+
import { type CurrentMesh } from './current-mesh.ts';
|
|
3
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
4
|
+
export declare function createDevicesApi(current: CurrentMesh, deviceId: Buffer, removeWriter: (writerKey: Buffer, deviceId: Buffer) => Promise<void>, renameLocal: (name: string) => Promise<void>, saveProfileLocal: (capabilityProfile: AssistantCapabilityProfile, recommendedModelName: string, platform?: string) => Promise<void>, readLocalProfile: () => {
|
|
5
|
+
capabilityProfile: AssistantCapabilityProfile;
|
|
6
|
+
recommendedModelName: string;
|
|
7
|
+
platform?: string;
|
|
8
|
+
} | null): Pick<CapabilityHandlers, 'listDevices' | 'devicesWatch' | 'deviceInfo' | 'saveDeviceCapabilities' | 'saveDeviceProfile' | 'removeDevice' | 'renameDevice'>;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { saveDeviceCapabilities } from "../core/devices.js";
|
|
2
|
+
import { requireMesh } from "./current-mesh.js";
|
|
3
|
+
import { watchable } from "./watchable.js";
|
|
4
|
+
const DEVICES = '@qvac/devices';
|
|
5
|
+
function toEngineDevice(device, overrides = {}) {
|
|
6
|
+
return {
|
|
7
|
+
id: device.id,
|
|
8
|
+
name: device.name,
|
|
9
|
+
joinedAt: device.joinedAt,
|
|
10
|
+
revoked: device.revoked ?? false,
|
|
11
|
+
installedToolNames: device.installedToolNames ?? [],
|
|
12
|
+
installedSkillNames: device.installedSkillNames ?? [],
|
|
13
|
+
readySkillNames: device.readySkillNames,
|
|
14
|
+
toolCatalog: device.toolCatalog,
|
|
15
|
+
installedModelNames: device.installedModelNames ?? [],
|
|
16
|
+
cachedModelNames: device.cachedModelNames ?? [],
|
|
17
|
+
capabilityProfile: device.capabilityProfile,
|
|
18
|
+
recommendedModelName: device.recommendedModelName,
|
|
19
|
+
appVersion: device.appVersion,
|
|
20
|
+
appBuild: device.appBuild,
|
|
21
|
+
appChannel: device.appChannel,
|
|
22
|
+
platform: device.platform,
|
|
23
|
+
...overrides
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function createDevicesApi(current, deviceId, removeWriter, renameLocal, saveProfileLocal, readLocalProfile) {
|
|
27
|
+
const mustGetDevice = async (mesh, id) => {
|
|
28
|
+
const snap = mesh.view.snapshot();
|
|
29
|
+
try {
|
|
30
|
+
const device = await snap.get(DEVICES, { id });
|
|
31
|
+
if (!device)
|
|
32
|
+
throw new Error(`device not found: ${id.toString('hex')}`);
|
|
33
|
+
return device;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
await snap.close();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const list = async () => {
|
|
40
|
+
const mesh = await requireMesh(current);
|
|
41
|
+
const snap = mesh.view.snapshot();
|
|
42
|
+
try {
|
|
43
|
+
const devices = await snap.find(DEVICES).toArray();
|
|
44
|
+
return { devices: devices.map((device) => toEngineDevice(device)) };
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
await snap.close();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
listDevices: list,
|
|
52
|
+
devicesWatch: watchable('devicesWatch', () => requireMesh(current), list),
|
|
53
|
+
deviceInfo: async () => {
|
|
54
|
+
logger.info(['api', 'devices'], 'deviceInfo handler reached');
|
|
55
|
+
return { id: deviceId, supportsKvCacheDeletion: true };
|
|
56
|
+
},
|
|
57
|
+
saveDeviceCapabilities: async (input) => {
|
|
58
|
+
await saveDeviceCapabilities(await requireMesh(current), {
|
|
59
|
+
deviceId,
|
|
60
|
+
installedToolNames: input.installedToolNames ?? [],
|
|
61
|
+
installedSkillNames: input.installedSkillNames ?? [],
|
|
62
|
+
installedModelNames: input.installedModelNames ?? [],
|
|
63
|
+
cachedModelNames: input.cachedModelNames ?? [],
|
|
64
|
+
readySkillNames: input.readySkillNames ?? null,
|
|
65
|
+
toolCatalog: input.toolCatalog ?? null
|
|
66
|
+
});
|
|
67
|
+
return { ok: true };
|
|
68
|
+
},
|
|
69
|
+
removeDevice: async ({ id }) => {
|
|
70
|
+
if (id.equals(deviceId))
|
|
71
|
+
throw new Error('cannot remove own device, use leaveMesh');
|
|
72
|
+
const device = await mustGetDevice(await requireMesh(current), id);
|
|
73
|
+
if (device.revoked)
|
|
74
|
+
return { ok: true };
|
|
75
|
+
if (!device.writerKey)
|
|
76
|
+
throw new Error('device has no writer key, cannot remove');
|
|
77
|
+
await removeWriter(device.writerKey, id);
|
|
78
|
+
return { ok: true };
|
|
79
|
+
},
|
|
80
|
+
renameDevice: async ({ id, name }) => {
|
|
81
|
+
if (!id.equals(deviceId)) {
|
|
82
|
+
throw new Error('can only rename this device, a device owns its row');
|
|
83
|
+
}
|
|
84
|
+
const trimmed = name.trim();
|
|
85
|
+
if (!trimmed)
|
|
86
|
+
throw new Error('device name must not be empty');
|
|
87
|
+
const mesh = await requireMesh(current);
|
|
88
|
+
const device = await mustGetDevice(mesh, id);
|
|
89
|
+
await renameLocal(trimmed);
|
|
90
|
+
try {
|
|
91
|
+
await mesh.dispatch('update-device', { device: { ...device, name: trimmed } });
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
await renameLocal(device.name);
|
|
95
|
+
throw err;
|
|
96
|
+
}
|
|
97
|
+
return toEngineDevice(device, { name: trimmed });
|
|
98
|
+
},
|
|
99
|
+
saveDeviceProfile: async ({ capabilityProfile, recommendedModelName, platform }) => {
|
|
100
|
+
const mesh = await requireMesh(current);
|
|
101
|
+
const prior = readLocalProfile();
|
|
102
|
+
await saveProfileLocal(capabilityProfile, recommendedModelName, platform ?? undefined);
|
|
103
|
+
try {
|
|
104
|
+
await mesh.dispatch('update-device-profile', {
|
|
105
|
+
deviceId,
|
|
106
|
+
capabilityProfile,
|
|
107
|
+
recommendedModelName,
|
|
108
|
+
platform
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
if (prior) {
|
|
113
|
+
await saveProfileLocal(prior.capabilityProfile, prior.recommendedModelName, prior.platform);
|
|
114
|
+
}
|
|
115
|
+
throw err;
|
|
116
|
+
}
|
|
117
|
+
const device = await mustGetDevice(mesh, deviceId);
|
|
118
|
+
return toEngineDevice(device, {
|
|
119
|
+
capabilityProfile,
|
|
120
|
+
recommendedModelName,
|
|
121
|
+
platform: platform ?? device.platform
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
2
|
+
export interface DiagnosticsSource {
|
|
3
|
+
watch(listener: () => void): void;
|
|
4
|
+
unwatch(listener: () => void): void;
|
|
5
|
+
snapshot(): Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createDiagnosticsApi(source: DiagnosticsSource): Pick<CapabilityHandlers, 'diagnostics' | 'diagnosticsWatch'>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { watchable } from "./watchable.js";
|
|
2
|
+
export function createDiagnosticsApi(source) {
|
|
3
|
+
return {
|
|
4
|
+
diagnostics: async () => ({ stats: source.snapshot() }),
|
|
5
|
+
diagnosticsWatch: watchable('diagnosticsWatch', () => source, async () => ({ stats: source.snapshot() }))
|
|
6
|
+
};
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { defaultContextForModel, MOBILE_CONTEXT_SIZE, MODEL_CONTEXT_TARGET, modelContextTargetForPlatform } from "../model-context.js";
|
|
2
|
+
export function effectiveCtxSize(agent, appCtxSize, platform) {
|
|
3
|
+
const configured = agent?.ctxSize || appCtxSize;
|
|
4
|
+
if (configured)
|
|
5
|
+
return configured;
|
|
6
|
+
if (modelContextTargetForPlatform(platform) === MODEL_CONTEXT_TARGET.mobile) {
|
|
7
|
+
return MOBILE_CONTEXT_SIZE;
|
|
8
|
+
}
|
|
9
|
+
return defaultContextForModel(agent?.modelName ?? '');
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type CurrentMesh } from './current-mesh.ts';
|
|
2
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
3
|
+
export declare function createExecutionApi(current: CurrentMesh, deviceId: Buffer): Pick<CapabilityHandlers, 'sendMessage' | 'runAgent' | 'stopRun'>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { appendChunk, listChunks } from "../core/chunk.js";
|
|
2
|
+
import { randomId } from "../core/id.js";
|
|
3
|
+
import { parentRequestId, sendMessage } from "../core/send.js";
|
|
4
|
+
import { requireMesh } from "./current-mesh.js";
|
|
5
|
+
const TERMINAL_STATES = new Set(['completed', 'failed', 'canceled']);
|
|
6
|
+
export function createExecutionApi(current, deviceId) {
|
|
7
|
+
return {
|
|
8
|
+
sendMessage: async (input) => sendMessage(await requireMesh(current), {
|
|
9
|
+
text: input.text,
|
|
10
|
+
chatId: input.chatId ?? undefined,
|
|
11
|
+
agentId: input.agentId ?? undefined,
|
|
12
|
+
title: input.title ?? undefined,
|
|
13
|
+
parentRunId: input.parentRunId ?? undefined,
|
|
14
|
+
originDeviceId: deviceId
|
|
15
|
+
}),
|
|
16
|
+
runAgent: async ({ chatId, agentId, parentRunId }) => {
|
|
17
|
+
const mesh = await requireMesh(current);
|
|
18
|
+
const parentId = parentRunId ? await parentRequestId(mesh, chatId, parentRunId) : undefined;
|
|
19
|
+
await appendChunk(mesh, {
|
|
20
|
+
chatId,
|
|
21
|
+
runId: randomId(),
|
|
22
|
+
type: 'run-request',
|
|
23
|
+
runRequest: { agentId },
|
|
24
|
+
parentId,
|
|
25
|
+
originDeviceId: deviceId
|
|
26
|
+
});
|
|
27
|
+
return { ok: true };
|
|
28
|
+
},
|
|
29
|
+
stopRun: async ({ chatId, runId }) => {
|
|
30
|
+
const mesh = await requireMesh(current);
|
|
31
|
+
const statuses = await listChunks(mesh, { chatId, type: 'run-status' });
|
|
32
|
+
const settled = statuses.some((c) => c.runId === runId && TERMINAL_STATES.has(c.runStatus?.state ?? ''));
|
|
33
|
+
if (settled)
|
|
34
|
+
return { ok: true };
|
|
35
|
+
await appendChunk(mesh, {
|
|
36
|
+
chatId,
|
|
37
|
+
runId,
|
|
38
|
+
type: 'run-status',
|
|
39
|
+
runStatus: { state: 'canceled' },
|
|
40
|
+
originDeviceId: deviceId
|
|
41
|
+
});
|
|
42
|
+
return { ok: true };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AbortController } from 'bare-abort-controller';
|
|
2
|
+
import { Readable } from 'streamx';
|
|
3
|
+
import { requireMesh } from "./current-mesh.js";
|
|
4
|
+
export function createFilesApi(current) {
|
|
5
|
+
return {
|
|
6
|
+
async filePreview(request) {
|
|
7
|
+
return (await requireMesh(current)).files.preview(request);
|
|
8
|
+
},
|
|
9
|
+
async fileRetry(request) {
|
|
10
|
+
await (await requireMesh(current)).files.retry(request);
|
|
11
|
+
return { ok: true };
|
|
12
|
+
},
|
|
13
|
+
fileRead(request) {
|
|
14
|
+
const abort = new AbortController();
|
|
15
|
+
async function* read() {
|
|
16
|
+
const mesh = await requireMesh(current);
|
|
17
|
+
const close = () => stream.destroy();
|
|
18
|
+
mesh.files.once('close', close);
|
|
19
|
+
try {
|
|
20
|
+
yield* mesh.files.fileRead(request, { signal: abort.signal });
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
mesh.files.off('close', close);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const iterator = read();
|
|
27
|
+
const stream = new Readable({
|
|
28
|
+
read(callback) {
|
|
29
|
+
iterator
|
|
30
|
+
.next()
|
|
31
|
+
.then((frame) => {
|
|
32
|
+
stream.push(frame.done ? null : frame.value);
|
|
33
|
+
callback(null);
|
|
34
|
+
})
|
|
35
|
+
.catch(callback);
|
|
36
|
+
},
|
|
37
|
+
predestroy: () => abort.abort('file read closed'),
|
|
38
|
+
destroy(callback) {
|
|
39
|
+
iterator
|
|
40
|
+
.return(undefined)
|
|
41
|
+
.then(() => callback(null))
|
|
42
|
+
.catch(callback);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return stream;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { CapabilityHandlers } from '../../spec/capabilities.d.ts';
|
|
2
|
+
import type { AssistantCapabilityProfile, AssistantClearModelDownloadRequest, AssistantDeleteModelRequest, AssistantDeleteModelResponse, AssistantCompactChatResponse, AssistantKvCacheDeletionResponse, AssistantListModelsRequest, AssistantModelCatalogRevision, AssistantCopySkillResponse, AssistantDeleteSkillResponse, AssistantManagedSkillsResponse, AssistantModelInfoList, AssistantOkResponse, AssistantPushSkillSecretRequest, AssistantSkillCatalogResponse, AssistantSkillFileResponse, AssistantSpeakRequest, AssistantSpeakResponse, AssistantToolCatalogResponse, AssistantTranscribeRequest, AssistantTranscribeResponse } from '../../spec/hyperschema/types.d.ts';
|
|
3
|
+
import type { openLocalStore } from '../core/local/index.ts';
|
|
4
|
+
import type { CurrentMesh } from './current-mesh.ts';
|
|
5
|
+
import { type DiagnosticsSource } from './diagnostics.ts';
|
|
6
|
+
import { type LogSource } from './logs.ts';
|
|
7
|
+
import { type MeshStatusSource } from './mesh.ts';
|
|
8
|
+
import { type NetworkSource } from './network.ts';
|
|
9
|
+
import { type NotificationLifetime } from './notifications.ts';
|
|
10
|
+
import type { IndexingEmbedder, VectorIndex } from '../core/files/index.ts';
|
|
11
|
+
interface ApiDeps {
|
|
12
|
+
state?: Awaited<ReturnType<typeof openLocalStore>> | null;
|
|
13
|
+
notificationLifetime?: NotificationLifetime;
|
|
14
|
+
mesh?: CurrentMesh | null;
|
|
15
|
+
meshStatus?: MeshStatusSource | null;
|
|
16
|
+
network?: NetworkSource | null;
|
|
17
|
+
diagnostics?: DiagnosticsSource | null;
|
|
18
|
+
logs?: LogSource | null;
|
|
19
|
+
deviceId?: Buffer | null;
|
|
20
|
+
lifecycle?: {
|
|
21
|
+
suspend(): Promise<void>;
|
|
22
|
+
resume(): Promise<void>;
|
|
23
|
+
} | null;
|
|
24
|
+
listModels?: ((options: AssistantListModelsRequest) => Promise<AssistantModelInfoList>) | null;
|
|
25
|
+
deleteModel?: ((options: AssistantDeleteModelRequest) => Promise<AssistantDeleteModelResponse>) | null;
|
|
26
|
+
clearKvCache?: (() => Promise<AssistantKvCacheDeletionResponse>) | null;
|
|
27
|
+
deleteChatKvCache?: ((chatId: string) => Promise<AssistantKvCacheDeletionResponse>) | null;
|
|
28
|
+
compactChat?: ((chatId: string) => Promise<AssistantCompactChatResponse>) | null;
|
|
29
|
+
modelCatalogWatch?: (() => AsyncIterable<AssistantModelCatalogRevision>) | null;
|
|
30
|
+
retryModelDownload?: ((request: AssistantClearModelDownloadRequest) => Promise<void>) | null;
|
|
31
|
+
transcribe?: ((request: AssistantTranscribeRequest) => Promise<AssistantTranscribeResponse>) | null;
|
|
32
|
+
speak?: ((request: AssistantSpeakRequest) => Promise<AssistantSpeakResponse>) | null;
|
|
33
|
+
speakStream?: ((text: AsyncIterable<string>) => AsyncIterable<AssistantSpeakResponse>) | null;
|
|
34
|
+
deviceHost?: {
|
|
35
|
+
removeWriter: (writerKey: Buffer, deviceId: Buffer) => Promise<void>;
|
|
36
|
+
renameLocal: (name: string) => Promise<void>;
|
|
37
|
+
saveProfileLocal: (capabilityProfile: AssistantCapabilityProfile, recommendedModelName: string, platform?: string) => Promise<void>;
|
|
38
|
+
readLocalProfile: () => {
|
|
39
|
+
capabilityProfile: AssistantCapabilityProfile;
|
|
40
|
+
recommendedModelName: string;
|
|
41
|
+
platform?: string;
|
|
42
|
+
} | null;
|
|
43
|
+
} | null;
|
|
44
|
+
ragIndex?: (() => VectorIndex | null) | null;
|
|
45
|
+
ragEmbed?: (() => IndexingEmbedder | null) | null;
|
|
46
|
+
platform?: (() => string | null) | null;
|
|
47
|
+
pushSkillSecret?: ((request: AssistantPushSkillSecretRequest) => Promise<void>) | null;
|
|
48
|
+
skills?: ((agentId?: string | null, modelName?: string | null, options?: {
|
|
49
|
+
readonly refresh?: boolean;
|
|
50
|
+
}) => Promise<unknown>) | null;
|
|
51
|
+
skillCatalog?: ((agentId?: string | null, modelName?: string | null, options?: {
|
|
52
|
+
readonly refresh?: boolean;
|
|
53
|
+
}) => Promise<AssistantSkillCatalogResponse>) | null;
|
|
54
|
+
tools?: (() => Promise<AssistantToolCatalogResponse>) | null;
|
|
55
|
+
listManagedSkills?: ((agentId?: string | null) => Promise<AssistantManagedSkillsResponse>) | null;
|
|
56
|
+
readSkillFile?: ((name: string, agentId?: string | null) => Promise<AssistantSkillFileResponse>) | null;
|
|
57
|
+
writeSkillFile?: ((name: string, content: string, agentId?: string | null) => Promise<AssistantOkResponse>) | null;
|
|
58
|
+
copySkillForEdit?: ((name: string, agentId?: string | null) => Promise<AssistantCopySkillResponse>) | null;
|
|
59
|
+
deleteOverlaySkill?: ((name: string, agentId?: string | null) => Promise<AssistantDeleteSkillResponse>) | null;
|
|
60
|
+
}
|
|
61
|
+
export type { Capabilities, WatchStream } from '../../spec/capabilities.d.ts';
|
|
62
|
+
export declare function createApi(deps?: ApiDeps): Partial<CapabilityHandlers>;
|