a2a-rb 0.1.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.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +38 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +311 -0
  5. data/lib/a2a/agent_capabilities.rb +32 -0
  6. data/lib/a2a/agent_card/builder.rb +135 -0
  7. data/lib/a2a/agent_card/signature.rb +35 -0
  8. data/lib/a2a/agent_card/verifier.rb +19 -0
  9. data/lib/a2a/agent_card.rb +118 -0
  10. data/lib/a2a/agent_extension.rb +32 -0
  11. data/lib/a2a/agent_interface.rb +54 -0
  12. data/lib/a2a/agent_provider.rb +20 -0
  13. data/lib/a2a/agent_skill.rb +46 -0
  14. data/lib/a2a/artifact.rb +40 -0
  15. data/lib/a2a/client.rb +109 -0
  16. data/lib/a2a/discovery.rb +49 -0
  17. data/lib/a2a/json_rpc_envelope.rb +32 -0
  18. data/lib/a2a/message.rb +54 -0
  19. data/lib/a2a/oauth_flow/authorization_code.rb +37 -0
  20. data/lib/a2a/oauth_flow/client_credentials.rb +31 -0
  21. data/lib/a2a/oauth_flow/device_code.rb +34 -0
  22. data/lib/a2a/oauth_flow.rb +37 -0
  23. data/lib/a2a/operation/cancel_task.rb +39 -0
  24. data/lib/a2a/operation/create_task_push_notification_config.rb +38 -0
  25. data/lib/a2a/operation/delete_task_push_notification_config.rb +38 -0
  26. data/lib/a2a/operation/executable.rb +27 -0
  27. data/lib/a2a/operation/get_extended_agent_card.rb +32 -0
  28. data/lib/a2a/operation/get_task.rb +39 -0
  29. data/lib/a2a/operation/get_task_push_notification_config.rb +38 -0
  30. data/lib/a2a/operation/list_task_push_notification_configs.rb +64 -0
  31. data/lib/a2a/operation/list_tasks.rb +78 -0
  32. data/lib/a2a/operation/send_message/configuration.rb +39 -0
  33. data/lib/a2a/operation/send_message.rb +58 -0
  34. data/lib/a2a/operation/send_message_request.rb +37 -0
  35. data/lib/a2a/operation/send_streaming_message.rb +53 -0
  36. data/lib/a2a/operation/subscribe_to_task.rb +40 -0
  37. data/lib/a2a/operation.rb +19 -0
  38. data/lib/a2a/part/data.rb +34 -0
  39. data/lib/a2a/part/file.rb +45 -0
  40. data/lib/a2a/part/text.rb +34 -0
  41. data/lib/a2a/part.rb +21 -0
  42. data/lib/a2a/protocol/http_json/transport.rb +82 -0
  43. data/lib/a2a/protocol/http_json.rb +53 -0
  44. data/lib/a2a/protocol/json_rpc/transport.rb +54 -0
  45. data/lib/a2a/protocol/json_rpc.rb +55 -0
  46. data/lib/a2a/push_notification/authentication_info.rb +29 -0
  47. data/lib/a2a/push_notification/config.rb +40 -0
  48. data/lib/a2a/push_notification/dispatcher.rb +52 -0
  49. data/lib/a2a/push_notification/receiver.rb +54 -0
  50. data/lib/a2a/push_notification.rb +11 -0
  51. data/lib/a2a/role.rb +13 -0
  52. data/lib/a2a/security_requirement.rb +19 -0
  53. data/lib/a2a/security_scheme/api_key.rb +33 -0
  54. data/lib/a2a/security_scheme/http_auth.rb +33 -0
  55. data/lib/a2a/security_scheme/mutual_tls.rb +25 -0
  56. data/lib/a2a/security_scheme/oauth2.rb +52 -0
  57. data/lib/a2a/security_scheme/open_id_connect.rb +30 -0
  58. data/lib/a2a/security_scheme.rb +26 -0
  59. data/lib/a2a/streaming/artifact_update_event.rb +40 -0
  60. data/lib/a2a/streaming/response.rb +65 -0
  61. data/lib/a2a/streaming/sse_parser.rb +43 -0
  62. data/lib/a2a/streaming/sse_writer.rb +25 -0
  63. data/lib/a2a/streaming/status_update_event.rb +43 -0
  64. data/lib/a2a/streaming/subscription.rb +56 -0
  65. data/lib/a2a/streaming.rb +12 -0
  66. data/lib/a2a/task/state.rb +31 -0
  67. data/lib/a2a/task/status.rb +35 -0
  68. data/lib/a2a/task.rb +66 -0
  69. data/lib/a2a/version.rb +6 -0
  70. data/lib/a2a/versioning.rb +28 -0
  71. data/lib/a2a.rb +90 -0
  72. metadata +116 -0
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: a2a-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Rafael Figueiredo
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: Data model, serialisation, full client (JSON-RPC 2.0 + HTTP+JSON), streaming
13
+ over SSE, push notifications, and server-side primitives for building A2A agents.
14
+ email:
15
+ - rafaelqfigueir@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - CHANGELOG.md
21
+ - LICENSE.txt
22
+ - README.md
23
+ - lib/a2a.rb
24
+ - lib/a2a/agent_capabilities.rb
25
+ - lib/a2a/agent_card.rb
26
+ - lib/a2a/agent_card/builder.rb
27
+ - lib/a2a/agent_card/signature.rb
28
+ - lib/a2a/agent_card/verifier.rb
29
+ - lib/a2a/agent_extension.rb
30
+ - lib/a2a/agent_interface.rb
31
+ - lib/a2a/agent_provider.rb
32
+ - lib/a2a/agent_skill.rb
33
+ - lib/a2a/artifact.rb
34
+ - lib/a2a/client.rb
35
+ - lib/a2a/discovery.rb
36
+ - lib/a2a/json_rpc_envelope.rb
37
+ - lib/a2a/message.rb
38
+ - lib/a2a/oauth_flow.rb
39
+ - lib/a2a/oauth_flow/authorization_code.rb
40
+ - lib/a2a/oauth_flow/client_credentials.rb
41
+ - lib/a2a/oauth_flow/device_code.rb
42
+ - lib/a2a/operation.rb
43
+ - lib/a2a/operation/cancel_task.rb
44
+ - lib/a2a/operation/create_task_push_notification_config.rb
45
+ - lib/a2a/operation/delete_task_push_notification_config.rb
46
+ - lib/a2a/operation/executable.rb
47
+ - lib/a2a/operation/get_extended_agent_card.rb
48
+ - lib/a2a/operation/get_task.rb
49
+ - lib/a2a/operation/get_task_push_notification_config.rb
50
+ - lib/a2a/operation/list_task_push_notification_configs.rb
51
+ - lib/a2a/operation/list_tasks.rb
52
+ - lib/a2a/operation/send_message.rb
53
+ - lib/a2a/operation/send_message/configuration.rb
54
+ - lib/a2a/operation/send_message_request.rb
55
+ - lib/a2a/operation/send_streaming_message.rb
56
+ - lib/a2a/operation/subscribe_to_task.rb
57
+ - lib/a2a/part.rb
58
+ - lib/a2a/part/data.rb
59
+ - lib/a2a/part/file.rb
60
+ - lib/a2a/part/text.rb
61
+ - lib/a2a/protocol/http_json.rb
62
+ - lib/a2a/protocol/http_json/transport.rb
63
+ - lib/a2a/protocol/json_rpc.rb
64
+ - lib/a2a/protocol/json_rpc/transport.rb
65
+ - lib/a2a/push_notification.rb
66
+ - lib/a2a/push_notification/authentication_info.rb
67
+ - lib/a2a/push_notification/config.rb
68
+ - lib/a2a/push_notification/dispatcher.rb
69
+ - lib/a2a/push_notification/receiver.rb
70
+ - lib/a2a/role.rb
71
+ - lib/a2a/security_requirement.rb
72
+ - lib/a2a/security_scheme.rb
73
+ - lib/a2a/security_scheme/api_key.rb
74
+ - lib/a2a/security_scheme/http_auth.rb
75
+ - lib/a2a/security_scheme/mutual_tls.rb
76
+ - lib/a2a/security_scheme/oauth2.rb
77
+ - lib/a2a/security_scheme/open_id_connect.rb
78
+ - lib/a2a/streaming.rb
79
+ - lib/a2a/streaming/artifact_update_event.rb
80
+ - lib/a2a/streaming/response.rb
81
+ - lib/a2a/streaming/sse_parser.rb
82
+ - lib/a2a/streaming/sse_writer.rb
83
+ - lib/a2a/streaming/status_update_event.rb
84
+ - lib/a2a/streaming/subscription.rb
85
+ - lib/a2a/task.rb
86
+ - lib/a2a/task/state.rb
87
+ - lib/a2a/task/status.rb
88
+ - lib/a2a/version.rb
89
+ - lib/a2a/versioning.rb
90
+ homepage: https://github.com/rafaelqfigueiredo/a2a-rb
91
+ licenses:
92
+ - MIT
93
+ metadata:
94
+ homepage_uri: https://github.com/rafaelqfigueiredo/a2a-rb
95
+ source_code_uri: https://github.com/rafaelqfigueiredo/a2a-rb
96
+ changelog_uri: https://github.com/rafaelqfigueiredo/a2a-rb/blob/main/CHANGELOG.md
97
+ allowed_push_host: https://rubygems.org
98
+ rubygems_mfa_required: 'true'
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 3.4.0
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubygems_version: 3.6.9
114
+ specification_version: 4
115
+ summary: Ruby implementation of the A2A protocol v1.0
116
+ test_files: []