claude_agent 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 962eff5c1e28589e347c1096e8c9683714b58bc95d56f281256580311bf0b87f
4
+ data.tar.gz: e482f60ed6579f9b364e2947b970fca1eaf35c6eec02e5669d557b9c5caf15bc
5
+ SHA512:
6
+ metadata.gz: 03fc463581c3dc92b0f3d121e7f59f252b746e0a049f4eb505ef14938799de397f4cb64cd01fca09946c8be38b767205792a06f51cfa968abd880eebc2b7d79c
7
+ data.tar.gz: a3407945fe4b87957c898ca2872f869b62cd520db7afbf76602aa5105febcb2a95dc5a66131b68ad0254b8b7f922ecc387394f96bd78ac9da2227443f3cb2a33
@@ -0,0 +1,105 @@
1
+ ---
2
+ description: Implement missing Ruby SDK features identified in SPEC.md to achieve full parity with TypeScript/Python SDKs
3
+ allowed-tools: Bash, Read, Glob, Grep, Write, Edit, TodoWrite, Task, AskUserQuestion, EnterPlanMode
4
+ ---
5
+
6
+ # Complete SDK Feature Parity
7
+
8
+ You are implementing missing features in the Ruby SDK to achieve full parity with the official TypeScript and Python Claude Agent SDKs.
9
+
10
+ ## Step 1: Identify Missing Features
11
+
12
+ Read SPEC.md and identify all features where the Ruby SDK shows ❌ (not implemented):
13
+
14
+ ```
15
+ Read SPEC.md
16
+ ```
17
+
18
+ Create a prioritized list of missing features:
19
+ 1. **High Priority** - Features implemented in BOTH TypeScript and Python SDKs
20
+ 2. **Medium Priority** - Features only in TypeScript SDK (Python also missing)
21
+ 3. **Low Priority** - TypeScript-only features that may be JS-specific
22
+
23
+ Use TodoWrite to track the features to implement.
24
+
25
+ ## Step 2: Research Each Feature
26
+
27
+ For each missing feature, gather complete context before planning:
28
+
29
+ ### 2a. Official Documentation
30
+
31
+ Use the `claude-code-guide` agent to understand the feature's intended behavior:
32
+
33
+ ```
34
+ Task(subagent_type: "claude-code-guide", prompt: "How does [feature] work in the Claude Agent SDK? What are all the options, behaviors, and edge cases?")
35
+ ```
36
+
37
+ ### 2b. TypeScript Implementation
38
+
39
+ Read the TypeScript type definitions to understand the API surface:
40
+ - `vendor/claude-agent-sdk-npm/sdk.d.ts`
41
+
42
+ ### 2c. Python Implementation (if available)
43
+
44
+ If Python has the feature, read their implementation for patterns:
45
+ - `vendor/claude-agent-sdk-python/src/claude_agent_sdk/types.py`
46
+ - `vendor/claude-agent-sdk-python/src/claude_agent_sdk/_internal/`
47
+
48
+ ## Step 3: Clarify Requirements
49
+
50
+ Use AskUserQuestion to resolve any ambiguities:
51
+
52
+ - Implementation approach choices
53
+ - Ruby-specific design decisions
54
+ - Whether certain features should be skipped (e.g., JS-specific)
55
+ - Priority ordering if time-constrained
56
+
57
+ ## Step 4: Enter Plan Mode
58
+
59
+ Enter plan mode to design the implementation:
60
+
61
+ ```
62
+ EnterPlanMode
63
+ ```
64
+
65
+ The plan should include:
66
+ - Which files to create or modify
67
+ - Data structures (use `Data.define` for immutable types)
68
+ - Public API design
69
+ - Test coverage requirements
70
+ - Any breaking changes or deprecations
71
+
72
+ ## Step 5: Implement Features
73
+
74
+ After plan approval, implement each feature:
75
+
76
+ 1. Add types/data structures
77
+ 2. Update Options if new configuration needed
78
+ 3. Implement core functionality
79
+ 4. Add CLI argument mapping (if applicable)
80
+ 5. Update RBS type signatures in `sig/` directory
81
+ 6. Write unit tests in `test/claude_agent/`
82
+ 7. Write integration tests in `test/integration/` for features that interact with CLI/API
83
+ 8. Update SPEC.md to mark feature as ✅
84
+
85
+ ### Testing Requirements
86
+
87
+ - **Unit tests** - For all new types, data structures, and internal logic
88
+ - **Integration tests** - Required for anything that:
89
+ - Spawns the CLI subprocess
90
+ - Sends/receives messages via the control protocol
91
+ - Interacts with MCP servers
92
+ - Uses file checkpointing or session management
93
+
94
+ ## Step 6: Update Specification
95
+
96
+ After implementing features, run `/spec:update` to refresh SPEC.md with the new implementation status.
97
+
98
+ ## Output
99
+
100
+ Provide a summary of:
101
+ - Features implemented
102
+ - Any features skipped (with reasons)
103
+ - Breaking changes introduced
104
+ - Test coverage added
105
+ - Remaining gaps (if any)
@@ -0,0 +1,95 @@
1
+ ---
2
+ description: Update SPEC.md with latest feature parity comparison across TypeScript, Python, and Ruby SDKs
3
+ allowed-tools: Bash, Read, Glob, Grep, Write, Edit, TodoWrite, Task
4
+ ---
5
+
6
+ # Update SDK Specification Document
7
+
8
+ You are updating the SPEC.md file to reflect the current feature parity between the TypeScript, Python, and Ruby Claude Agent SDKs.
9
+
10
+ ## Step 1: Update Reference SDKs
11
+
12
+ First, ensure the reference SDKs are up to date:
13
+
14
+ ```bash
15
+ bin/update-reference-sdks
16
+ ```
17
+
18
+ This clones/updates:
19
+ - Python SDK from GitHub → `vendor/claude-agent-sdk-python`
20
+ - TypeScript SDK from npm → `vendor/claude-agent-sdk-npm`
21
+
22
+ ## Step 2: Research Official Documentation
23
+
24
+ Use the `claude-code-guide` agent to check for any new or updated SDK features:
25
+
26
+ ```
27
+ Task(subagent_type: "claude-code-guide", prompt: "What are all the features and options in the Claude Agent SDK? Include configuration options, hooks, permissions, MCP support, and control protocol methods.")
28
+ ```
29
+
30
+ This helps catch features that may be documented but not yet in the SDK source files.
31
+
32
+ ## Step 3: Analyze All Three SDKs
33
+
34
+ Read and compare the following files:
35
+
36
+ ### TypeScript SDK (Primary Reference)
37
+ - `vendor/claude-agent-sdk-npm/sdk.d.ts` - Complete API surface with all types
38
+
39
+ ### Python SDK
40
+ - `vendor/claude-agent-sdk-python/src/claude_agent_sdk/types.py` - Type definitions
41
+
42
+ ### Ruby SDK (This Repository)
43
+ Key files to check:
44
+ - `lib/claude_agent/options.rb` - Configuration options
45
+ - `lib/claude_agent/messages.rb` - Message types
46
+ - `lib/claude_agent/content_blocks.rb` - Content block types
47
+ - `lib/claude_agent/types.rb` - Additional types
48
+ - `lib/claude_agent/hooks.rb` - Hook types
49
+ - `lib/claude_agent/permissions.rb` - Permission types
50
+ - `lib/claude_agent/control_protocol.rb` - Control protocol
51
+ - `lib/claude_agent/sandbox_settings.rb` - Sandbox config
52
+ - `lib/claude_agent/mcp/server.rb` - MCP server
53
+ - `lib/claude_agent/mcp/tool.rb` - MCP tools
54
+ - `lib/claude_agent/client.rb` - Client class
55
+ - `lib/claude_agent/errors.rb` - Error types
56
+
57
+ ## Step 4: Update SPEC.md
58
+
59
+ Update the existing SPEC.md file with:
60
+
61
+ 1. **Reference Versions** - Update TypeScript SDK version and Python SDK commit
62
+ 2. **Feature Tables** - Update all ✅/❌ markers based on current implementations
63
+ 3. **New Features** - Add any new features found in the TypeScript SDK
64
+ 4. **Removed Features** - Remove any deprecated features
65
+
66
+ ### Categories to Compare
67
+
68
+ 1. Options/Configuration
69
+ 2. Message Types
70
+ 3. Content Blocks
71
+ 4. Control Protocol
72
+ 5. Hooks
73
+ 6. Permissions
74
+ 7. MCP Support
75
+ 8. Sessions
76
+ 9. Subagents
77
+ 10. Sandbox Settings
78
+ 11. Error Handling
79
+ 12. Client API
80
+
81
+ ## Guidelines
82
+
83
+ - **Be thorough** - Check every field and option in each SDK
84
+ - **TypeScript is authoritative** - The TypeScript sdk.d.ts is the most complete reference
85
+ - **Preserve format** - Keep the existing table structure and markdown formatting
86
+ - **Update versions** - Always update the reference version info at the top
87
+ - **Note changes** - If significant changes are found, mention them after updating
88
+
89
+ ## Output
90
+
91
+ After updating SPEC.md, provide a brief summary of:
92
+ - SDK versions checked
93
+ - Any new features added to the spec
94
+ - Any features removed from the spec
95
+ - Any notable gaps in the Ruby SDK