rasti-ai 3.0.1 → 3.2.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/.features/api-normalization/api-design.md +184 -0
- data/.features/api-normalization/overview.md +230 -0
- data/AGENTS.md +167 -10
- data/README.md +161 -23
- data/lib/rasti/ai/anthropic/assistant.rb +1 -11
- data/lib/rasti/ai/anthropic/client.rb +6 -28
- data/lib/rasti/ai/anthropic/provider.rb +87 -0
- data/lib/rasti/ai/assistant.rb +10 -11
- data/lib/rasti/ai/client.rb +13 -10
- data/lib/rasti/ai/errors.rb +8 -0
- data/lib/rasti/ai/gemini/assistant.rb +1 -11
- data/lib/rasti/ai/gemini/client.rb +2 -24
- data/lib/rasti/ai/gemini/provider.rb +90 -0
- data/lib/rasti/ai/huawei_maas/assistant.rb +8 -0
- data/lib/rasti/ai/huawei_maas/client.rb +8 -0
- data/lib/rasti/ai/huawei_maas/provider.rb +25 -0
- data/lib/rasti/ai/huawei_maas/roles.rb +7 -0
- data/lib/rasti/ai/open_ai/assistant.rb +0 -4
- data/lib/rasti/ai/open_ai/client.rb +4 -26
- data/lib/rasti/ai/open_ai/provider.rb +74 -0
- data/lib/rasti/ai/open_router/assistant.rb +8 -0
- data/lib/rasti/ai/open_router/client.rb +8 -0
- data/lib/rasti/ai/open_router/provider.rb +25 -0
- data/lib/rasti/ai/open_router/roles.rb +7 -0
- data/lib/rasti/ai/provider.rb +197 -0
- data/lib/rasti/ai/provider_aware.rb +17 -0
- data/lib/rasti/ai/result.rb +11 -0
- data/lib/rasti/ai/roles.rb +11 -0
- data/lib/rasti/ai/version.rb +1 -1
- data/lib/rasti/ai.rb +101 -1
- data/spec/anthropic/provider_spec.rb +106 -0
- data/spec/gemini/provider_spec.rb +90 -0
- data/spec/huawei_maas/assistant_spec.rb +80 -0
- data/spec/huawei_maas/client_spec.rb +60 -0
- data/spec/minitest_helper.rb +6 -0
- data/spec/open_ai/provider_spec.rb +101 -0
- data/spec/open_router/assistant_spec.rb +80 -0
- data/spec/open_router/client_spec.rb +60 -0
- data/spec/rasti_ai_spec.rb +322 -0
- data/spec/resources/open_ai/conversation_request.json +1 -0
- data/spec/resources/open_ai/system_request.json +1 -0
- data/tasks/assistant.rake +5 -3
- metadata +39 -2
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rasti-ai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0
|
|
4
|
+
version: 3.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gabriel Naiman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multi_require
|
|
@@ -239,6 +239,8 @@ executables: []
|
|
|
239
239
|
extensions: []
|
|
240
240
|
extra_rdoc_files: []
|
|
241
241
|
files:
|
|
242
|
+
- ".features/api-normalization/api-design.md"
|
|
243
|
+
- ".features/api-normalization/overview.md"
|
|
242
244
|
- ".github/workflows/ci.yml"
|
|
243
245
|
- ".gitignore"
|
|
244
246
|
- ".ruby-gemset"
|
|
@@ -252,6 +254,7 @@ files:
|
|
|
252
254
|
- lib/rasti/ai.rb
|
|
253
255
|
- lib/rasti/ai/anthropic/assistant.rb
|
|
254
256
|
- lib/rasti/ai/anthropic/client.rb
|
|
257
|
+
- lib/rasti/ai/anthropic/provider.rb
|
|
255
258
|
- lib/rasti/ai/anthropic/roles.rb
|
|
256
259
|
- lib/rasti/ai/assistant.rb
|
|
257
260
|
- lib/rasti/ai/assistant_state.rb
|
|
@@ -259,14 +262,28 @@ files:
|
|
|
259
262
|
- lib/rasti/ai/errors.rb
|
|
260
263
|
- lib/rasti/ai/gemini/assistant.rb
|
|
261
264
|
- lib/rasti/ai/gemini/client.rb
|
|
265
|
+
- lib/rasti/ai/gemini/provider.rb
|
|
262
266
|
- lib/rasti/ai/gemini/roles.rb
|
|
267
|
+
- lib/rasti/ai/huawei_maas/assistant.rb
|
|
268
|
+
- lib/rasti/ai/huawei_maas/client.rb
|
|
269
|
+
- lib/rasti/ai/huawei_maas/provider.rb
|
|
270
|
+
- lib/rasti/ai/huawei_maas/roles.rb
|
|
263
271
|
- lib/rasti/ai/mcp/client.rb
|
|
264
272
|
- lib/rasti/ai/mcp/constants.rb
|
|
265
273
|
- lib/rasti/ai/mcp/server.rb
|
|
266
274
|
- lib/rasti/ai/mcp/tools_registry.rb
|
|
267
275
|
- lib/rasti/ai/open_ai/assistant.rb
|
|
268
276
|
- lib/rasti/ai/open_ai/client.rb
|
|
277
|
+
- lib/rasti/ai/open_ai/provider.rb
|
|
269
278
|
- lib/rasti/ai/open_ai/roles.rb
|
|
279
|
+
- lib/rasti/ai/open_router/assistant.rb
|
|
280
|
+
- lib/rasti/ai/open_router/client.rb
|
|
281
|
+
- lib/rasti/ai/open_router/provider.rb
|
|
282
|
+
- lib/rasti/ai/open_router/roles.rb
|
|
283
|
+
- lib/rasti/ai/provider.rb
|
|
284
|
+
- lib/rasti/ai/provider_aware.rb
|
|
285
|
+
- lib/rasti/ai/result.rb
|
|
286
|
+
- lib/rasti/ai/roles.rb
|
|
270
287
|
- lib/rasti/ai/tool.rb
|
|
271
288
|
- lib/rasti/ai/tool_serializer.rb
|
|
272
289
|
- lib/rasti/ai/usage.rb
|
|
@@ -275,15 +292,23 @@ files:
|
|
|
275
292
|
- rasti-ai.gemspec
|
|
276
293
|
- spec/anthropic/assistant_spec.rb
|
|
277
294
|
- spec/anthropic/client_spec.rb
|
|
295
|
+
- spec/anthropic/provider_spec.rb
|
|
278
296
|
- spec/coverage_helper.rb
|
|
279
297
|
- spec/gemini/assistant_spec.rb
|
|
280
298
|
- spec/gemini/client_spec.rb
|
|
299
|
+
- spec/gemini/provider_spec.rb
|
|
300
|
+
- spec/huawei_maas/assistant_spec.rb
|
|
301
|
+
- spec/huawei_maas/client_spec.rb
|
|
281
302
|
- spec/mcp/client_spec.rb
|
|
282
303
|
- spec/mcp/server_spec.rb
|
|
283
304
|
- spec/mcp/tools_registry_spec.rb
|
|
284
305
|
- spec/minitest_helper.rb
|
|
285
306
|
- spec/open_ai/assistant_spec.rb
|
|
286
307
|
- spec/open_ai/client_spec.rb
|
|
308
|
+
- spec/open_ai/provider_spec.rb
|
|
309
|
+
- spec/open_router/assistant_spec.rb
|
|
310
|
+
- spec/open_router/client_spec.rb
|
|
311
|
+
- spec/rasti_ai_spec.rb
|
|
287
312
|
- spec/resources/anthropic/basic_request.json
|
|
288
313
|
- spec/resources/anthropic/basic_response.json
|
|
289
314
|
- spec/resources/anthropic/tool_request.json
|
|
@@ -294,6 +319,8 @@ files:
|
|
|
294
319
|
- spec/resources/gemini/tool_response.json
|
|
295
320
|
- spec/resources/open_ai/basic_request.json
|
|
296
321
|
- spec/resources/open_ai/basic_response.json
|
|
322
|
+
- spec/resources/open_ai/conversation_request.json
|
|
323
|
+
- spec/resources/open_ai/system_request.json
|
|
297
324
|
- spec/resources/open_ai/tool_request.json
|
|
298
325
|
- spec/resources/open_ai/tool_response.json
|
|
299
326
|
- spec/support/helpers/erb.rb
|
|
@@ -326,15 +353,23 @@ summary: AI for apps
|
|
|
326
353
|
test_files:
|
|
327
354
|
- spec/anthropic/assistant_spec.rb
|
|
328
355
|
- spec/anthropic/client_spec.rb
|
|
356
|
+
- spec/anthropic/provider_spec.rb
|
|
329
357
|
- spec/coverage_helper.rb
|
|
330
358
|
- spec/gemini/assistant_spec.rb
|
|
331
359
|
- spec/gemini/client_spec.rb
|
|
360
|
+
- spec/gemini/provider_spec.rb
|
|
361
|
+
- spec/huawei_maas/assistant_spec.rb
|
|
362
|
+
- spec/huawei_maas/client_spec.rb
|
|
332
363
|
- spec/mcp/client_spec.rb
|
|
333
364
|
- spec/mcp/server_spec.rb
|
|
334
365
|
- spec/mcp/tools_registry_spec.rb
|
|
335
366
|
- spec/minitest_helper.rb
|
|
336
367
|
- spec/open_ai/assistant_spec.rb
|
|
337
368
|
- spec/open_ai/client_spec.rb
|
|
369
|
+
- spec/open_ai/provider_spec.rb
|
|
370
|
+
- spec/open_router/assistant_spec.rb
|
|
371
|
+
- spec/open_router/client_spec.rb
|
|
372
|
+
- spec/rasti_ai_spec.rb
|
|
338
373
|
- spec/resources/anthropic/basic_request.json
|
|
339
374
|
- spec/resources/anthropic/basic_response.json
|
|
340
375
|
- spec/resources/anthropic/tool_request.json
|
|
@@ -345,6 +380,8 @@ test_files:
|
|
|
345
380
|
- spec/resources/gemini/tool_response.json
|
|
346
381
|
- spec/resources/open_ai/basic_request.json
|
|
347
382
|
- spec/resources/open_ai/basic_response.json
|
|
383
|
+
- spec/resources/open_ai/conversation_request.json
|
|
384
|
+
- spec/resources/open_ai/system_request.json
|
|
348
385
|
- spec/resources/open_ai/tool_request.json
|
|
349
386
|
- spec/resources/open_ai/tool_response.json
|
|
350
387
|
- spec/support/helpers/erb.rb
|