pinecall 0.11.5 → 0.11.7

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: 0ba958ebf452769edb3b5605d391b1cc2fe27431681ecb500d8a884e80670e79
4
- data.tar.gz: 2a20a34cb0724e24190498af285f0995d160c0c2b493eddc707c0ad13ffeb537
3
+ metadata.gz: 3ad16d184737b5656d7ce432bcb40b4d6e5bb251e4dbb4dca4d38d797dbe65e0
4
+ data.tar.gz: 9634b6b98717b8ca1d0098e752819bae449fc7e37f66405598f56e310d6f77b3
5
5
  SHA512:
6
- metadata.gz: 0c674ccc2779d0f0c120af36bfec0bac0ae8d857f848d0176a166a4871911685e76950c0f35dbe261180cdabf86c9b97cd0dbc4df18b2d84e6df4f06959ba537
7
- data.tar.gz: 278a8d9a675e083a91df7d3e5e1a72a0ea1dc79b1d4bd9871f751c38796884972cb533742b7e89b62c475b2e493539b037e6611f35caf88e93f9ffc23b3131e9
6
+ metadata.gz: 740fa38c64ff9ebf3ad0f127fc1e1104b7f3c36674e8654d1f8420d848374319bee112e075b7ab5c68f0af1708ccd3026a66fc4d31147ae68f197bc5986faf26
7
+ data.tar.gz: 0cc45fe23f19101f39693cfb7a3075c66357fef2979bf22e283ef6de6fe7c5b48aa7cd5c47035516441e8b6d7ceb7f31be4a65b9d35c29933683972d7240f396
data/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ Every change a person using this gem would notice. The format is
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version numbers and tags are the
5
5
  maintainer's call.
6
6
 
7
+ ## [0.11.7] — The wire knows the feed's tool.ran, tool.failed and judge.broke (2026-10-20)
8
+
9
+ - **The wire knows the feed's `tool.ran`, `tool.failed` and `judge.broke`.** Each with only its
10
+ call, agent and name (and seconds): the org's feed says a tool answered or failed and a judge
11
+ found a call broken, never what it said.
12
+
13
+ ## [0.11.6] — Released with every other package (2026-10-19)
14
+
15
+ - Nothing of the gem changed: published at 0.11.6 with every other package.
16
+
7
17
  ## [0.11.5] — realtime: a voice call's model that hears and speaks itself, beside the llm (2026-10-19)
8
18
 
9
19
  - **A voice call runs on a realtime model while a written call keeps the LLM.** `realtime "xai/grok-voice-3.0", options: { voice: "eve" }` names the
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Pinecall
4
4
  # Set by the maintainer at release time.
5
- VERSION = "0.11.5"
5
+ VERSION = "0.11.7"
6
6
  end
@@ -42,6 +42,7 @@ module Pinecall
42
42
  "error" => "ErrorEvent",
43
43
  "event.received" => "EventReceived",
44
44
  "fleet.full" => "FleetFull",
45
+ "judge.broke" => "JudgeBroke",
45
46
  "log.caught_up" => "LogCaughtUp",
46
47
  "log.gap" => "LogGap",
47
48
  "memory.ops" => "MemoryOps",
@@ -74,6 +75,8 @@ module Pinecall
74
75
  "supervisor.transferred" => "SupervisorTransferred",
75
76
  "supervisor.whispered" => "SupervisorWhispered",
76
77
  "tool.call" => "ToolCall",
78
+ "tool.failed" => "ToolFailed",
79
+ "tool.ran" => "ToolRan",
77
80
  "tool.result" => "ToolResult",
78
81
  "tools.changed" => "ToolsChanged",
79
82
  "track.published" => "TrackPublished",
@@ -122,14 +125,14 @@ module Pinecall
122
125
  }.freeze
123
126
 
124
127
  # Every event this protocol declares, in the schema's own order.
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
128
+ 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 judge.broke 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.failed tool.ran tool.result tools.changed track.published track.unpublished turn.agent turn.user user.state user.transcript vendor.switched worker.changed].freeze
126
129
 
127
130
  # Every command an app may send.
128
131
  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
129
132
 
130
133
  # Entries a store may drop and a slow reader may miss without harm: the entry's
131
134
  # own ephemeral flag defaults to this.
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
135
+ EPHEMERAL_EVENTS = %w[agent.transcript dev.request judge.broke log.caught_up log.gap metrics.vad participant.speaking pong release.changed room.sent run.changed tool.failed tool.ran user.transcript worker.changed].to_set.freeze
133
136
 
134
137
  # The one event that ends a call: after it nothing more is true and the log seals.
135
138
  TERMINAL_EVENT = "call.score"
@@ -273,6 +273,23 @@ module Pinecall
273
273
  up: { kind: :bool, required: true },
274
274
  cordoned: { kind: :bool, required: true }
275
275
  }.freeze,
276
+ "ToolRan" => {
277
+ call: { kind: :str, required: true },
278
+ agent: { kind: :str, required: true },
279
+ name: { kind: :str, required: true },
280
+ duration_s: { kind: :float, null: true, required: true }
281
+ }.freeze,
282
+ "ToolFailed" => {
283
+ call: { kind: :str, required: true },
284
+ agent: { kind: :str, required: true },
285
+ name: { kind: :str, required: true },
286
+ duration_s: { kind: :float, null: true, required: true }
287
+ }.freeze,
288
+ "JudgeBroke" => {
289
+ call: { kind: :str, required: true },
290
+ agent: { kind: :str, required: true },
291
+ judge: { kind: :str, required: true }
292
+ }.freeze,
276
293
  "LogCaughtUp" => {
277
294
  seq: { kind: :int, required: true }
278
295
  }.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.11.5
4
+ version: 0.11.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pinecall