@pellux/goodvibes-contracts 1.7.1 → 1.9.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.
@@ -5,7 +5,7 @@ emitted from the operator contract by scripts/generate-homeassistant-client.ts.
5
5
  Covers only the REST subset HA consumes; the webhook, conversation stream,
6
6
  and surface health probe are not operator methods and stay hand-written.
7
7
 
8
- Contract product version: 1.7.1
8
+ Contract product version: 1.9.0
9
9
  Consumed operator methods: 33
10
10
  """
11
11
  from __future__ import annotations
@@ -13,7 +13,7 @@ from __future__ import annotations
13
13
  from typing import Any, Literal, Mapping, NamedTuple, NotRequired, TypedDict
14
14
 
15
15
  #: Daemon contract version these types were generated against (the version pin).
16
- CONTRACT_VERSION: str = "1.7.1"
16
+ CONTRACT_VERSION: str = "1.9.0"
17
17
 
18
18
 
19
19
  class OperatorRoute(NamedTuple):
@@ -133,11 +133,13 @@ class ChannelsToolsSurfaceListOutput(TypedDict, total=True):
133
133
  tools: list[Mapping[str, Any]]
134
134
 
135
135
  # control.status
136
- ControlStatusInput = Mapping[str, Any]
136
+ class ControlStatusInput(TypedDict, total=True):
137
+ receipts: NotRequired[Literal["consume"]]
137
138
 
138
139
  class ControlStatusOutput(TypedDict, total=True):
139
140
  status: str
140
141
  version: str
142
+ receipts: NotRequired[list[Mapping[str, Any]]]
141
143
 
142
144
  # homeassistant.homeGraph.askHomeGraph
143
145
  class HomeassistantHomeGraphAskHomeGraphInput(TypedDict, total=True):
@@ -1 +1 @@
1
- {"version":3,"file":"core-verbs.d.ts","sourceRoot":"","sources":["../src/core-verbs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,2MAyBb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,uCAAwC,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAqJrE,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAE5C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAcjE"}
1
+ {"version":3,"file":"core-verbs.d.ts","sourceRoot":"","sources":["../src/core-verbs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,2MAyBb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,uCAAwC,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAsLrE,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAE5C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAcjE"}
@@ -159,6 +159,9 @@ export const EXEMPT_VERB_CATEGORIES = {
159
159
  // shape (per-flag state + evidence + release-blocker list) is a named
160
160
  // report, not a generic get of one record.
161
161
  'doctor', 'stats', 'capacity', 'settings', 'catalog', 'reject', 'review-queue', 'report',
162
+ // memory.consolidation.receipts — the retained consolidation run receipts +
163
+ // pending proposals: a whole-report read named for what it serves.
164
+ 'receipts',
162
165
  ],
163
166
  'memory-record-store': [
164
167
  // The daemon-owned canonical memory store mirrors the MemoryStore engine's
@@ -182,6 +185,36 @@ export const EXEMPT_VERB_CATEGORIES = {
182
185
  // not a generic read/lifecycle word — the subscription lifecycle itself uses
183
186
  // core verbs (push.subscriptions.create/list/delete, push.vapid.get).
184
187
  'verify',
188
+ // `reconcile` is the self-heal-on-open action: the client presents its
189
+ // device identity + current endpoint and the daemon heals a stale record in
190
+ // place, reporting what drifted. It is a state-reconciliation verb (like a
191
+ // terraform apply), not a plain create/update — a new subscription still
192
+ // uses the core `create` verb.
193
+ 'reconcile',
194
+ ],
195
+ 'pairing-tokens': [
196
+ // Per-pairing operator token lifecycle. list/create/delete are core verbs;
197
+ // these are not generic CRUD words: `rename` sets ONLY the user-visible
198
+ // device label (a single-field relabel, not a general resource update),
199
+ // `migrate` moves a client off the legacy single shared token onto its own
200
+ // per-device token (an honest one-time hand-off), and `revokeShared` turns
201
+ // the legacy shared token off entirely (a one-way switch, distinct from
202
+ // deleting a per-device token).
203
+ 'rename', 'migrate', 'revokeShared',
204
+ ],
205
+ 'pairing-handoff': [
206
+ // The pairing hand-off bundle (pairing.handoff.create / .complete): one
207
+ // exchange carries the notifications/relay/passkey offer set. `create` is a
208
+ // core verb; `complete` applies the surface's per-offer decisions in a
209
+ // single pass — a multi-offer apply action, not a generic CRUD word.
210
+ 'complete',
211
+ ],
212
+ 'worktree-lifecycle': [
213
+ // worktrees.discard — the eviction-preserving removal (dirty state
214
+ // committed onto the KEPT branch, directory removed, branch kept, honest
215
+ // receipt). Deliberately NOT `delete`: delete implies the branch and the
216
+ // work go away; discard keeps both recoverable.
217
+ 'discard',
185
218
  ],
186
219
  'rewind-safety': [
187
220
  // The unified message-anchored rewind (rewind.plan / rewind.apply): a