@mhome/app-facade-protocol 1.130.0 → 1.132.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.
@@ -26,3 +26,15 @@ Generated Twin and Group programs remain internal resources.
26
26
  rename. The script's authored root name remains available in the script itself.
27
27
 
28
28
  Inputs are closed objects. The schema is `schema/automation.v1.schema.json`.
29
+
30
+ For `/app/automation/save` and `/app/automation/snapshot/rollback`, the definition
31
+ is committed before the optional attempt to restore the enabled state. If that
32
+ attempt is rejected or unconfirmed, the Facade returns `partial` with the
33
+ Automation ID and `restoreIssue` (`failed` or `unconfirmed`). Rollback also
34
+ includes the snapshot ID. Its `enabled` field is omitted when the post-write
35
+ observation is unavailable. Read current state before deciding whether to enable.
36
+
37
+ `/app/automation/delete` returns `success` when all targets complete and `partial`
38
+ when `deletedIds` and `failedIds` both contain IDs. A batch with no completed
39
+ targets returns `error` with its per-target details. These outcomes apply to direct
40
+ calls and prepared commits, in Full and Essential presentation.
@@ -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`
@@ -33,8 +33,9 @@ Only activation changes pending to active and sets createdAt. Repeating activati
33
33
  preserves createdAt and lastUsedAt. Cancelled/failed physical writes explicitly
34
34
  delete pending; read/list/sync do not clean it up. No TTL or background cleanup.
35
35
  Update patches configuration without activating or resetting metadata.
36
- Delete missing IDs is idempotent, has no deleted-count guarantee, does not erase
37
- physical tags, and does not promise cross-record atomicity on cloud storage.
36
+ Delete treats missing IDs as complete and returns an acknowledgement. SQLite and
37
+ DynamoDB delete a request atomically. Tablestore batch deletion can partially
38
+ apply before returning an error. Physical tags retain their written content.
38
39
  Prepared preview includes requested IDs, found state, name and creation state;
39
40
  last-use observations do not invalidate a preview.
40
41
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "manifest": "mhome.app-facade.v1",
3
- "contractVersion": "1.130.0",
3
+ "contractVersion": "1.132.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.130.0",
2
+ "contractVersion": "1.132.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.130.0",
3
+ "contractVersion": "1.132.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.130.0",
3
+ "contractVersion": "1.132.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.130.0",
3
+ "contractVersion": "1.132.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.130.0",
3
+ "contractVersion": "1.132.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.130.0",
3
+ "contractVersion": "1.132.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.130.0",
3
+ "version": "1.132.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.130.0",
3
+ "contractVersion": "1.132.0",
4
4
  "manifest": "manifest/app-facade.v1.json",
5
5
  "schemas": {
6
6
  "storage": "schema/storage.v1.schema.json",