@wowok/agent-mcp 3.3.7 → 3.3.9
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/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/communication/message-cursors.d.ts +35 -0
- package/dist/communication/message-cursors.js +1 -0
- package/dist/communication/wts-attestation.d.ts +5 -0
- package/dist/communication/wts-attestation.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.d.ts +2 -2
- package/dist/composition/compile.js +1 -1
- package/dist/composition/inflight.d.ts +7 -0
- package/dist/composition/inflight.js +1 -1
- package/dist/composition/materialize.d.ts +4 -1
- package/dist/composition/materialize.js +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -1
- package/dist/config/store-policy.d.ts +14 -0
- package/dist/config/store-policy.js +1 -0
- package/dist/config/store-policy.spec.d.ts +1 -0
- package/dist/config/store-policy.spec.js +1 -0
- package/dist/customer/industry-risks.js +1 -1
- package/dist/customer/user-preferences.js +1 -1
- package/dist/evaluation/builtins/graph-service.spec.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/business-modules.d.ts +1 -1
- package/dist/extensions/business-modules.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/graph/onchain/analyze.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/facts.d.ts +1 -0
- package/dist/graph/onchain/facts.js +1 -1
- package/dist/graph/onchain/facts.spec.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/knowledge/acquisition-flywheel.js +1 -1
- package/dist/knowledge/allocation-ledger.d.ts +1 -0
- package/dist/knowledge/allocation-ledger.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.d.ts +6 -2
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +37 -0
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/plan.json +32 -2
- package/dist/knowledge/builtin-templates.d.ts +13 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/commission-landing.d.ts +26 -0
- package/dist/knowledge/commission-landing.js +1 -0
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +7 -0
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-design-patterns.d.ts +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-render.d.ts +7 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-generalizer.js +1 -1
- package/dist/knowledge/industry-registry.d.ts +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-fork-watch.d.ts +9 -0
- package/dist/knowledge/machine-fork-watch.js +1 -0
- package/dist/knowledge/migration-preflight.js +1 -1
- package/dist/knowledge/projection.spec.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +8 -2
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/semantic-ir.d.ts +24 -5
- package/dist/knowledge/semantic-ir.js +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-index.js +1 -1
- package/dist/knowledge/template-loader.d.ts +11 -0
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +4 -2
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/template-validation.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +12 -6
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.d.ts +10 -2
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/mode-actions.d.ts +1 -0
- package/dist/playbooks/service-build/mode-actions.js +1 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/playbooks/service-build/service-quote.spec.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +72 -1
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +3 -0
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.d.ts +24 -0
- package/dist/schema/call/bridge.d.ts +6 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/config/index.d.ts +24 -0
- package/dist/schema/config/index.js +1 -1
- package/dist/schema/goal/index.d.ts +14 -0
- package/dist/schema/goal/planning.d.ts +26 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +9 -1
- package/dist/schema/industry-pack/modes.d.ts +9 -1
- package/dist/schema/industry-pack/modes.js +1 -1
- package/dist/schema/local/index.d.ts +60 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +278 -1
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +1 -0
- package/dist/schema/query/bi.d.ts +38 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +3 -0
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/service-clone/index.d.ts +17 -0
- package/dist/schema/service-clone/index.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +6 -0
- package/dist/schemas/benchmark_migration_operation.output.json +254 -2
- package/dist/schemas/benchmark_migration_operation.schema.json +87 -5
- package/dist/schemas/bridge_operation.output.json +6 -0
- package/dist/schemas/config_operation.output.json +95 -0
- package/dist/schemas/config_operation.schema.json +16 -1
- package/dist/schemas/goal_operation.schema.json +22 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/industry_pack_operation.output.json +4 -0
- package/dist/schemas/industry_pack_operation.schema.json +40 -3
- package/dist/schemas/local_cache_operation.output.json +6 -0
- package/dist/schemas/local_history_operation.output.json +6 -0
- package/dist/schemas/local_info_operation.output.json +6 -0
- package/dist/schemas/local_mark_operation.output.json +6 -0
- package/dist/schemas/messenger_operation.output.json +609 -1
- package/dist/schemas/messenger_operation.schema.json +96 -1
- package/dist/schemas/onchain_operations.output.json +6 -0
- package/dist/schemas/onchain_operations.schema.json +334 -7
- package/dist/schemas/onchain_operations_allocation.schema.json +10 -1
- package/dist/schemas/onchain_operations_guard.schema.json +318 -0
- package/dist/schemas/onchain_operations_order.schema.json +1 -1
- package/dist/schemas/onchain_operations_service.schema.json +5 -5
- package/dist/schemas/query_toolkit.output.json +271 -8
- package/dist/schemas/service_clone_operation.output.json +79 -0
- package/dist/tools/handlers/benchmark-migration.d.ts +14 -0
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +19 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.d.ts +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/service-clone.d.ts +18 -0
- package/dist/tools/handlers/service-clone.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -1152,13 +1152,37 @@
|
|
|
1152
1152
|
],
|
|
1153
1153
|
"additionalProperties": false,
|
|
1154
1154
|
"description": "Time range"
|
|
1155
|
+
},
|
|
1156
|
+
"sealed_available": {
|
|
1157
|
+
"anyOf": [
|
|
1158
|
+
{
|
|
1159
|
+
"type": "boolean"
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"type": "null"
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"description": "KB-03 evidence-tier PRE-CHECK (fail-open, never interrupts generation): whether the third-party-verifiable evidence tier is reachable in this environment. Probed by running the guarded verifier against the freshly generated packet and reading its on-chain key-book anchor verdict (serverKeyAnchor.verified). true = after sign_wts the packet can verify as third-party-verifiable evidence. false = the key book does NOT match its on-chain anchor — a WTS is a private conversation record, NOT third-party-verifiable evidence; promise it only as a private record and use proof_message for anything that must hold chain-side. null = the probe could not score the anchor (probe failed, or the packet carried no server-attested messages) — the tier is UNVERIFIED, not denied; re-probe with verify_wts after sign_wts."
|
|
1166
|
+
},
|
|
1167
|
+
"sealed_available_note": {
|
|
1168
|
+
"anyOf": [
|
|
1169
|
+
{
|
|
1170
|
+
"type": "string"
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
"type": "null"
|
|
1174
|
+
}
|
|
1175
|
+
],
|
|
1176
|
+
"description": "Human-readable consequence of sealed_available: the tier-available confirmation when true; the 'WTS is a private conversation record, NOT third-party-verifiable evidence' warning when false; the unverified-tier caveat when null."
|
|
1155
1177
|
}
|
|
1156
1178
|
},
|
|
1157
1179
|
"required": [
|
|
1158
1180
|
"files",
|
|
1159
1181
|
"htmlFiles",
|
|
1160
1182
|
"totalMessageCount",
|
|
1161
|
-
"timeRange"
|
|
1183
|
+
"timeRange",
|
|
1184
|
+
"sealed_available",
|
|
1185
|
+
"sealed_available_note"
|
|
1162
1186
|
],
|
|
1163
1187
|
"additionalProperties": false,
|
|
1164
1188
|
"description": "Generate WTS result"
|
|
@@ -1959,6 +1983,107 @@
|
|
|
1959
1983
|
],
|
|
1960
1984
|
"additionalProperties": false
|
|
1961
1985
|
},
|
|
1986
|
+
{
|
|
1987
|
+
"type": "object",
|
|
1988
|
+
"properties": {
|
|
1989
|
+
"operation": {
|
|
1990
|
+
"type": "string",
|
|
1991
|
+
"const": "mark_conversation_read"
|
|
1992
|
+
},
|
|
1993
|
+
"result": {
|
|
1994
|
+
"type": "object",
|
|
1995
|
+
"properties": {
|
|
1996
|
+
"account": {
|
|
1997
|
+
"type": "string",
|
|
1998
|
+
"description": "Account the watermark belongs to"
|
|
1999
|
+
},
|
|
2000
|
+
"peer": {
|
|
2001
|
+
"type": "string",
|
|
2002
|
+
"description": "Conversation peer"
|
|
2003
|
+
},
|
|
2004
|
+
"read_through_seq": {
|
|
2005
|
+
"anyOf": [
|
|
2006
|
+
{
|
|
2007
|
+
"type": "number"
|
|
2008
|
+
},
|
|
2009
|
+
{
|
|
2010
|
+
"type": "null"
|
|
2011
|
+
}
|
|
2012
|
+
],
|
|
2013
|
+
"description": "Highest conversation sequence (leafIndex) this account has marked read locally. null = nothing marked read yet"
|
|
2014
|
+
},
|
|
2015
|
+
"read_at": {
|
|
2016
|
+
"anyOf": [
|
|
2017
|
+
{
|
|
2018
|
+
"type": "number"
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
"type": "null"
|
|
2022
|
+
}
|
|
2023
|
+
],
|
|
2024
|
+
"description": "Local timestamp (ms) of the last watermark advance; null when no watermark exists"
|
|
2025
|
+
},
|
|
2026
|
+
"peer_read_through_seq": {
|
|
2027
|
+
"type": "null",
|
|
2028
|
+
"description": "ALWAYS null: the network exposes no peer read-receipt primitive. Do NOT read this as 'not read' — it is UNKNOWN, never reported as delivered or read"
|
|
2029
|
+
},
|
|
2030
|
+
"peer_receipt_available": {
|
|
2031
|
+
"type": "boolean",
|
|
2032
|
+
"const": false,
|
|
2033
|
+
"description": "ALWAYS false: no peer read-receipt primitive exists on the messenger network"
|
|
2034
|
+
},
|
|
2035
|
+
"scope": {
|
|
2036
|
+
"type": "string",
|
|
2037
|
+
"const": "local-session",
|
|
2038
|
+
"description": "Scope of the local watermark: this MCP server session only"
|
|
2039
|
+
},
|
|
2040
|
+
"disclosure": {
|
|
2041
|
+
"type": "string",
|
|
2042
|
+
"description": "Honest statement of why the peer side is unknown (server confirmation != read; viewedAt is local-only)"
|
|
2043
|
+
},
|
|
2044
|
+
"marked_count": {
|
|
2045
|
+
"type": "number",
|
|
2046
|
+
"description": "Received messages locally marked as viewed by this call (viewedAt update)"
|
|
2047
|
+
},
|
|
2048
|
+
"capped": {
|
|
2049
|
+
"type": "boolean",
|
|
2050
|
+
"description": "True when through_seq exceeded the highest received seq retained locally and the watermark was capped to it"
|
|
2051
|
+
},
|
|
2052
|
+
"requested_through_seq": {
|
|
2053
|
+
"anyOf": [
|
|
2054
|
+
{
|
|
2055
|
+
"type": "number"
|
|
2056
|
+
},
|
|
2057
|
+
{
|
|
2058
|
+
"type": "null"
|
|
2059
|
+
}
|
|
2060
|
+
],
|
|
2061
|
+
"description": "through_seq the caller asked for; null when it was omitted"
|
|
2062
|
+
}
|
|
2063
|
+
},
|
|
2064
|
+
"required": [
|
|
2065
|
+
"account",
|
|
2066
|
+
"peer",
|
|
2067
|
+
"read_through_seq",
|
|
2068
|
+
"read_at",
|
|
2069
|
+
"peer_read_through_seq",
|
|
2070
|
+
"peer_receipt_available",
|
|
2071
|
+
"scope",
|
|
2072
|
+
"disclosure",
|
|
2073
|
+
"marked_count",
|
|
2074
|
+
"capped",
|
|
2075
|
+
"requested_through_seq"
|
|
2076
|
+
],
|
|
2077
|
+
"additionalProperties": false,
|
|
2078
|
+
"description": "Local read watermark result (peer watermark unavailable by design)"
|
|
2079
|
+
}
|
|
2080
|
+
},
|
|
2081
|
+
"required": [
|
|
2082
|
+
"operation",
|
|
2083
|
+
"result"
|
|
2084
|
+
],
|
|
2085
|
+
"additionalProperties": false
|
|
2086
|
+
},
|
|
1962
2087
|
{
|
|
1963
2088
|
"type": "object",
|
|
1964
2089
|
"properties": {
|
|
@@ -2607,6 +2732,489 @@
|
|
|
2607
2732
|
"description": "Per-account fan-out pull result"
|
|
2608
2733
|
},
|
|
2609
2734
|
"description": "Fan-out mode (allAccounts/accounts set): one entry per account with isolated errors"
|
|
2735
|
+
},
|
|
2736
|
+
{
|
|
2737
|
+
"type": "object",
|
|
2738
|
+
"properties": {
|
|
2739
|
+
"mode": {
|
|
2740
|
+
"type": "string",
|
|
2741
|
+
"const": "incremental",
|
|
2742
|
+
"description": "Incremental (cursor) read, as opposed to the legacy bare-array pull"
|
|
2743
|
+
},
|
|
2744
|
+
"account": {
|
|
2745
|
+
"type": "string",
|
|
2746
|
+
"description": "Account read from (resolved address)"
|
|
2747
|
+
},
|
|
2748
|
+
"peer": {
|
|
2749
|
+
"type": "string",
|
|
2750
|
+
"description": "Conversation peer this cursor is scoped to"
|
|
2751
|
+
},
|
|
2752
|
+
"after": {
|
|
2753
|
+
"type": "number",
|
|
2754
|
+
"description": "Cursor supplied by the caller; returned messages all have seq > after"
|
|
2755
|
+
},
|
|
2756
|
+
"messages": {
|
|
2757
|
+
"type": "array",
|
|
2758
|
+
"items": {
|
|
2759
|
+
"type": "object",
|
|
2760
|
+
"properties": {
|
|
2761
|
+
"messageId": {
|
|
2762
|
+
"type": "string",
|
|
2763
|
+
"description": "Message ID"
|
|
2764
|
+
},
|
|
2765
|
+
"fromAddress": {
|
|
2766
|
+
"type": "string",
|
|
2767
|
+
"description": "Sender address"
|
|
2768
|
+
},
|
|
2769
|
+
"toAddress": {
|
|
2770
|
+
"type": "string",
|
|
2771
|
+
"description": "Recipient address"
|
|
2772
|
+
},
|
|
2773
|
+
"plaintextHash": {
|
|
2774
|
+
"type": "string",
|
|
2775
|
+
"description": "Plaintext hash"
|
|
2776
|
+
},
|
|
2777
|
+
"plaintext": {
|
|
2778
|
+
"description": "Decrypted plaintext text. UNDEFINED for attachment messages (zipMetadata present) — their base64 envelope is stripped at the read boundary; read msg.attachment for metadata and use save_attachment for bytes",
|
|
2779
|
+
"type": "string"
|
|
2780
|
+
},
|
|
2781
|
+
"attachment": {
|
|
2782
|
+
"description": "Present when this message is an attachment (zipMetadata present). Byte-free descriptor; payload never embedded",
|
|
2783
|
+
"type": "object",
|
|
2784
|
+
"properties": {
|
|
2785
|
+
"kind": {
|
|
2786
|
+
"type": "string",
|
|
2787
|
+
"enum": [
|
|
2788
|
+
"image",
|
|
2789
|
+
"video",
|
|
2790
|
+
"audio",
|
|
2791
|
+
"voice",
|
|
2792
|
+
"file",
|
|
2793
|
+
"wts",
|
|
2794
|
+
"wip"
|
|
2795
|
+
],
|
|
2796
|
+
"description": "Attachment business type: image/video/audio are inline-renderable media; 'voice' is an explicit voice message (webm cannot be auto-distinguished from video); 'file' is a generic document; wts/wip are evidence files"
|
|
2797
|
+
},
|
|
2798
|
+
"fileName": {
|
|
2799
|
+
"type": "string",
|
|
2800
|
+
"description": "Original file name (transport .zip suffix stripped)"
|
|
2801
|
+
},
|
|
2802
|
+
"mimeType": {
|
|
2803
|
+
"type": "string",
|
|
2804
|
+
"description": "MIME type inferred from extension or sender-provided"
|
|
2805
|
+
},
|
|
2806
|
+
"size": {
|
|
2807
|
+
"type": "number",
|
|
2808
|
+
"description": "Payload size in bytes (uncompressed)"
|
|
2809
|
+
},
|
|
2810
|
+
"caption": {
|
|
2811
|
+
"description": "Sender-provided caption (E2EE, inside the encrypted envelope)",
|
|
2812
|
+
"type": "string"
|
|
2813
|
+
},
|
|
2814
|
+
"durationMs": {
|
|
2815
|
+
"description": "Audio/video duration in milliseconds",
|
|
2816
|
+
"type": "number"
|
|
2817
|
+
},
|
|
2818
|
+
"width": {
|
|
2819
|
+
"description": "Media width in pixels",
|
|
2820
|
+
"type": "number"
|
|
2821
|
+
},
|
|
2822
|
+
"height": {
|
|
2823
|
+
"description": "Media height in pixels",
|
|
2824
|
+
"type": "number"
|
|
2825
|
+
}
|
|
2826
|
+
},
|
|
2827
|
+
"required": [
|
|
2828
|
+
"kind",
|
|
2829
|
+
"fileName",
|
|
2830
|
+
"mimeType",
|
|
2831
|
+
"size"
|
|
2832
|
+
],
|
|
2833
|
+
"additionalProperties": false
|
|
2834
|
+
},
|
|
2835
|
+
"replyTo": {
|
|
2836
|
+
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
2837
|
+
"type": "object",
|
|
2838
|
+
"properties": {
|
|
2839
|
+
"messageId": {
|
|
2840
|
+
"type": "string",
|
|
2841
|
+
"description": "Replied-to message ID (unique within the conversation)"
|
|
2842
|
+
}
|
|
2843
|
+
},
|
|
2844
|
+
"required": [
|
|
2845
|
+
"messageId"
|
|
2846
|
+
],
|
|
2847
|
+
"additionalProperties": false
|
|
2848
|
+
},
|
|
2849
|
+
"guardAddress": {
|
|
2850
|
+
"description": "Guard address",
|
|
2851
|
+
"type": "string"
|
|
2852
|
+
},
|
|
2853
|
+
"passportAddress": {
|
|
2854
|
+
"description": "Passport address",
|
|
2855
|
+
"type": "string"
|
|
2856
|
+
},
|
|
2857
|
+
"lastReceivedLeafIndex": {
|
|
2858
|
+
"description": "Last received leaf index",
|
|
2859
|
+
"type": "number"
|
|
2860
|
+
},
|
|
2861
|
+
"direction": {
|
|
2862
|
+
"type": "string",
|
|
2863
|
+
"enum": [
|
|
2864
|
+
"sent",
|
|
2865
|
+
"received"
|
|
2866
|
+
],
|
|
2867
|
+
"description": "Message direction"
|
|
2868
|
+
},
|
|
2869
|
+
"status": {
|
|
2870
|
+
"type": "string",
|
|
2871
|
+
"enum": [
|
|
2872
|
+
"pending",
|
|
2873
|
+
"confirmed",
|
|
2874
|
+
"read",
|
|
2875
|
+
"failed",
|
|
2876
|
+
"rejected",
|
|
2877
|
+
"decrypted",
|
|
2878
|
+
"decrypt_failed"
|
|
2879
|
+
],
|
|
2880
|
+
"description": "Message status"
|
|
2881
|
+
},
|
|
2882
|
+
"msgType": {
|
|
2883
|
+
"anyOf": [
|
|
2884
|
+
{
|
|
2885
|
+
"type": "number",
|
|
2886
|
+
"const": 1
|
|
2887
|
+
},
|
|
2888
|
+
{
|
|
2889
|
+
"type": "number",
|
|
2890
|
+
"const": 3
|
|
2891
|
+
}
|
|
2892
|
+
],
|
|
2893
|
+
"description": "Message type"
|
|
2894
|
+
},
|
|
2895
|
+
"leafIndex": {
|
|
2896
|
+
"description": "Leaf index",
|
|
2897
|
+
"type": "number"
|
|
2898
|
+
},
|
|
2899
|
+
"prevRoot": {
|
|
2900
|
+
"description": "Previous Merkle Root",
|
|
2901
|
+
"type": "string"
|
|
2902
|
+
},
|
|
2903
|
+
"newRoot": {
|
|
2904
|
+
"description": "Current Merkle Root",
|
|
2905
|
+
"type": "string"
|
|
2906
|
+
},
|
|
2907
|
+
"serverSignature": {
|
|
2908
|
+
"description": "Server signature",
|
|
2909
|
+
"type": "string"
|
|
2910
|
+
},
|
|
2911
|
+
"serverTimestamp": {
|
|
2912
|
+
"description": "Server confirmation timestamp",
|
|
2913
|
+
"type": "number"
|
|
2914
|
+
},
|
|
2915
|
+
"serverPublicKey": {
|
|
2916
|
+
"description": "Server public key",
|
|
2917
|
+
"type": "string"
|
|
2918
|
+
},
|
|
2919
|
+
"arkConfirmed": {
|
|
2920
|
+
"description": "ARK confirmation",
|
|
2921
|
+
"type": "object",
|
|
2922
|
+
"properties": {
|
|
2923
|
+
"recipient": {
|
|
2924
|
+
"type": "string",
|
|
2925
|
+
"description": "Recipient address"
|
|
2926
|
+
},
|
|
2927
|
+
"recipientPublicKey": {
|
|
2928
|
+
"type": "string",
|
|
2929
|
+
"description": "Recipient public key"
|
|
2930
|
+
},
|
|
2931
|
+
"signature": {
|
|
2932
|
+
"type": "string",
|
|
2933
|
+
"description": "Recipient signature"
|
|
2934
|
+
},
|
|
2935
|
+
"timestamp": {
|
|
2936
|
+
"type": "number",
|
|
2937
|
+
"description": "ARK confirmation time"
|
|
2938
|
+
}
|
|
2939
|
+
},
|
|
2940
|
+
"required": [
|
|
2941
|
+
"recipient",
|
|
2942
|
+
"recipientPublicKey",
|
|
2943
|
+
"signature",
|
|
2944
|
+
"timestamp"
|
|
2945
|
+
],
|
|
2946
|
+
"additionalProperties": false
|
|
2947
|
+
},
|
|
2948
|
+
"createdAt": {
|
|
2949
|
+
"type": "number",
|
|
2950
|
+
"description": "Message creation time (client)"
|
|
2951
|
+
},
|
|
2952
|
+
"receivedAt": {
|
|
2953
|
+
"description": "Local reception time",
|
|
2954
|
+
"type": "number"
|
|
2955
|
+
},
|
|
2956
|
+
"zipMetadata": {
|
|
2957
|
+
"description": "ZIP file metadata",
|
|
2958
|
+
"type": "object",
|
|
2959
|
+
"properties": {
|
|
2960
|
+
"fileName": {
|
|
2961
|
+
"type": "string",
|
|
2962
|
+
"description": "ZIP filename"
|
|
2963
|
+
},
|
|
2964
|
+
"fileSize": {
|
|
2965
|
+
"type": "number",
|
|
2966
|
+
"description": "File size in bytes"
|
|
2967
|
+
},
|
|
2968
|
+
"fileHash": {
|
|
2969
|
+
"type": "string",
|
|
2970
|
+
"description": "File SHA256 hash"
|
|
2971
|
+
},
|
|
2972
|
+
"contentType": {
|
|
2973
|
+
"type": "string",
|
|
2974
|
+
"enum": [
|
|
2975
|
+
"text",
|
|
2976
|
+
"zip",
|
|
2977
|
+
"wts",
|
|
2978
|
+
"wip"
|
|
2979
|
+
],
|
|
2980
|
+
"description": "Content type"
|
|
2981
|
+
},
|
|
2982
|
+
"localCachePath": {
|
|
2983
|
+
"description": "Local cache path",
|
|
2984
|
+
"type": "string"
|
|
2985
|
+
},
|
|
2986
|
+
"downloadedAt": {
|
|
2987
|
+
"description": "Download timestamp",
|
|
2988
|
+
"type": "number"
|
|
2989
|
+
}
|
|
2990
|
+
},
|
|
2991
|
+
"required": [
|
|
2992
|
+
"fileName",
|
|
2993
|
+
"fileSize",
|
|
2994
|
+
"fileHash",
|
|
2995
|
+
"contentType"
|
|
2996
|
+
],
|
|
2997
|
+
"additionalProperties": false
|
|
2998
|
+
},
|
|
2999
|
+
"proof": {
|
|
3000
|
+
"description": "Latest on-chain proof object address (projection of the last entry in proofs; derived at the read boundary for single-value consumers)",
|
|
3001
|
+
"type": "string"
|
|
3002
|
+
},
|
|
3003
|
+
"proofs": {
|
|
3004
|
+
"description": "All on-chain proofs anchored for this message, ascending by publish time (one-to-many; a message may be proofed multiple times)",
|
|
3005
|
+
"type": "array",
|
|
3006
|
+
"items": {
|
|
3007
|
+
"type": "object",
|
|
3008
|
+
"properties": {
|
|
3009
|
+
"address": {
|
|
3010
|
+
"type": "string",
|
|
3011
|
+
"description": "On-chain Proof object address"
|
|
3012
|
+
},
|
|
3013
|
+
"network": {
|
|
3014
|
+
"description": "Network the proof was published on (testnet/mainnet/localnet); absent in legacy local records",
|
|
3015
|
+
"type": "string"
|
|
3016
|
+
},
|
|
3017
|
+
"createdAt": {
|
|
3018
|
+
"type": "number",
|
|
3019
|
+
"description": "Local record time (ms)"
|
|
3020
|
+
}
|
|
3021
|
+
},
|
|
3022
|
+
"required": [
|
|
3023
|
+
"address",
|
|
3024
|
+
"createdAt"
|
|
3025
|
+
],
|
|
3026
|
+
"additionalProperties": false,
|
|
3027
|
+
"description": "One on-chain proof anchored for this message"
|
|
3028
|
+
}
|
|
3029
|
+
},
|
|
3030
|
+
"decryptError": {
|
|
3031
|
+
"description": "Decryption failure reason",
|
|
3032
|
+
"type": "string"
|
|
3033
|
+
},
|
|
3034
|
+
"decryptAttempts": {
|
|
3035
|
+
"description": "Number of decryption attempts",
|
|
3036
|
+
"type": "number"
|
|
3037
|
+
},
|
|
3038
|
+
"lastDecryptAttemptAt": {
|
|
3039
|
+
"description": "Last decryption attempt timestamp",
|
|
3040
|
+
"type": "number"
|
|
3041
|
+
},
|
|
3042
|
+
"viewedAt": {
|
|
3043
|
+
"description": "Timestamp when the current user viewed this message (local storage). If present, indicates the message has been viewed by the user. Only applicable to received messages (direction === 'received')",
|
|
3044
|
+
"type": "number"
|
|
3045
|
+
}
|
|
3046
|
+
},
|
|
3047
|
+
"required": [
|
|
3048
|
+
"messageId",
|
|
3049
|
+
"fromAddress",
|
|
3050
|
+
"toAddress",
|
|
3051
|
+
"plaintextHash",
|
|
3052
|
+
"direction",
|
|
3053
|
+
"status",
|
|
3054
|
+
"msgType",
|
|
3055
|
+
"createdAt"
|
|
3056
|
+
],
|
|
3057
|
+
"additionalProperties": false,
|
|
3058
|
+
"description": "Message object"
|
|
3059
|
+
},
|
|
3060
|
+
"description": "Messages with seq > after, ascending, at most `limit` of them"
|
|
3061
|
+
},
|
|
3062
|
+
"highest_seq": {
|
|
3063
|
+
"anyOf": [
|
|
3064
|
+
{
|
|
3065
|
+
"type": "number"
|
|
3066
|
+
},
|
|
3067
|
+
{
|
|
3068
|
+
"type": "null"
|
|
3069
|
+
}
|
|
3070
|
+
],
|
|
3071
|
+
"description": "Highest seq returned in this page — persist it and pass it as `after` for the next page. null = no new messages"
|
|
3072
|
+
},
|
|
3073
|
+
"latest_seq": {
|
|
3074
|
+
"anyOf": [
|
|
3075
|
+
{
|
|
3076
|
+
"type": "number"
|
|
3077
|
+
},
|
|
3078
|
+
{
|
|
3079
|
+
"type": "null"
|
|
3080
|
+
}
|
|
3081
|
+
],
|
|
3082
|
+
"description": "Highest seq retained locally for this conversation (compare with after to see what is pending)"
|
|
3083
|
+
},
|
|
3084
|
+
"has_more": {
|
|
3085
|
+
"type": "boolean",
|
|
3086
|
+
"description": "True when further messages beyond highest_seq are already available locally"
|
|
3087
|
+
},
|
|
3088
|
+
"gap": {
|
|
3089
|
+
"anyOf": [
|
|
3090
|
+
{
|
|
3091
|
+
"type": "object",
|
|
3092
|
+
"properties": {
|
|
3093
|
+
"from_seq": {
|
|
3094
|
+
"type": "number",
|
|
3095
|
+
"description": "First missing conversation sequence number"
|
|
3096
|
+
},
|
|
3097
|
+
"to_seq": {
|
|
3098
|
+
"type": "number",
|
|
3099
|
+
"description": "Last missing conversation sequence number"
|
|
3100
|
+
},
|
|
3101
|
+
"missing_count": {
|
|
3102
|
+
"type": "number",
|
|
3103
|
+
"description": "Total missing sequence numbers inside the scanned window"
|
|
3104
|
+
},
|
|
3105
|
+
"reason": {
|
|
3106
|
+
"type": "string",
|
|
3107
|
+
"description": "Why continuity cannot be assumed"
|
|
3108
|
+
}
|
|
3109
|
+
},
|
|
3110
|
+
"required": [
|
|
3111
|
+
"from_seq",
|
|
3112
|
+
"to_seq",
|
|
3113
|
+
"missing_count",
|
|
3114
|
+
"reason"
|
|
3115
|
+
],
|
|
3116
|
+
"additionalProperties": false,
|
|
3117
|
+
"description": "Detected message-sequence gap. A result carrying a gap is DEGRADED — do not treat it as a continuous stream"
|
|
3118
|
+
},
|
|
3119
|
+
{
|
|
3120
|
+
"type": "null"
|
|
3121
|
+
}
|
|
3122
|
+
],
|
|
3123
|
+
"description": "First detected sequence gap, or null when this page is continuous"
|
|
3124
|
+
},
|
|
3125
|
+
"degraded": {
|
|
3126
|
+
"type": "boolean",
|
|
3127
|
+
"description": "True when the result is discontinuous or incomplete in any way — never present a degraded page as complete"
|
|
3128
|
+
},
|
|
3129
|
+
"degraded_reasons": {
|
|
3130
|
+
"type": "array",
|
|
3131
|
+
"items": {
|
|
3132
|
+
"type": "string"
|
|
3133
|
+
},
|
|
3134
|
+
"description": "Every reason the result is marked degraded (empty when degraded=false)"
|
|
3135
|
+
},
|
|
3136
|
+
"read_receipt": {
|
|
3137
|
+
"type": "object",
|
|
3138
|
+
"properties": {
|
|
3139
|
+
"account": {
|
|
3140
|
+
"type": "string",
|
|
3141
|
+
"description": "Account the watermark belongs to"
|
|
3142
|
+
},
|
|
3143
|
+
"peer": {
|
|
3144
|
+
"type": "string",
|
|
3145
|
+
"description": "Conversation peer"
|
|
3146
|
+
},
|
|
3147
|
+
"read_through_seq": {
|
|
3148
|
+
"anyOf": [
|
|
3149
|
+
{
|
|
3150
|
+
"type": "number"
|
|
3151
|
+
},
|
|
3152
|
+
{
|
|
3153
|
+
"type": "null"
|
|
3154
|
+
}
|
|
3155
|
+
],
|
|
3156
|
+
"description": "Highest conversation sequence (leafIndex) this account has marked read locally. null = nothing marked read yet"
|
|
3157
|
+
},
|
|
3158
|
+
"read_at": {
|
|
3159
|
+
"anyOf": [
|
|
3160
|
+
{
|
|
3161
|
+
"type": "number"
|
|
3162
|
+
},
|
|
3163
|
+
{
|
|
3164
|
+
"type": "null"
|
|
3165
|
+
}
|
|
3166
|
+
],
|
|
3167
|
+
"description": "Local timestamp (ms) of the last watermark advance; null when no watermark exists"
|
|
3168
|
+
},
|
|
3169
|
+
"peer_read_through_seq": {
|
|
3170
|
+
"type": "null",
|
|
3171
|
+
"description": "ALWAYS null: the network exposes no peer read-receipt primitive. Do NOT read this as 'not read' — it is UNKNOWN, never reported as delivered or read"
|
|
3172
|
+
},
|
|
3173
|
+
"peer_receipt_available": {
|
|
3174
|
+
"type": "boolean",
|
|
3175
|
+
"const": false,
|
|
3176
|
+
"description": "ALWAYS false: no peer read-receipt primitive exists on the messenger network"
|
|
3177
|
+
},
|
|
3178
|
+
"scope": {
|
|
3179
|
+
"type": "string",
|
|
3180
|
+
"const": "local-session",
|
|
3181
|
+
"description": "Scope of the local watermark: this MCP server session only"
|
|
3182
|
+
},
|
|
3183
|
+
"disclosure": {
|
|
3184
|
+
"type": "string",
|
|
3185
|
+
"description": "Honest statement of why the peer side is unknown (server confirmation != read; viewedAt is local-only)"
|
|
3186
|
+
}
|
|
3187
|
+
},
|
|
3188
|
+
"required": [
|
|
3189
|
+
"account",
|
|
3190
|
+
"peer",
|
|
3191
|
+
"read_through_seq",
|
|
3192
|
+
"read_at",
|
|
3193
|
+
"peer_read_through_seq",
|
|
3194
|
+
"peer_receipt_available",
|
|
3195
|
+
"scope",
|
|
3196
|
+
"disclosure"
|
|
3197
|
+
],
|
|
3198
|
+
"additionalProperties": false,
|
|
3199
|
+
"description": "Local read watermark for this conversation (peer watermark unavailable by design)"
|
|
3200
|
+
}
|
|
3201
|
+
},
|
|
3202
|
+
"required": [
|
|
3203
|
+
"mode",
|
|
3204
|
+
"account",
|
|
3205
|
+
"peer",
|
|
3206
|
+
"after",
|
|
3207
|
+
"messages",
|
|
3208
|
+
"highest_seq",
|
|
3209
|
+
"latest_seq",
|
|
3210
|
+
"has_more",
|
|
3211
|
+
"gap",
|
|
3212
|
+
"degraded",
|
|
3213
|
+
"degraded_reasons",
|
|
3214
|
+
"read_receipt"
|
|
3215
|
+
],
|
|
3216
|
+
"additionalProperties": false,
|
|
3217
|
+
"description": "Incremental mode (`after` set): cursor page with highest_seq/has_more/gap/read watermark"
|
|
2610
3218
|
}
|
|
2611
3219
|
]
|
|
2612
3220
|
}
|