pinecall 0.0.8 → 0.10.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -5
- data/lib/pinecall/version.rb +1 -1
- data/lib/pinecall/wire/registry.rb +6 -3
- data/lib/pinecall/wire/shapes_events.rb +15 -0
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 15daaa0221695e7eb693d9b6edada3f2ebc467e9a54deb83861c85cb02824cdf
|
|
4
|
+
data.tar.gz: 7d0b59547b82da502a2d73a3bd1c6832deaf324c78506ba4715f5c9703349d57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4bc70c0324e78f3c37be091877c87a9740de9f1d38cee1ddd7b8ef4c676d8b723304dd5f1ee912dca11bebbe08e5b62b9e71f21ab66f726b5c5023d5c6c46680
|
|
7
|
+
data.tar.gz: 00a362067d627fa22058d81535177b614ddb98493f7199e0e02080eddd4ebc3a5cb234eaf529dad9207989f9f5b08b963134819d2f21ca645c4d4427ecbfcca9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
Every change a person using this gem would notice. The format is
|
|
4
|
-
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
|
|
5
|
-
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version numbers and tags are the
|
|
5
|
+
maintainer's call.
|
|
6
6
|
|
|
7
|
-
## [
|
|
7
|
+
## [0.10.1] — Released with every other package (2026-10-14)
|
|
8
|
+
|
|
9
|
+
- Nothing of the Ruby SDK changed: published at 0.10.1 with every other package.
|
|
10
|
+
|
|
11
|
+
## [0.10.0] — One repository, one version (2026-10-12)
|
|
12
|
+
|
|
13
|
+
- Published from [pinecall/pinecall](https://github.com/pinecall/pinecall) with every other
|
|
14
|
+
Pinecall package, at the one version they all carry from here on. Nothing an app
|
|
15
|
+
requires changes.
|
|
8
16
|
|
|
9
17
|
## [0.0.8] — The wire reads evals.spent, call.started.expects and call.summary.run (2026-10-11)
|
|
10
18
|
|
|
@@ -110,7 +118,7 @@ version number is the human's call.
|
|
|
110
118
|
`opening:`: the state a golden, a persona or a chat's `?state=` asked for rides the call, and the
|
|
111
119
|
bridge applies it after `on_call` and before the first render. `Testing::Gateway#call_started`
|
|
112
120
|
takes `state:`.
|
|
113
|
-
- **
|
|
121
|
+
- **The wire is the gem's own.** The gem keeps the runtime's wire it speaks in
|
|
114
122
|
`lib/pinecall/wire/` (`Pinecall::Wire`: the shapes, the validator, the codec, the reducer), held
|
|
115
123
|
to the runtime's golden call log; `Pinecall::Protocol` is `Pinecall::Wire` and `ProtocolError` is
|
|
116
124
|
`WireError`.
|
|
@@ -208,7 +216,7 @@ version number is the human's call.
|
|
|
208
216
|
text changed. `Pinecall.render` returns `Blocks` (`[:name]`, `static`, `dynamic`,
|
|
209
217
|
`instructions`); `pinecall prompt` prints one section per block. In a test,
|
|
210
218
|
`call.block("knowledge")`.
|
|
211
|
-
-
|
|
219
|
+
- The wire: Ruby's side of it, generated from the same JSON Schema as the Python
|
|
212
220
|
and TypeScript packages, with the log reducer proved against the same golden fixture.
|
|
213
221
|
- `sig/`: the public surface as RBS, checked by `rake rbs`.
|
|
214
222
|
- `examples/clinica_norte`: a whole agent, its view, and its own ring-0 suite.
|
data/lib/pinecall/version.rb
CHANGED
|
@@ -61,8 +61,10 @@ module Pinecall
|
|
|
61
61
|
"participant.speaking" => "ParticipantSpeaking",
|
|
62
62
|
"pong" => "Pong",
|
|
63
63
|
"prompt.changed" => "PromptChanged",
|
|
64
|
+
"release.changed" => "ReleaseChanged",
|
|
64
65
|
"room.opened" => "RoomOpened",
|
|
65
66
|
"room.sent" => "RoomSent",
|
|
67
|
+
"run.changed" => "RunChanged",
|
|
66
68
|
"spend.unusual" => "SpendUnusual",
|
|
67
69
|
"state.changed" => "StateChanged",
|
|
68
70
|
"supervisor.ended" => "SupervisorEnded",
|
|
@@ -80,7 +82,8 @@ module Pinecall
|
|
|
80
82
|
"turn.user" => "UserTurnEnded",
|
|
81
83
|
"user.state" => "UserStateChanged",
|
|
82
84
|
"user.transcript" => "UserTranscript",
|
|
83
|
-
"vendor.switched" => "VendorSwitched"
|
|
85
|
+
"vendor.switched" => "VendorSwitched",
|
|
86
|
+
"worker.changed" => "WorkerChanged"
|
|
84
87
|
}.freeze
|
|
85
88
|
|
|
86
89
|
# The shape each command's data is, by the command's wire type.
|
|
@@ -119,14 +122,14 @@ module Pinecall
|
|
|
119
122
|
}.freeze
|
|
120
123
|
|
|
121
124
|
# Every event this protocol declares, in the schema's own order.
|
|
122
|
-
EVENT_TYPES = %w[agent.configured agent.detached agent.draining agent.registered agent.state agent.transcript attention.answered attention.requested call.attached call.claimed call.dialing call.ended call.line call.ringing call.score call.started call.summary call.transferred callback.requested code.claimed code.issued confirm.declined confirm.granted confirm.request credits.exhausted custom dev.request docs.sources dtmf.received error evals.spent event.received fleet.full log.caught_up log.gap memory.ops message.taken message.waiting metrics.avatar metrics.eot metrics.eou metrics.interruption metrics.llm metrics.realtime metrics.stt metrics.tts metrics.vad participant.joined participant.left participant.speaking pong prompt.changed room.opened room.sent spend.unusual state.changed supervisor.ended supervisor.released supervisor.said supervisor.took_over supervisor.transferred supervisor.whispered tool.call tool.result tools.changed track.published track.unpublished turn.agent turn.user user.state user.transcript vendor.switched].freeze
|
|
125
|
+
EVENT_TYPES = %w[agent.configured agent.detached agent.draining agent.registered agent.state agent.transcript attention.answered attention.requested call.attached call.claimed call.dialing call.ended call.line call.ringing call.score call.started call.summary call.transferred callback.requested code.claimed code.issued confirm.declined confirm.granted confirm.request credits.exhausted custom dev.request docs.sources dtmf.received error evals.spent event.received fleet.full log.caught_up log.gap memory.ops message.taken message.waiting metrics.avatar metrics.eot metrics.eou metrics.interruption metrics.llm metrics.realtime metrics.stt metrics.tts metrics.vad participant.joined participant.left participant.speaking pong prompt.changed release.changed room.opened room.sent run.changed spend.unusual state.changed supervisor.ended supervisor.released supervisor.said supervisor.took_over supervisor.transferred supervisor.whispered tool.call tool.result tools.changed track.published track.unpublished turn.agent turn.user user.state user.transcript vendor.switched worker.changed].freeze
|
|
123
126
|
|
|
124
127
|
# Every command an app may send.
|
|
125
128
|
COMMAND_TYPES = %w[agent.configure agent.drain agent.register agent.reply agent.say call.attention call.callback call.claim call.dial call.dtmf call.event call.hangup call.hold call.log call.mute call.opt_out call.transfer call.unhold call.unmute dev.answer participant.mute participant.remove ping prompt.set room.invite room.send session.configure state.set supervisor.verb tool.result tools.set].freeze
|
|
126
129
|
|
|
127
130
|
# Entries a store may drop and a slow reader may miss without harm: the entry's
|
|
128
131
|
# own ephemeral flag defaults to this.
|
|
129
|
-
EPHEMERAL_EVENTS = %w[agent.transcript dev.request log.caught_up log.gap metrics.vad participant.speaking pong room.sent user.transcript].to_set.freeze
|
|
132
|
+
EPHEMERAL_EVENTS = %w[agent.transcript dev.request log.caught_up log.gap metrics.vad participant.speaking pong release.changed room.sent run.changed user.transcript worker.changed].to_set.freeze
|
|
130
133
|
|
|
131
134
|
# The one event that ends a call: after it nothing more is true and the log seals.
|
|
132
135
|
TERMINAL_EVENT = "call.score"
|
|
@@ -258,6 +258,21 @@ module Pinecall
|
|
|
258
258
|
workers: { kind: :int, required: true },
|
|
259
259
|
active: { kind: :int, required: true }
|
|
260
260
|
}.freeze,
|
|
261
|
+
"ReleaseChanged" => {
|
|
262
|
+
app: { kind: :str, required: true },
|
|
263
|
+
release: { kind: :int, required: true }
|
|
264
|
+
}.freeze,
|
|
265
|
+
"RunChanged" => {
|
|
266
|
+
run: { kind: :str, required: true },
|
|
267
|
+
agent: { kind: :str, required: true },
|
|
268
|
+
finished: { kind: :bool, required: true }
|
|
269
|
+
}.freeze,
|
|
270
|
+
"WorkerChanged" => {
|
|
271
|
+
worker: { kind: :str, required: true },
|
|
272
|
+
fleet: { kind: :str, required: true },
|
|
273
|
+
up: { kind: :bool, required: true },
|
|
274
|
+
cordoned: { kind: :bool, required: true }
|
|
275
|
+
}.freeze,
|
|
261
276
|
"LogCaughtUp" => {
|
|
262
277
|
seq: { kind: :int, required: true }
|
|
263
278
|
}.freeze,
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pinecall
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pinecall
|
|
@@ -87,13 +87,13 @@ files:
|
|
|
87
87
|
- lib/pinecall/wire/state.rb
|
|
88
88
|
- lib/pinecall/wire/validate.rb
|
|
89
89
|
- sig/pinecall.rbs
|
|
90
|
-
homepage: https://github.com/pinecall/ruby
|
|
90
|
+
homepage: https://github.com/pinecall/pinecall/tree/main/sdks/ruby
|
|
91
91
|
licenses:
|
|
92
92
|
- Apache-2.0
|
|
93
93
|
metadata:
|
|
94
|
-
homepage_uri: https://github.com/pinecall/ruby
|
|
95
|
-
source_code_uri: https://github.com/pinecall/
|
|
96
|
-
changelog_uri: https://github.com/pinecall/
|
|
94
|
+
homepage_uri: https://github.com/pinecall/pinecall/tree/main/sdks/ruby
|
|
95
|
+
source_code_uri: https://github.com/pinecall/pinecall
|
|
96
|
+
changelog_uri: https://github.com/pinecall/pinecall/blob/main/sdks/ruby/CHANGELOG.md
|
|
97
97
|
rubygems_mfa_required: 'true'
|
|
98
98
|
rdoc_options: []
|
|
99
99
|
require_paths:
|