Skip to content

Commit 7b8b2de

Browse files
nficanoclaude
andcommitted
refactor SDK structure
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ad52664 commit 7b8b2de

304 files changed

Lines changed: 10356 additions & 8702 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
/_yardoc/
44
/coverage/
55
/doc/
6+
/docs/api/
67
/pkg/
78
/*.gem
89
/spec/reports/
910
/tmp/
1011
/.rspec_status
12+
Gemfile.lock
1113
*.gem
1214
.DS_Store
1315
.rspec_status

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins:
44
- rubocop-rake
55

66
AllCops:
7-
TargetRubyVersion: 3.4
7+
TargetRubyVersion: 3.3
88
NewCops: enable
99
SuggestExtensions: false
1010
Exclude:

.yardopts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--output-dir docs/api
2+
--protected
3+
--no-private
4+
--markup markdown
5+
--markup-provider redcarpet
6+
--readme README.md
7+
--files CHANGELOG.md
8+
-
9+
lib/**/*.rb

BOOTSTRAP.md

Lines changed: 0 additions & 285 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,30 @@
22

33
All notable changes to this project are documented in this file.
44

5-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
76

8-
## [0.1.0] - 2026-05-10
7+
## [1.0.0]
98

109
### Added
1110

12-
- Initial reference SDK release aligned with ARCP protocol v1.0 (see README status).
13-
11+
- `Arcp::Envelope` per spec §5.1 (arcp, id, type, session_id, trace_id, job_id, event_seq, payload).
12+
- `Arcp::Client` with session handshake, `submit_job`, `subscribe_job`, `cancel_job`, `get_result`, `list_jobs`, `ack`, `close`.
13+
- `Arcp::Runtime::Runtime` with agent registry, job manager, lease manager, subscription manager, event log.
14+
- `Arcp::Runtime::JobContext` with `progress`, `log`, `metric`, `status`, `tool_call`, `tool_result`, `stream_result`, `finish`, `fail!`, `emit`.
15+
- Session handshake: `session.hello`, `session.welcome`, `session.bye`, `session.error` (§6.1, §6.7).
16+
- Capability negotiation via `Arcp::Session::CapabilitySet` and `Arcp::Session::Feature` constants (§6.2).
17+
- Heartbeat with `session.ping` / `session.pong` (§6.4).
18+
- Application-level ack with `session.ack` (§6.5).
19+
- Cursored `session.list_jobs` / `session.jobs` (§6.6).
20+
- Resume token and `last_event_seq` replay (§6.3).
21+
- Agent versioning with `name@version` refs and `AgentInventory.resolve` (§7.5).
22+
- Cross-session `job.subscribe` with history replay (§7.6).
23+
- `result_chunk` event kind with `result_id` terminator (§8.4).
24+
- All ten standard event kinds: progress, result_chunk, log, thought, tool_call, tool_result, status, metric, trace_span, delegate (§8.2).
25+
- Lease subsetting with capability/expires_at/budget bounds (§9, §10).
26+
- `cost.budget` capability using `BigDecimal` arithmetic (§9.6).
27+
- Trace context propagation via Fiber-local `Arcp::Trace::Context` (§11).
28+
- Transports: `MemoryTransport`, `WebSocketTransport`, `StdioTransport`.
29+
- 15 wire error codes mapped to `Arcp::Errors::*` subclasses (§12).
30+
- Pluggable `Arcp::Auth::AuthScheme` with bundled `Bearer` verifier.
31+
- Vendor extension namespace via `x-vendor.*` event kinds (§15).

0 commit comments

Comments
 (0)