@mhome/conversation-protocol 3.6.1 → 3.7.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.
package/README.md
CHANGED
|
@@ -11,6 +11,16 @@ contains no Agent runtime, persistence, transport implementation, or messaging-p
|
|
|
11
11
|
threads themselves. The Conversation implementation owns active-thread creation, idle rotation,
|
|
12
12
|
pending-interaction policy, idempotency, and enqueueing for that operation.
|
|
13
13
|
|
|
14
|
+
Each newly created `ThreadSummary` carries a durable `origin`: either
|
|
15
|
+
`{ "type": "turn", "requestId": "…" }` for creation/idle rotation caused by
|
|
16
|
+
`turn/submit`, or `{ "type": "operation", "operationId": "…" }` for an explicit
|
|
17
|
+
thread/session operation. The owner assigns it when committing creation; callers
|
|
18
|
+
cannot supply it as request metadata. It is immutable and appears in control,
|
|
19
|
+
catalog and thread-load projections, including queries after reconnection.
|
|
20
|
+
It identifies creation, not turn admission or execution. Origin can be absent
|
|
21
|
+
for records written before tracking was introduced; clients must not infer a
|
|
22
|
+
cause from operation-ID spelling, timing or the presence of an unbound send.
|
|
23
|
+
|
|
14
24
|
The canonical `cs1` surface families are client personal (`cp`), client group (`cg`), messaging
|
|
15
25
|
personal (`mp`), and messaging group (`mg`). Messaging surfaces include provider, provider account,
|
|
16
26
|
external conversation, and an optional lane. A lane isolates a provider sub-conversation such as a
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
"createdAt": "2026-08-22T00:00:00Z",
|
|
12
12
|
"updatedAt": "2026-08-22T00:00:00Z",
|
|
13
13
|
"archivedAt": null,
|
|
14
|
-
"purgeAfter": null
|
|
14
|
+
"purgeAfter": null,
|
|
15
|
+
"origin": {
|
|
16
|
+
"type": "operation",
|
|
17
|
+
"operationId": "session-start-2"
|
|
18
|
+
}
|
|
15
19
|
},
|
|
16
20
|
"activeRun": null,
|
|
17
21
|
"pendingInteraction": null,
|
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
"createdAt": "2026-08-22T00:00:00Z",
|
|
15
15
|
"updatedAt": "2026-08-22T00:00:00Z",
|
|
16
16
|
"archivedAt": null,
|
|
17
|
-
"purgeAfter": null
|
|
17
|
+
"purgeAfter": null,
|
|
18
|
+
"origin": {
|
|
19
|
+
"type": "turn",
|
|
20
|
+
"requestId": "turn-create-2"
|
|
21
|
+
}
|
|
18
22
|
},
|
|
19
23
|
"activeRun": null,
|
|
20
24
|
"pendingInteraction": null,
|
package/manifest/targets.v1.json
CHANGED
package/package.json
CHANGED
package/protocol.json
CHANGED
|
@@ -382,6 +382,9 @@
|
|
|
382
382
|
"type": "null"
|
|
383
383
|
}
|
|
384
384
|
]
|
|
385
|
+
},
|
|
386
|
+
"origin": {
|
|
387
|
+
"$ref": "#/$defs/threadOrigin"
|
|
385
388
|
}
|
|
386
389
|
}
|
|
387
390
|
},
|
|
@@ -2817,6 +2820,42 @@
|
|
|
2817
2820
|
}
|
|
2818
2821
|
}
|
|
2819
2822
|
}
|
|
2823
|
+
},
|
|
2824
|
+
"threadOrigin": {
|
|
2825
|
+
"oneOf": [
|
|
2826
|
+
{
|
|
2827
|
+
"type": "object",
|
|
2828
|
+
"additionalProperties": false,
|
|
2829
|
+
"required": [
|
|
2830
|
+
"type",
|
|
2831
|
+
"requestId"
|
|
2832
|
+
],
|
|
2833
|
+
"properties": {
|
|
2834
|
+
"type": {
|
|
2835
|
+
"const": "turn"
|
|
2836
|
+
},
|
|
2837
|
+
"requestId": {
|
|
2838
|
+
"$ref": "#/$defs/id"
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
},
|
|
2842
|
+
{
|
|
2843
|
+
"type": "object",
|
|
2844
|
+
"additionalProperties": false,
|
|
2845
|
+
"required": [
|
|
2846
|
+
"type",
|
|
2847
|
+
"operationId"
|
|
2848
|
+
],
|
|
2849
|
+
"properties": {
|
|
2850
|
+
"type": {
|
|
2851
|
+
"const": "operation"
|
|
2852
|
+
},
|
|
2853
|
+
"operationId": {
|
|
2854
|
+
"$ref": "#/$defs/id"
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
}
|
|
2858
|
+
]
|
|
2820
2859
|
}
|
|
2821
2860
|
}
|
|
2822
2861
|
}
|