@wowok/agent-mcp 2.6.1 → 2.6.4

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 (246) hide show
  1. package/dist/customer/customer-advice.d.ts +31 -0
  2. package/dist/customer/customer-advice.js +129 -0
  3. package/dist/customer/index.d.ts +2 -0
  4. package/dist/customer/index.js +2 -0
  5. package/dist/customer/info-puzzle.d.ts +9 -2
  6. package/dist/customer/info-puzzle.js +34 -7
  7. package/dist/customer/order-monitor.d.ts +2 -0
  8. package/dist/customer/order-monitor.js +3 -2
  9. package/dist/customer/post-purchase.d.ts +2 -0
  10. package/dist/customer/post-purchase.js +6 -5
  11. package/dist/customer/preorder-compare.d.ts +24 -0
  12. package/dist/customer/preorder-compare.js +34 -0
  13. package/dist/customer/reminder-system.d.ts +2 -0
  14. package/dist/customer/reminder-system.js +2 -1
  15. package/dist/customer/risk-assessment.js +30 -7
  16. package/dist/customer/types.d.ts +7 -0
  17. package/dist/examples/arbitration-dispute-create.json +41 -0
  18. package/dist/examples/arbitration-vote-weighted.json +35 -0
  19. package/dist/examples/arbitration-voting-guard-add.json +38 -0
  20. package/dist/examples/demand-present-service.json +33 -0
  21. package/dist/examples/gen-passport-verify-guard.json +48 -0
  22. package/dist/examples/guard-template-balance-check.json +59 -0
  23. package/dist/examples/guard-template-time-lock.json +60 -0
  24. package/dist/examples/insurance-guard-claim-timelock.json +75 -0
  25. package/dist/examples/insurance-guard-withdraw-allocation.json +96 -0
  26. package/dist/examples/insurance-machine-create-publish.json +75 -0
  27. package/dist/examples/insurance-service-allocators-publish.json +56 -0
  28. package/dist/examples/machine-multisig-threshold.json +86 -0
  29. package/dist/examples/machine-template-7node-rental.json +119 -0
  30. package/dist/examples/payment-scenario-bound.json +45 -0
  31. package/dist/examples/rental-ziroom-machine-create.json +149 -0
  32. package/dist/examples/rental-ziroom-permission-create.json +42 -0
  33. package/dist/examples/rental-ziroom-service-create.json +89 -0
  34. package/dist/examples/retail-adv-guard-customer-win-create.json +80 -0
  35. package/dist/examples/retail-adv-guard-messenger-proof-create.json +65 -0
  36. package/dist/examples/retail-adv-guard-reward-timeout-create.json +92 -0
  37. package/dist/examples/retail-adv-reward-guard-add.json +51 -0
  38. package/dist/examples/retail-myshop-allocation-activate.json +55 -0
  39. package/dist/examples/retail-myshop-arbitration-create.json +40 -0
  40. package/dist/examples/retail-myshop-contact-create.json +43 -0
  41. package/dist/examples/retail-myshop-order-create.json +56 -0
  42. package/dist/examples/retail-myshop-progress-operate.json +38 -0
  43. package/dist/examples/retail-myshop-reward-create.json +35 -0
  44. package/dist/examples/retail-myshop-service-create.json +88 -0
  45. package/dist/examples/service-discount-issue.json +46 -0
  46. package/dist/examples/threebody-guard-create.json +56 -0
  47. package/dist/examples/threebody-machine-create.json +72 -0
  48. package/dist/examples/threebody-permission-create.json +38 -0
  49. package/dist/examples/threebody-service-allocators.json +49 -0
  50. package/dist/examples/travel-guard-time-lock.json +69 -0
  51. package/dist/examples/travel-guard-weather-oracle.json +70 -0
  52. package/dist/examples/travel-machine-create.json +136 -0
  53. package/dist/examples/travel-repository-create.json +47 -0
  54. package/dist/examples/travel-service-create.json +102 -0
  55. package/dist/examples/travel-treasury-create.json +34 -0
  56. package/dist/examples/treasury-deposit.json +37 -0
  57. package/dist/examples/treasury-withdraw.json +38 -0
  58. package/dist/extensions/business-modules.d.ts +49 -0
  59. package/dist/extensions/business-modules.js +287 -0
  60. package/dist/extensions/capability-manifest.js +216 -29
  61. package/dist/extensions/constraint-registry.js +21 -19
  62. package/dist/extensions/metric-registry.js +14 -14
  63. package/dist/extensions/mode-evaluator.js +16 -16
  64. package/dist/extensions/modes.js +141 -49
  65. package/dist/extensions/registry.d.ts +16 -9
  66. package/dist/extensions/registry.js +132 -44
  67. package/dist/extensions/types.d.ts +2 -0
  68. package/dist/index.js +50 -0
  69. package/dist/knowledge/deployment-scanner.js +1 -1
  70. package/dist/knowledge/fund-layer.d.ts +138 -0
  71. package/dist/knowledge/fund-layer.js +969 -0
  72. package/dist/knowledge/guard-render.d.ts +57 -0
  73. package/dist/knowledge/guard-render.js +700 -0
  74. package/dist/knowledge/guard-submission-prompt.d.ts +31 -0
  75. package/dist/knowledge/guard-submission-prompt.js +171 -0
  76. package/dist/knowledge/guard-templates.d.ts +10 -0
  77. package/dist/knowledge/guard-templates.js +50 -0
  78. package/dist/knowledge/index.d.ts +2 -2
  79. package/dist/knowledge/index.js +2 -2
  80. package/dist/knowledge/machine-ledger.js +1 -1
  81. package/dist/knowledge/machine-render.d.ts +41 -0
  82. package/dist/knowledge/machine-render.js +565 -0
  83. package/dist/knowledge/machine-risk.js +4 -1
  84. package/dist/knowledge/machine-templates.js +4 -4
  85. package/dist/knowledge/progress-context.js +1 -1
  86. package/dist/knowledge/progress-ledger.js +3 -3
  87. package/dist/knowledge/progress-templates.js +1 -1
  88. package/dist/knowledge/progress-translation.js +1 -1
  89. package/dist/knowledge/reward-confirm.js +2 -2
  90. package/dist/knowledge/reward-puzzle.js +1 -1
  91. package/dist/knowledge/reward-risk.js +9 -9
  92. package/dist/knowledge/reward-templates.js +2 -2
  93. package/dist/knowledge/safety-rules.d.ts +83 -1
  94. package/dist/knowledge/safety-rules.js +166 -2
  95. package/dist/knowledge/scenario-modes.d.ts +1 -1
  96. package/dist/knowledge/scenario-modes.js +13 -11
  97. package/dist/knowledge/service-confirm.d.ts +1 -1
  98. package/dist/knowledge/service-confirm.js +3 -3
  99. package/dist/knowledge/service-context.js +1 -1
  100. package/dist/knowledge/service-ledger.js +1 -1
  101. package/dist/knowledge/service-risk.d.ts +1 -1
  102. package/dist/knowledge/service-risk.js +3 -3
  103. package/dist/knowledge/service-templates.js +2 -2
  104. package/dist/knowledge/service-translation.d.ts +1 -1
  105. package/dist/knowledge/service-translation.js +7 -7
  106. package/dist/knowledge/template-registry.d.ts +48 -0
  107. package/dist/knowledge/template-registry.js +341 -0
  108. package/dist/knowledge/tool-constraints.js +6 -6
  109. package/dist/knowledge/tools-reference.js +11 -8
  110. package/dist/participation/merchant-interest.d.ts +32 -0
  111. package/dist/participation/merchant-interest.js +100 -0
  112. package/dist/participation/radar-core.d.ts +104 -0
  113. package/dist/participation/radar-core.js +269 -0
  114. package/dist/project/context-assembly.js +8 -0
  115. package/dist/project/deployment-bridge.js +6 -5
  116. package/dist/project/deployment-doc.js +5 -5
  117. package/dist/project/edit-planner.d.ts +123 -0
  118. package/dist/project/edit-planner.js +1342 -0
  119. package/dist/project/evaluation.d.ts +36 -0
  120. package/dist/project/evaluation.js +734 -68
  121. package/dist/project/game-theory.d.ts +43 -0
  122. package/dist/project/game-theory.js +177 -0
  123. package/dist/project/graph-builder.js +7 -1
  124. package/dist/project/handlers.d.ts +137 -2
  125. package/dist/project/handlers.js +423 -51
  126. package/dist/project/intent-analyzer.d.ts +71 -0
  127. package/dist/project/intent-analyzer.js +149 -0
  128. package/dist/project/machine-nodes.d.ts +2 -0
  129. package/dist/project/machine-nodes.js +36 -0
  130. package/dist/project/merchant-guide.d.ts +165 -0
  131. package/dist/project/merchant-guide.js +264 -0
  132. package/dist/project/mode-actions.d.ts +199 -0
  133. package/dist/project/mode-actions.js +309 -0
  134. package/dist/project/participation-radar.d.ts +18 -0
  135. package/dist/project/participation-radar.js +428 -0
  136. package/dist/project/pipeline-actions.d.ts +101 -0
  137. package/dist/project/pipeline-actions.js +109 -0
  138. package/dist/project/semantic-graph.d.ts +95 -0
  139. package/dist/project/semantic-graph.js +245 -0
  140. package/dist/project/stage-gate.js +4 -4
  141. package/dist/schema/call/allocation.d.ts +11 -11
  142. package/dist/schema/call/allocation.js +13 -3
  143. package/dist/schema/call/arbitration.d.ts +21 -21
  144. package/dist/schema/call/arbitration.js +30 -9
  145. package/dist/schema/call/base.d.ts +2 -2
  146. package/dist/schema/call/base.js +1 -1
  147. package/dist/schema/call/bridge.d.ts +127 -127
  148. package/dist/schema/call/bridge.js +12 -12
  149. package/dist/schema/call/contact.d.ts +3 -3
  150. package/dist/schema/call/contact.js +2 -2
  151. package/dist/schema/call/demand.d.ts +3 -3
  152. package/dist/schema/call/demand.js +2 -2
  153. package/dist/schema/call/guard.d.ts +11 -11
  154. package/dist/schema/call/guard.js +2 -2
  155. package/dist/schema/call/machine.d.ts +2072 -679
  156. package/dist/schema/call/machine.js +51 -5
  157. package/dist/schema/call/order.d.ts +7 -7
  158. package/dist/schema/call/order.js +3 -6
  159. package/dist/schema/call/payment.d.ts +3 -3
  160. package/dist/schema/call/permission.d.ts +3 -3
  161. package/dist/schema/call/permission.js +2 -2
  162. package/dist/schema/call/personal.d.ts +337 -3
  163. package/dist/schema/call/personal.js +10 -0
  164. package/dist/schema/call/progress.d.ts +177 -9
  165. package/dist/schema/call/progress.js +7 -3
  166. package/dist/schema/call/proof.d.ts +6 -6
  167. package/dist/schema/call/repository.d.ts +3 -3
  168. package/dist/schema/call/repository.js +2 -2
  169. package/dist/schema/call/reward.d.ts +57 -57
  170. package/dist/schema/call/reward.js +3 -3
  171. package/dist/schema/call/semantic.js +48 -2
  172. package/dist/schema/call/service.d.ts +285 -113
  173. package/dist/schema/call/service.js +92 -28
  174. package/dist/schema/call/treasury.d.ts +57 -57
  175. package/dist/schema/call/treasury.js +3 -3
  176. package/dist/schema/common/index.d.ts +2 -0
  177. package/dist/schema/common/index.js +46 -10
  178. package/dist/schema/local/index.js +5 -1
  179. package/dist/schema/messenger/index.js +4 -1
  180. package/dist/schema/operations.d.ts +1318 -317
  181. package/dist/schema/operations.js +76 -7
  182. package/dist/schema/project/index.d.ts +5662 -164
  183. package/dist/schema/project/index.js +1136 -5
  184. package/dist/schema/query/index.d.ts +580 -19
  185. package/dist/schema/query/index.js +88 -36
  186. package/dist/schema/schema-query/index.d.ts +59 -3
  187. package/dist/schema/schema-query/index.js +45 -6
  188. package/dist/schema/trust/index.d.ts +1012 -6
  189. package/dist/schema/trust/index.js +212 -11
  190. package/dist/schema/utils/node-parser.js +13 -0
  191. package/dist/schema/utils/object-type-utils.d.ts +12 -0
  192. package/dist/schema/utils/object-type-utils.js +35 -0
  193. package/dist/schema/utils/permission-machine-check.d.ts +49 -0
  194. package/dist/schema/utils/permission-machine-check.js +121 -0
  195. package/dist/schema/utils/skills-recommendation.d.ts +2 -0
  196. package/dist/schema/utils/skills-recommendation.js +77 -0
  197. package/dist/schema-query/index.d.ts +17 -1
  198. package/dist/schema-query/index.js +359 -3
  199. package/dist/schemas/account_operation.schema.json +1 -1
  200. package/dist/schemas/bridge_operation.schema.json +14 -7
  201. package/dist/schemas/guard2file.schema.json +2 -0
  202. package/dist/schemas/index.json +1 -1
  203. package/dist/schemas/machineNode2file.schema.json +2 -0
  204. package/dist/schemas/messenger_operation.schema.json +1 -1
  205. package/dist/schemas/onchain_events.output.json +1 -1
  206. package/dist/schemas/onchain_operations.output.json +2820 -0
  207. package/dist/schemas/onchain_operations.schema.json +255 -65
  208. package/dist/schemas/onchain_operations_allocation.schema.json +7 -6
  209. package/dist/schemas/onchain_operations_arbitration.schema.json +14 -10
  210. package/dist/schemas/onchain_operations_contact.schema.json +4 -3
  211. package/dist/schemas/onchain_operations_demand.schema.json +4 -3
  212. package/dist/schemas/onchain_operations_gen_passport.schema.json +4 -2
  213. package/dist/schemas/onchain_operations_gen_proof.schema.json +2 -0
  214. package/dist/schemas/onchain_operations_guard.schema.json +579 -1
  215. package/dist/schemas/onchain_operations_machine.schema.json +5 -4
  216. package/dist/schemas/onchain_operations_order.schema.json +7 -6
  217. package/dist/schemas/onchain_operations_payment.schema.json +2 -1
  218. package/dist/schemas/onchain_operations_permission.schema.json +3 -2
  219. package/dist/schemas/onchain_operations_personal.schema.json +37 -0
  220. package/dist/schemas/onchain_operations_progress.schema.json +91 -4
  221. package/dist/schemas/onchain_operations_proof.schema.json +2 -1
  222. package/dist/schemas/onchain_operations_repository.schema.json +4 -3
  223. package/dist/schemas/onchain_operations_reward.schema.json +7 -6
  224. package/dist/schemas/onchain_operations_service.schema.json +80 -19
  225. package/dist/schemas/onchain_operations_treasury.schema.json +5 -4
  226. package/dist/schemas/onchain_table_data.output.json +1 -1
  227. package/dist/schemas/onchain_table_data.schema.json +10 -9
  228. package/dist/schemas/project_operation.output.json +3318 -57
  229. package/dist/schemas/project_operation.schema.json +728 -4
  230. package/dist/schemas/query_toolkit.output.json +16 -16
  231. package/dist/schemas/query_toolkit.schema.json +40 -3
  232. package/dist/schemas/schema_query.output.json +65 -2
  233. package/dist/schemas/schema_query.schema.json +31 -5
  234. package/dist/schemas/trust_score.output.json +392 -1
  235. package/dist/schemas/trust_score.schema.json +275 -1
  236. package/dist/schemas/wowok_buildin_info.output.json +81 -8
  237. package/dist/schemas/wowok_buildin_info.schema.json +46 -2
  238. package/dist/tools/handlers/onchain.js +636 -6
  239. package/dist/tools/handlers/project.js +71 -2
  240. package/dist/tools/handlers/query.js +117 -2
  241. package/dist/tools/handlers/schema-query.js +65 -1
  242. package/dist/tools/handlers/trust.js +192 -6
  243. package/dist/tools/index.d.ts +8 -0
  244. package/dist/tools/index.js +229 -15
  245. package/dist/tools/wrap.js +194 -15
  246. package/package.json +2 -2
@@ -304,6 +304,397 @@
304
304
  ],
305
305
  "additionalProperties": false,
306
306
  "description": "InfoPuzzle summary — present only when depth >= 'evaluate'."
307
+ },
308
+ "preorder_advice": {
309
+ "type": "object",
310
+ "properties": {
311
+ "confidence": {
312
+ "type": "object",
313
+ "properties": {
314
+ "score": {
315
+ "type": "number",
316
+ "minimum": 0,
317
+ "maximum": 100,
318
+ "description": "Composite order confidence (0-100, higher = safer to order)."
319
+ },
320
+ "base": {
321
+ "type": "number",
322
+ "description": "Base confidence = 100 - risk.total."
323
+ },
324
+ "user_adjustment": {
325
+ "type": "number",
326
+ "description": "User-controllable adjustment from user_metrics (±cap)."
327
+ },
328
+ "preference_nudge": {
329
+ "type": "number",
330
+ "description": "Preference-match nudge (±5, only when preferences were provided)."
331
+ },
332
+ "explanation": {
333
+ "type": "string",
334
+ "description": "Transparent breakdown of the confidence components."
335
+ }
336
+ },
337
+ "required": [
338
+ "score",
339
+ "base",
340
+ "user_adjustment",
341
+ "preference_nudge",
342
+ "explanation"
343
+ ],
344
+ "additionalProperties": false,
345
+ "description": "ConfidenceScore — user-controllable composite order confidence."
346
+ },
347
+ "industry": {
348
+ "type": "string",
349
+ "enum": [
350
+ "freelance",
351
+ "rental",
352
+ "education",
353
+ "travel",
354
+ "subscription",
355
+ "retail"
356
+ ],
357
+ "description": "Industry used for the industry-specific risk checks (explicit input or inferred)."
358
+ },
359
+ "strategies": {
360
+ "type": "array",
361
+ "items": {
362
+ "type": "object",
363
+ "properties": {
364
+ "scenario": {
365
+ "type": "string",
366
+ "enum": [
367
+ "info_asymmetry",
368
+ "fund_safety",
369
+ "refund_dispute",
370
+ "arbitration_fairness",
371
+ "pricing",
372
+ "delivery_sla",
373
+ "quality_verification",
374
+ "after_sales"
375
+ ],
376
+ "description": "Game scenario detected from the puzzle."
377
+ },
378
+ "merchant_tactic": {
379
+ "type": "string",
380
+ "description": "Merchant's potential tactic in this scenario."
381
+ },
382
+ "user_strategy": {
383
+ "type": "string",
384
+ "description": "Recommended user-side strategy (protection/mitigation)."
385
+ },
386
+ "nash_equilibrium": {
387
+ "type": "string",
388
+ "description": "Win-win equilibrium the strategy pushes toward."
389
+ },
390
+ "confidence": {
391
+ "type": "number",
392
+ "minimum": 0,
393
+ "maximum": 1,
394
+ "description": "Strategy confidence (0-1)."
395
+ },
396
+ "fallback": {
397
+ "type": "string",
398
+ "description": "Alternative when the user rejects the main strategy."
399
+ },
400
+ "rationale": {
401
+ "type": "string",
402
+ "description": "Trigger-condition explanation from puzzle evidence."
403
+ }
404
+ },
405
+ "required": [
406
+ "scenario",
407
+ "merchant_tactic",
408
+ "user_strategy",
409
+ "nash_equilibrium",
410
+ "confidence",
411
+ "rationale"
412
+ ],
413
+ "additionalProperties": false
414
+ },
415
+ "description": "Top merchant-vs-user game strategies (user side, max 3)."
416
+ },
417
+ "preference_match": {
418
+ "type": "object",
419
+ "properties": {
420
+ "score": {
421
+ "type": "number",
422
+ "minimum": 0,
423
+ "maximum": 100,
424
+ "description": "Preference match score (0-100)."
425
+ },
426
+ "matches": {
427
+ "type": "array",
428
+ "items": {
429
+ "type": "string"
430
+ },
431
+ "description": "Aspects matching the user's preferences."
432
+ },
433
+ "mismatches": {
434
+ "type": "array",
435
+ "items": {
436
+ "type": "string"
437
+ },
438
+ "description": "Aspects mismatching the user's preferences."
439
+ },
440
+ "warnings": {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "string"
444
+ },
445
+ "description": "Match warnings (e.g. budget stretch)."
446
+ }
447
+ },
448
+ "required": [
449
+ "score",
450
+ "matches",
451
+ "mismatches",
452
+ "warnings"
453
+ ],
454
+ "additionalProperties": false,
455
+ "description": "PreferenceMatchResult — present when preferences (input or profile) were available."
456
+ },
457
+ "preference_issues": {
458
+ "type": "array",
459
+ "items": {
460
+ "type": "string"
461
+ },
462
+ "description": "Validation issues found in the merged preferences (e.g. budget min > max)."
463
+ },
464
+ "industry_risks": {
465
+ "type": "object",
466
+ "properties": {
467
+ "score_adjustment": {
468
+ "type": "number",
469
+ "description": "Industry risk adjustment applied to the base risk score (-10 to +10)."
470
+ },
471
+ "summary": {
472
+ "type": "string",
473
+ "description": "Industry risk assessment summary."
474
+ },
475
+ "checks": {
476
+ "type": "array",
477
+ "items": {
478
+ "$ref": "#/definitions/trust_score/properties/result/properties/risk_score/properties/dimensions/items/properties/checks/items"
479
+ },
480
+ "description": "Industry-specific risk checks."
481
+ },
482
+ "unmet_needs": {
483
+ "type": "array",
484
+ "items": {
485
+ "type": "object",
486
+ "properties": {
487
+ "id": {
488
+ "type": "string",
489
+ "description": "Need identifier."
490
+ },
491
+ "tier": {
492
+ "type": "string",
493
+ "enum": [
494
+ "common",
495
+ "personalized",
496
+ "advanced"
497
+ ],
498
+ "description": "Need tier."
499
+ },
500
+ "description": {
501
+ "type": "string",
502
+ "description": "Need description."
503
+ },
504
+ "advice": {
505
+ "type": "string",
506
+ "description": "Advice for fulfilling the need."
507
+ }
508
+ },
509
+ "required": [
510
+ "id",
511
+ "tier",
512
+ "description"
513
+ ],
514
+ "additionalProperties": false
515
+ },
516
+ "description": "Industry needs not satisfied by this Service."
517
+ }
518
+ },
519
+ "required": [
520
+ "score_adjustment",
521
+ "summary",
522
+ "checks",
523
+ "unmet_needs"
524
+ ],
525
+ "additionalProperties": false,
526
+ "description": "IndustryRiskResult — industry pain-point checks (needs met / risks triggered)."
527
+ },
528
+ "reminders": {
529
+ "type": "array",
530
+ "items": {
531
+ "type": "object",
532
+ "properties": {
533
+ "id": {
534
+ "type": "string",
535
+ "description": "Reminder rule identifier."
536
+ },
537
+ "stage": {
538
+ "type": "string",
539
+ "enum": [
540
+ "browse",
541
+ "evaluate",
542
+ "preorder",
543
+ "in_progress",
544
+ "complete",
545
+ "after_sale"
546
+ ],
547
+ "description": "Workflow stage this reminder belongs to."
548
+ },
549
+ "priority": {
550
+ "type": "string",
551
+ "enum": [
552
+ "required",
553
+ "recommended",
554
+ "info",
555
+ "reminder"
556
+ ],
557
+ "description": "Priority: required = blocking, recommended = strongly suggested."
558
+ },
559
+ "message": {
560
+ "type": "string",
561
+ "description": "Human-readable reminder message."
562
+ },
563
+ "action": {
564
+ "type": "string",
565
+ "description": "Suggested follow-up action, if any."
566
+ }
567
+ },
568
+ "required": [
569
+ "id",
570
+ "stage",
571
+ "priority",
572
+ "message"
573
+ ],
574
+ "additionalProperties": false
575
+ },
576
+ "description": "Transaction-safety reminders at the preorder stage (sorted, capped)."
577
+ },
578
+ "blocking_reminders": {
579
+ "type": "array",
580
+ "items": {
581
+ "$ref": "#/definitions/trust_score/properties/result/properties/preorder_advice/properties/reminders/items"
582
+ },
583
+ "description": "Blocking (priority=required) reminders — resolve these before ordering."
584
+ },
585
+ "summary": {
586
+ "type": "string",
587
+ "description": "AI-ready paragraph summarizing the whole preorder report."
588
+ }
589
+ },
590
+ "required": [
591
+ "confidence",
592
+ "strategies",
593
+ "reminders",
594
+ "blocking_reminders",
595
+ "summary"
596
+ ],
597
+ "additionalProperties": false,
598
+ "description": "PreorderAdvice (GLM6/94 §3) — present only when depth = 'preorder'. AI presents evidence and options; the USER decides whether to order."
599
+ },
600
+ "comparison": {
601
+ "type": "object",
602
+ "properties": {
603
+ "rows": {
604
+ "type": "array",
605
+ "items": {
606
+ "type": "object",
607
+ "properties": {
608
+ "service_id": {
609
+ "type": "string"
610
+ },
611
+ "service_name": {
612
+ "type": "string"
613
+ },
614
+ "error": {
615
+ "type": "string",
616
+ "description": "Per-service evaluation failure (row excluded from best-per-metric)."
617
+ },
618
+ "industry": {
619
+ "$ref": "#/definitions/trust_score/properties/result/properties/preorder_advice/properties/industry"
620
+ },
621
+ "confidence": {
622
+ "type": "number",
623
+ "description": "Order confidence 0-100 (higher = safer)."
624
+ },
625
+ "risk_total": {
626
+ "type": "number",
627
+ "description": "Risk score 0-100 (lower = safer)."
628
+ },
629
+ "risk_level": {
630
+ "type": "string"
631
+ },
632
+ "trust_score": {
633
+ "type": "number",
634
+ "description": "Trust score 0-100 (higher = more trustworthy)."
635
+ },
636
+ "trust_level": {
637
+ "type": "string"
638
+ },
639
+ "preference_match": {
640
+ "type": "number",
641
+ "description": "Preference match 0-100 (higher = better fit)."
642
+ },
643
+ "reputation_like_ratio": {
644
+ "type": "number",
645
+ "description": "likes/(likes+dislikes); 1 when no votes."
646
+ },
647
+ "reputation_votes": {
648
+ "type": "number"
649
+ },
650
+ "red_flags_count": {
651
+ "type": "number"
652
+ },
653
+ "blocking_reminders_count": {
654
+ "type": "number"
655
+ },
656
+ "info_gaps_count": {
657
+ "type": "number"
658
+ }
659
+ },
660
+ "required": [
661
+ "service_id",
662
+ "service_name"
663
+ ],
664
+ "additionalProperties": false
665
+ },
666
+ "description": "One row per evaluated service (primary first, then compare_with candidates)."
667
+ },
668
+ "best_per_metric": {
669
+ "type": "object",
670
+ "additionalProperties": {
671
+ "type": "array",
672
+ "items": {
673
+ "type": "string"
674
+ }
675
+ },
676
+ "description": "metric name → service_ids with the best value (ties all listed). Per-metric ONLY."
677
+ },
678
+ "evaluated_metrics": {
679
+ "type": "array",
680
+ "items": {
681
+ "type": "string"
682
+ },
683
+ "description": "Metrics actually compared (skipped when fewer than 2 rows have data)."
684
+ },
685
+ "note": {
686
+ "type": "string",
687
+ "description": "Neutrality note: no overall ranking; metric weights belong to the buyer."
688
+ }
689
+ },
690
+ "required": [
691
+ "rows",
692
+ "best_per_metric",
693
+ "evaluated_metrics",
694
+ "note"
695
+ ],
696
+ "additionalProperties": false,
697
+ "description": "Deterministic multi-service comparison (GLM6/94 L6) — present only when depth='preorder' and compare_with is provided. Per-metric bests ONLY, no overall ranking — the buyer decides."
307
698
  }
308
699
  },
309
700
  "required": [
@@ -315,7 +706,7 @@
315
706
  "depth"
316
707
  ],
317
708
  "additionalProperties": false,
318
- "description": "Trust score result. Contains: trust_score (ServiceTrustScore), risk_score (RiskScore, when depth >= evaluate), info_puzzle summary, and service_basics snapshot."
709
+ "description": "Trust score result. Contains: trust_score (ServiceTrustScore), risk_score (RiskScore, when depth >= evaluate), info_puzzle summary, preorder_advice (PreorderAdvice, when depth = preorder), comparison (PreorderComparison, when depth = preorder and compare_with given), and service_basics snapshot."
319
710
  }
320
711
  },
321
712
  "required": [