@wowok/agent-mcp 3.0.4 → 3.0.6
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 +25 -20
- package/dist/customer/account-events.js +1 -1
- package/dist/evaluation/path-reasoning.d.ts +4 -2
- package/dist/evaluation/path-reasoning.js +1 -1
- package/dist/extensions/constraint-registry.d.ts +2 -2
- package/dist/extensions/constraint-registry.js +1 -1
- package/dist/extensions/custom-registry-file.d.ts +22 -0
- package/dist/extensions/custom-registry-file.js +1 -0
- package/dist/extensions/index.d.ts +2 -1
- package/dist/extensions/index.js +1 -1
- package/dist/extensions/industry-pack.d.ts +7 -0
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/metric-registry.d.ts +2 -2
- package/dist/extensions/metric-registry.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/extensions/registry.d.ts +2 -2
- package/dist/extensions/registry.js +1 -1
- package/dist/extensions/types.d.ts +4 -0
- package/dist/goal/GoalEngine.d.ts +13 -1
- package/dist/goal/GoalEngine.js +1 -1
- package/dist/goal/next-steps.d.ts +12 -0
- package/dist/goal/next-steps.js +1 -0
- package/dist/goal/pursue.d.ts +18 -0
- package/dist/goal/pursue.js +1 -0
- package/dist/goal/types.d.ts +72 -0
- package/dist/goal/types.js +1 -1
- package/dist/graph/onchain/analyze.d.ts +44 -0
- package/dist/graph/onchain/analyze.js +1 -0
- package/dist/graph/onchain/analyze.spec.d.ts +1 -0
- package/dist/graph/onchain/analyze.spec.js +1 -0
- package/dist/graph/onchain/anti-cheat.d.ts +39 -0
- package/dist/graph/onchain/anti-cheat.js +1 -0
- package/dist/graph/onchain/anti-cheat.spec.d.ts +1 -0
- package/dist/graph/onchain/anti-cheat.spec.js +1 -0
- package/dist/graph/onchain/dataplane.d.ts +44 -0
- package/dist/graph/onchain/dataplane.js +1 -0
- package/dist/graph/onchain/edge-schema.d.ts +60 -0
- package/dist/graph/onchain/edge-schema.js +1 -0
- package/dist/graph/onchain/expand.d.ts +4 -0
- package/dist/graph/onchain/expand.js +1 -0
- package/dist/graph/onchain/extract.d.ts +21 -0
- package/dist/graph/onchain/extract.js +1 -0
- package/dist/graph/onchain/index.d.ts +17 -0
- package/dist/graph/onchain/index.js +1 -0
- package/dist/graph/onchain/interest.d.ts +10 -0
- package/dist/graph/onchain/interest.js +1 -0
- package/dist/graph/onchain/interest.spec.d.ts +1 -0
- package/dist/graph/onchain/interest.spec.js +1 -0
- package/dist/graph/onchain/onchain.spec.d.ts +1 -0
- package/dist/graph/onchain/onchain.spec.js +1 -0
- package/dist/graph/onchain/order-status.d.ts +53 -0
- package/dist/graph/onchain/order-status.js +1 -0
- package/dist/graph/onchain/project-relationship.d.ts +3 -0
- package/dist/graph/onchain/project-relationship.js +1 -0
- package/dist/graph/onchain/sdk-batch.d.ts +123 -0
- package/dist/graph/onchain/sdk-batch.js +1 -0
- package/dist/graph/onchain/sdk-dataplane.d.ts +43 -0
- package/dist/graph/onchain/sdk-dataplane.js +1 -0
- package/dist/graph/onchain/strategy.d.ts +54 -0
- package/dist/graph/onchain/strategy.js +1 -0
- package/dist/graph/onchain/strategy.spec.d.ts +1 -0
- package/dist/graph/onchain/strategy.spec.js +1 -0
- package/dist/graph/onchain/types.d.ts +238 -0
- package/dist/graph/onchain/types.js +1 -0
- package/dist/graph/onchain/viewport.d.ts +5 -0
- package/dist/graph/onchain/viewport.js +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/index.js +1 -1
- package/dist/intent/enrich.js +1 -1
- package/dist/keeper/detectors.d.ts +1 -1
- package/dist/keeper/detectors.js +1 -1
- package/dist/knowledge/account-marks.js +1 -1
- package/dist/knowledge/allocation-risk.js +1 -1
- package/dist/knowledge/allocation-templates.js +1 -1
- package/dist/knowledge/anti-cheat.d.ts +2 -37
- package/dist/knowledge/anti-cheat.js +1 -1
- package/dist/knowledge/contract-invariants.js +1 -1
- package/dist/knowledge/getting-started.d.ts +37 -0
- package/dist/knowledge/getting-started.js +1 -0
- package/dist/knowledge/goal-completion.d.ts +12 -0
- package/dist/knowledge/goal-completion.js +1 -1
- package/dist/knowledge/guard-render.d.ts +1 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-submission-brief.d.ts +83 -0
- package/dist/knowledge/guard-submission-brief.js +1 -0
- package/dist/knowledge/guard-submission-prompt.d.ts +13 -0
- package/dist/knowledge/guard-submission-prompt.js +1 -1
- package/dist/knowledge/index.d.ts +10 -4
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.d.ts +91 -0
- package/dist/knowledge/industry-strategy.js +1 -0
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/market-metrics.d.ts +14 -3
- package/dist/knowledge/market-metrics.js +1 -1
- package/dist/knowledge/migration-preflight.js +1 -1
- package/dist/knowledge/operation-dictionary.d.ts +1 -1
- package/dist/knowledge/payment-tracker.d.ts +63 -0
- package/dist/knowledge/payment-tracker.js +1 -0
- package/dist/knowledge/recipient-constraint.d.ts +160 -0
- package/dist/knowledge/recipient-constraint.js +1 -0
- package/dist/knowledge/safety-rules.d.ts +1 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/scenario-topology.d.ts +6 -1
- package/dist/knowledge/scenario-topology.js +1 -1
- package/dist/knowledge/service-risk-node.d.ts +3 -0
- package/dist/knowledge/service-risk-node.js +1 -0
- package/dist/knowledge/service-risk.d.ts +2 -0
- package/dist/knowledge/service-risk.js +1 -1
- package/dist/knowledge/service-templates.d.ts +2 -0
- package/dist/knowledge/service-templates.js +1 -1
- package/dist/knowledge/strategy-manuals.d.ts +17 -0
- package/dist/knowledge/strategy-manuals.js +1 -0
- package/dist/knowledge/supply-chain.d.ts +3 -1
- package/dist/knowledge/supply-chain.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +3 -118
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/knowledge/workspace-lists.d.ts +4 -0
- package/dist/knowledge/workspace-lists.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/monitor/ScopeResolver.js +1 -1
- package/dist/participation/arbitrator-interest.d.ts +2 -0
- package/dist/participation/arbitrator-interest.js +1 -1
- package/dist/participation/collaborator-interest.d.ts +2 -0
- package/dist/participation/collaborator-interest.js +1 -1
- package/dist/participation/customer-interest.d.ts +2 -0
- package/dist/participation/customer-interest.js +1 -1
- package/dist/participation/merchant-interest.d.ts +2 -0
- package/dist/participation/merchant-interest.js +1 -1
- package/dist/participation/radar-core.d.ts +15 -15
- package/dist/participation/radar-core.js +1 -1
- package/dist/participation/supplier-interest.d.ts +2 -0
- package/dist/participation/supplier-interest.js +1 -1
- package/dist/persona/analyzer.d.ts +2 -1
- package/dist/persona/bridge.d.ts +5 -1
- package/dist/persona/bridge.js +1 -1
- package/dist/persona/defaults.js +1 -1
- package/dist/persona/distill-goal.d.ts +7 -1
- package/dist/persona/distill-goal.js +1 -1
- package/dist/persona/index.d.ts +13 -3
- package/dist/persona/index.js +1 -1
- package/dist/persona/model.d.ts +12 -2
- package/dist/persona/model.js +1 -1
- package/dist/persona/overrides.d.ts +1 -0
- package/dist/persona/overrides.js +1 -1
- package/dist/persona/topology-focus.d.ts +29 -0
- package/dist/persona/topology-focus.js +1 -0
- package/dist/persona/types.d.ts +81 -0
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/context-assembly.js +1 -1
- package/dist/playbooks/service-build/machine-nodes.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +7 -0
- package/dist/playbooks/service-build/merchant-guide.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/pipeline-actions.d.ts +2 -2
- package/dist/playbooks/service-build/pipeline-actions.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.d.ts +1 -0
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/risk-aggregator.js +1 -1
- package/dist/playbooks/service-build/service-panorama.d.ts +4 -0
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/topology-query.d.ts +14 -0
- package/dist/playbooks/service-build/topology-query.js +1 -0
- package/dist/relationship/derivation.js +1 -1
- package/dist/role/index.d.ts +1 -0
- package/dist/role/index.js +1 -1
- package/dist/role/profiles.d.ts +26 -0
- package/dist/role/profiles.js +1 -0
- package/dist/safety/confirm-gate.d.ts +4 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.d.ts +6 -6
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +1 -1
- package/dist/schema/call/guard.d.ts +20 -20
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +4 -4
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/employee/index.d.ts +7 -7
- package/dist/schema/evaluation/index.d.ts +26 -13
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +53 -17
- package/dist/schema/goal/index.js +1 -1
- package/dist/schema/goal/planning.d.ts +7 -7
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +13 -6
- package/dist/schema/industry-pack/index.js +1 -1
- package/dist/schema/industry-pack/modes.d.ts +6 -6
- package/dist/schema/intent-radar/index.d.ts +16 -16
- package/dist/schema/local/index.d.ts +8 -4
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +428 -72
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +177 -34
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +15744 -1
- package/dist/schema/persona/index.js +1 -1
- package/dist/schema/query/bi.d.ts +891 -24
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +168 -43
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +16 -0
- package/dist/schema/schema-query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/strategy-review/index.d.ts +137 -0
- package/dist/schema/strategy-review/index.js +1 -0
- package/dist/schema/trust/index.d.ts +6 -6
- package/dist/schema/workflow/index.d.ts +2 -2
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +8 -4
- package/dist/schemas/account_operation.schema.json +6 -2
- package/dist/schemas/bridge_operation.schema.json +10 -10
- package/dist/schemas/evaluation_operation.output.json +24 -0
- package/dist/schemas/evaluation_operation.schema.json +7 -7
- package/dist/schemas/goal_operation.schema.json +124 -0
- package/dist/schemas/guard2file.schema.json +2 -2
- package/dist/schemas/index.json +7 -1
- package/dist/schemas/industry_pack_operation.output.json +39 -0
- package/dist/schemas/local_mark_operation.schema.json +2 -2
- package/dist/schemas/machineNode2file.schema.json +2 -2
- package/dist/schemas/messenger_operation.output.json +934 -236
- package/dist/schemas/messenger_operation.schema.json +93 -242
- package/dist/schemas/onchain_events.schema.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +54 -54
- package/dist/schemas/onchain_operations_allocation.schema.json +5 -5
- package/dist/schemas/onchain_operations_arbitration.schema.json +2 -2
- package/dist/schemas/onchain_operations_contact.schema.json +2 -2
- package/dist/schemas/onchain_operations_demand.schema.json +2 -2
- package/dist/schemas/onchain_operations_gen_passport.schema.json +2 -2
- package/dist/schemas/onchain_operations_gen_proof.schema.json +2 -2
- package/dist/schemas/onchain_operations_guard.schema.json +2 -2
- package/dist/schemas/onchain_operations_machine.schema.json +8 -8
- package/dist/schemas/onchain_operations_order.schema.json +2 -2
- package/dist/schemas/onchain_operations_payment.schema.json +3 -3
- package/dist/schemas/onchain_operations_permission.schema.json +2 -2
- package/dist/schemas/onchain_operations_personal.schema.json +2 -2
- package/dist/schemas/onchain_operations_progress.schema.json +2 -2
- package/dist/schemas/onchain_operations_proof.schema.json +2 -2
- package/dist/schemas/onchain_operations_repository.schema.json +5 -5
- package/dist/schemas/onchain_operations_reward.schema.json +2 -2
- package/dist/schemas/onchain_operations_service.schema.json +5 -5
- package/dist/schemas/onchain_operations_treasury.schema.json +4 -4
- package/dist/schemas/onchain_table_data.output.json +197 -13
- package/dist/schemas/onchain_table_data.schema.json +43 -43
- package/dist/schemas/persona_operation.output.json +37778 -262
- package/dist/schemas/persona_operation.schema.json +5960 -1
- package/dist/schemas/query_toolkit.output.json +1615 -10
- package/dist/schemas/query_toolkit.schema.json +232 -42
- package/dist/schemas/schema_query.schema.json +25 -1
- package/dist/schemas/strategy_review_operation.output.json +532 -0
- package/dist/schemas/strategy_review_operation.schema.json +66 -0
- package/dist/schemas/wowok_buildin_info.output.json +188 -6
- package/dist/schemas/wowok_buildin_info.schema.json +14 -0
- package/dist/strategy/collectors.d.ts +66 -0
- package/dist/strategy/collectors.js +1 -0
- package/dist/strategy/collectors.spec.d.ts +1 -0
- package/dist/strategy/collectors.spec.js +1 -0
- package/dist/strategy/index.d.ts +5 -0
- package/dist/strategy/index.js +1 -0
- package/dist/strategy/metrics.d.ts +20 -0
- package/dist/strategy/metrics.js +1 -0
- package/dist/strategy/review.d.ts +48 -0
- package/dist/strategy/review.js +1 -0
- package/dist/strategy/scorecard.d.ts +32 -0
- package/dist/strategy/scorecard.js +1 -0
- package/dist/strategy/store.d.ts +26 -0
- package/dist/strategy/store.js +1 -0
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/goal.js +1 -1
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/permission.js +1 -1
- package/dist/tools/handlers/persona.js +1 -1
- package/dist/tools/handlers/query.d.ts +6 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/handlers/strategy-review.d.ts +2 -0
- package/dist/tools/handlers/strategy-review.js +1 -0
- package/dist/tools/handlers/watch.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/agent.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/local.js +1 -1
- package/dist/tools/registry/messenger.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/rules-hook.d.ts +2 -0
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/shared.d.ts +2 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -62,9 +62,63 @@
|
|
|
62
62
|
"description": "Plaintext hash"
|
|
63
63
|
},
|
|
64
64
|
"plaintext": {
|
|
65
|
-
"description": "Decrypted plaintext (
|
|
65
|
+
"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",
|
|
66
66
|
"type": "string"
|
|
67
67
|
},
|
|
68
|
+
"attachment": {
|
|
69
|
+
"description": "Present when this message is an attachment (zipMetadata present). Byte-free descriptor; payload never embedded",
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"kind": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"image",
|
|
76
|
+
"video",
|
|
77
|
+
"audio",
|
|
78
|
+
"voice",
|
|
79
|
+
"file",
|
|
80
|
+
"wts",
|
|
81
|
+
"wip"
|
|
82
|
+
],
|
|
83
|
+
"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"
|
|
84
|
+
},
|
|
85
|
+
"fileName": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "Original file name (transport .zip suffix stripped)"
|
|
88
|
+
},
|
|
89
|
+
"mimeType": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "MIME type inferred from extension or sender-provided"
|
|
92
|
+
},
|
|
93
|
+
"size": {
|
|
94
|
+
"type": "number",
|
|
95
|
+
"description": "Payload size in bytes (uncompressed)"
|
|
96
|
+
},
|
|
97
|
+
"caption": {
|
|
98
|
+
"description": "Sender-provided caption (E2EE, inside the encrypted envelope)",
|
|
99
|
+
"type": "string"
|
|
100
|
+
},
|
|
101
|
+
"durationMs": {
|
|
102
|
+
"description": "Audio/video duration in milliseconds",
|
|
103
|
+
"type": "number"
|
|
104
|
+
},
|
|
105
|
+
"width": {
|
|
106
|
+
"description": "Media width in pixels",
|
|
107
|
+
"type": "number"
|
|
108
|
+
},
|
|
109
|
+
"height": {
|
|
110
|
+
"description": "Media height in pixels",
|
|
111
|
+
"type": "number"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"required": [
|
|
115
|
+
"kind",
|
|
116
|
+
"fileName",
|
|
117
|
+
"mimeType",
|
|
118
|
+
"size"
|
|
119
|
+
],
|
|
120
|
+
"additionalProperties": false
|
|
121
|
+
},
|
|
68
122
|
"replyTo": {
|
|
69
123
|
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
70
124
|
"type": "object",
|
|
@@ -230,9 +284,36 @@
|
|
|
230
284
|
"additionalProperties": false
|
|
231
285
|
},
|
|
232
286
|
"proof": {
|
|
233
|
-
"description": "
|
|
287
|
+
"description": "Latest on-chain proof object address (projection of the last entry in proofs; derived at the read boundary for single-value consumers)",
|
|
234
288
|
"type": "string"
|
|
235
289
|
},
|
|
290
|
+
"proofs": {
|
|
291
|
+
"description": "All on-chain proofs anchored for this message, ascending by publish time (one-to-many; a message may be proofed multiple times)",
|
|
292
|
+
"type": "array",
|
|
293
|
+
"items": {
|
|
294
|
+
"type": "object",
|
|
295
|
+
"properties": {
|
|
296
|
+
"address": {
|
|
297
|
+
"type": "string",
|
|
298
|
+
"description": "On-chain Proof object address"
|
|
299
|
+
},
|
|
300
|
+
"network": {
|
|
301
|
+
"description": "Network the proof was published on (testnet/mainnet/localnet); absent in legacy local records",
|
|
302
|
+
"type": "string"
|
|
303
|
+
},
|
|
304
|
+
"createdAt": {
|
|
305
|
+
"type": "number",
|
|
306
|
+
"description": "Local record time (ms)"
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"required": [
|
|
310
|
+
"address",
|
|
311
|
+
"createdAt"
|
|
312
|
+
],
|
|
313
|
+
"additionalProperties": false,
|
|
314
|
+
"description": "One on-chain proof anchored for this message"
|
|
315
|
+
}
|
|
316
|
+
},
|
|
236
317
|
"decryptError": {
|
|
237
318
|
"description": "Decryption failure reason",
|
|
238
319
|
"type": "string"
|
|
@@ -295,20 +376,28 @@
|
|
|
295
376
|
"properties": {
|
|
296
377
|
"messageId": {
|
|
297
378
|
"type": "string",
|
|
298
|
-
"description": "Message ID"
|
|
379
|
+
"description": "Message ID (empty on guard_authorization_required)"
|
|
299
380
|
},
|
|
300
381
|
"status": {
|
|
301
|
-
"
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
382
|
+
"anyOf": [
|
|
383
|
+
{
|
|
384
|
+
"type": "string",
|
|
385
|
+
"enum": [
|
|
386
|
+
"pending",
|
|
387
|
+
"confirmed",
|
|
388
|
+
"read",
|
|
389
|
+
"failed",
|
|
390
|
+
"rejected",
|
|
391
|
+
"decrypted",
|
|
392
|
+
"decrypt_failed"
|
|
393
|
+
]
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"type": "string",
|
|
397
|
+
"const": "guard_authorization_required"
|
|
398
|
+
}
|
|
310
399
|
],
|
|
311
|
-
"description": "Message status"
|
|
400
|
+
"description": "Message status; 'guard_authorization_required' means smart send needs one-click authorization before delivery"
|
|
312
401
|
},
|
|
313
402
|
"merkleData": {
|
|
314
403
|
"description": "Merkle Tree proof data",
|
|
@@ -359,6 +448,38 @@
|
|
|
359
448
|
"lastReceivedLeafIndex": {
|
|
360
449
|
"description": "Last received leaf index (for message confirmation)",
|
|
361
450
|
"type": "number"
|
|
451
|
+
},
|
|
452
|
+
"authRequired": {
|
|
453
|
+
"description": "True on the guard_authorization_required result shape — show the user ONE confirmation card, then resend via send_message with options.authorize=true",
|
|
454
|
+
"type": "boolean"
|
|
455
|
+
},
|
|
456
|
+
"network": {
|
|
457
|
+
"description": "Network the Passport must be created on (present on guard_authorization_required)",
|
|
458
|
+
"type": "string",
|
|
459
|
+
"enum": [
|
|
460
|
+
"localnet",
|
|
461
|
+
"testnet",
|
|
462
|
+
"mainnet"
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
"reason": {
|
|
466
|
+
"description": "Why silent passport reuse failed (present on guard_authorization_required)",
|
|
467
|
+
"type": "string",
|
|
468
|
+
"enum": [
|
|
469
|
+
"no_local_passport",
|
|
470
|
+
"local_passport_stale"
|
|
471
|
+
]
|
|
472
|
+
},
|
|
473
|
+
"hint": {
|
|
474
|
+
"description": "Guidance text incl. the auto-friend hint — once the recipient replies, the sender is auto-friended and future messages need no verification",
|
|
475
|
+
"type": "string"
|
|
476
|
+
},
|
|
477
|
+
"serverError": {
|
|
478
|
+
"description": "Original server rejection message",
|
|
479
|
+
"type": "string"
|
|
480
|
+
},
|
|
481
|
+
"submissions": {
|
|
482
|
+
"description": "Guard submission requirements, when a guard demands answers before issuing a Passport (route through onchain_operations gen_passport with info)"
|
|
362
483
|
}
|
|
363
484
|
},
|
|
364
485
|
"required": [
|
|
@@ -387,20 +508,28 @@
|
|
|
387
508
|
"properties": {
|
|
388
509
|
"messageId": {
|
|
389
510
|
"type": "string",
|
|
390
|
-
"description": "Message ID"
|
|
511
|
+
"description": "Message ID (empty on guard_authorization_required)"
|
|
391
512
|
},
|
|
392
513
|
"status": {
|
|
393
|
-
"
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
514
|
+
"anyOf": [
|
|
515
|
+
{
|
|
516
|
+
"type": "string",
|
|
517
|
+
"enum": [
|
|
518
|
+
"pending",
|
|
519
|
+
"confirmed",
|
|
520
|
+
"read",
|
|
521
|
+
"failed",
|
|
522
|
+
"rejected",
|
|
523
|
+
"decrypted",
|
|
524
|
+
"decrypt_failed"
|
|
525
|
+
]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"type": "string",
|
|
529
|
+
"const": "guard_authorization_required"
|
|
530
|
+
}
|
|
402
531
|
],
|
|
403
|
-
"description": "Message status"
|
|
532
|
+
"description": "Message status; 'guard_authorization_required' means smart send needs one-click authorization before delivery"
|
|
404
533
|
},
|
|
405
534
|
"merkleData": {
|
|
406
535
|
"description": "Merkle Tree proof data",
|
|
@@ -451,6 +580,38 @@
|
|
|
451
580
|
"lastReceivedLeafIndex": {
|
|
452
581
|
"description": "Last received leaf index (for message confirmation)",
|
|
453
582
|
"type": "number"
|
|
583
|
+
},
|
|
584
|
+
"authRequired": {
|
|
585
|
+
"description": "True on the guard_authorization_required result shape — show the user ONE confirmation card, then resend via send_message with options.authorize=true",
|
|
586
|
+
"type": "boolean"
|
|
587
|
+
},
|
|
588
|
+
"network": {
|
|
589
|
+
"description": "Network the Passport must be created on (present on guard_authorization_required)",
|
|
590
|
+
"type": "string",
|
|
591
|
+
"enum": [
|
|
592
|
+
"localnet",
|
|
593
|
+
"testnet",
|
|
594
|
+
"mainnet"
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
"reason": {
|
|
598
|
+
"description": "Why silent passport reuse failed (present on guard_authorization_required)",
|
|
599
|
+
"type": "string",
|
|
600
|
+
"enum": [
|
|
601
|
+
"no_local_passport",
|
|
602
|
+
"local_passport_stale"
|
|
603
|
+
]
|
|
604
|
+
},
|
|
605
|
+
"hint": {
|
|
606
|
+
"description": "Guidance text incl. the auto-friend hint — once the recipient replies, the sender is auto-friended and future messages need no verification",
|
|
607
|
+
"type": "string"
|
|
608
|
+
},
|
|
609
|
+
"serverError": {
|
|
610
|
+
"description": "Original server rejection message",
|
|
611
|
+
"type": "string"
|
|
612
|
+
},
|
|
613
|
+
"submissions": {
|
|
614
|
+
"description": "Guard submission requirements, when a guard demands answers before issuing a Passport (route through onchain_operations gen_passport with info)"
|
|
454
615
|
}
|
|
455
616
|
},
|
|
456
617
|
"required": [
|
|
@@ -479,20 +640,28 @@
|
|
|
479
640
|
"properties": {
|
|
480
641
|
"messageId": {
|
|
481
642
|
"type": "string",
|
|
482
|
-
"description": "Message ID"
|
|
643
|
+
"description": "Message ID (empty on guard_authorization_required)"
|
|
483
644
|
},
|
|
484
645
|
"status": {
|
|
485
|
-
"
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
646
|
+
"anyOf": [
|
|
647
|
+
{
|
|
648
|
+
"type": "string",
|
|
649
|
+
"enum": [
|
|
650
|
+
"pending",
|
|
651
|
+
"confirmed",
|
|
652
|
+
"read",
|
|
653
|
+
"failed",
|
|
654
|
+
"rejected",
|
|
655
|
+
"decrypted",
|
|
656
|
+
"decrypt_failed"
|
|
657
|
+
]
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"type": "string",
|
|
661
|
+
"const": "guard_authorization_required"
|
|
662
|
+
}
|
|
494
663
|
],
|
|
495
|
-
"description": "Message status"
|
|
664
|
+
"description": "Message status; 'guard_authorization_required' means smart send needs one-click authorization before delivery"
|
|
496
665
|
},
|
|
497
666
|
"merkleData": {
|
|
498
667
|
"description": "Merkle Tree proof data",
|
|
@@ -544,6 +713,38 @@
|
|
|
544
713
|
"description": "Last received leaf index (for message confirmation)",
|
|
545
714
|
"type": "number"
|
|
546
715
|
},
|
|
716
|
+
"authRequired": {
|
|
717
|
+
"description": "True on the guard_authorization_required result shape — show the user ONE confirmation card, then resend via send_message with options.authorize=true",
|
|
718
|
+
"type": "boolean"
|
|
719
|
+
},
|
|
720
|
+
"network": {
|
|
721
|
+
"description": "Network the Passport must be created on (present on guard_authorization_required)",
|
|
722
|
+
"type": "string",
|
|
723
|
+
"enum": [
|
|
724
|
+
"localnet",
|
|
725
|
+
"testnet",
|
|
726
|
+
"mainnet"
|
|
727
|
+
]
|
|
728
|
+
},
|
|
729
|
+
"reason": {
|
|
730
|
+
"description": "Why silent passport reuse failed (present on guard_authorization_required)",
|
|
731
|
+
"type": "string",
|
|
732
|
+
"enum": [
|
|
733
|
+
"no_local_passport",
|
|
734
|
+
"local_passport_stale"
|
|
735
|
+
]
|
|
736
|
+
},
|
|
737
|
+
"hint": {
|
|
738
|
+
"description": "Guidance text incl. the auto-friend hint — once the recipient replies, the sender is auto-friended and future messages need no verification",
|
|
739
|
+
"type": "string"
|
|
740
|
+
},
|
|
741
|
+
"serverError": {
|
|
742
|
+
"description": "Original server rejection message",
|
|
743
|
+
"type": "string"
|
|
744
|
+
},
|
|
745
|
+
"submissions": {
|
|
746
|
+
"description": "Guard submission requirements, when a guard demands answers before issuing a Passport (route through onchain_operations gen_passport with info)"
|
|
747
|
+
},
|
|
547
748
|
"sent_fields": {
|
|
548
749
|
"type": "array",
|
|
549
750
|
"items": {
|
|
@@ -596,9 +797,63 @@
|
|
|
596
797
|
"description": "Plaintext hash"
|
|
597
798
|
},
|
|
598
799
|
"plaintext": {
|
|
599
|
-
"description": "Decrypted plaintext (
|
|
800
|
+
"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",
|
|
600
801
|
"type": "string"
|
|
601
802
|
},
|
|
803
|
+
"attachment": {
|
|
804
|
+
"description": "Present when this message is an attachment (zipMetadata present). Byte-free descriptor; payload never embedded",
|
|
805
|
+
"type": "object",
|
|
806
|
+
"properties": {
|
|
807
|
+
"kind": {
|
|
808
|
+
"type": "string",
|
|
809
|
+
"enum": [
|
|
810
|
+
"image",
|
|
811
|
+
"video",
|
|
812
|
+
"audio",
|
|
813
|
+
"voice",
|
|
814
|
+
"file",
|
|
815
|
+
"wts",
|
|
816
|
+
"wip"
|
|
817
|
+
],
|
|
818
|
+
"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"
|
|
819
|
+
},
|
|
820
|
+
"fileName": {
|
|
821
|
+
"type": "string",
|
|
822
|
+
"description": "Original file name (transport .zip suffix stripped)"
|
|
823
|
+
},
|
|
824
|
+
"mimeType": {
|
|
825
|
+
"type": "string",
|
|
826
|
+
"description": "MIME type inferred from extension or sender-provided"
|
|
827
|
+
},
|
|
828
|
+
"size": {
|
|
829
|
+
"type": "number",
|
|
830
|
+
"description": "Payload size in bytes (uncompressed)"
|
|
831
|
+
},
|
|
832
|
+
"caption": {
|
|
833
|
+
"description": "Sender-provided caption (E2EE, inside the encrypted envelope)",
|
|
834
|
+
"type": "string"
|
|
835
|
+
},
|
|
836
|
+
"durationMs": {
|
|
837
|
+
"description": "Audio/video duration in milliseconds",
|
|
838
|
+
"type": "number"
|
|
839
|
+
},
|
|
840
|
+
"width": {
|
|
841
|
+
"description": "Media width in pixels",
|
|
842
|
+
"type": "number"
|
|
843
|
+
},
|
|
844
|
+
"height": {
|
|
845
|
+
"description": "Media height in pixels",
|
|
846
|
+
"type": "number"
|
|
847
|
+
}
|
|
848
|
+
},
|
|
849
|
+
"required": [
|
|
850
|
+
"kind",
|
|
851
|
+
"fileName",
|
|
852
|
+
"mimeType",
|
|
853
|
+
"size"
|
|
854
|
+
],
|
|
855
|
+
"additionalProperties": false
|
|
856
|
+
},
|
|
602
857
|
"replyTo": {
|
|
603
858
|
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
604
859
|
"type": "object",
|
|
@@ -764,9 +1019,36 @@
|
|
|
764
1019
|
"additionalProperties": false
|
|
765
1020
|
},
|
|
766
1021
|
"proof": {
|
|
767
|
-
"description": "
|
|
1022
|
+
"description": "Latest on-chain proof object address (projection of the last entry in proofs; derived at the read boundary for single-value consumers)",
|
|
768
1023
|
"type": "string"
|
|
769
1024
|
},
|
|
1025
|
+
"proofs": {
|
|
1026
|
+
"description": "All on-chain proofs anchored for this message, ascending by publish time (one-to-many; a message may be proofed multiple times)",
|
|
1027
|
+
"type": "array",
|
|
1028
|
+
"items": {
|
|
1029
|
+
"type": "object",
|
|
1030
|
+
"properties": {
|
|
1031
|
+
"address": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"description": "On-chain Proof object address"
|
|
1034
|
+
},
|
|
1035
|
+
"network": {
|
|
1036
|
+
"description": "Network the proof was published on (testnet/mainnet/localnet); absent in legacy local records",
|
|
1037
|
+
"type": "string"
|
|
1038
|
+
},
|
|
1039
|
+
"createdAt": {
|
|
1040
|
+
"type": "number",
|
|
1041
|
+
"description": "Local record time (ms)"
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
"required": [
|
|
1045
|
+
"address",
|
|
1046
|
+
"createdAt"
|
|
1047
|
+
],
|
|
1048
|
+
"additionalProperties": false,
|
|
1049
|
+
"description": "One on-chain proof anchored for this message"
|
|
1050
|
+
}
|
|
1051
|
+
},
|
|
770
1052
|
"decryptError": {
|
|
771
1053
|
"description": "Decryption failure reason",
|
|
772
1054
|
"type": "string"
|
|
@@ -811,14 +1093,11 @@
|
|
|
811
1093
|
"properties": {
|
|
812
1094
|
"operation": {
|
|
813
1095
|
"type": "string",
|
|
814
|
-
"const": "
|
|
1096
|
+
"const": "save_attachment"
|
|
815
1097
|
},
|
|
816
1098
|
"result": {
|
|
817
|
-
"type": "
|
|
818
|
-
"
|
|
819
|
-
"type": "string"
|
|
820
|
-
},
|
|
821
|
-
"description": "Extracted file paths"
|
|
1099
|
+
"type": "string",
|
|
1100
|
+
"description": "Absolute path of the saved attachment file"
|
|
822
1101
|
}
|
|
823
1102
|
},
|
|
824
1103
|
"required": [
|
|
@@ -1556,7 +1835,7 @@
|
|
|
1556
1835
|
"type": "object",
|
|
1557
1836
|
"properties": {
|
|
1558
1837
|
"allowStrangerMessages": {
|
|
1559
|
-
"description": "Whether messages from strangers are allowed",
|
|
1838
|
+
"description": "Whether messages from strangers are allowed (ineffective while the guard list is non-empty)",
|
|
1560
1839
|
"type": "boolean"
|
|
1561
1840
|
},
|
|
1562
1841
|
"maxInboxSize": {
|
|
@@ -1642,229 +1921,648 @@
|
|
|
1642
1921
|
"const": "pull_messages"
|
|
1643
1922
|
},
|
|
1644
1923
|
"result": {
|
|
1645
|
-
"
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
"messageId": {
|
|
1650
|
-
"type": "string",
|
|
1651
|
-
"description": "Message ID"
|
|
1652
|
-
},
|
|
1653
|
-
"fromAddress": {
|
|
1654
|
-
"type": "string",
|
|
1655
|
-
"description": "Sender address"
|
|
1656
|
-
},
|
|
1657
|
-
"toAddress": {
|
|
1658
|
-
"type": "string",
|
|
1659
|
-
"description": "Recipient address"
|
|
1660
|
-
},
|
|
1661
|
-
"plaintextHash": {
|
|
1662
|
-
"type": "string",
|
|
1663
|
-
"description": "Plaintext hash"
|
|
1664
|
-
},
|
|
1665
|
-
"plaintext": {
|
|
1666
|
-
"description": "Decrypted plaintext (optional)",
|
|
1667
|
-
"type": "string"
|
|
1668
|
-
},
|
|
1669
|
-
"replyTo": {
|
|
1670
|
-
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
1924
|
+
"anyOf": [
|
|
1925
|
+
{
|
|
1926
|
+
"type": "array",
|
|
1927
|
+
"items": {
|
|
1671
1928
|
"type": "object",
|
|
1672
1929
|
"properties": {
|
|
1673
1930
|
"messageId": {
|
|
1674
1931
|
"type": "string",
|
|
1675
|
-
"description": "
|
|
1676
|
-
}
|
|
1677
|
-
},
|
|
1678
|
-
"required": [
|
|
1679
|
-
"messageId"
|
|
1680
|
-
],
|
|
1681
|
-
"additionalProperties": false
|
|
1682
|
-
},
|
|
1683
|
-
"guardAddress": {
|
|
1684
|
-
"description": "Guard address",
|
|
1685
|
-
"type": "string"
|
|
1686
|
-
},
|
|
1687
|
-
"passportAddress": {
|
|
1688
|
-
"description": "Passport address",
|
|
1689
|
-
"type": "string"
|
|
1690
|
-
},
|
|
1691
|
-
"lastReceivedLeafIndex": {
|
|
1692
|
-
"description": "Last received leaf index",
|
|
1693
|
-
"type": "number"
|
|
1694
|
-
},
|
|
1695
|
-
"direction": {
|
|
1696
|
-
"type": "string",
|
|
1697
|
-
"enum": [
|
|
1698
|
-
"sent",
|
|
1699
|
-
"received"
|
|
1700
|
-
],
|
|
1701
|
-
"description": "Message direction"
|
|
1702
|
-
},
|
|
1703
|
-
"status": {
|
|
1704
|
-
"type": "string",
|
|
1705
|
-
"enum": [
|
|
1706
|
-
"pending",
|
|
1707
|
-
"confirmed",
|
|
1708
|
-
"read",
|
|
1709
|
-
"failed",
|
|
1710
|
-
"rejected",
|
|
1711
|
-
"decrypted",
|
|
1712
|
-
"decrypt_failed"
|
|
1713
|
-
],
|
|
1714
|
-
"description": "Message status"
|
|
1715
|
-
},
|
|
1716
|
-
"msgType": {
|
|
1717
|
-
"anyOf": [
|
|
1718
|
-
{
|
|
1719
|
-
"type": "number",
|
|
1720
|
-
"const": 1
|
|
1932
|
+
"description": "Message ID"
|
|
1721
1933
|
},
|
|
1722
|
-
{
|
|
1723
|
-
"type": "
|
|
1724
|
-
"
|
|
1725
|
-
}
|
|
1726
|
-
|
|
1727
|
-
"description": "Message type"
|
|
1728
|
-
},
|
|
1729
|
-
"leafIndex": {
|
|
1730
|
-
"description": "Leaf index",
|
|
1731
|
-
"type": "number"
|
|
1732
|
-
},
|
|
1733
|
-
"prevRoot": {
|
|
1734
|
-
"description": "Previous Merkle Root",
|
|
1735
|
-
"type": "string"
|
|
1736
|
-
},
|
|
1737
|
-
"newRoot": {
|
|
1738
|
-
"description": "Current Merkle Root",
|
|
1739
|
-
"type": "string"
|
|
1740
|
-
},
|
|
1741
|
-
"serverSignature": {
|
|
1742
|
-
"description": "Server signature",
|
|
1743
|
-
"type": "string"
|
|
1744
|
-
},
|
|
1745
|
-
"serverTimestamp": {
|
|
1746
|
-
"description": "Server confirmation timestamp",
|
|
1747
|
-
"type": "number"
|
|
1748
|
-
},
|
|
1749
|
-
"serverPublicKey": {
|
|
1750
|
-
"description": "Server public key",
|
|
1751
|
-
"type": "string"
|
|
1752
|
-
},
|
|
1753
|
-
"arkConfirmed": {
|
|
1754
|
-
"description": "ARK confirmation",
|
|
1755
|
-
"type": "object",
|
|
1756
|
-
"properties": {
|
|
1757
|
-
"recipient": {
|
|
1934
|
+
"fromAddress": {
|
|
1935
|
+
"type": "string",
|
|
1936
|
+
"description": "Sender address"
|
|
1937
|
+
},
|
|
1938
|
+
"toAddress": {
|
|
1758
1939
|
"type": "string",
|
|
1759
1940
|
"description": "Recipient address"
|
|
1760
1941
|
},
|
|
1761
|
-
"
|
|
1942
|
+
"plaintextHash": {
|
|
1762
1943
|
"type": "string",
|
|
1763
|
-
"description": "
|
|
1944
|
+
"description": "Plaintext hash"
|
|
1764
1945
|
},
|
|
1765
|
-
"
|
|
1946
|
+
"plaintext": {
|
|
1947
|
+
"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",
|
|
1948
|
+
"type": "string"
|
|
1949
|
+
},
|
|
1950
|
+
"attachment": {
|
|
1951
|
+
"description": "Present when this message is an attachment (zipMetadata present). Byte-free descriptor; payload never embedded",
|
|
1952
|
+
"type": "object",
|
|
1953
|
+
"properties": {
|
|
1954
|
+
"kind": {
|
|
1955
|
+
"type": "string",
|
|
1956
|
+
"enum": [
|
|
1957
|
+
"image",
|
|
1958
|
+
"video",
|
|
1959
|
+
"audio",
|
|
1960
|
+
"voice",
|
|
1961
|
+
"file",
|
|
1962
|
+
"wts",
|
|
1963
|
+
"wip"
|
|
1964
|
+
],
|
|
1965
|
+
"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"
|
|
1966
|
+
},
|
|
1967
|
+
"fileName": {
|
|
1968
|
+
"type": "string",
|
|
1969
|
+
"description": "Original file name (transport .zip suffix stripped)"
|
|
1970
|
+
},
|
|
1971
|
+
"mimeType": {
|
|
1972
|
+
"type": "string",
|
|
1973
|
+
"description": "MIME type inferred from extension or sender-provided"
|
|
1974
|
+
},
|
|
1975
|
+
"size": {
|
|
1976
|
+
"type": "number",
|
|
1977
|
+
"description": "Payload size in bytes (uncompressed)"
|
|
1978
|
+
},
|
|
1979
|
+
"caption": {
|
|
1980
|
+
"description": "Sender-provided caption (E2EE, inside the encrypted envelope)",
|
|
1981
|
+
"type": "string"
|
|
1982
|
+
},
|
|
1983
|
+
"durationMs": {
|
|
1984
|
+
"description": "Audio/video duration in milliseconds",
|
|
1985
|
+
"type": "number"
|
|
1986
|
+
},
|
|
1987
|
+
"width": {
|
|
1988
|
+
"description": "Media width in pixels",
|
|
1989
|
+
"type": "number"
|
|
1990
|
+
},
|
|
1991
|
+
"height": {
|
|
1992
|
+
"description": "Media height in pixels",
|
|
1993
|
+
"type": "number"
|
|
1994
|
+
}
|
|
1995
|
+
},
|
|
1996
|
+
"required": [
|
|
1997
|
+
"kind",
|
|
1998
|
+
"fileName",
|
|
1999
|
+
"mimeType",
|
|
2000
|
+
"size"
|
|
2001
|
+
],
|
|
2002
|
+
"additionalProperties": false
|
|
2003
|
+
},
|
|
2004
|
+
"replyTo": {
|
|
2005
|
+
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
2006
|
+
"type": "object",
|
|
2007
|
+
"properties": {
|
|
2008
|
+
"messageId": {
|
|
2009
|
+
"type": "string",
|
|
2010
|
+
"description": "Replied-to message ID (unique within the conversation)"
|
|
2011
|
+
}
|
|
2012
|
+
},
|
|
2013
|
+
"required": [
|
|
2014
|
+
"messageId"
|
|
2015
|
+
],
|
|
2016
|
+
"additionalProperties": false
|
|
2017
|
+
},
|
|
2018
|
+
"guardAddress": {
|
|
2019
|
+
"description": "Guard address",
|
|
2020
|
+
"type": "string"
|
|
2021
|
+
},
|
|
2022
|
+
"passportAddress": {
|
|
2023
|
+
"description": "Passport address",
|
|
2024
|
+
"type": "string"
|
|
2025
|
+
},
|
|
2026
|
+
"lastReceivedLeafIndex": {
|
|
2027
|
+
"description": "Last received leaf index",
|
|
2028
|
+
"type": "number"
|
|
2029
|
+
},
|
|
2030
|
+
"direction": {
|
|
1766
2031
|
"type": "string",
|
|
1767
|
-
"
|
|
2032
|
+
"enum": [
|
|
2033
|
+
"sent",
|
|
2034
|
+
"received"
|
|
2035
|
+
],
|
|
2036
|
+
"description": "Message direction"
|
|
1768
2037
|
},
|
|
1769
|
-
"
|
|
2038
|
+
"status": {
|
|
2039
|
+
"type": "string",
|
|
2040
|
+
"enum": [
|
|
2041
|
+
"pending",
|
|
2042
|
+
"confirmed",
|
|
2043
|
+
"read",
|
|
2044
|
+
"failed",
|
|
2045
|
+
"rejected",
|
|
2046
|
+
"decrypted",
|
|
2047
|
+
"decrypt_failed"
|
|
2048
|
+
],
|
|
2049
|
+
"description": "Message status"
|
|
2050
|
+
},
|
|
2051
|
+
"msgType": {
|
|
2052
|
+
"anyOf": [
|
|
2053
|
+
{
|
|
2054
|
+
"type": "number",
|
|
2055
|
+
"const": 1
|
|
2056
|
+
},
|
|
2057
|
+
{
|
|
2058
|
+
"type": "number",
|
|
2059
|
+
"const": 3
|
|
2060
|
+
}
|
|
2061
|
+
],
|
|
2062
|
+
"description": "Message type"
|
|
2063
|
+
},
|
|
2064
|
+
"leafIndex": {
|
|
2065
|
+
"description": "Leaf index",
|
|
2066
|
+
"type": "number"
|
|
2067
|
+
},
|
|
2068
|
+
"prevRoot": {
|
|
2069
|
+
"description": "Previous Merkle Root",
|
|
2070
|
+
"type": "string"
|
|
2071
|
+
},
|
|
2072
|
+
"newRoot": {
|
|
2073
|
+
"description": "Current Merkle Root",
|
|
2074
|
+
"type": "string"
|
|
2075
|
+
},
|
|
2076
|
+
"serverSignature": {
|
|
2077
|
+
"description": "Server signature",
|
|
2078
|
+
"type": "string"
|
|
2079
|
+
},
|
|
2080
|
+
"serverTimestamp": {
|
|
2081
|
+
"description": "Server confirmation timestamp",
|
|
2082
|
+
"type": "number"
|
|
2083
|
+
},
|
|
2084
|
+
"serverPublicKey": {
|
|
2085
|
+
"description": "Server public key",
|
|
2086
|
+
"type": "string"
|
|
2087
|
+
},
|
|
2088
|
+
"arkConfirmed": {
|
|
2089
|
+
"description": "ARK confirmation",
|
|
2090
|
+
"type": "object",
|
|
2091
|
+
"properties": {
|
|
2092
|
+
"recipient": {
|
|
2093
|
+
"type": "string",
|
|
2094
|
+
"description": "Recipient address"
|
|
2095
|
+
},
|
|
2096
|
+
"recipientPublicKey": {
|
|
2097
|
+
"type": "string",
|
|
2098
|
+
"description": "Recipient public key"
|
|
2099
|
+
},
|
|
2100
|
+
"signature": {
|
|
2101
|
+
"type": "string",
|
|
2102
|
+
"description": "Recipient signature"
|
|
2103
|
+
},
|
|
2104
|
+
"timestamp": {
|
|
2105
|
+
"type": "number",
|
|
2106
|
+
"description": "ARK confirmation time"
|
|
2107
|
+
}
|
|
2108
|
+
},
|
|
2109
|
+
"required": [
|
|
2110
|
+
"recipient",
|
|
2111
|
+
"recipientPublicKey",
|
|
2112
|
+
"signature",
|
|
2113
|
+
"timestamp"
|
|
2114
|
+
],
|
|
2115
|
+
"additionalProperties": false
|
|
2116
|
+
},
|
|
2117
|
+
"createdAt": {
|
|
1770
2118
|
"type": "number",
|
|
1771
|
-
"description": "
|
|
2119
|
+
"description": "Message creation time (client)"
|
|
2120
|
+
},
|
|
2121
|
+
"receivedAt": {
|
|
2122
|
+
"description": "Local reception time",
|
|
2123
|
+
"type": "number"
|
|
2124
|
+
},
|
|
2125
|
+
"zipMetadata": {
|
|
2126
|
+
"description": "ZIP file metadata",
|
|
2127
|
+
"type": "object",
|
|
2128
|
+
"properties": {
|
|
2129
|
+
"fileName": {
|
|
2130
|
+
"type": "string",
|
|
2131
|
+
"description": "ZIP filename"
|
|
2132
|
+
},
|
|
2133
|
+
"fileSize": {
|
|
2134
|
+
"type": "number",
|
|
2135
|
+
"description": "File size in bytes"
|
|
2136
|
+
},
|
|
2137
|
+
"fileHash": {
|
|
2138
|
+
"type": "string",
|
|
2139
|
+
"description": "File SHA256 hash"
|
|
2140
|
+
},
|
|
2141
|
+
"contentType": {
|
|
2142
|
+
"type": "string",
|
|
2143
|
+
"enum": [
|
|
2144
|
+
"text",
|
|
2145
|
+
"zip",
|
|
2146
|
+
"wts",
|
|
2147
|
+
"wip"
|
|
2148
|
+
],
|
|
2149
|
+
"description": "Content type"
|
|
2150
|
+
},
|
|
2151
|
+
"localCachePath": {
|
|
2152
|
+
"description": "Local cache path",
|
|
2153
|
+
"type": "string"
|
|
2154
|
+
},
|
|
2155
|
+
"downloadedAt": {
|
|
2156
|
+
"description": "Download timestamp",
|
|
2157
|
+
"type": "number"
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2160
|
+
"required": [
|
|
2161
|
+
"fileName",
|
|
2162
|
+
"fileSize",
|
|
2163
|
+
"fileHash",
|
|
2164
|
+
"contentType"
|
|
2165
|
+
],
|
|
2166
|
+
"additionalProperties": false
|
|
2167
|
+
},
|
|
2168
|
+
"proof": {
|
|
2169
|
+
"description": "Latest on-chain proof object address (projection of the last entry in proofs; derived at the read boundary for single-value consumers)",
|
|
2170
|
+
"type": "string"
|
|
2171
|
+
},
|
|
2172
|
+
"proofs": {
|
|
2173
|
+
"description": "All on-chain proofs anchored for this message, ascending by publish time (one-to-many; a message may be proofed multiple times)",
|
|
2174
|
+
"type": "array",
|
|
2175
|
+
"items": {
|
|
2176
|
+
"type": "object",
|
|
2177
|
+
"properties": {
|
|
2178
|
+
"address": {
|
|
2179
|
+
"type": "string",
|
|
2180
|
+
"description": "On-chain Proof object address"
|
|
2181
|
+
},
|
|
2182
|
+
"network": {
|
|
2183
|
+
"description": "Network the proof was published on (testnet/mainnet/localnet); absent in legacy local records",
|
|
2184
|
+
"type": "string"
|
|
2185
|
+
},
|
|
2186
|
+
"createdAt": {
|
|
2187
|
+
"type": "number",
|
|
2188
|
+
"description": "Local record time (ms)"
|
|
2189
|
+
}
|
|
2190
|
+
},
|
|
2191
|
+
"required": [
|
|
2192
|
+
"address",
|
|
2193
|
+
"createdAt"
|
|
2194
|
+
],
|
|
2195
|
+
"additionalProperties": false,
|
|
2196
|
+
"description": "One on-chain proof anchored for this message"
|
|
2197
|
+
}
|
|
2198
|
+
},
|
|
2199
|
+
"decryptError": {
|
|
2200
|
+
"description": "Decryption failure reason",
|
|
2201
|
+
"type": "string"
|
|
2202
|
+
},
|
|
2203
|
+
"decryptAttempts": {
|
|
2204
|
+
"description": "Number of decryption attempts",
|
|
2205
|
+
"type": "number"
|
|
2206
|
+
},
|
|
2207
|
+
"lastDecryptAttemptAt": {
|
|
2208
|
+
"description": "Last decryption attempt timestamp",
|
|
2209
|
+
"type": "number"
|
|
2210
|
+
},
|
|
2211
|
+
"viewedAt": {
|
|
2212
|
+
"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')",
|
|
2213
|
+
"type": "number"
|
|
1772
2214
|
}
|
|
1773
2215
|
},
|
|
1774
2216
|
"required": [
|
|
1775
|
-
"
|
|
1776
|
-
"
|
|
1777
|
-
"
|
|
1778
|
-
"
|
|
2217
|
+
"messageId",
|
|
2218
|
+
"fromAddress",
|
|
2219
|
+
"toAddress",
|
|
2220
|
+
"plaintextHash",
|
|
2221
|
+
"direction",
|
|
2222
|
+
"status",
|
|
2223
|
+
"msgType",
|
|
2224
|
+
"createdAt"
|
|
1779
2225
|
],
|
|
1780
|
-
"additionalProperties": false
|
|
1781
|
-
|
|
1782
|
-
"createdAt": {
|
|
1783
|
-
"type": "number",
|
|
1784
|
-
"description": "Message creation time (client)"
|
|
1785
|
-
},
|
|
1786
|
-
"receivedAt": {
|
|
1787
|
-
"description": "Local reception time",
|
|
1788
|
-
"type": "number"
|
|
2226
|
+
"additionalProperties": false,
|
|
2227
|
+
"description": "Message object"
|
|
1789
2228
|
},
|
|
1790
|
-
"
|
|
1791
|
-
|
|
2229
|
+
"description": "Single-account mode: messages pulled from server"
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"type": "array",
|
|
2233
|
+
"items": {
|
|
1792
2234
|
"type": "object",
|
|
1793
2235
|
"properties": {
|
|
1794
|
-
"
|
|
2236
|
+
"account": {
|
|
1795
2237
|
"type": "string",
|
|
1796
|
-
"description": "
|
|
2238
|
+
"description": "Account address"
|
|
1797
2239
|
},
|
|
1798
|
-
"
|
|
2240
|
+
"pulled": {
|
|
1799
2241
|
"type": "number",
|
|
1800
|
-
"description": "
|
|
1801
|
-
},
|
|
1802
|
-
"fileHash": {
|
|
1803
|
-
"type": "string",
|
|
1804
|
-
"description": "File SHA256 hash"
|
|
2242
|
+
"description": "Number of messages pulled and decrypted in this round"
|
|
1805
2243
|
},
|
|
1806
|
-
"
|
|
1807
|
-
"type": "
|
|
1808
|
-
"
|
|
1809
|
-
"
|
|
1810
|
-
"
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
2244
|
+
"messages": {
|
|
2245
|
+
"type": "array",
|
|
2246
|
+
"items": {
|
|
2247
|
+
"type": "object",
|
|
2248
|
+
"properties": {
|
|
2249
|
+
"messageId": {
|
|
2250
|
+
"type": "string",
|
|
2251
|
+
"description": "Message ID"
|
|
2252
|
+
},
|
|
2253
|
+
"fromAddress": {
|
|
2254
|
+
"type": "string",
|
|
2255
|
+
"description": "Sender address"
|
|
2256
|
+
},
|
|
2257
|
+
"toAddress": {
|
|
2258
|
+
"type": "string",
|
|
2259
|
+
"description": "Recipient address"
|
|
2260
|
+
},
|
|
2261
|
+
"plaintextHash": {
|
|
2262
|
+
"type": "string",
|
|
2263
|
+
"description": "Plaintext hash"
|
|
2264
|
+
},
|
|
2265
|
+
"plaintext": {
|
|
2266
|
+
"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",
|
|
2267
|
+
"type": "string"
|
|
2268
|
+
},
|
|
2269
|
+
"attachment": {
|
|
2270
|
+
"description": "Present when this message is an attachment (zipMetadata present). Byte-free descriptor; payload never embedded",
|
|
2271
|
+
"type": "object",
|
|
2272
|
+
"properties": {
|
|
2273
|
+
"kind": {
|
|
2274
|
+
"type": "string",
|
|
2275
|
+
"enum": [
|
|
2276
|
+
"image",
|
|
2277
|
+
"video",
|
|
2278
|
+
"audio",
|
|
2279
|
+
"voice",
|
|
2280
|
+
"file",
|
|
2281
|
+
"wts",
|
|
2282
|
+
"wip"
|
|
2283
|
+
],
|
|
2284
|
+
"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"
|
|
2285
|
+
},
|
|
2286
|
+
"fileName": {
|
|
2287
|
+
"type": "string",
|
|
2288
|
+
"description": "Original file name (transport .zip suffix stripped)"
|
|
2289
|
+
},
|
|
2290
|
+
"mimeType": {
|
|
2291
|
+
"type": "string",
|
|
2292
|
+
"description": "MIME type inferred from extension or sender-provided"
|
|
2293
|
+
},
|
|
2294
|
+
"size": {
|
|
2295
|
+
"type": "number",
|
|
2296
|
+
"description": "Payload size in bytes (uncompressed)"
|
|
2297
|
+
},
|
|
2298
|
+
"caption": {
|
|
2299
|
+
"description": "Sender-provided caption (E2EE, inside the encrypted envelope)",
|
|
2300
|
+
"type": "string"
|
|
2301
|
+
},
|
|
2302
|
+
"durationMs": {
|
|
2303
|
+
"description": "Audio/video duration in milliseconds",
|
|
2304
|
+
"type": "number"
|
|
2305
|
+
},
|
|
2306
|
+
"width": {
|
|
2307
|
+
"description": "Media width in pixels",
|
|
2308
|
+
"type": "number"
|
|
2309
|
+
},
|
|
2310
|
+
"height": {
|
|
2311
|
+
"description": "Media height in pixels",
|
|
2312
|
+
"type": "number"
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
"required": [
|
|
2316
|
+
"kind",
|
|
2317
|
+
"fileName",
|
|
2318
|
+
"mimeType",
|
|
2319
|
+
"size"
|
|
2320
|
+
],
|
|
2321
|
+
"additionalProperties": false
|
|
2322
|
+
},
|
|
2323
|
+
"replyTo": {
|
|
2324
|
+
"description": "Quoted (replied-to) message reference, if this message replies to a previous one",
|
|
2325
|
+
"type": "object",
|
|
2326
|
+
"properties": {
|
|
2327
|
+
"messageId": {
|
|
2328
|
+
"type": "string",
|
|
2329
|
+
"description": "Replied-to message ID (unique within the conversation)"
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
"required": [
|
|
2333
|
+
"messageId"
|
|
2334
|
+
],
|
|
2335
|
+
"additionalProperties": false
|
|
2336
|
+
},
|
|
2337
|
+
"guardAddress": {
|
|
2338
|
+
"description": "Guard address",
|
|
2339
|
+
"type": "string"
|
|
2340
|
+
},
|
|
2341
|
+
"passportAddress": {
|
|
2342
|
+
"description": "Passport address",
|
|
2343
|
+
"type": "string"
|
|
2344
|
+
},
|
|
2345
|
+
"lastReceivedLeafIndex": {
|
|
2346
|
+
"description": "Last received leaf index",
|
|
2347
|
+
"type": "number"
|
|
2348
|
+
},
|
|
2349
|
+
"direction": {
|
|
2350
|
+
"type": "string",
|
|
2351
|
+
"enum": [
|
|
2352
|
+
"sent",
|
|
2353
|
+
"received"
|
|
2354
|
+
],
|
|
2355
|
+
"description": "Message direction"
|
|
2356
|
+
},
|
|
2357
|
+
"status": {
|
|
2358
|
+
"type": "string",
|
|
2359
|
+
"enum": [
|
|
2360
|
+
"pending",
|
|
2361
|
+
"confirmed",
|
|
2362
|
+
"read",
|
|
2363
|
+
"failed",
|
|
2364
|
+
"rejected",
|
|
2365
|
+
"decrypted",
|
|
2366
|
+
"decrypt_failed"
|
|
2367
|
+
],
|
|
2368
|
+
"description": "Message status"
|
|
2369
|
+
},
|
|
2370
|
+
"msgType": {
|
|
2371
|
+
"anyOf": [
|
|
2372
|
+
{
|
|
2373
|
+
"type": "number",
|
|
2374
|
+
"const": 1
|
|
2375
|
+
},
|
|
2376
|
+
{
|
|
2377
|
+
"type": "number",
|
|
2378
|
+
"const": 3
|
|
2379
|
+
}
|
|
2380
|
+
],
|
|
2381
|
+
"description": "Message type"
|
|
2382
|
+
},
|
|
2383
|
+
"leafIndex": {
|
|
2384
|
+
"description": "Leaf index",
|
|
2385
|
+
"type": "number"
|
|
2386
|
+
},
|
|
2387
|
+
"prevRoot": {
|
|
2388
|
+
"description": "Previous Merkle Root",
|
|
2389
|
+
"type": "string"
|
|
2390
|
+
},
|
|
2391
|
+
"newRoot": {
|
|
2392
|
+
"description": "Current Merkle Root",
|
|
2393
|
+
"type": "string"
|
|
2394
|
+
},
|
|
2395
|
+
"serverSignature": {
|
|
2396
|
+
"description": "Server signature",
|
|
2397
|
+
"type": "string"
|
|
2398
|
+
},
|
|
2399
|
+
"serverTimestamp": {
|
|
2400
|
+
"description": "Server confirmation timestamp",
|
|
2401
|
+
"type": "number"
|
|
2402
|
+
},
|
|
2403
|
+
"serverPublicKey": {
|
|
2404
|
+
"description": "Server public key",
|
|
2405
|
+
"type": "string"
|
|
2406
|
+
},
|
|
2407
|
+
"arkConfirmed": {
|
|
2408
|
+
"description": "ARK confirmation",
|
|
2409
|
+
"type": "object",
|
|
2410
|
+
"properties": {
|
|
2411
|
+
"recipient": {
|
|
2412
|
+
"type": "string",
|
|
2413
|
+
"description": "Recipient address"
|
|
2414
|
+
},
|
|
2415
|
+
"recipientPublicKey": {
|
|
2416
|
+
"type": "string",
|
|
2417
|
+
"description": "Recipient public key"
|
|
2418
|
+
},
|
|
2419
|
+
"signature": {
|
|
2420
|
+
"type": "string",
|
|
2421
|
+
"description": "Recipient signature"
|
|
2422
|
+
},
|
|
2423
|
+
"timestamp": {
|
|
2424
|
+
"type": "number",
|
|
2425
|
+
"description": "ARK confirmation time"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
"required": [
|
|
2429
|
+
"recipient",
|
|
2430
|
+
"recipientPublicKey",
|
|
2431
|
+
"signature",
|
|
2432
|
+
"timestamp"
|
|
2433
|
+
],
|
|
2434
|
+
"additionalProperties": false
|
|
2435
|
+
},
|
|
2436
|
+
"createdAt": {
|
|
2437
|
+
"type": "number",
|
|
2438
|
+
"description": "Message creation time (client)"
|
|
2439
|
+
},
|
|
2440
|
+
"receivedAt": {
|
|
2441
|
+
"description": "Local reception time",
|
|
2442
|
+
"type": "number"
|
|
2443
|
+
},
|
|
2444
|
+
"zipMetadata": {
|
|
2445
|
+
"description": "ZIP file metadata",
|
|
2446
|
+
"type": "object",
|
|
2447
|
+
"properties": {
|
|
2448
|
+
"fileName": {
|
|
2449
|
+
"type": "string",
|
|
2450
|
+
"description": "ZIP filename"
|
|
2451
|
+
},
|
|
2452
|
+
"fileSize": {
|
|
2453
|
+
"type": "number",
|
|
2454
|
+
"description": "File size in bytes"
|
|
2455
|
+
},
|
|
2456
|
+
"fileHash": {
|
|
2457
|
+
"type": "string",
|
|
2458
|
+
"description": "File SHA256 hash"
|
|
2459
|
+
},
|
|
2460
|
+
"contentType": {
|
|
2461
|
+
"type": "string",
|
|
2462
|
+
"enum": [
|
|
2463
|
+
"text",
|
|
2464
|
+
"zip",
|
|
2465
|
+
"wts",
|
|
2466
|
+
"wip"
|
|
2467
|
+
],
|
|
2468
|
+
"description": "Content type"
|
|
2469
|
+
},
|
|
2470
|
+
"localCachePath": {
|
|
2471
|
+
"description": "Local cache path",
|
|
2472
|
+
"type": "string"
|
|
2473
|
+
},
|
|
2474
|
+
"downloadedAt": {
|
|
2475
|
+
"description": "Download timestamp",
|
|
2476
|
+
"type": "number"
|
|
2477
|
+
}
|
|
2478
|
+
},
|
|
2479
|
+
"required": [
|
|
2480
|
+
"fileName",
|
|
2481
|
+
"fileSize",
|
|
2482
|
+
"fileHash",
|
|
2483
|
+
"contentType"
|
|
2484
|
+
],
|
|
2485
|
+
"additionalProperties": false
|
|
2486
|
+
},
|
|
2487
|
+
"proof": {
|
|
2488
|
+
"description": "Latest on-chain proof object address (projection of the last entry in proofs; derived at the read boundary for single-value consumers)",
|
|
2489
|
+
"type": "string"
|
|
2490
|
+
},
|
|
2491
|
+
"proofs": {
|
|
2492
|
+
"description": "All on-chain proofs anchored for this message, ascending by publish time (one-to-many; a message may be proofed multiple times)",
|
|
2493
|
+
"type": "array",
|
|
2494
|
+
"items": {
|
|
2495
|
+
"type": "object",
|
|
2496
|
+
"properties": {
|
|
2497
|
+
"address": {
|
|
2498
|
+
"type": "string",
|
|
2499
|
+
"description": "On-chain Proof object address"
|
|
2500
|
+
},
|
|
2501
|
+
"network": {
|
|
2502
|
+
"description": "Network the proof was published on (testnet/mainnet/localnet); absent in legacy local records",
|
|
2503
|
+
"type": "string"
|
|
2504
|
+
},
|
|
2505
|
+
"createdAt": {
|
|
2506
|
+
"type": "number",
|
|
2507
|
+
"description": "Local record time (ms)"
|
|
2508
|
+
}
|
|
2509
|
+
},
|
|
2510
|
+
"required": [
|
|
2511
|
+
"address",
|
|
2512
|
+
"createdAt"
|
|
2513
|
+
],
|
|
2514
|
+
"additionalProperties": false,
|
|
2515
|
+
"description": "One on-chain proof anchored for this message"
|
|
2516
|
+
}
|
|
2517
|
+
},
|
|
2518
|
+
"decryptError": {
|
|
2519
|
+
"description": "Decryption failure reason",
|
|
2520
|
+
"type": "string"
|
|
2521
|
+
},
|
|
2522
|
+
"decryptAttempts": {
|
|
2523
|
+
"description": "Number of decryption attempts",
|
|
2524
|
+
"type": "number"
|
|
2525
|
+
},
|
|
2526
|
+
"lastDecryptAttemptAt": {
|
|
2527
|
+
"description": "Last decryption attempt timestamp",
|
|
2528
|
+
"type": "number"
|
|
2529
|
+
},
|
|
2530
|
+
"viewedAt": {
|
|
2531
|
+
"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')",
|
|
2532
|
+
"type": "number"
|
|
2533
|
+
}
|
|
2534
|
+
},
|
|
2535
|
+
"required": [
|
|
2536
|
+
"messageId",
|
|
2537
|
+
"fromAddress",
|
|
2538
|
+
"toAddress",
|
|
2539
|
+
"plaintextHash",
|
|
2540
|
+
"direction",
|
|
2541
|
+
"status",
|
|
2542
|
+
"msgType",
|
|
2543
|
+
"createdAt"
|
|
2544
|
+
],
|
|
2545
|
+
"additionalProperties": false,
|
|
2546
|
+
"description": "Message object"
|
|
2547
|
+
},
|
|
2548
|
+
"description": "Newly pulled messages (read boundary applied: attachment payloads stripped into descriptors)"
|
|
1815
2549
|
},
|
|
1816
|
-
"
|
|
1817
|
-
"description": "
|
|
2550
|
+
"error": {
|
|
2551
|
+
"description": "Per-account pull error; absent on success. Other accounts are unaffected",
|
|
1818
2552
|
"type": "string"
|
|
1819
|
-
},
|
|
1820
|
-
"downloadedAt": {
|
|
1821
|
-
"description": "Download timestamp",
|
|
1822
|
-
"type": "number"
|
|
1823
2553
|
}
|
|
1824
2554
|
},
|
|
1825
2555
|
"required": [
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1828
|
-
"
|
|
1829
|
-
"contentType"
|
|
2556
|
+
"account",
|
|
2557
|
+
"pulled",
|
|
2558
|
+
"messages"
|
|
1830
2559
|
],
|
|
1831
|
-
"additionalProperties": false
|
|
1832
|
-
|
|
1833
|
-
"proof": {
|
|
1834
|
-
"description": "On-chain proof object address",
|
|
1835
|
-
"type": "string"
|
|
1836
|
-
},
|
|
1837
|
-
"decryptError": {
|
|
1838
|
-
"description": "Decryption failure reason",
|
|
1839
|
-
"type": "string"
|
|
1840
|
-
},
|
|
1841
|
-
"decryptAttempts": {
|
|
1842
|
-
"description": "Number of decryption attempts",
|
|
1843
|
-
"type": "number"
|
|
1844
|
-
},
|
|
1845
|
-
"lastDecryptAttemptAt": {
|
|
1846
|
-
"description": "Last decryption attempt timestamp",
|
|
1847
|
-
"type": "number"
|
|
2560
|
+
"additionalProperties": false,
|
|
2561
|
+
"description": "Per-account fan-out pull result"
|
|
1848
2562
|
},
|
|
1849
|
-
"
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
}
|
|
1853
|
-
},
|
|
1854
|
-
"required": [
|
|
1855
|
-
"messageId",
|
|
1856
|
-
"fromAddress",
|
|
1857
|
-
"toAddress",
|
|
1858
|
-
"plaintextHash",
|
|
1859
|
-
"direction",
|
|
1860
|
-
"status",
|
|
1861
|
-
"msgType",
|
|
1862
|
-
"createdAt"
|
|
1863
|
-
],
|
|
1864
|
-
"additionalProperties": false,
|
|
1865
|
-
"description": "Message object"
|
|
1866
|
-
},
|
|
1867
|
-
"description": "List of messages pulled from server"
|
|
2563
|
+
"description": "Fan-out mode (allAccounts/accounts set): one entry per account with isolated errors"
|
|
2564
|
+
}
|
|
2565
|
+
]
|
|
1868
2566
|
}
|
|
1869
2567
|
},
|
|
1870
2568
|
"required": [
|