multiwoven-integrations 0.34.20 → 0.35.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc1a7c208f3183e532a2eb7d7e71db0a19fe1fc8c559d27036f9d6bf147eaf10
4
- data.tar.gz: e5ebf0e7895beaf61fe4cfaa4d41b414e9315c0c26725c3cb4a91cb4c1cad3eb
3
+ metadata.gz: efeae4ad1a6fd1be0c8530549eb79170538a9dd85755a8b2ff34fed5bf317b28
4
+ data.tar.gz: 35facc7d8dbc2c70dcc4f9c9ea2c0d501a286673c1a81a084304538b6455b29a
5
5
  SHA512:
6
- metadata.gz: 3abb6be05b20a2d7bbdbcff69a59fb29e62129286f8473552080fbcff421b12f720ce089831b4a8c218c4003b788de49982207d2dc86d7c2ee8b7cdc8764588e
7
- data.tar.gz: 7c3d59f96b267950075467c07228e2ed157eabc2a5365e584ad5a7fbd2a6057a58be2f82a64ac6d760f2735a21b0f59bdba1489106ab86fad3c9977f560ff29b
6
+ metadata.gz: 5d7f34c3603386e2a9472aca3ded645b24c2764080cf7b41d98f0e80f619004aa5f14b8fad44a5f961498eedf1ce9ae82ca09f1adb21a167213ce6bbc2c77859
7
+ data.tar.gz: 07c89f2f17ec8f7f2858025c7dbc23cb44c2971e3c10f3daac974963e5807570c3d7b0d21f52d6ddb8cf8de21e909e18442516e6222c6f36f726eda9c762e426
@@ -0,0 +1,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "weaviate"
4
+ require "digest"
5
+ module Multiwoven::Integrations::Destination
6
+ module Weaviate
7
+ include Multiwoven::Integrations::Core
8
+ class Client < DestinationConnector
9
+ WEAVIATE_TYPE_MAP = {
10
+ "text" => "string",
11
+ "int" => "integer",
12
+ "number" => "number",
13
+ "boolean" => "boolean",
14
+ "date" => "string"
15
+ }.freeze
16
+ def check_connection(connection_config)
17
+ client = build_client(connection_config)
18
+ client.schema.list
19
+ success_status
20
+ rescue StandardError => e
21
+ handle_exception(e, {
22
+ context: "WEAVIATE:CHECK_CONNECTION:EXCEPTION",
23
+ type: "error"
24
+ })
25
+ failure_status(e)
26
+ end
27
+
28
+ def discover(connection_config)
29
+ client = build_client(connection_config)
30
+ schema = client.schema.list
31
+ classes = schema["classes"] || []
32
+ streams = classes.map { |class_data| build_stream(class_data) }
33
+ catalog = build_catalog(streams)
34
+ catalog.to_multiwoven_message
35
+ rescue StandardError => e
36
+ handle_exception(e, {
37
+ context: "WEAVIATE:DISCOVER:EXCEPTION",
38
+ type: "error"
39
+ })
40
+ end
41
+
42
+ def write(sync_config, records, _action = "destination_insert")
43
+ write_success = 0
44
+ write_failure = 0
45
+ log_message_array = []
46
+ # Passing in the id handles upsert
47
+ objects = records.map do |record|
48
+ {
49
+ class: sync_config.stream.name,
50
+ vector: record["vector"],
51
+ id: record["id"].present? ? generate_uuid(record["id"]) : SecureRandom.uuid,
52
+ properties: coerce_properties(record["properties"], sync_config.stream)
53
+ }
54
+ end
55
+
56
+ client = build_client(sync_config.destination.connection_specification)
57
+ responses = client.objects.batch_create(objects: objects)
58
+ responses.each do |response|
59
+ if response["result"]["status"] == "SUCCESS"
60
+ write_success += 1
61
+ log_message_array << log_request_response("info", { object: response }, response)
62
+ else
63
+ write_failure += 1
64
+ log_message_array << log_request_response("error", { object: response }, response)
65
+ end
66
+ end
67
+ tracking_message(write_success, write_failure, log_message_array)
68
+ rescue StandardError => e
69
+ handle_exception(e, {
70
+ context: "WEAVIATE:RECORD:WRITE:EXCEPTION",
71
+ type: "error",
72
+ sync_id: sync_config.sync_id,
73
+ sync_run_id: sync_config.sync_run_id
74
+ })
75
+ end
76
+
77
+ private
78
+
79
+ def normalize_url(url)
80
+ url = url.to_s.strip.downcase
81
+ url = url.delete_prefix("www.")
82
+ url = "https://#{url}" unless url.start_with?("http://", "https://")
83
+ url.chomp("/")
84
+ end
85
+
86
+ def build_client(connection_config)
87
+ connection_config = connection_config.with_indifferent_access
88
+ ::Weaviate::Client.new(
89
+ url: normalize_url(connection_config[:api_url]),
90
+ api_key: connection_config[:api_key],
91
+ logger: Logger.new($stdout, level: Logger::ERROR)
92
+ )
93
+ end
94
+
95
+ def build_stream(class_data)
96
+ properties = {}
97
+ class_data["properties"].each do |property|
98
+ properties[property["name"]] = { "type" => WEAVIATE_TYPE_MAP[property["dataType"][0]] } unless property["name"] == "vector"
99
+ end
100
+
101
+ Multiwoven::Integrations::Protocol::Stream.new(
102
+ name: class_data["class"], # Weaviate class name
103
+ action: "update", # or "update"
104
+ supported_sync_modes: %w[incremental],
105
+ json_schema: {
106
+ "type" => "object",
107
+ "required" => %w[id vector properties],
108
+ "properties" => {
109
+ "id" => { "type" => "string", "required" => true },
110
+ "vector" => { "type" => "vector", "required" => true },
111
+ "properties" => {
112
+ "type" => "object",
113
+ "required" => %w[properties],
114
+ "properties" => properties
115
+
116
+ }
117
+ }
118
+ }
119
+ )
120
+ end
121
+
122
+ def build_catalog(streams)
123
+ Multiwoven::Integrations::Protocol::Catalog.new(
124
+ streams: streams,
125
+ request_rate_limit: 60,
126
+ request_rate_limit_unit: "minute",
127
+ request_rate_concurrency: 10
128
+ )
129
+ end
130
+
131
+ def generate_uuid(str)
132
+ hash = Digest::SHA1.hexdigest(str)
133
+ "#{hash[0, 8]}-#{hash[8, 4]}-#{hash[12, 4]}-#{hash[16, 4]}-#{hash[20, 12]}"
134
+ end
135
+
136
+ def coerce_properties(properties, stream)
137
+ schema_props = stream.json_schema.with_indifferent_access.dig("properties", "properties", "properties") || {}
138
+ properties.each_with_object({}) do |(key, value), result|
139
+ result[key] = case schema_props.dig(key, "type")
140
+ when "integer" then value.to_i
141
+ when "number" then value.to_f
142
+ when "boolean" then value.to_s.downcase == "true"
143
+ else value
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,15 @@
1
+ {
2
+ "data": {
3
+ "name": "Weaviate",
4
+ "title": "Weaviate",
5
+ "connector_type": "destination",
6
+ "category": "Database",
7
+ "documentation_url": "https://docs.squared.ai/guides/destinations/retl-destinations/database/weaviate",
8
+ "github_issue_label": "destination-weaviate",
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,23 @@
1
+ {
2
+ "documentation_url": "https://docs.squared.ai/guides/destinations/retl-destinations/database/weaviate",
3
+ "stream_type": "dynamic",
4
+ "connection_specification": {
5
+ "$schema": "http://json-schema.org/draft-07/schema#",
6
+ "title": "Weaviate",
7
+ "type": "object",
8
+ "required": ["api_url", "api_key"],
9
+ "properties": {
10
+ "api_url": {
11
+ "type": "string",
12
+ "title": "API Url",
13
+ "order": 0
14
+ },
15
+ "api_key": {
16
+ "type": "string",
17
+ "multiwoven_secret": true,
18
+ "title": "API Key",
19
+ "order": 1
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="120" height="73">
3
+ <path d="M0 0 C2.5078125 1.40625 2.5078125 1.40625 3.5078125 3.40625 C3.59368059 5.73041296 3.61492293 8.05708307 3.60546875 10.3828125 C3.6040538 11.06806 3.60263885 11.7533075 3.60118103 12.45932007 C3.59557925 14.65000761 3.58302656 16.8405933 3.5703125 19.03125 C3.56529772 20.51562352 3.56073478 21.99999865 3.55664062 23.484375 C3.54560927 27.12503315 3.52834349 30.76563164 3.5078125 34.40625 C4.02690186 34.10855713 4.54599121 33.81086426 5.08081055 33.50415039 C7.44827438 32.15180435 9.82166814 30.81021593 12.1953125 29.46875 C13.42024414 28.76588867 13.42024414 28.76588867 14.66992188 28.04882812 C15.46591797 27.60087891 16.26191406 27.15292969 17.08203125 26.69140625 C17.80994873 26.27769775 18.53786621 25.86398926 19.2878418 25.43774414 C25.36995377 22.61173258 32.31868735 22.58101418 38.6953125 24.40625 C42.87840668 25.95003395 46.55066583 28.16645289 50.30859375 30.53125 C50.90692017 30.90378906 51.50524658 31.27632812 52.1217041 31.66015625 C53.58572771 32.57233871 55.04704901 33.48885586 56.5078125 34.40625 C56.5171582 33.45258545 56.52650391 32.4989209 56.53613281 31.51635742 C56.57601683 27.97682038 56.64176909 24.43815407 56.71533203 20.89916992 C56.74355128 19.36770822 56.76476119 17.83610061 56.77880859 16.30444336 C56.80022676 14.10194151 56.84686388 11.90119541 56.8984375 9.69921875 C56.89966614 9.01474167 56.90089478 8.33026459 56.90216064 7.62504578 C56.99777755 4.5195228 57.18438537 2.7845426 59.23339844 0.38793945 C62.19509256 -0.89039589 63.46602411 -0.61449983 66.5078125 0.40625 C69.06323242 1.66552734 69.06323242 1.66552734 71.73828125 3.2421875 C73.18944336 4.09683594 73.18944336 4.09683594 74.66992188 4.96875 C76.16749023 5.8659375 76.16749023 5.8659375 77.6953125 6.78125 C78.70529297 7.37164063 79.71527344 7.96203125 80.75585938 8.5703125 C88.25237345 13.02309143 88.25237345 13.02309143 90.5078125 16.40625 C90.71554731 19.0218621 90.81185438 21.52833762 90.80859375 24.14453125 C90.81287888 24.90291794 90.817164 25.66130463 90.82157898 26.44267273 C90.82731963 28.04730228 90.82782448 29.65195785 90.82348633 31.2565918 C90.8203373 33.69951432 90.84374901 36.14121254 90.86914062 38.58398438 C90.8714149 40.14583181 90.87211652 41.70768249 90.87109375 43.26953125 C90.8803035 43.99473465 90.88951324 44.71993805 90.89900208 45.46711731 C90.85633241 50.19793127 90.1180859 53.44816514 87.5078125 57.40625 C85.17944336 59.35668945 85.17944336 59.35668945 82.47265625 61.01953125 C81.49876953 61.62732422 80.52488281 62.23511719 79.52148438 62.86132812 C78.50634766 63.47427734 77.49121094 64.08722656 76.4453125 64.71875 C75.42630859 65.35103516 74.40730469 65.98332031 73.35742188 66.63476562 C61.78781832 73.7881388 61.78781832 73.7881388 53.5078125 72.40625 C48.67509709 70.09349823 44.44659708 66.99944018 40.31640625 63.60546875 C39.65769531 63.06535156 38.99898438 62.52523437 38.3203125 61.96875 C37.76988281 61.47503906 37.21945313 60.98132812 36.65234375 60.47265625 C33.29441839 58.80286823 30.12195936 58.7354058 26.5078125 59.40625 C23.83648361 60.68580577 21.62514808 62.37128425 19.3203125 64.21875 C18.14049805 65.1226297 16.95952973 66.0250055 15.77734375 66.92578125 C14.93985596 67.56797607 14.93985596 67.56797607 14.08544922 68.22314453 C9.28042207 71.8265431 6.06321703 73.03244753 0.09765625 72.8046875 C-4.47125361 72.10177829 -7.69414932 69.94390217 -11.4921875 67.40625 C-12.75574571 66.5990621 -14.02013834 65.79317959 -15.28515625 64.98828125 C-16.64715001 64.10880656 -18.00782161 63.22728105 -19.3671875 62.34375 C-20.34981567 61.70880615 -20.34981567 61.70880615 -21.35229492 61.06103516 C-21.97338135 60.64772949 -22.59446777 60.23442383 -23.234375 59.80859375 C-24.06751221 59.25933228 -24.06751221 59.25933228 -24.91748047 58.69897461 C-28.38820534 55.84975163 -29.40272581 54.14240524 -29.9597168 49.55908203 C-30.01317168 48.01125659 -30.04760407 46.46269657 -30.06640625 44.9140625 C-30.0811348 44.09050262 -30.09586334 43.26694275 -30.11103821 42.41842651 C-30.13495422 40.67862191 -30.15039957 38.93868302 -30.15795898 37.19873047 C-30.17957144 34.54549847 -30.25976987 31.89805385 -30.34179688 29.24609375 C-30.541473 17.03281231 -30.541473 17.03281231 -27.98339844 13.06738281 C-25.89388671 11.45790809 -23.90792078 10.45542345 -21.4921875 9.40625 C-19.98109277 8.47192778 -18.4785063 7.5237164 -16.984375 6.5625 C-15.44887506 5.67091939 -13.90978021 4.78550183 -12.3671875 3.90625 C-11.59503906 3.43960937 -10.82289062 2.97296875 -10.02734375 2.4921875 C-4.34809851 -0.73927402 -4.34809851 -0.73927402 0 0 Z " fill="#1DBD38" transform="translate(29.4921875,0.59375)"/>
4
+ <path d="M0 0 C2.84883 0.95599771 5.2180631 2.1745575 7.80737305 3.70068359 C8.77481445 4.27044922 9.74225586 4.84021484 10.73901367 5.42724609 C11.73739258 6.02537109 12.73577148 6.62349609 13.7644043 7.23974609 C14.77438477 7.83013672 15.78436523 8.42052734 16.82495117 9.02880859 C24.32146525 13.48158753 24.32146525 13.48158753 26.5769043 16.86474609 C26.78463911 19.48035819 26.88094617 21.98683372 26.87768555 24.60302734 C26.88197067 25.36141403 26.8862558 26.11980072 26.89067078 26.90116882 C26.89641142 28.50579837 26.89691628 30.11045394 26.89257812 31.71508789 C26.88942909 34.15801041 26.91284081 36.59970863 26.93823242 39.04248047 C26.9405067 40.60432791 26.94120831 42.16617858 26.94018555 43.72802734 C26.94939529 44.45323074 26.95860504 45.17843414 26.96809387 45.9256134 C26.9254242 50.65642736 26.18717769 53.90666123 23.5769043 57.86474609 C21.24853516 59.81518555 21.24853516 59.81518555 18.54174805 61.47802734 C17.56786133 62.08582031 16.59397461 62.69361328 15.59057617 63.31982422 C14.57543945 63.93277344 13.56030273 64.54572266 12.5144043 65.17724609 C11.49540039 65.80953125 10.47639648 66.44181641 9.42651367 67.09326172 C-0.14934102 73.01391939 -0.14934102 73.01391939 -5.4230957 73.05224609 C-6.3099707 73.06642578 -7.1968457 73.08060547 -8.1105957 73.09521484 C-10.4230957 72.86474609 -10.4230957 72.86474609 -12.4230957 70.86474609 C-11.61038712 70.49885376 -10.79767853 70.13296143 -9.96034241 69.75598145 C-7.15138183 68.09377752 -7.15138183 68.09377752 -6.81077576 65.05651855 C-6.81617874 63.91751099 -6.82158173 62.77850342 -6.82714844 61.60498047 C-6.81704994 59.66782166 -6.81704994 59.66782166 -6.80674744 57.69152832 C-6.81491926 57.00182449 -6.82309109 56.31212067 -6.83151054 55.60151672 C-6.85689821 53.44072856 -6.85214674 51.28185096 -6.83961487 49.12097168 C-6.81885304 44.53535363 -6.83856289 39.95032533 -6.8605957 35.36474609 C-6.88168661 30.05108618 -6.88629776 24.7380394 -6.86009407 19.4243927 C-6.85672764 17.29514856 -6.87797194 15.16706961 -6.90049744 13.03796387 C-6.89691727 11.74652466 -6.8933371 10.45508545 -6.88964844 9.12451172 C-6.8989463 7.41600037 -6.8989463 7.41600037 -6.90843201 5.67297363 C-6.4230957 2.86474609 -6.4230957 2.86474609 -4.54537964 0.96505737 C-2.4230957 -0.13525391 -2.4230957 -0.13525391 0 0 Z " fill="#D6D300" transform="translate(93.423095703125,0.13525390625)"/>
5
+ <path d="M0 0 C2.5078125 1.40625 2.5078125 1.40625 3.5078125 3.40625 C3.58390409 5.39246328 3.59398766 7.38132943 3.57373047 9.36889648 C3.55909256 11.24610634 3.55909256 11.24610634 3.54415894 13.16123962 C3.53679592 13.83183851 3.52943291 14.5024374 3.52184677 15.19335747 C3.49986258 17.29045252 3.48575904 19.38745772 3.47415161 21.4846344 C3.44051777 27.44764529 3.39888354 33.4105071 3.33642578 39.37329102 C3.29879733 43.01953313 3.27576102 46.6656216 3.26211929 50.31202888 C3.25405847 51.70234524 3.24044024 53.0926408 3.22118759 54.48284721 C3.19474071 56.426496 3.18845728 58.37038765 3.18310547 60.31420898 C3.17342743 61.42070297 3.16374939 62.52719696 3.15377808 63.66722107 C3.27659494 66.40397086 3.27659494 66.40397086 4.84060669 68.16200256 C6.3590296 69.29521228 7.93135221 70.35527647 9.5078125 71.40625 C5.74239053 73.28896099 1.60898427 72.90552309 -2.4921875 72.40625 C-5.8173358 71.21260702 -8.56327945 69.36319449 -11.4921875 67.40625 C-12.75574571 66.5990621 -14.02013834 65.79317959 -15.28515625 64.98828125 C-16.64715001 64.10880656 -18.00782161 63.22728105 -19.3671875 62.34375 C-20.34981567 61.70880615 -20.34981567 61.70880615 -21.35229492 61.06103516 C-21.97338135 60.64772949 -22.59446777 60.23442383 -23.234375 59.80859375 C-24.06751221 59.25933228 -24.06751221 59.25933228 -24.91748047 58.69897461 C-28.38820534 55.84975163 -29.40272581 54.14240524 -29.9597168 49.55908203 C-30.01317168 48.01125659 -30.04760407 46.46269657 -30.06640625 44.9140625 C-30.0811348 44.09050262 -30.09586334 43.26694275 -30.11103821 42.41842651 C-30.13495422 40.67862191 -30.15039957 38.93868302 -30.15795898 37.19873047 C-30.17957144 34.54549847 -30.25976987 31.89805385 -30.34179688 29.24609375 C-30.541473 17.03281231 -30.541473 17.03281231 -27.98339844 13.06738281 C-25.89388671 11.45790809 -23.90792078 10.45542345 -21.4921875 9.40625 C-19.98109277 8.47192778 -18.4785063 7.5237164 -16.984375 6.5625 C-15.44887506 5.67091939 -13.90978021 4.78550183 -12.3671875 3.90625 C-11.59503906 3.43960937 -10.82289062 2.97296875 -10.02734375 2.4921875 C-4.34809851 -0.73927402 -4.34809851 -0.73927402 0 0 Z " fill="#D4D700" transform="translate(29.4921875,0.59375)"/>
6
+ <path d="M0 0 C2.4375 1.17578125 2.4375 1.17578125 4.86328125 2.58984375 C7.54913641 4.21319387 7.54913641 4.21319387 10.79296875 5.51171875 C14.23937773 7.10361223 16.79245838 8.4420216 19.5 11.11328125 C20.70618534 15.94348047 20.61384882 20.26834319 19.5 25.11328125 C17.93621759 27.52513375 17.05226288 27.98174403 14.26953125 28.64453125 C9.40141664 27.71073211 6.01735487 24.14726875 2.29101562 21.0234375 C-1.57588837 17.96957486 -4.49551099 16.23368431 -9.52075195 16.61181641 C-13.23783067 17.55358027 -15.97194583 19.70077994 -18.9375 22.05078125 C-19.56076172 22.51935547 -20.18402344 22.98792969 -20.82617188 23.47070312 C-23.77227467 25.66302491 -23.77227467 25.66302491 -26.5 28.11328125 C-33.22 27.39328125 -33.22 27.39328125 -34.5 26.11328125 C-34.67883149 23.84710517 -34.76802736 21.5735674 -34.8125 19.30078125 C-34.84988281 18.05683594 -34.88726562 16.81289063 -34.92578125 15.53125 C-34.5 12.11328125 -34.5 12.11328125 -32.7109375 9.78515625 C-30.76139261 8.31094209 -29.02825673 7.18378798 -26.8125 6.17578125 C-24.56011687 5.13270346 -22.46091008 4.0882952 -20.3671875 2.75 C-13.78159993 -1.43975554 -7.51785241 -2.66648828 0 0 Z " fill="#075546" transform="translate(67.5,42.88671875)"/>
7
+ <path d="M0 0 C0.96196289 0.55284668 1.92392578 1.10569336 2.91503906 1.67529297 C5.33129159 3.06191216 7.7492084 4.4449792 10.171875 5.8203125 C12.52396833 7.15614173 14.8660745 8.50485806 17.203125 9.8671875 C18.14671875 10.40601563 19.0903125 10.94484375 20.0625 11.5 C20.89910156 11.9846875 21.73570313 12.469375 22.59765625 12.96875 C25.29371341 14.12608186 27.09551687 14.31506258 30 14 C31.81476003 12.60414215 31.81476003 12.60414215 33 11 C32.5921785 19.02048948 32.5921785 19.02048948 28.69165039 22.64575195 C25.11792615 25.50669125 21.20659081 27.85544227 17.3125 30.25 C16.44560547 30.79140625 15.57871094 31.3328125 14.68554688 31.890625 C6.23859323 37.14942883 6.23859323 37.14942883 1 37.1875 C0.113125 37.20167969 -0.77375 37.21585938 -1.6875 37.23046875 C-4 37 -4 37 -6 35 C-5.18958252 34.65541748 -4.37916504 34.31083496 -3.54418945 33.95581055 C-0.66364974 32.18469148 -0.66364974 32.18469148 -0.34057617 28.72192383 C-0.29954516 27.38416131 -0.28527918 26.04540077 -0.29296875 24.70703125 C-0.27784744 24.00100266 -0.26272614 23.29497406 -0.24714661 22.56755066 C-0.20420511 20.31554391 -0.19542667 18.06487566 -0.1875 15.8125 C-0.16436028 14.28446946 -0.13899602 12.75647088 -0.11132812 11.22851562 C-0.04841366 7.48555847 -0.0161287 3.74343936 0 0 Z " fill="#83B900" transform="translate(87,36)"/>
8
+ <path d="M0 0 C0.01458252 0.89307861 0.02916504 1.78615723 0.04418945 2.70629883 C0.10527077 6.02217278 0.17942478 9.33721899 0.26245117 12.65258789 C0.29569001 14.08704628 0.32372535 15.52163513 0.34643555 16.95629883 C0.38000271 19.01960807 0.43231413 21.08172303 0.48828125 23.14453125 C0.51446533 24.38565674 0.54064941 25.62678223 0.56762695 26.90551758 C0.74062993 29.95379909 0.74062993 29.95379909 2.34448242 31.8034668 C3.87013843 32.90614193 5.43372887 33.95581924 7 35 C3.23457803 36.88271099 -0.89882823 36.49927309 -5 36 C-8.3251483 34.80635702 -11.07109195 32.95694449 -14 31 C-15.26355821 30.1928121 -16.52795084 29.38692959 -17.79296875 28.58203125 C-19.15496251 27.70255656 -20.51563411 26.82103105 -21.875 25.9375 C-22.53008545 25.5142041 -23.1851709 25.0909082 -23.86010742 24.65478516 C-30.03749946 20.5440028 -30.03749946 20.5440028 -32 17 C-32.1875 13.25 -32.1875 13.25 -32 10 C-31.608125 10.495 -31.21625 10.99 -30.8125 11.5 C-29.11317118 13.15217228 -29.11317118 13.15217228 -26.91796875 13.39453125 C-22.49021123 12.79586524 -19.25367448 10.51814935 -15.5 8.1875 C-14.75363281 7.73568359 -14.00726562 7.28386719 -13.23828125 6.81835938 C-10.17474321 4.96125888 -7.12802059 3.08035701 -4.09375 1.17578125 C-2 0 -2 0 0 0 Z " fill="#7EB800" transform="translate(32,37)"/>
9
+ <path d="M0 0 C1.40897804 0.00333092 1.40897804 0.00333092 2.84642029 0.00672913 C3.90744461 0.00680466 4.96846893 0.00688019 6.06164551 0.00695801 C7.21579453 0.01211929 8.36994354 0.01728058 9.55906677 0.02259827 C10.73404221 0.02401321 11.90901764 0.02542816 13.11959839 0.02688599 C16.88981116 0.0325046 20.65996556 0.04506026 24.43016052 0.05775452 C26.97898779 0.06276712 29.52781599 0.06733044 32.0766449 0.07142639 C38.34033943 0.08248008 44.60399006 0.09975718 50.86766052 0.12025452 C50.86766052 5.40025452 50.86766052 10.68025452 50.86766052 16.12025452 C46.55645913 14.39577396 42.72018522 12.39821379 38.74266052 10.05775452 C31.62251074 5.87596177 26.19742839 3.98680728 17.86766052 5.12025452 C13.92189546 6.71137493 10.43884726 8.82217966 6.86766052 11.12025452 C6.07617615 11.60752014 5.28469177 12.09478577 4.46922302 12.59681702 C3.11449706 13.43312799 1.76574373 14.27928214 0.42625427 15.13978577 C-1.13233948 16.12025452 -1.13233948 16.12025452 -3.13233948 17.12025452 C-3.15918627 14.47435438 -3.17910304 11.82872356 -3.19483948 9.18275452 C-3.20321838 8.42800842 -3.21159729 7.67326233 -3.2202301 6.89564514 C-3.22886389 4.97031138 -3.18458281 3.04489871 -3.13233948 1.12025452 C-2.13233948 0.12025452 -2.13233948 0.12025452 0 0 Z " fill="#03B048" transform="translate(36.13233947753906,37.87974548339844)"/>
10
+ <path d="M0 0 C0 0.33 0 0.66 0 1 C-14.19 1 -28.38 1 -43 1 C-29.13390579 -10.09287537 -14.43008013 -10.9306874 0 0 Z " fill="#49C42E" transform="translate(81,32)"/>
11
+ <path d="M0 0 C0.33 0 0.66 0 1 0 C1 5.94 1 11.88 1 18 C3.475 18.99 3.475 18.99 6 20 C7.0725 20.70125 8.145 21.4025 9.25 22.125 C13.39740524 24.59696339 17.30066553 24.38361914 22 24 C16.97766957 29.37936814 10.42680899 34.21706703 3.0625 35.51953125 C0.59327781 35.55901009 -1.59099604 35.54226583 -4 35 C-4.66 34.34 -5.32 33.68 -6 33 C-4.78437378 32.46959106 -4.78437378 32.46959106 -3.54418945 31.9284668 C-0.69064951 30.20185362 -0.69064951 30.20185362 -0.34057617 26.90551758 C-0.32486572 25.66439209 -0.30915527 24.4232666 -0.29296875 23.14453125 C-0.27784744 22.48289474 -0.26272614 21.82125824 -0.24714661 21.13957214 C-0.20422217 19.03020277 -0.19542873 16.92226282 -0.1875 14.8125 C-0.16435882 13.38082125 -0.13899424 11.94917658 -0.11132812 10.51757812 C-0.04843384 7.01174677 -0.01613226 3.50639347 0 0 Z " fill="#65AC02" transform="translate(87,38)"/>
12
+ <path d="M0 0 C0.03738281 0.75925781 0.07476562 1.51851562 0.11328125 2.30078125 C0.21189453 3.79158203 0.21189453 3.79158203 0.3125 5.3125 C0.37050781 6.29863281 0.42851563 7.28476562 0.48828125 8.30078125 C1.05999075 11.31643974 1.61457899 12.15852298 4 14 C4.99 14.66 5.98 15.32 7 16 C3.24320642 17.87839679 -0.90918096 17.52235709 -5 17 C-8.26641892 15.70737774 -11.0776151 13.93431559 -14 12 C-15.51997869 11.061115 -17.04076729 10.12353945 -18.5625 9.1875 C-19.70980443 8.46065022 -20.85622447 7.73239033 -22 7 C-19.30996081 6.26202465 -17.08274952 5.93884997 -14.25 5.75 C-9.97165204 5.27729863 -7.1420753 3.50428801 -3.6640625 1.05859375 C-2 0 -2 0 0 0 Z " fill="#66AE00" transform="translate(32,56)"/>
13
+ <path d="M0 0 C0.33 0.66 0.66 1.32 1 2 C-8.57 2.33 -18.14 2.66 -28 3 C-28 2.34 -28 1.68 -28 1 C-18.75405148 -3.94550735 -9.57458588 -4.56730792 0 0 Z " fill="#6DC625" transform="translate(73,27)"/>
14
+ <path d="M0 0 C0 0.33 0 0.66 0 1 C-7.26 1 -14.52 1 -22 1 C-16.47647888 -4.52352112 -6.68954442 -2.22984814 0 0 Z " fill="#87C820" transform="translate(71,26)"/>
15
+ </svg>
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Multiwoven
4
4
  module Integrations
5
- VERSION = "0.34.20"
5
+ VERSION = "0.35.1"
6
6
 
7
7
  ENABLED_SOURCES = %w[
8
8
  Snowflake
@@ -63,6 +63,7 @@ module Multiwoven
63
63
  Qdrant
64
64
  PineconeDB
65
65
  Odoo
66
+ Weaviate
66
67
  ].freeze
67
68
  end
68
69
  end
@@ -127,6 +127,7 @@ require_relative "integrations/destination/microsoft_dynamics/client"
127
127
  require_relative "integrations/destination/qdrant/client"
128
128
  require_relative "integrations/destination/pinecone_db/client"
129
129
  require_relative "integrations/destination/odoo/client"
130
+ require_relative "integrations/destination/weaviate/client"
130
131
 
131
132
  module Multiwoven
132
133
  module Integrations
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
44
44
  spec.add_runtime_dependency "dry-schema"
45
45
  spec.add_runtime_dependency "dry-struct"
46
46
  spec.add_runtime_dependency "dry-types"
47
- spec.add_runtime_dependency "duckdb"
47
+ spec.add_runtime_dependency "duckdb", "~> 0.10.3"
48
48
  spec.add_runtime_dependency "git"
49
49
  spec.add_runtime_dependency "google-apis-sheets_v4"
50
50
  spec.add_runtime_dependency "google-cloud-ai_platform-v1"
@@ -65,6 +65,7 @@ Gem::Specification.new do |spec|
65
65
  spec.add_runtime_dependency "slack-ruby-client"
66
66
  spec.add_runtime_dependency "stripe"
67
67
  spec.add_runtime_dependency "tiny_tds"
68
+ spec.add_runtime_dependency "weaviate-ruby"
68
69
  spec.add_runtime_dependency "zendesk_api"
69
70
 
70
71
  spec.add_development_dependency "byebug"
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.34.20
4
+ version: 0.35.1
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: 2026-03-04 00:00:00.000000000 Z
11
+ date: 2026-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -168,16 +168,16 @@ dependencies:
168
168
  name: duckdb
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 0.10.3
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 0.10.3
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: git
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -458,6 +458,20 @@ dependencies:
458
458
  - - ">="
459
459
  - !ruby/object:Gem::Version
460
460
  version: '0'
461
+ - !ruby/object:Gem::Dependency
462
+ name: weaviate-ruby
463
+ requirement: !ruby/object:Gem::Requirement
464
+ requirements:
465
+ - - ">="
466
+ - !ruby/object:Gem::Version
467
+ version: '0'
468
+ type: :runtime
469
+ prerelease: false
470
+ version_requirements: !ruby/object:Gem::Requirement
471
+ requirements:
472
+ - - ">="
473
+ - !ruby/object:Gem::Version
474
+ version: '0'
461
475
  - !ruby/object:Gem::Dependency
462
476
  name: zendesk_api
463
477
  requirement: !ruby/object:Gem::Requirement
@@ -705,6 +719,10 @@ files:
705
719
  - lib/multiwoven/integrations/destination/stripe/config/meta.json
706
720
  - lib/multiwoven/integrations/destination/stripe/config/spec.json
707
721
  - lib/multiwoven/integrations/destination/stripe/icon.svg
722
+ - lib/multiwoven/integrations/destination/weaviate/client.rb
723
+ - lib/multiwoven/integrations/destination/weaviate/config/meta.json
724
+ - lib/multiwoven/integrations/destination/weaviate/config/spec.json
725
+ - lib/multiwoven/integrations/destination/weaviate/icon.svg
708
726
  - lib/multiwoven/integrations/destination/zendesk/client.rb
709
727
  - lib/multiwoven/integrations/destination/zendesk/config/catalog.json
710
728
  - lib/multiwoven/integrations/destination/zendesk/config/meta.json