@whooshbang/contract-mock 1.0.0-rc.28 → 1.0.0-rc.30

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to the deterministic WhooshBang contract mock are
4
4
  recorded here.
5
5
 
6
+ ## Unreleased
7
+
8
+ ## 1.0.0-rc.30
9
+
10
+ - Add normalized recipient-logo upload, atomic replacement, session-authorized
11
+ PNG serving, cache headers, and recipient-session logo projection.
12
+ - Project the ten owner-voiced embedded-panel copy keys while refusing every
13
+ system-owned safety, failure, pause, unavailable, and unsubscribe key.
14
+ - Reissue the mock against `@whooshbang/sdk@1.0.0-rc.27`, whose browser-only
15
+ recipient subpaths replace the retired standalone recipient-component
16
+ package.
17
+
18
+ ## 1.0.0-rc.29
19
+
20
+ - Add project recipient-copy override inventory, update, reset, validation, and
21
+ effective-value behavior for dashboard, SDK, and MCP parity testing.
22
+ - Reissue the mock against `@whooshbang/contracts@1.0.0-rc.18` and
23
+ `@whooshbang/sdk@1.0.0-rc.26`.
24
+
6
25
  ## 1.0.0-rc.20
7
26
 
8
27
  - Route test and live messages through the notifier's selected default
package/README.md CHANGED
@@ -45,6 +45,13 @@ inspection snapshot, models bounded overlap, updates safe last-used metadata
45
45
  on authentication, and returns `credential_invalid` after revocation. These
46
46
  values are local fixtures, not production credential material.
47
47
 
48
+ It can also configure the project recipient experience, upload a bounded PNG
49
+ logo, and manage sparse recipient-copy overrides. The mock normalizes the logo
50
+ before storing it, atomically replaces the prior asset, projects its ID and the
51
+ ten owner-voiced panel values into recipient sessions, and serves the PNG only
52
+ to that session's exact configured origin. System-owned safety, refusal, pause,
53
+ unavailable, and unsubscribe copy is rejected just as it is by the service.
54
+
48
55
  Project credentials also execute the customer-endpoint lifecycle under
49
56
  `/v1/projects/{project_id}/environments/{environment_id}/customer-endpoints`:
50
57
  create with a one-time secret reveal, verify, bounded-overlap rotation, pause,
@@ -64,6 +71,25 @@ second archive or an edit to an archived connection is refused. Credential
64
71
  material and every reference to one are absent from these responses, including
65
72
  for the shared identity WhooshBang operates.
66
73
 
74
+ The catalogue presents hosted Slack first as
75
+ `WhooshBang for Slack — Recommended`. Creating that arm returns a durable
76
+ `authorization_setup`; fetching its mock authorization URL completes the
77
+ provider browser round trip and returns to the Dashboard with the same
78
+ connection ID. The active resource exposes only safe workspace display,
79
+ capabilities, health, App Home deep link, recovery action, and successful
80
+ verification/delivery timestamps. `.../{connection_id}/reauthorize` repeats
81
+ the flow on the exact connection, health verifies it, archive is repeat-safe,
82
+ and purge is refused because the tenant does not own the platform installation.
83
+
84
+ When the owner enables Slack in N17 and exactly one eligible Slack connection
85
+ is attached to the notifier, a recipient session offers Slack. Its provider
86
+ handoff binds that exact connection; ambiguity or a lifecycle change fails
87
+ closed. Environment-scoped agent sends may include `connection_id`, and the
88
+ mock refuses a different connection without producing a provider attempt. The
89
+ control API completes the provider handoff without manufacturing an OAuth code
90
+ or token, then exercises preference, pause/resume, exact unsubscribe, and
91
+ recovered visible delivery through the normal provider-neutral contracts.
92
+
67
93
  A `customer_byok` create connects a bot the customer already owns by supplying
68
94
  its credential and naming no identity at all. The mock reads the identity out
69
95
  of the credential's `<digits>:<secret>` shape, because it has no provider to