ask-coding-providers 0.3.2 → 0.3.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5af7db1f38c3b4d11a223269116e1b7c83da716a6e5c4ef0120f321a9f566241
4
- data.tar.gz: af4be91462e45a4b5fc07119976d098b439daae44714cdcfe302902bd4db5f64
3
+ metadata.gz: 546ff8509486604af6cc4f8fa7060bb91797a147b77336de0c71f4ca340d9ebf
4
+ data.tar.gz: 544b15d771c6c03bef753c3ee349b755a2bf484b07a58e3cb034f6e812fd3848
5
5
  SHA512:
6
- metadata.gz: 06be52e4d472be0c6456842884cb3ccdeb07da10322683de138de6a638cb14e8ba198c5649f57eca1e17e142e752382234bdba8e971cacf664c96f49e821d3fb
7
- data.tar.gz: 81beeba55e7d5b6cdd197d615f0f3926bf44ee36a87a781aba9197fe301e22ac7e7e72520fa6635f239fe266a9b13cdedc33450653ff47b8a1d3afcaa6d89215
6
+ metadata.gz: bb40d05d7c73881d57333164f48ac7becad1e973448e5b29c7e3404de7bc57fb1204598303561ebe35e0f5b34da1921a03eec253d56e2c7958b4c74df0b2af4e
7
+ data.tar.gz: 2ecef478830899e6e1d8192a6de02e75df7d28900e9132c9eeb34e408aa1fa2adce1cce0854c4a7318254b82de3dcc02be66705c0b6c328d89570d7360b96405
data/CHANGELOG.md ADDED
@@ -0,0 +1,78 @@
1
+ # Changelog
2
+
3
+ ## [0.3.2] - 2026-08-10
4
+
5
+ ### Added
6
+
7
+ - **Declarative agent sessions.** `create_session` accepts an `agent:`
8
+ name — the ask-agent convention (`agents/<name>/agent.rb` +
9
+ `instructions.md`, discovered from the working directory). The session
10
+ is built via `Ask::Agent.new`, so the definition's tools, skills
11
+ (agent_dir), and instructions apply, while harness-level options
12
+ (model, system prompt, approval, plan mode, todos) still win. The
13
+ emitting approval queue is passed through, so approval events stream
14
+ exactly like the plain path.
15
+
16
+
17
+
18
+ ### Added
19
+
20
+ - **Per-session system prompts.** `create_session` accepts a
21
+ `system_prompt:` override for the session (takes precedence over the
22
+ adapter-level session option), so hosts like
23
+ ask-coding-harness can give every workspace its own instructions.
24
+
25
+
26
+
27
+ ### Fixed
28
+
29
+ - **Claude adapter streamed nothing** — the inner `each do |block|` loop
30
+ shadowed the method's `&block` parameter, so `block.call` invoked the
31
+ content Hash and every streaming turn failed. The loop variable is now
32
+ `content_block`; `model.streaming` events stream correctly.
33
+ - **Codex session store** — `find_sessions` bound 2 parameters for 3 SQL
34
+ placeholders (silently returned `[]`); `find_recent_tui_session` passed
35
+ bind variables as separate arguments to `get_first_row` (silently
36
+ returned `nil`). Both now bind correctly.
37
+
38
+ ### Added
39
+
40
+ - **External adapter tests** — Claude Code CLI streaming (stubbed
41
+ processes), Codex app-server client lifecycle, and read-only ZCode/Codex
42
+ session-store queries against temp SQLite fixtures. Full suite passes
43
+ the 70% coverage gate.
44
+
45
+
46
+ ### Added
47
+
48
+ - **Rich event stream from the `ask_agent` adapter.** Sessions now emit
49
+ `model.thinking`, `tool.use`, `tool.delta`, `tool.result` (with
50
+ `isError`/`durationMs`), `approval.required`, `approval.updated`,
51
+ `plan.proposed`, `plan.approved`, `plan.rejected`, `todos.updated`,
52
+ `turn.aborted`, and `error` events in addition to the existing
53
+ `model.streaming`/`turn.completed`/`turn.failed`. Existing consumers keep
54
+ working unchanged.
55
+ - **Persistent in-process sessions.** Each `create_session` id maps to one
56
+ `Ask::Agent::Session` instance whose conversation history accumulates
57
+ across turns.
58
+ - **Approval controls.** `approve_action`, `reject_action`, `approve_all`,
59
+ `reject_all`, `pending_approvals`, plus `approve_plan`/`reject_plan`/
60
+ `pending_plan` for plan mode. `approval:` accepts `:off`, `:require`
61
+ (tools listed in `approval_required:` queue for human review), or `:auto`
62
+ (queue exists, never blocks).
63
+ - **Plan mode and todos.** `plan_mode:` and `todos:` pass through to the
64
+ session and their events stream to subscribers.
65
+ - **Abort support.** `abort(session_id)` stops the current turn, which
66
+ emits `turn.aborted`.
67
+ - **Turn completion waits for approvals.** `send_and_stream` keeps the
68
+ stream open until the turn fully settles (follow-up turns included),
69
+ bounded by `turn_timeout`.
70
+
71
+ ### Fixed
72
+
73
+ - `turn.started` is emitted after subscribing, so subscribers always
74
+ receive it.
75
+ - Sessions created but never run no longer crash `list_sessions` /
76
+ `session_history`.
77
+ - Approval mode is validated at adapter construction (fail fast).
78
+ - Session listing sorts deterministically.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Kaka Ruto
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ask
4
4
  module CodingProviders
5
- VERSION = "0.3.2"
5
+ VERSION = "0.3.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-coding-providers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto
@@ -73,6 +73,8 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - CHANGELOG.md
77
+ - LICENSE
76
78
  - README.md
77
79
  - lib/ask-coding-providers.rb
78
80
  - lib/ask/coding_providers.rb
@@ -110,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
112
  - !ruby/object:Gem::Version
111
113
  version: '0'
112
114
  requirements: []
113
- rubygems_version: 4.0.3
115
+ rubygems_version: 4.0.18
114
116
  specification_version: 4
115
117
  summary: Coding agent adapters for the ask-rb ecosystem
116
118
  test_files: []