rasti-ai 3.1.0 → 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 +125 -15
- data/README.md +143 -19
- 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 +0 -7
- data/lib/rasti/ai/huawei_maas/client.rb +0 -19
- data/lib/rasti/ai/huawei_maas/provider.rb +25 -0
- data/lib/rasti/ai/huawei_maas/roles.rb +1 -8
- data/lib/rasti/ai/open_ai/assistant.rb +0 -4
- data/lib/rasti/ai/open_ai/client.rb +3 -33
- data/lib/rasti/ai/open_ai/provider.rb +74 -0
- data/lib/rasti/ai/open_router/assistant.rb +0 -7
- data/lib/rasti/ai/open_router/client.rb +0 -19
- data/lib/rasti/ai/open_router/provider.rb +25 -0
- data/lib/rasti/ai/open_router/roles.rb +1 -8
- 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 +93 -0
- data/spec/anthropic/provider_spec.rb +106 -0
- data/spec/gemini/provider_spec.rb +90 -0
- data/spec/open_ai/provider_spec.rb +101 -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
- metadata +25 -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.
|
|
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-07-
|
|
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,9 +262,11 @@ 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
|
|
263
267
|
- lib/rasti/ai/huawei_maas/assistant.rb
|
|
264
268
|
- lib/rasti/ai/huawei_maas/client.rb
|
|
269
|
+
- lib/rasti/ai/huawei_maas/provider.rb
|
|
265
270
|
- lib/rasti/ai/huawei_maas/roles.rb
|
|
266
271
|
- lib/rasti/ai/mcp/client.rb
|
|
267
272
|
- lib/rasti/ai/mcp/constants.rb
|
|
@@ -269,10 +274,16 @@ files:
|
|
|
269
274
|
- lib/rasti/ai/mcp/tools_registry.rb
|
|
270
275
|
- lib/rasti/ai/open_ai/assistant.rb
|
|
271
276
|
- lib/rasti/ai/open_ai/client.rb
|
|
277
|
+
- lib/rasti/ai/open_ai/provider.rb
|
|
272
278
|
- lib/rasti/ai/open_ai/roles.rb
|
|
273
279
|
- lib/rasti/ai/open_router/assistant.rb
|
|
274
280
|
- lib/rasti/ai/open_router/client.rb
|
|
281
|
+
- lib/rasti/ai/open_router/provider.rb
|
|
275
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
|
|
276
287
|
- lib/rasti/ai/tool.rb
|
|
277
288
|
- lib/rasti/ai/tool_serializer.rb
|
|
278
289
|
- lib/rasti/ai/usage.rb
|
|
@@ -281,9 +292,11 @@ files:
|
|
|
281
292
|
- rasti-ai.gemspec
|
|
282
293
|
- spec/anthropic/assistant_spec.rb
|
|
283
294
|
- spec/anthropic/client_spec.rb
|
|
295
|
+
- spec/anthropic/provider_spec.rb
|
|
284
296
|
- spec/coverage_helper.rb
|
|
285
297
|
- spec/gemini/assistant_spec.rb
|
|
286
298
|
- spec/gemini/client_spec.rb
|
|
299
|
+
- spec/gemini/provider_spec.rb
|
|
287
300
|
- spec/huawei_maas/assistant_spec.rb
|
|
288
301
|
- spec/huawei_maas/client_spec.rb
|
|
289
302
|
- spec/mcp/client_spec.rb
|
|
@@ -292,8 +305,10 @@ files:
|
|
|
292
305
|
- spec/minitest_helper.rb
|
|
293
306
|
- spec/open_ai/assistant_spec.rb
|
|
294
307
|
- spec/open_ai/client_spec.rb
|
|
308
|
+
- spec/open_ai/provider_spec.rb
|
|
295
309
|
- spec/open_router/assistant_spec.rb
|
|
296
310
|
- spec/open_router/client_spec.rb
|
|
311
|
+
- spec/rasti_ai_spec.rb
|
|
297
312
|
- spec/resources/anthropic/basic_request.json
|
|
298
313
|
- spec/resources/anthropic/basic_response.json
|
|
299
314
|
- spec/resources/anthropic/tool_request.json
|
|
@@ -304,6 +319,8 @@ files:
|
|
|
304
319
|
- spec/resources/gemini/tool_response.json
|
|
305
320
|
- spec/resources/open_ai/basic_request.json
|
|
306
321
|
- spec/resources/open_ai/basic_response.json
|
|
322
|
+
- spec/resources/open_ai/conversation_request.json
|
|
323
|
+
- spec/resources/open_ai/system_request.json
|
|
307
324
|
- spec/resources/open_ai/tool_request.json
|
|
308
325
|
- spec/resources/open_ai/tool_response.json
|
|
309
326
|
- spec/support/helpers/erb.rb
|
|
@@ -336,9 +353,11 @@ summary: AI for apps
|
|
|
336
353
|
test_files:
|
|
337
354
|
- spec/anthropic/assistant_spec.rb
|
|
338
355
|
- spec/anthropic/client_spec.rb
|
|
356
|
+
- spec/anthropic/provider_spec.rb
|
|
339
357
|
- spec/coverage_helper.rb
|
|
340
358
|
- spec/gemini/assistant_spec.rb
|
|
341
359
|
- spec/gemini/client_spec.rb
|
|
360
|
+
- spec/gemini/provider_spec.rb
|
|
342
361
|
- spec/huawei_maas/assistant_spec.rb
|
|
343
362
|
- spec/huawei_maas/client_spec.rb
|
|
344
363
|
- spec/mcp/client_spec.rb
|
|
@@ -347,8 +366,10 @@ test_files:
|
|
|
347
366
|
- spec/minitest_helper.rb
|
|
348
367
|
- spec/open_ai/assistant_spec.rb
|
|
349
368
|
- spec/open_ai/client_spec.rb
|
|
369
|
+
- spec/open_ai/provider_spec.rb
|
|
350
370
|
- spec/open_router/assistant_spec.rb
|
|
351
371
|
- spec/open_router/client_spec.rb
|
|
372
|
+
- spec/rasti_ai_spec.rb
|
|
352
373
|
- spec/resources/anthropic/basic_request.json
|
|
353
374
|
- spec/resources/anthropic/basic_response.json
|
|
354
375
|
- spec/resources/anthropic/tool_request.json
|
|
@@ -359,6 +380,8 @@ test_files:
|
|
|
359
380
|
- spec/resources/gemini/tool_response.json
|
|
360
381
|
- spec/resources/open_ai/basic_request.json
|
|
361
382
|
- spec/resources/open_ai/basic_response.json
|
|
383
|
+
- spec/resources/open_ai/conversation_request.json
|
|
384
|
+
- spec/resources/open_ai/system_request.json
|
|
362
385
|
- spec/resources/open_ai/tool_request.json
|
|
363
386
|
- spec/resources/open_ai/tool_response.json
|
|
364
387
|
- spec/support/helpers/erb.rb
|