multiwoven-integrations 0.28.0 → 0.29.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.
- checksums.yaml +4 -4
- data/lib/multiwoven/integrations/core/constants.rb +3 -0
- data/lib/multiwoven/integrations/rollout.rb +2 -1
- data/lib/multiwoven/integrations/source/qdrant/client.rb +86 -0
- data/lib/multiwoven/integrations/source/qdrant/config/catalog.json +6 -0
- data/lib/multiwoven/integrations/source/qdrant/config/meta.json +15 -0
- data/lib/multiwoven/integrations/source/qdrant/config/spec.json +29 -0
- data/lib/multiwoven/integrations/source/qdrant/icon.svg +1 -0
- data/lib/multiwoven/integrations.rb +1 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1837d56b1e775b3f314204b7cebfc7cb285e37a12c1da86895f0886f795a5da
|
4
|
+
data.tar.gz: 64620914319d68987f76d7f5494bc45b7ac7b7f949cc47fbcabb3610432fef96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f6b170f29215f49b1903cf07745cb5cc481635073e3393b63b494087164cf145b27ecdddc38045024a5f94f832d08ece978f266899ea852b4d1fce0a522c714
|
7
|
+
data.tar.gz: a883f8128881440d1c52b1e54c85b66057a3d7db5564adb3fd11013c3191b42ba86dbe6560d9b9d3724070c0bfd62f032d6c49e15ec5f64f62f84af7d003ee72
|
@@ -88,6 +88,9 @@ module Multiwoven
|
|
88
88
|
QUICKBOOKS_SANDBOX_QUERY_URL = "https://sandbox-quickbooks.api.intuit.com/v3/company/%<realm_id>s/query?query=%<query>s"
|
89
89
|
QUICKBOOKS_PRODUCTION_QUERY_URL = "https://quickbooks.api.intuit.com/v3/company/%<realm_id>s/query?query=%<query>s"
|
90
90
|
QUICKBOOKS_REDIRECT_URL = "https://developer.intuit.com/v2/OAuth2Playground/RedirectUrl"
|
91
|
+
|
92
|
+
# Qdrant
|
93
|
+
QDRANT_SEARCH_URL = "%<host>s/collections/%<collection_name>s/points/search"
|
91
94
|
end
|
92
95
|
end
|
93
96
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Multiwoven
|
4
4
|
module Integrations
|
5
|
-
VERSION = "0.
|
5
|
+
VERSION = "0.29.0"
|
6
6
|
|
7
7
|
ENABLED_SOURCES = %w[
|
8
8
|
Snowflake
|
@@ -29,6 +29,7 @@ module Multiwoven
|
|
29
29
|
GenericOpenAI
|
30
30
|
IntuitQuickBooks
|
31
31
|
PineconeDB
|
32
|
+
Qdrant
|
32
33
|
].freeze
|
33
34
|
|
34
35
|
ENABLED_DESTINATIONS = %w[
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Multiwoven::Integrations::Source
|
4
|
+
module Qdrant
|
5
|
+
include Multiwoven::Integrations::Core
|
6
|
+
class Client < VectorSourceConnector
|
7
|
+
def check_connection(connection_config)
|
8
|
+
connection_config = connection_config.with_indifferent_access
|
9
|
+
create_connection(connection_config)
|
10
|
+
response = Multiwoven::Integrations::Core::HttpClient.request(
|
11
|
+
@host,
|
12
|
+
HTTP_GET,
|
13
|
+
headers: auth_headers(@api_key)
|
14
|
+
)
|
15
|
+
if success?(response)
|
16
|
+
success_status
|
17
|
+
else
|
18
|
+
failure_status(nil)
|
19
|
+
end
|
20
|
+
rescue StandardError => e
|
21
|
+
handle_exception(e, {
|
22
|
+
context: "QDRANT:CHECK_CONNECTION:EXCEPTION",
|
23
|
+
type: "error"
|
24
|
+
})
|
25
|
+
failure_status(e)
|
26
|
+
end
|
27
|
+
|
28
|
+
def discover(_connection_config = nil)
|
29
|
+
catalog_json = read_json(CATALOG_SPEC_PATH)
|
30
|
+
catalog = build_catalog(catalog_json)
|
31
|
+
catalog.to_multiwoven_message
|
32
|
+
rescue StandardError => e
|
33
|
+
handle_exception(e, {
|
34
|
+
context: "QDRANT:DISCOVER:EXCEPTION",
|
35
|
+
type: "error"
|
36
|
+
})
|
37
|
+
end
|
38
|
+
|
39
|
+
def search(vector_search_config)
|
40
|
+
connection_config = vector_search_config.source.connection_specification
|
41
|
+
connection_config = connection_config.with_indifferent_access
|
42
|
+
create_connection(connection_config)
|
43
|
+
url = build_url(QDRANT_SEARCH_URL)
|
44
|
+
|
45
|
+
body = {
|
46
|
+
vector: vector_search_config[:vector],
|
47
|
+
top: vector_search_config[:limit]
|
48
|
+
}
|
49
|
+
|
50
|
+
response = Multiwoven::Integrations::Core::HttpClient.request(
|
51
|
+
url,
|
52
|
+
HTTP_POST,
|
53
|
+
headers: {
|
54
|
+
"Content-Type" => "application/json",
|
55
|
+
"api-key" => @api_key
|
56
|
+
},
|
57
|
+
payload: body
|
58
|
+
)
|
59
|
+
|
60
|
+
response = JSON.parse(response.body).with_indifferent_access
|
61
|
+
records = response[:result] || []
|
62
|
+
|
63
|
+
records.map do |row|
|
64
|
+
RecordMessage.new(data: row, emitted_at: Time.now.to_i).to_multiwoven_message
|
65
|
+
end
|
66
|
+
rescue StandardError => e
|
67
|
+
handle_exception(e, {
|
68
|
+
context: "QDRANT:SEARCH:EXCEPTION",
|
69
|
+
type: "error"
|
70
|
+
})
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def create_connection(connection_config)
|
76
|
+
@api_key = connection_config[:api_key]
|
77
|
+
@host = connection_config[:host]
|
78
|
+
@collection_name = connection_config[:collection_name]
|
79
|
+
end
|
80
|
+
|
81
|
+
def build_url(url)
|
82
|
+
format(url, host: @host, collection_name: @collection_name)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"data": {
|
3
|
+
"name": "Qdrant",
|
4
|
+
"title": "Qdrant",
|
5
|
+
"connector_type": "source",
|
6
|
+
"category": "Database",
|
7
|
+
"documentation_url": "https://docs.squared.ai/guides/source/data-sources/qdrant",
|
8
|
+
"github_issue_label": "source-qdrant",
|
9
|
+
"icon": "icon.svg",
|
10
|
+
"license": "MIT",
|
11
|
+
"release_stage": "alpha",
|
12
|
+
"support_level": "community",
|
13
|
+
"tags": ["language:ruby", "multiwoven"]
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"documentation_url": "https://docs.squared.ai/guides/source/data-sources/qdrant",
|
3
|
+
"stream_type": "user_defined",
|
4
|
+
"connector_query_type": "vector_search",
|
5
|
+
"connection_specification": {
|
6
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
7
|
+
"title": "Qdrant",
|
8
|
+
"type": "object",
|
9
|
+
"required": ["host", "api_key", "collection_name"],
|
10
|
+
"properties": {
|
11
|
+
"host": {
|
12
|
+
"type": "string",
|
13
|
+
"title": "API Url",
|
14
|
+
"order": 0
|
15
|
+
},
|
16
|
+
"api_key": {
|
17
|
+
"type": "string",
|
18
|
+
"multiwoven_secret": true,
|
19
|
+
"title": "API Key",
|
20
|
+
"order": 1
|
21
|
+
},
|
22
|
+
"collection_name": {
|
23
|
+
"type": "string",
|
24
|
+
"title": "Collection Name",
|
25
|
+
"order": 2
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 451.84 152.4" width="451.84" height="152.4" fill="none"><g fill="#dc244c"><path d="M212.69 116c0 5.523-4.477 10.001-10 10.001h-6.836v-7.808h-.244c-.732 1.057-1.708 2.155-2.928 3.293-1.139 1.058-2.521 2.034-4.148 2.929-1.545.894-3.294 1.626-5.246 2.196a20.015 20.015 0 0 1-5.856.853c-4.392 0-8.377-.732-11.956-2.196-3.579-1.545-6.669-3.66-9.272-6.344-2.521-2.765-4.473-6.018-5.856-9.759-1.383-3.742-2.074-7.849-2.074-12.322 0-4.148.61-8.093 1.83-11.835 1.301-3.822 3.091-7.198 5.368-10.126a26.176 26.176 0 0 1 8.54-6.954c3.335-1.789 7.117-2.683 11.346-2.683 3.823 0 7.361.61 10.614 1.83 3.335 1.138 6.059 3.13 8.174 5.978h.244V43.769c0-5.523 4.477-10 10-10h8.3zm-16.836-19.646c0-4.473-1.301-8.092-3.904-10.858-2.521-2.765-6.1-4.148-10.736-4.148s-8.255 1.383-10.858 4.148c-2.521 2.766-3.782 6.385-3.782 10.858 0 4.474 1.261 8.093 3.782 10.858 2.603 2.766 6.222 4.149 10.858 4.149s8.215-1.383 10.736-4.149c2.603-2.765 3.904-6.384 3.904-10.858zM224.53 76.708c0-5.522 4.477-10 10-10h8.3v9.516h.244c1.952-3.66 4.27-6.384 6.954-8.174 2.684-1.87 6.059-2.805 10.126-2.805 1.057 0 2.114.04 3.172.121 1.057.082 2.033.245 2.928.489v16.713a22.4 22.4 0 0 0-3.904-.854 19.895 19.895 0 0 0-3.904-.367c-3.498 0-6.263.489-8.296 1.465-2.034.975-3.62 2.358-4.758 4.147-1.058 1.708-1.749 3.782-2.074 6.222-.326 2.441-.488 5.124-.488 8.052V116c0 5.524-4.477 10.002-10 10.002h-8.3zM310.64 118.56h-.244c-2.033 3.172-4.758 5.449-8.174 6.832-3.334 1.382-6.872 2.073-10.614 2.073-2.765 0-5.449-.406-8.052-1.219-2.521-.732-4.758-1.871-6.71-3.416-1.952-1.546-3.497-3.457-4.636-5.735-1.138-2.277-1.708-4.92-1.708-7.929 0-3.416.61-6.304 1.83-8.662 1.302-2.359 3.01-4.311 5.124-5.856 2.196-1.546 4.677-2.725 7.442-3.538a50.076 50.076 0 0 1 8.54-1.953c3.01-.406 5.978-.65 8.906-.732 3.01-.081 5.775-.121 8.296-.121 0-3.254-1.179-5.816-3.538-7.687-2.277-1.952-5.002-2.928-8.174-2.928-3.009 0-5.774.651-8.296 1.952-2.44 1.221-4.636 2.929-6.588 5.124l-9.76-10.004c3.416-3.171 7.402-5.53 11.956-7.075a41.766 41.766 0 0 1 14.152-2.44c5.368 0 9.76.69 13.176 2.073 3.498 1.302 6.263 3.254 8.296 5.856 2.115 2.603 3.579 5.816 4.392 9.638.814 3.742 1.22 8.093 1.22 13.054v20.135c0 5.522-4.477 10-10 10h-6.836zm-4.514-18.545c-1.382 0-3.131.082-5.246.244a24.865 24.865 0 0 0-5.978.976c-1.87.57-3.497 1.424-4.88 2.562-1.301 1.139-1.952 2.725-1.952 4.759 0 2.196.936 3.822 2.806 4.879 1.871 1.058 3.823 1.586 5.856 1.586 1.79 0 3.498-.244 5.124-.732 1.708-.488 3.213-1.179 4.514-2.074a9.45 9.45 0 0 0 3.05-3.416c.814-1.382 1.22-3.009 1.22-4.879v-3.905zM340.18 76.708c0-5.522 4.477-10 10-10h7.568v8.052h.244c.569-1.138 1.382-2.277 2.44-3.416 1.057-1.138 2.318-2.155 3.782-3.05s3.131-1.626 5.002-2.195c1.87-.57 3.904-.854 6.1-.854 4.636 0 8.377.732 11.224 2.196 2.846 1.382 5.042 3.334 6.588 5.855 1.626 2.522 2.724 5.49 3.294 8.906.569 3.416.854 7.117.854 11.103V116c0 5.523-4.477 10.001-10 10.001h-8.3V96.964a58.2 58.2 0 0 0-.244-5.246c-.082-1.87-.448-3.578-1.098-5.123a8.154 8.154 0 0 0-2.806-3.783c-1.22-.976-3.01-1.464-5.368-1.464-2.359 0-4.27.448-5.734 1.342a8.629 8.629 0 0 0-3.416 3.416c-.732 1.383-1.22 2.969-1.464 4.758a41.535 41.535 0 0 0-.366 5.612V116c0 5.523-4.477 10.001-10 10.001h-8.3zM451.84 71.348c0 5.522-4.477 10-10 10h-6.104v19.764c0 1.627.082 3.132.244 4.514.163 1.301.529 2.44 1.098 3.415.57.977 1.424 1.75 2.562 2.32 1.22.487 2.806.73 4.758.73.976 0 2.237-.08 3.782-.243 1.627-.245 2.847-.732 3.66-1.464v8.725c0 3.915-2.452 7.557-6.344 7.989a58.528 58.528 0 0 1-6.466.366c-3.09 0-5.937-.325-8.54-.976-2.602-.65-4.88-1.667-6.832-3.05-1.952-1.463-3.497-3.334-4.636-5.612-1.057-2.277-1.586-5.042-1.586-8.295V81.347h-11.712v-4.64c0-5.522 4.478-9.999 10-9.999h1.712V59.14c0-5.523 4.478-10 10-10h8.3v17.568h16.104z"/></g><g fill-rule="evenodd" clip-rule="evenodd"><path fill="#24386c" d="m103.79 140.09-3.039-83.784-5.503-22.089 36.734 3.889v101.35l-22.44 12.95z"/><path fill="#7589be" d="m131.98 38.1-22.44 12.96-46.308-10.158L9.029 62.971-.001 38.1l32.99-19.05 33-19.05 32.99 19.05z"/><path fill="#b2bfe8" d="m0 38.1 22.44 12.96 13.008 38.686 43.921 35.142L65.991 152.4l-33-19.051L0 114.299v-76.2"/><path fill="#24386c" d="m80.868 104.56-14.877 21.932v25.91l21.11-12.18 10.877-16.242"/><path fill="#7589be" d="M66 100.59 44.881 64.025l4.549-12.119 17.293-8.384L87.1 64.026z"/><path fill="#b2bfe8" d="m44.881 64.022 21.11 12.18v24.38l-19.524.84-11.81-15.08 10.224-22.32"/><path fill="#24386c" d="m65.991 76.2 21.11-12.179 14.367 23.922-17.386 14.365-18.091-1.727z"/><path fill="#dc244c" d="m87.101 140.22 22.44 12.181V51.061l-21.78-12.57-21.77-12.57-21.78 12.57-21.77 12.57v50.289l21.77 12.57 21.78 12.571 21.11-12.191zm0-51.83-21.11 12.19-21.11-12.19V64.02l21.11-12.19 21.11 12.19v24.37"/></g><path fill="url(#a)" d="M66 126.5v-25.914L45 88.5v25.871z"/><defs><linearGradient id="a" x1="62.128" x2="41.202" y1="105.54" y2="105.54" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FF3364"/><stop offset="1" stop-color="#C91540" stop-opacity="0"/></linearGradient></defs></svg>
|
@@ -87,6 +87,7 @@ require_relative "integrations/source/aws_bedrock_model/client"
|
|
87
87
|
require_relative "integrations/source/generic_open_ai/client"
|
88
88
|
require_relative "integrations/source/intuit_quick_books/client"
|
89
89
|
require_relative "integrations/source/pinecone_db/client"
|
90
|
+
require_relative "integrations/source/qdrant/client"
|
90
91
|
|
91
92
|
# Destination
|
92
93
|
require_relative "integrations/destination/klaviyo/client"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multiwoven-integrations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Subin T P
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-06-
|
11
|
+
date: 2025-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -793,6 +793,11 @@ files:
|
|
793
793
|
- lib/multiwoven/integrations/source/postgresql/config/meta.json
|
794
794
|
- lib/multiwoven/integrations/source/postgresql/config/spec.json
|
795
795
|
- lib/multiwoven/integrations/source/postgresql/icon.svg
|
796
|
+
- lib/multiwoven/integrations/source/qdrant/client.rb
|
797
|
+
- lib/multiwoven/integrations/source/qdrant/config/catalog.json
|
798
|
+
- lib/multiwoven/integrations/source/qdrant/config/meta.json
|
799
|
+
- lib/multiwoven/integrations/source/qdrant/config/spec.json
|
800
|
+
- lib/multiwoven/integrations/source/qdrant/icon.svg
|
796
801
|
- lib/multiwoven/integrations/source/redshift/client.rb
|
797
802
|
- lib/multiwoven/integrations/source/redshift/config/meta.json
|
798
803
|
- lib/multiwoven/integrations/source/redshift/config/spec.json
|