@ours.network/notifications 0.1.1

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.
Files changed (107) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +231 -0
  3. package/dist/cli.js +446 -0
  4. package/dist/config.js +104 -0
  5. package/dist/daemon.js +353 -0
  6. package/dist/http.js +31 -0
  7. package/dist/log-store.js +48 -0
  8. package/dist/presence.js +157 -0
  9. package/dist/provision.js +29 -0
  10. package/dist/push.js +6 -0
  11. package/dist/web-push-sender.js +41 -0
  12. package/mufl_code/20E39399689579D5AFA5132C59DEDDD328C3BCA1A74D546F2193B36585DDD283.muflo +0 -0
  13. package/mufl_code/config.mufl +21 -0
  14. package/mufl_code/core/.github/FUNDING.yml +3 -0
  15. package/mufl_code/core/.github/workflows/docs.yml +39 -0
  16. package/mufl_code/core/.github/workflows/tests.yml +66 -0
  17. package/mufl_code/core/COMMERCIAL-LICENCE.md +25 -0
  18. package/mufl_code/core/COMPATIBILITY.md +221 -0
  19. package/mufl_code/core/CONTRIBUTING.md +37 -0
  20. package/mufl_code/core/LICENSE +98 -0
  21. package/mufl_code/core/NOTIFICATIONS_CONTRACT.md +290 -0
  22. package/mufl_code/core/README.md +91 -0
  23. package/mufl_code/core/SECURITY.md +40 -0
  24. package/mufl_code/core/TRADEMARKS.md +24 -0
  25. package/mufl_code/core/a2a_capabilities.mm +449 -0
  26. package/mufl_code/core/a2a_cluster.mm +601 -0
  27. package/mufl_code/core/a2a_control.mm +90 -0
  28. package/mufl_code/core/a2a_messaging.mm +4817 -0
  29. package/mufl_code/core/a2a_monitoring.mm +94 -0
  30. package/mufl_code/core/a2a_notification_integration.mm +144 -0
  31. package/mufl_code/core/a2a_notifications.mm +1127 -0
  32. package/mufl_code/core/a2a_protocol.mm +246 -0
  33. package/mufl_code/core/a2a_versions.mm +801 -0
  34. package/mufl_code/core/config.mufl +29 -0
  35. package/mufl_code/core/docs/.vitepress/config.mts +58 -0
  36. package/mufl_code/core/docs/citations.json +688 -0
  37. package/mufl_code/core/docs/guide/01-vendor-the-core.md +50 -0
  38. package/mufl_code/core/docs/guide/02-configure-and-compile.md +100 -0
  39. package/mufl_code/core/docs/guide/03-wire-the-host.md +154 -0
  40. package/mufl_code/core/docs/guide/04-connect-and-message.md +156 -0
  41. package/mufl_code/core/docs/guide/05-test-your-app.md +75 -0
  42. package/mufl_code/core/docs/guide/index.md +63 -0
  43. package/mufl_code/core/docs/how-it-works/capabilities-and-control.md +77 -0
  44. package/mufl_code/core/docs/how-it-works/cluster.md +65 -0
  45. package/mufl_code/core/docs/how-it-works/identity.md +56 -0
  46. package/mufl_code/core/docs/how-it-works/invites-and-contacts.md +76 -0
  47. package/mufl_code/core/docs/how-it-works/messaging.md +55 -0
  48. package/mufl_code/core/docs/how-it-works/monitoring-and-config.md +72 -0
  49. package/mufl_code/core/docs/how-it-works/overview.md +45 -0
  50. package/mufl_code/core/docs/how-it-works/versioning.md +116 -0
  51. package/mufl_code/core/docs/index.md +27 -0
  52. package/mufl_code/core/docs/package-lock.json +3467 -0
  53. package/mufl_code/core/docs/package.json +15 -0
  54. package/mufl_code/core/docs/reference/contributing.md +26 -0
  55. package/mufl_code/core/docs/reference/glossary.md +108 -0
  56. package/mufl_code/core/docs/reference/implementations.md +23 -0
  57. package/mufl_code/core/docs/reference/modules.md +19 -0
  58. package/mufl_code/core/docs/scripts/check-citations.mjs +36 -0
  59. package/mufl_code/core/docs/scripts/check-denylist.mjs +30 -0
  60. package/mufl_code/core/docs/scripts/gen-llms.mjs +32 -0
  61. package/mufl_code/core/docs/workflows/cluster.md +89 -0
  62. package/mufl_code/core/docs/workflows/contact-exchange.md +60 -0
  63. package/mufl_code/core/docs/workflows/contact-restore.md +60 -0
  64. package/mufl_code/core/docs/workflows/control-verbs.md +70 -0
  65. package/mufl_code/core/docs/workflows/index.md +57 -0
  66. package/mufl_code/core/docs/workflows/introductions.md +60 -0
  67. package/mufl_code/core/docs/workflows/messaging.md +75 -0
  68. package/mufl_code/core/docs/workflows/monitoring.md +84 -0
  69. package/mufl_code/core/docs/workflows/notifications.md +109 -0
  70. package/mufl_code/core/release-notes/0.1.md +60 -0
  71. package/mufl_code/core/release-notes/0.3.md +22 -0
  72. package/mufl_code/core/release-notes/0.4.md +97 -0
  73. package/mufl_code/core/tests/README.md +83 -0
  74. package/mufl_code/core/tests/compat/README.md +82 -0
  75. package/mufl_code/core/tests/compat/compat.mjs +245 -0
  76. package/mufl_code/core/tests/compat/compat_peer.mjs +146 -0
  77. package/mufl_code/core/tests/compat/run_compat.sh +96 -0
  78. package/mufl_code/core/tests/corpus.mjs +139 -0
  79. package/mufl_code/core/tests/corpus_actor.mu +242 -0
  80. package/mufl_code/core/tests/fatcompile_actor.mu +52 -0
  81. package/mufl_code/core/tests/mig.mjs +805 -0
  82. package/mufl_code/core/tests/mig_actor.mu +518 -0
  83. package/mufl_code/core/tests/migapp.mjs +431 -0
  84. package/mufl_code/core/tests/migapp_actor.mu +294 -0
  85. package/mufl_code/core/tests/mufl_semantics/run.sh +69 -0
  86. package/mufl_code/core/tests/mufl_semantics/t11_three_version.mufl +47 -0
  87. package/mufl_code/core/tests/mufl_semantics/t2_extra_fields.mufl +11 -0
  88. package/mufl_code/core/tests/mufl_semantics/t7_runtime.mufl +30 -0
  89. package/mufl_code/core/tests/mufl_semantics/t9_passthrough.mufl +19 -0
  90. package/mufl_code/core/tests/mufl_semantics/t_str_order.mufl +19 -0
  91. package/mufl_code/core/tests/notif.mjs +755 -0
  92. package/mufl_code/core/tests/notif_actor.mu +450 -0
  93. package/mufl_code/core/tests/protocol_container.mm +18 -0
  94. package/mufl_code/core/tests/run.sh +65 -0
  95. package/mufl_code/core/tests/run_corpus.sh +51 -0
  96. package/mufl_code/core/tests/run_fatcompile.sh +40 -0
  97. package/mufl_code/core/tests/run_mig.sh +51 -0
  98. package/mufl_code/core/tests/run_migapp.sh +51 -0
  99. package/mufl_code/core/tests/run_notif.sh +57 -0
  100. package/mufl_code/core/tests/test.mjs +750 -0
  101. package/mufl_code/core/tests/test_actor.mu +564 -0
  102. package/mufl_code/core/tests/test_common.mjs +93 -0
  103. package/mufl_code/core/version.mm +24 -0
  104. package/mufl_code/packet.mu +170 -0
  105. package/mufl_code/protocol_container.mm +18 -0
  106. package/package.json +43 -0
  107. package/scripts/gen-vapid.mjs +16 -0
@@ -0,0 +1,688 @@
1
+ {
2
+ "how-it-works/overview.md": [
3
+ {
4
+ "file": "README.md",
5
+ "symbol": "config_load #\"core\""
6
+ },
7
+ {
8
+ "file": "README.md",
9
+ "symbol": "identical wire"
10
+ },
11
+ {
12
+ "file": "README.md",
13
+ "symbol": "git submodule add"
14
+ },
15
+ {
16
+ "file": "README.md",
17
+ "symbol": "a2a_capabilities.mm"
18
+ }
19
+ ],
20
+ "how-it-works/identity.md": [
21
+ {
22
+ "file": "a2a_protocol.mm",
23
+ "symbol": "verify_peer_delegation"
24
+ },
25
+ {
26
+ "file": "a2a_protocol.mm",
27
+ "symbol": "verify_cp_attestation"
28
+ },
29
+ {
30
+ "file": "a2a_protocol.mm",
31
+ "symbol": "verify_root_cp_binding"
32
+ },
33
+ {
34
+ "file": "a2a_protocol.mm",
35
+ "symbol": "delegation_cert_t"
36
+ }
37
+ ],
38
+ "how-it-works/invites-and-contacts.md": [
39
+ {
40
+ "file": "a2a_messaging.mm",
41
+ "symbol": "generate_invite"
42
+ },
43
+ {
44
+ "file": "a2a_messaging.mm",
45
+ "symbol": "add_contact"
46
+ },
47
+ {
48
+ "file": "a2a_messaging.mm",
49
+ "symbol": "already-redeemed"
50
+ },
51
+ {
52
+ "file": "a2a_messaging.mm",
53
+ "symbol": "pending_redemptions"
54
+ },
55
+ {
56
+ "file": "a2a_messaging.mm",
57
+ "symbol": "ingest_connect_descriptor"
58
+ },
59
+ {
60
+ "file": "tests/README.md",
61
+ "symbol": "T1 | happy-flat"
62
+ },
63
+ {
64
+ "file": "tests/README.md",
65
+ "symbol": "T3 | single-use"
66
+ }
67
+ ],
68
+ "how-it-works/messaging.md": [
69
+ {
70
+ "file": "a2a_messaging.mm",
71
+ "symbol": "send_message"
72
+ },
73
+ {
74
+ "file": "a2a_messaging.mm",
75
+ "symbol": "send_file"
76
+ },
77
+ {
78
+ "file": "a2a_messaging.mm",
79
+ "symbol": "receive_message_tx"
80
+ },
81
+ {
82
+ "file": "a2a_messaging.mm",
83
+ "symbol": "receive_file_tx"
84
+ },
85
+ {
86
+ "file": "a2a_messaging.mm",
87
+ "symbol": "DEGRADED contact"
88
+ },
89
+ {
90
+ "file": "README.md",
91
+ "symbol": "Contact and messaging transactions"
92
+ }
93
+ ],
94
+ "how-it-works/capabilities-and-control.md": [
95
+ {
96
+ "file": "a2a_capabilities.mm",
97
+ "symbol": "control_envelope_t"
98
+ },
99
+ {
100
+ "file": "a2a_capabilities.mm",
101
+ "symbol": "cap_configuration"
102
+ },
103
+ {
104
+ "file": "a2a_capabilities.mm",
105
+ "symbol": "cap_monitoring"
106
+ },
107
+ {
108
+ "file": "a2a_capabilities.mm",
109
+ "symbol": "cap_connect"
110
+ },
111
+ {
112
+ "file": "a2a_capabilities.mm",
113
+ "symbol": "cap_cluster"
114
+ },
115
+ {
116
+ "file": "a2a_capabilities.mm",
117
+ "symbol": "dispatch"
118
+ },
119
+ {
120
+ "file": "a2a_control.mm",
121
+ "symbol": "send_control"
122
+ },
123
+ {
124
+ "file": "a2a_control.mm",
125
+ "symbol": "control_message"
126
+ },
127
+ {
128
+ "file": "a2a_control.mm",
129
+ "symbol": "on_control_received"
130
+ }
131
+ ],
132
+ "how-it-works/cluster.md": [
133
+ {
134
+ "file": "a2a_cluster.mm",
135
+ "symbol": "cluster_members"
136
+ },
137
+ {
138
+ "file": "a2a_cluster.mm",
139
+ "symbol": "member_t"
140
+ },
141
+ {
142
+ "file": "a2a_cluster.mm",
143
+ "symbol": "cluster_handler"
144
+ },
145
+ {
146
+ "file": "a2a_cluster.mm",
147
+ "symbol": "register_provisioned_child"
148
+ },
149
+ {
150
+ "file": "a2a_cluster.mm",
151
+ "symbol": "confirm_child_destroyed"
152
+ },
153
+ {
154
+ "file": "a2a_cluster.mm",
155
+ "symbol": "register_child_invite"
156
+ },
157
+ {
158
+ "file": "a2a_cluster.mm",
159
+ "symbol": "confirm_child_monitoring"
160
+ },
161
+ {
162
+ "file": "a2a_cluster.mm",
163
+ "symbol": "reconcile"
164
+ },
165
+ {
166
+ "file": "a2a_capabilities.mm",
167
+ "symbol": "cap_cluster"
168
+ }
169
+ ],
170
+ "how-it-works/monitoring-and-config.md": [
171
+ {
172
+ "file": "a2a_messaging.mm",
173
+ "symbol": "monitoring_proxy"
174
+ },
175
+ {
176
+ "file": "a2a_messaging.mm",
177
+ "symbol": "monitor_copy_actions"
178
+ },
179
+ {
180
+ "file": "a2a_messaging.mm",
181
+ "symbol": "set_proxy_pending"
182
+ },
183
+ {
184
+ "file": "a2a_messaging.mm",
185
+ "symbol": "verify_proxy_code"
186
+ },
187
+ {
188
+ "file": "a2a_messaging.mm",
189
+ "symbol": "authorize_control"
190
+ },
191
+ {
192
+ "file": "a2a_messaging.mm",
193
+ "symbol": "set_app_config"
194
+ },
195
+ {
196
+ "file": "a2a_monitoring.mm",
197
+ "symbol": "receive_monitoring_copy"
198
+ },
199
+ {
200
+ "file": "a2a_monitoring.mm",
201
+ "symbol": "on_monitoring_copy_received"
202
+ }
203
+ ],
204
+ "workflows/index.md": [
205
+ {
206
+ "file": "a2a_messaging.mm",
207
+ "symbol": "validate_origin_or_abort"
208
+ },
209
+ {
210
+ "file": "a2a_messaging.mm",
211
+ "symbol": "ADAPT broker"
212
+ },
213
+ {
214
+ "file": "a2a_messaging.mm",
215
+ "symbol": "transaction::action::send"
216
+ },
217
+ {
218
+ "file": "a2a_messaging.mm",
219
+ "symbol": "send_encrypted_tx"
220
+ },
221
+ {
222
+ "file": "a2a_messaging.mm",
223
+ "symbol": "_notify_agent"
224
+ },
225
+ {
226
+ "file": "a2a_messaging.mm",
227
+ "symbol": "_save_state"
228
+ }
229
+ ],
230
+ "workflows/contact-exchange.md": [
231
+ {
232
+ "file": "a2a_messaging.mm",
233
+ "symbol": "mint_eph_invite"
234
+ },
235
+ {
236
+ "file": "a2a_messaging.mm",
237
+ "symbol": "submit_invite_response_tx"
238
+ },
239
+ {
240
+ "file": "a2a_messaging.mm",
241
+ "symbol": "handle_submit_invite_response"
242
+ },
243
+ {
244
+ "file": "a2a_messaging.mm",
245
+ "symbol": "handle_complete_invite"
246
+ },
247
+ {
248
+ "file": "a2a_messaging.mm",
249
+ "symbol": "pending_redemption_keys"
250
+ },
251
+ {
252
+ "file": "a2a_messaging.mm",
253
+ "symbol": "already-redeemed"
254
+ },
255
+ {
256
+ "file": "a2a_messaging.mm",
257
+ "symbol": "verify_identity_bundle"
258
+ }
259
+ ],
260
+ "workflows/messaging.md": [
261
+ {
262
+ "file": "a2a_messaging.mm",
263
+ "symbol": "send_message"
264
+ },
265
+ {
266
+ "file": "a2a_messaging.mm",
267
+ "symbol": "receive_message_tx"
268
+ },
269
+ {
270
+ "file": "a2a_messaging.mm",
271
+ "symbol": "handle_receive_message"
272
+ },
273
+ {
274
+ "file": "a2a_messaging.mm",
275
+ "symbol": "handle_receive_file"
276
+ },
277
+ {
278
+ "file": "a2a_messaging.mm",
279
+ "symbol": "monitor_copy_actions"
280
+ },
281
+ {
282
+ "file": "a2a_messaging.mm",
283
+ "symbol": "file_monitor_summary"
284
+ },
285
+ {
286
+ "file": "a2a_messaging.mm",
287
+ "symbol": "deferred_msgs_cap"
288
+ },
289
+ {
290
+ "file": "a2a_messaging.mm",
291
+ "symbol": "on_message_received"
292
+ }
293
+ ],
294
+ "workflows/contact-restore.md": [
295
+ {
296
+ "file": "a2a_messaging.mm",
297
+ "symbol": "begin_contact_restore"
298
+ },
299
+ {
300
+ "file": "a2a_messaging.mm",
301
+ "symbol": "request_contact_restore_tx"
302
+ },
303
+ {
304
+ "file": "a2a_messaging.mm",
305
+ "symbol": "handle_request_contact_restore"
306
+ },
307
+ {
308
+ "file": "a2a_messaging.mm",
309
+ "symbol": "handle_submit_restore_response"
310
+ },
311
+ {
312
+ "file": "a2a_messaging.mm",
313
+ "symbol": "handle_complete_restore"
314
+ },
315
+ {
316
+ "file": "a2a_messaging.mm",
317
+ "symbol": "flush_deferred"
318
+ },
319
+ {
320
+ "file": "a2a_messaging.mm",
321
+ "symbol": "restore_degraded_contacts"
322
+ },
323
+ {
324
+ "file": "a2a_messaging.mm",
325
+ "symbol": "restore_max_attempts"
326
+ },
327
+ {
328
+ "file": "a2a_messaging.mm",
329
+ "symbol": "list_degraded_contacts"
330
+ }
331
+ ],
332
+ "workflows/monitoring.md": [
333
+ {
334
+ "file": "a2a_messaging.mm",
335
+ "symbol": "set_proxy_pending"
336
+ },
337
+ {
338
+ "file": "a2a_messaging.mm",
339
+ "symbol": "do_verify_proxy_code"
340
+ },
341
+ {
342
+ "file": "a2a_messaging.mm",
343
+ "symbol": "proxy_code_max_age_seconds"
344
+ },
345
+ {
346
+ "file": "a2a_messaging.mm",
347
+ "symbol": "disable_monitoring"
348
+ },
349
+ {
350
+ "file": "a2a_messaging.mm",
351
+ "symbol": "receive_monitoring_copy_tx"
352
+ },
353
+ {
354
+ "file": "a2a_messaging.mm",
355
+ "symbol": "host_clear_child_monitoring"
356
+ },
357
+ {
358
+ "file": "a2a_cluster.mm",
359
+ "symbol": "monitoring_handler"
360
+ },
361
+ {
362
+ "file": "a2a_monitoring.mm",
363
+ "symbol": "handle_receive_monitoring_copy"
364
+ },
365
+ {
366
+ "file": "a2a_monitoring.mm",
367
+ "symbol": "on_monitoring_copy_received"
368
+ }
369
+ ],
370
+ "workflows/control-verbs.md": [
371
+ {
372
+ "file": "a2a_control.mm",
373
+ "symbol": "send_control"
374
+ },
375
+ {
376
+ "file": "a2a_control.mm",
377
+ "symbol": "control_message_tx"
378
+ },
379
+ {
380
+ "file": "a2a_control.mm",
381
+ "symbol": "on_control_received"
382
+ },
383
+ {
384
+ "file": "a2a_capabilities.mm",
385
+ "symbol": "dispatch"
386
+ },
387
+ {
388
+ "file": "a2a_capabilities.mm",
389
+ "symbol": "control_auth_class"
390
+ },
391
+ {
392
+ "file": "a2a_capabilities.mm",
393
+ "symbol": "response_envelope_t"
394
+ },
395
+ {
396
+ "file": "a2a_capabilities.mm",
397
+ "symbol": "deny_action"
398
+ },
399
+ {
400
+ "file": "a2a_messaging.mm",
401
+ "symbol": "authorize_control"
402
+ },
403
+ {
404
+ "file": "a2a_messaging.mm",
405
+ "symbol": "handle_set_app_config"
406
+ },
407
+ {
408
+ "file": "a2a_messaging.mm",
409
+ "symbol": "require_bound_cp_or_abort"
410
+ }
411
+ ],
412
+ "workflows/introductions.md": [
413
+ {
414
+ "file": "a2a_messaging.mm",
415
+ "symbol": "introduce_to_group"
416
+ },
417
+ {
418
+ "file": "a2a_messaging.mm",
419
+ "symbol": "emit_pair"
420
+ },
421
+ {
422
+ "file": "a2a_messaging.mm",
423
+ "symbol": "handle_ingest_connect_descriptor"
424
+ },
425
+ {
426
+ "file": "a2a_messaging.mm",
427
+ "symbol": "require_cluster_cp_or_abort"
428
+ },
429
+ {
430
+ "file": "a2a_messaging.mm",
431
+ "symbol": "introduce_name"
432
+ },
433
+ {
434
+ "file": "a2a_capabilities.mm",
435
+ "symbol": "self_supports"
436
+ }
437
+ ],
438
+ "workflows/cluster.md": [
439
+ {
440
+ "file": "a2a_cluster.mm",
441
+ "symbol": "cluster_handler"
442
+ },
443
+ {
444
+ "file": "a2a_cluster.mm",
445
+ "symbol": "pending_create_names"
446
+ },
447
+ {
448
+ "file": "a2a_cluster.mm",
449
+ "symbol": "register_provisioned_child"
450
+ },
451
+ {
452
+ "file": "a2a_cluster.mm",
453
+ "symbol": "sweep_and_settle"
454
+ },
455
+ {
456
+ "file": "a2a_cluster.mm",
457
+ "symbol": "reconcile"
458
+ },
459
+ {
460
+ "file": "a2a_cluster.mm",
461
+ "symbol": "confirm_child_monitoring"
462
+ },
463
+ {
464
+ "file": "a2a_cluster.mm",
465
+ "symbol": "_push_roster_actions"
466
+ },
467
+ {
468
+ "file": "a2a_cluster.mm",
469
+ "symbol": "ev_mint_invite"
470
+ },
471
+ {
472
+ "file": "a2a_messaging.mm",
473
+ "symbol": "relay_enroll_delegated_node"
474
+ },
475
+ {
476
+ "file": "a2a_messaging.mm",
477
+ "symbol": "handle_enroll_delegated_node"
478
+ },
479
+ {
480
+ "file": "a2a_messaging.mm",
481
+ "symbol": "host_register_monitoring_cp"
482
+ },
483
+ {
484
+ "file": "a2a_messaging.mm",
485
+ "symbol": "bound_cp_cid"
486
+ },
487
+ {
488
+ "file": "a2a_monitoring.mm",
489
+ "symbol": "on_roster_update"
490
+ }
491
+ ],
492
+ "guide/index.md": [
493
+ {
494
+ "file": "README.md",
495
+ "symbol": "compiles it into its own packet"
496
+ },
497
+ {
498
+ "file": "README.md",
499
+ "symbol": "config_load #\"core\""
500
+ }
501
+ ],
502
+ "guide/01-vendor-the-core.md": [
503
+ {
504
+ "file": "README.md",
505
+ "symbol": "git submodule add"
506
+ }
507
+ ],
508
+ "guide/02-configure-and-compile.md": [
509
+ {
510
+ "file": "config.mufl",
511
+ "symbol": "$exports"
512
+ },
513
+ {
514
+ "file": "README.md",
515
+ "symbol": "config_load #\"core\""
516
+ }
517
+ ],
518
+ "guide/03-wire-the-host.md": [
519
+ {
520
+ "file": "tests/test_actor.mu",
521
+ "symbol": "a2a_messaging::init"
522
+ },
523
+ {
524
+ "file": "tests/test_actor.mu",
525
+ "symbol": "protocol_container"
526
+ },
527
+ {
528
+ "file": "tests/test_actor.mu",
529
+ "symbol": "export_core_state"
530
+ },
531
+ {
532
+ "file": "a2a_messaging.mm",
533
+ "symbol": "::actor::receive_message"
534
+ },
535
+ {
536
+ "file": "a2a_messaging.mm",
537
+ "symbol": "handle_receive_message"
538
+ }
539
+ ],
540
+ "guide/04-connect-and-message.md": [
541
+ {
542
+ "file": "tests/test.mjs",
543
+ "symbol": "generate_invite"
544
+ },
545
+ {
546
+ "file": "tests/test.mjs",
547
+ "symbol": "add_contact"
548
+ },
549
+ {
550
+ "file": "tests/test.mjs",
551
+ "symbol": "send_message"
552
+ },
553
+ {
554
+ "file": "tests/test_actor.mu",
555
+ "symbol": "receive_message"
556
+ }
557
+ ],
558
+ "guide/05-test-your-app.md": [
559
+ {
560
+ "file": "tests/run.sh",
561
+ "symbol": "OURS_SDK_NODE_MODULES"
562
+ },
563
+ {
564
+ "file": "tests/README.md",
565
+ "symbol": "SCORECARD"
566
+ },
567
+ {
568
+ "file": "tests/README.md",
569
+ "symbol": "qa_*"
570
+ }
571
+ ],
572
+ "how-it-works/versioning.md": [
573
+ {
574
+ "file": "version.mm",
575
+ "symbol": "version_t"
576
+ },
577
+ {
578
+ "file": "version.mm",
579
+ "symbol": "get_core_version"
580
+ },
581
+ {
582
+ "file": "version.mm",
583
+ "symbol": "core_version"
584
+ },
585
+ {
586
+ "file": "version.mm",
587
+ "symbol": "MUST be updated every time we update ANY code"
588
+ },
589
+ {
590
+ "file": "README.md",
591
+ "symbol": "get_version"
592
+ }
593
+ ],
594
+ "reference/modules.md": [
595
+ {
596
+ "file": "a2a_capabilities.mm",
597
+ "symbol": "Shared ours capabilities library"
598
+ },
599
+ {
600
+ "file": "a2a_protocol.mm",
601
+ "symbol": "Shared ours protocol library"
602
+ },
603
+ {
604
+ "file": "a2a_messaging.mm",
605
+ "symbol": "Shared ours messaging library"
606
+ },
607
+ {
608
+ "file": "a2a_cluster.mm",
609
+ "symbol": "Shared ours cluster library"
610
+ },
611
+ {
612
+ "file": "a2a_monitoring.mm",
613
+ "symbol": "Shared ours monitoring library"
614
+ },
615
+ {
616
+ "file": "a2a_control.mm",
617
+ "symbol": "Shared ours control-plane library"
618
+ },
619
+ {
620
+ "file": "version.mm",
621
+ "symbol": "get_core_version"
622
+ },
623
+ {
624
+ "file": "config.mufl",
625
+ "symbol": "$exports"
626
+ }
627
+ ],
628
+ "reference/implementations.md": [
629
+ {
630
+ "file": "README.md",
631
+ "symbol": "MCP agent server"
632
+ },
633
+ {
634
+ "file": "README.md",
635
+ "symbol": "Telegram connector"
636
+ }
637
+ ],
638
+ "reference/glossary.md": [
639
+ {
640
+ "file": "README.md",
641
+ "symbol": "identical wire"
642
+ }
643
+ ],
644
+ "reference/contributing.md": [
645
+ {
646
+ "file": "CONTRIBUTING.md",
647
+ "symbol": "CLA"
648
+ }
649
+ ],
650
+ "workflows/notifications.md": [
651
+ {
652
+ "file": "a2a_notifications.mm",
653
+ "symbol": "notify_register"
654
+ },
655
+ {
656
+ "file": "a2a_notifications.mm",
657
+ "symbol": "notify_issue_tokens"
658
+ },
659
+ {
660
+ "file": "a2a_notifications.mm",
661
+ "symbol": "export_notify_address"
662
+ },
663
+ {
664
+ "file": "a2a_notifications.mm",
665
+ "symbol": "send_notification"
666
+ },
667
+ {
668
+ "file": "a2a_notifications.mm",
669
+ "symbol": "post_notification"
670
+ },
671
+ {
672
+ "file": "a2a_notifications.mm",
673
+ "symbol": "notify_set_sender_muted"
674
+ },
675
+ {
676
+ "file": "a2a_notifications.mm",
677
+ "symbol": "notify_rotate_token"
678
+ },
679
+ {
680
+ "file": "a2a_notifications.mm",
681
+ "symbol": "notify_revoke_contact_tokens"
682
+ },
683
+ {
684
+ "file": "a2a_notifications.mm",
685
+ "symbol": "notify_mark_read"
686
+ }
687
+ ]
688
+ }