@mhome/app-facade-protocol 1.129.1 → 1.131.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.
@@ -9,7 +9,7 @@ Full and Essential use the same business read scope; UI requests Full.
9
9
  | `/app/presentation/automation/names/get` | `{ids}`: 1–100 selected, trimmed/deduplicated IDs | `{automations: {id: label}}`. Missing IDs omitted. Selected definition metadata only; no source downloads, parsing, state, history or graph reads. |
10
10
  | `/app/presentation/automation/list` | `{type: "RECURRING" \| "TASK_FLOW"}` | `{automations}`: current-type regular user programs, with labels, runnable/health/expiry metadata, enabled/running/blocked, last-run `timestamp`, status timestamps and tags. No temporary-program, Group, Widget, snapshot, graph or authored-source expansion. |
11
11
  | `/app/presentation/automation/overview/get` | `{automationId}`: nonblank, trimmed | `{id,name,type,enabled,runnable,corrupted,blocked,widgets}`. Selected metadata, status, cloud quota display state and owned Widget configuration/current values. No source, graph traversal, running history or snapshots. Missing definition is not-found. |
12
- | `/app/presentation/automation/placements/get` | `{automationId}`: nonblank, trimmed | `{canvases:[{id,name,containsAutomation}]}`. Reads owned Widgets, Widget-to-Card relations and canvas metadata/card IDs; never loads Card bodies. Retains existing default-canvas initialization when the Space has none. |
12
+ | `/app/presentation/automation/placements/get` | `{automationId}`: nonblank, trimmed | `{canvases:[{id,name,containsAutomation}]}`. Matches both owned Widget-to-Card relations and dedicated Automation Cards by `meta.automationId`, against Canvas leaf IDs including composition members. Backends read current-Space Card records to resolve these business references; responses contain only Canvas labels and membership flags. Retains existing default-canvas initialization when the Space has none. |
13
13
 
14
14
  Labels use saved preferredName, then the script-derived saved name, then the
15
15
  existing unknown-label fallback. Metadata reads never require source storage to
@@ -50,6 +50,18 @@ source and target Canvas documents together. Delete and resource cleanup prune
50
50
  leaf references: one surviving member becomes an independent Card at its current
51
51
  absolute position; zero members removes the container.
52
52
 
53
+ `/app/dashboard/canvas/list` and `/app/dashboard/canvas/content/get` include
54
+ `pendingDeletion: {canvas, itemIds}` when a Canvas has a staged deletion.
55
+ `canvas: true` identifies a staged whole-Canvas deletion. For card deletions,
56
+ `itemIds` contains the root or member IDs that were selected for deletion.
57
+ The read field is omitted after cleanup finishes.
58
+
59
+ Users can explicitly finish a staged deletion with `retryPending: true` on
60
+ `/app/dashboard/canvas/delete` for that `canvasId`, or on
61
+ `/app/dashboard/card/delete` with the selected pending `itemIds` as
62
+ `cardIds`. The backend processes the requested pending targets. An already
63
+ completed retry returns success with zero deletions.
64
+
53
65
  Existing data is converted explicitly with old writers stopped, a verified
54
66
  backup and conflict checks. Runtime startup never converts legacy placement or
55
67
  silently deletes a database. Cloud Canvas records stay in the existing `canvas`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.app-facade.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "callSchema": "schema/facade-call.v1.schema.json",
5
5
  "routing": "manifest/routing.v1.json",
6
6
  "routingSchema": "schema/routing.v1.schema.json",
@@ -1,5 +1,5 @@
1
1
  {
2
- "contractVersion": "1.129.1",
2
+ "contractVersion": "1.131.0",
3
3
  "operations": {
4
4
  "/app/agent/context/get": "spaceRead",
5
5
  "/app/agent/credit/usage": "spaceRead",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.host-provision.targets.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "contract": "contract/host-provisioning-v1.md",
5
5
  "localTargets": [
6
6
  "/local/host/provision/start",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.hub.targets.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "appTargets": [
5
5
  "/app/hub/get",
6
6
  "/app/hub/remove"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.pod.targets.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "contract": "contract/pod-commissioning-v1.md",
5
5
  "localTargets": [
6
6
  "/local/pod/discovery/start",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.app-facade.routing.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "targetPrefix": "/app/",
5
5
  "default": {
6
6
  "execution": "spaceMode"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.messaging.targets.v1",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "requestTargets": [
5
5
  "/app/messaging/provider/list",
6
6
  "/app/messaging/provider-account/list",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhome/app-facade-protocol",
3
- "version": "1.129.1",
3
+ "version": "1.131.0",
4
4
  "description": "Build-time protocol artifacts for mhome.app-facade",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
package/protocol.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "protocol": "mhome.app-facade",
3
- "contractVersion": "1.129.1",
3
+ "contractVersion": "1.131.0",
4
4
  "manifest": "manifest/app-facade.v1.json",
5
5
  "schemas": {
6
6
  "storage": "schema/storage.v1.schema.json",