@wowok/agent-mcp 3.3.3 → 3.3.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.
Files changed (202) hide show
  1. package/dist/chain-semantics/eval-order.d.ts +17 -0
  2. package/dist/chain-semantics/eval-order.js +1 -0
  3. package/dist/chain-semantics/freeze-map.js +1 -1
  4. package/dist/chain-semantics/fund-flow.js +1 -1
  5. package/dist/chain-semantics/index.d.ts +1 -0
  6. package/dist/chain-semantics/index.js +1 -1
  7. package/dist/chain-semantics/object-graph.js +1 -1
  8. package/dist/composition/audit.js +1 -1
  9. package/dist/composition/compile.d.ts +4 -1
  10. package/dist/composition/compile.js +1 -1
  11. package/dist/data/api/api.spec.d.ts +1 -0
  12. package/dist/data/api/api.spec.js +1 -0
  13. package/dist/data/api/cli.d.ts +1 -0
  14. package/dist/data/api/cli.js +1 -0
  15. package/dist/data/api/head.d.ts +16 -0
  16. package/dist/data/api/head.js +1 -0
  17. package/dist/data/api/head.spec.d.ts +1 -0
  18. package/dist/data/api/head.spec.js +1 -0
  19. package/dist/data/api/index.d.ts +2 -0
  20. package/dist/data/api/index.js +1 -0
  21. package/dist/data/api/match.d.ts +69 -0
  22. package/dist/data/api/match.js +1 -0
  23. package/dist/data/api/match.spec.d.ts +1 -0
  24. package/dist/data/api/match.spec.js +1 -0
  25. package/dist/data/api/server.d.ts +12 -0
  26. package/dist/data/api/server.js +1 -0
  27. package/dist/data/projection/cli.d.ts +1 -0
  28. package/dist/data/projection/cli.js +1 -0
  29. package/dist/data/projection/edges.d.ts +8 -0
  30. package/dist/data/projection/edges.js +1 -0
  31. package/dist/data/projection/edges.spec.d.ts +1 -0
  32. package/dist/data/projection/edges.spec.js +1 -0
  33. package/dist/data/projection/facets.d.ts +18 -0
  34. package/dist/data/projection/facets.js +1 -0
  35. package/dist/data/projection/facets.spec.d.ts +1 -0
  36. package/dist/data/projection/facets.spec.js +1 -0
  37. package/dist/data/projection/facts.d.ts +40 -0
  38. package/dist/data/projection/facts.js +1 -0
  39. package/dist/data/projection/index.d.ts +6 -0
  40. package/dist/data/projection/index.js +1 -0
  41. package/dist/data/projection/project.d.ts +10 -0
  42. package/dist/data/projection/project.js +1 -0
  43. package/dist/data/projection/projection.spec.d.ts +1 -0
  44. package/dist/data/projection/projection.spec.js +1 -0
  45. package/dist/data/projection/schema.d.ts +1 -0
  46. package/dist/data/projection/schema.js +1 -0
  47. package/dist/data/projection/store.d.ts +49 -0
  48. package/dist/data/projection/store.js +1 -0
  49. package/dist/data/projection/types.d.ts +137 -0
  50. package/dist/data/projection/types.js +1 -0
  51. package/dist/data/sync/cdc.d.ts +34 -0
  52. package/dist/data/sync/cdc.js +1 -0
  53. package/dist/data/sync/cdc.spec.d.ts +1 -0
  54. package/dist/data/sync/cdc.spec.js +1 -0
  55. package/dist/data/sync/graphql-source.d.ts +16 -0
  56. package/dist/data/sync/graphql-source.js +1 -0
  57. package/dist/data/sync/index.d.ts +5 -0
  58. package/dist/data/sync/index.js +1 -0
  59. package/dist/data/sync/reconciler.d.ts +14 -0
  60. package/dist/data/sync/reconciler.js +1 -0
  61. package/dist/data/sync/reconciler.spec.d.ts +1 -0
  62. package/dist/data/sync/reconciler.spec.js +1 -0
  63. package/dist/data/sync/schema.d.ts +1 -0
  64. package/dist/data/sync/schema.js +1 -0
  65. package/dist/data/sync/store.d.ts +19 -0
  66. package/dist/data/sync/store.js +1 -0
  67. package/dist/data/sync/sync.spec.d.ts +1 -0
  68. package/dist/data/sync/sync.spec.js +1 -0
  69. package/dist/data/sync/synchronizer.d.ts +10 -0
  70. package/dist/data/sync/synchronizer.js +1 -0
  71. package/dist/data/sync/types.d.ts +162 -0
  72. package/dist/data/sync/types.js +1 -0
  73. package/dist/evaluation/builtins/demand-match.js +1 -1
  74. package/dist/evaluation/builtins/graph-service.spec.js +1 -1
  75. package/dist/evaluation/capability.d.ts +1 -0
  76. package/dist/evaluation/engine.js +1 -1
  77. package/dist/evaluation/extract.d.ts +7 -1
  78. package/dist/evaluation/extract.js +1 -1
  79. package/dist/evaluation/match-policy.d.ts +118 -0
  80. package/dist/evaluation/match-policy.js +1 -0
  81. package/dist/evaluation/match-policy.spec.d.ts +1 -0
  82. package/dist/evaluation/match-policy.spec.js +1 -0
  83. package/dist/evaluation/node-game.d.ts +3 -0
  84. package/dist/evaluation/node-game.js +1 -1
  85. package/dist/experience/realtime-feedback.js +1 -1
  86. package/dist/graph/onchain/expand.js +1 -1
  87. package/dist/graph/onchain/exposure.js +1 -1
  88. package/dist/harness/recover.js +1 -1
  89. package/dist/knowledge/arbitration-ledger.js +1 -1
  90. package/dist/knowledge/baselines/rules/plan.json +16 -1
  91. package/dist/knowledge/builtin-templates.d.ts +1 -1
  92. package/dist/knowledge/builtin-templates.js +1 -1
  93. package/dist/knowledge/getting-started.js +1 -1
  94. package/dist/knowledge/guard-design-patterns.d.ts +1 -1
  95. package/dist/knowledge/guard-design-patterns.js +1 -1
  96. package/dist/knowledge/guard-ledger.js +1 -1
  97. package/dist/knowledge/guard-puzzle.js +1 -1
  98. package/dist/knowledge/guard-render.js +1 -1
  99. package/dist/knowledge/guard-risk.js +1 -1
  100. package/dist/knowledge/guard-templates.d.ts +1 -1
  101. package/dist/knowledge/guard-templates.js +1 -1
  102. package/dist/knowledge/guard-translation.js +1 -1
  103. package/dist/knowledge/index.js +1 -1
  104. package/dist/knowledge/industry-registry.js +1 -1
  105. package/dist/knowledge/jsonrpc-enum.d.ts +26 -10
  106. package/dist/knowledge/jsonrpc-enum.js +1 -1
  107. package/dist/knowledge/projection.d.ts +54 -0
  108. package/dist/knowledge/projection.js +1 -0
  109. package/dist/knowledge/projection.spec.d.ts +1 -0
  110. package/dist/knowledge/projection.spec.js +1 -0
  111. package/dist/knowledge/recipient-constraint.d.ts +9 -0
  112. package/dist/knowledge/recipient-constraint.js +1 -1
  113. package/dist/knowledge/scenario-modes.d.ts +1 -0
  114. package/dist/knowledge/service-ledger.d.ts +1 -1
  115. package/dist/knowledge/service-ledger.js +1 -1
  116. package/dist/knowledge/template-loader.d.ts +1 -0
  117. package/dist/knowledge/template-loader.js +1 -1
  118. package/dist/knowledge/template-registry.js +1 -1
  119. package/dist/knowledge/template-scanner.js +1 -1
  120. package/dist/monitor/MonitorLoop.js +1 -1
  121. package/dist/participation/node-action-advisor.js +1 -1
  122. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  123. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  124. package/dist/playbooks/service-build/object-panorama.js +1 -1
  125. package/dist/playbooks/service-build/participation-radar.js +1 -1
  126. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  127. package/dist/playbooks/service-build/service-panorama.js +1 -1
  128. package/dist/playbooks/service-build/service-quote.js +1 -1
  129. package/dist/playbooks/service-build/service-quote.spec.js +1 -1
  130. package/dist/review/index.js +1 -1
  131. package/dist/role/profiles.js +1 -1
  132. package/dist/safety/confirm-gate.js +1 -1
  133. package/dist/schema/call/allocation.js +1 -1
  134. package/dist/schema/call/base.d.ts +25 -0
  135. package/dist/schema/call/base.js +1 -1
  136. package/dist/schema/call/bridge.d.ts +1 -0
  137. package/dist/schema/call/error-codes.d.ts +1 -1
  138. package/dist/schema/call/error-codes.js +1 -1
  139. package/dist/schema/call/handler.js +1 -1
  140. package/dist/schema/call/order.d.ts +12 -0
  141. package/dist/schema/call/order.js +1 -1
  142. package/dist/schema/call/progress.js +1 -1
  143. package/dist/schema/call/proof.js +1 -1
  144. package/dist/schema/call/semantic.js +1 -1
  145. package/dist/schema/call/service.js +1 -1
  146. package/dist/schema/common/index.js +1 -1
  147. package/dist/schema/evaluation/index.d.ts +189 -0
  148. package/dist/schema/evaluation/index.js +1 -1
  149. package/dist/schema/local/index.d.ts +10 -0
  150. package/dist/schema/local/index.js +1 -1
  151. package/dist/schema/operations.d.ts +4 -0
  152. package/dist/schema/query/bi.d.ts +8 -0
  153. package/dist/schema/query/bi.js +1 -1
  154. package/dist/schema/query/index.d.ts +147 -0
  155. package/dist/schema/query/index.js +1 -1
  156. package/dist/schema/schema-version.js +1 -1
  157. package/dist/schema-query-impl/index.js +1 -1
  158. package/dist/schemas/account_operation.output.json +2 -1
  159. package/dist/schemas/bridge_operation.output.json +2 -1
  160. package/dist/schemas/evaluation_operation.output.json +384 -2
  161. package/dist/schemas/evaluation_operation.schema.json +202 -4
  162. package/dist/schemas/index.json +1 -1
  163. package/dist/schemas/keeper_operation.output.json +1 -1
  164. package/dist/schemas/local_cache_operation.output.json +2 -1
  165. package/dist/schemas/local_history_operation.output.json +2 -1
  166. package/dist/schemas/local_info_operation.output.json +2 -1
  167. package/dist/schemas/local_mark_operation.output.json +2 -1
  168. package/dist/schemas/messenger_operation.output.json +1 -1
  169. package/dist/schemas/monitor_events.output.json +1 -1
  170. package/dist/schemas/monitor_subscription.output.json +1 -1
  171. package/dist/schemas/onchain_events.output.json +1 -1
  172. package/dist/schemas/onchain_operations.output.json +35 -4
  173. package/dist/schemas/onchain_operations.schema.json +687 -103
  174. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  175. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
  176. package/dist/schemas/onchain_operations_guard.schema.json +660 -94
  177. package/dist/schemas/onchain_operations_order.schema.json +19 -1
  178. package/dist/schemas/onchain_operations_progress.schema.json +2 -2
  179. package/dist/schemas/onchain_operations_service.schema.json +4 -4
  180. package/dist/schemas/onchain_table_data.output.json +2 -2
  181. package/dist/schemas/query_toolkit.output.json +316 -1
  182. package/dist/schemas/query_toolkit.schema.json +1 -1
  183. package/dist/schemas/wowok_buildin_info.output.json +259 -0
  184. package/dist/schemas/wowok_buildin_info.schema.json +121 -0
  185. package/dist/tools/build-fingerprint.d.ts +28 -0
  186. package/dist/tools/build-fingerprint.js +1 -0
  187. package/dist/tools/handlers/benchmark-migration.d.ts +4 -2
  188. package/dist/tools/handlers/benchmark-migration.js +1 -1
  189. package/dist/tools/handlers/config.js +1 -1
  190. package/dist/tools/handlers/evaluation.js +1 -1
  191. package/dist/tools/handlers/evaluation.spec.js +1 -1
  192. package/dist/tools/handlers/onchain.d.ts +7 -0
  193. package/dist/tools/handlers/onchain.js +1 -1
  194. package/dist/tools/handlers/query.js +1 -1
  195. package/dist/tools/handlers/review-chain.d.ts +9 -13
  196. package/dist/tools/handlers/review-chain.js +1 -1
  197. package/dist/tools/index.js +1 -1
  198. package/dist/tools/registry/business.js +1 -1
  199. package/dist/tools/upgrade-check.d.ts +1 -0
  200. package/dist/tools/upgrade-check.js +1 -1
  201. package/dist/tools/wrap.js +1 -1
  202. package/package.json +7 -2
@@ -672,7 +672,7 @@
672
672
  ]
673
673
  },
674
674
  "restock": {
675
- "description": "Refund restocking (permission 305 SERVICE_SALES). op:'flag' opts ONE live product into restock-on-refund; op:'order' puts the units a REFUNDED order purchased back on shelf. The order path is all-or-nothing: every purchased line must be flagged and still live before any unit moves (otherwise the chain aborts 46/32), so half a restock is impossible. Do NOT fake a restock with stock_add when the order carries several lines — use op:'order' so quantities come from the order itself.",
675
+ "description": "Refund restocking (permission 305 SERVICE_SALES). op:'flag' opts ONE live product into restock-on-refund; op:'order' puts the units a REFUNDED order purchased back on shelf. The order path is all-or-nothing: every purchased line must be flagged and still live before any unit moves (otherwise the chain aborts 46/32), so half a restock is impossible. The order path is once-per-order (replay aborts 49) and bound to THIS service (foreign order aborts 26). Do NOT fake a restock with stock_add when the order carries several lines — use op:'order' so quantities come from the order itself.",
676
676
  "oneOf": [
677
677
  {
678
678
  "type": "object",
@@ -696,7 +696,7 @@
696
696
  "flagged"
697
697
  ],
698
698
  "additionalProperties": false,
699
- "description": "Opt ONE live product in/out of restock-on-refund. An unknown sale_name aborts on chain (code 32); delisting the product is the kill switch. Without the flag, the order-level restock op refuses that line (code 46)."
699
+ "description": "Opt ONE live product in/out of restock-on-refund. An unknown sale_name aborts on chain (code 32); delisting the product is the kill switch. Without the flag, the order-level restock op refuses that line (code 46). Flagging a SKU does not itself touch stock — the order-level op below does the restoration, and it is once-per-order per order (code 49) and bound to orders of THIS service (foreign orders abort code 26)."
700
700
  },
701
701
  {
702
702
  "type": "object",
@@ -708,7 +708,7 @@
708
708
  "order": {
709
709
  "type": "string",
710
710
  "minLength": 1,
711
- "description": "Address or local name of the REFUNDED order whose purchased units go back on shelf."
711
+ "description": "Address or local name of the REFUNDED order whose purchased units go back on shelf. Must be an order of THIS service (a foreign order aborts code 26), and each order can be restocked exactly once — a second call for the same order aborts code 49 (no retry succeeds; the restoration is already complete)."
712
712
  }
713
713
  },
714
714
  "required": [
@@ -716,7 +716,7 @@
716
716
  "order"
717
717
  ],
718
718
  "additionalProperties": false,
719
- "description": "Put back the units one refunded order purchased, read from the order's own purchase lines (the caller cannot add extra units). Two-pass all-or-nothing on chain: every line must be restock-flagged and still live before the first unit moves (unflagged → code 46, delisted → code 32), so a partial restock is impossible. Emits one stock-restocked event per line."
719
+ "description": "Put back the units one refunded order purchased, read from the order's own purchase lines (the caller cannot add extra units). Two-pass all-or-nothing on chain: every line must be restock-flagged and still live before the first unit moves (unflagged → code 46, delisted → code 32), so a partial restock is impossible. Once-per-order (code 49 on replay) and ownership-bound (a foreign order aborts code 26); the applied state is queryable via the restock_applied read. Emits one stock-restocked event per line."
720
720
  }
721
721
  ]
722
722
  },
@@ -4664,12 +4664,12 @@
4664
4664
  ]
4665
4665
  },
4666
4666
  "review": {
4667
- "description": "Structured review composite (REVIEW component): after this forward succeeds, write the structured reputation record into a Repository (+ optional reward claim), reusing this call's passport submission. Requires operate (the chain fires only after a successful forward).",
4667
+ "description": "Structured review composite (REVIEW component): with a passport submission the structured-record write runs BEFORE this forward (the review-edge credential anchors the PRE node — F01), then the forward, then the optional reward claim. Requires operate. Steps are reported in semantic.review_steps.",
4668
4668
  "type": "object",
4669
4669
  "properties": {
4670
4670
  "repository": {
4671
4671
  "type": "string",
4672
- "description": "Repository object ID or name that stores the structured reputation record. The matching policy key must accept a JSON payload {rating, tags?, orderRef?}. id_from options (C30): Signer = one record per BUYER (rewrite = own-record overwrite); None + a write_guard with id_from_submission = one record per bound OBJECT/ORDER (the row id is the raw bound Order address — the verified once-per-order review shape); Clock = append-only log. PREFERRED: the service's review repository EMITTED BY THE BUILD PLAN when review_mode was set (AR-1) — resolve it from the service's repositories list (service_panorama / onchain_objects, name suffix '_review') — never guess an address."
4672
+ "description": "Repository object ID or name that stores the structured reputation record. The matching policy key must accept a JSON payload {rating, tags?, orderRef?}. id_from options (C30): None = one record per bound OBJECT/ORDER with a write_guard (row id = the order address — the compile-emitted default AND the verified once-per-order review shape, F09); Signer = one record per BUYER (rewrite = own-record overwrite; a repeat buyer can only ever hold ONE row across all their orders — do not use for per-order reviews); Clock = append-only log. PREFERRED: the service's review repository EMITTED BY THE BUILD PLAN when review_mode was set (AR-1) — resolve it from the service's repositories list (service_panorama / onchain_objects, name suffix '_review') — never guess an address."
4673
4673
  },
4674
4674
  "policy": {
4675
4675
  "description": "Policy RULE NAME to write under (the repository's PolicyRule whose value_type is String — the chain writes the structured record as a JSON string row). MUST match an existing policy of the target repository. Default 'review' (the compile-emitted review policy name). A mismatch aborts the write AFTER the forward — the review-edge credential is single-use, so the row can never be re-written; resolve the exact name from the build plan / service_panorama before calling.",
@@ -12402,7 +12402,7 @@
12402
12402
  "type": "string"
12403
12403
  },
12404
12404
  "acknowledge_dual_payout": {
12405
- "description": "A-1 (amz9-ln-261023) explicit opt-in for a KNOWN double payout: when a submitted order already received arbitration compensation (order.claimed_by set) and this call would ALSO release its escrow (refund track), the call is REFUSED unless this flag is true. The two payout tracks are independent by design — the chain will not stop the second payout, so the operator must state it deliberately. Buyer NET view: total received = compensation + escrow refund. Leave unset for normal refunds of un-awarded orders.",
12405
+ "description": "A-1 (amz9-ln-261023) explicit opt-in for a KNOWN double payout: when a submitted order already received arbitration compensation (order.claimed_by set) and this call would ALSO release its escrow (refund track), the call is REFUSED unless this flag is true. The two payout tracks are independent by design — the chain will not net or stop the second payout (the escrow receive path has no claimed_by gate), BUT a rail paired on order.claimed_by (refund none / recover some) may guard-reject the second payout on-chain; that rejection is the designed mutual exclusion, and the escrow exits via the paired rail. Buyer NET view: total received = compensation + escrow refund. Leave unset for normal refunds of un-awarded orders.",
12406
12406
  "type": "boolean"
12407
12407
  },
12408
12408
  "formula_spec_set": {
@@ -17201,6 +17201,289 @@
17201
17201
  "additionalProperties": false,
17202
17202
  "description": "Returns U256. Sums the numeric payloads of candidates whose stored value matches the predicate (on-chain checked add, overflow aborts). Non-numeric or mismatching entries contribute 0. Use logic_as_u256_* to compare the sum."
17203
17203
  },
17204
+ {
17205
+ "type": "object",
17206
+ "properties": {
17207
+ "type": {
17208
+ "type": "string",
17209
+ "const": "query_repository_data_sum_where_bound"
17210
+ },
17211
+ "object": {
17212
+ "type": "object",
17213
+ "properties": {
17214
+ "identifier": {
17215
+ "type": "integer",
17216
+ "minimum": 0,
17217
+ "maximum": 255,
17218
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
17219
+ }
17220
+ },
17221
+ "required": [
17222
+ "identifier"
17223
+ ],
17224
+ "additionalProperties": false,
17225
+ "description": "Reference to the Repository object in the Guard table (must be Address type)."
17226
+ },
17227
+ "key": {
17228
+ "type": "object",
17229
+ "properties": {
17230
+ "identifier": {
17231
+ "type": "integer",
17232
+ "minimum": 0,
17233
+ "maximum": 255,
17234
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
17235
+ }
17236
+ },
17237
+ "required": [
17238
+ "identifier"
17239
+ ],
17240
+ "additionalProperties": false,
17241
+ "description": "Reference to the policy key (String type table entry) whose data table is scanned."
17242
+ },
17243
+ "ids": {
17244
+ "type": "object",
17245
+ "properties": {
17246
+ "identifier": {
17247
+ "type": "integer",
17248
+ "minimum": 0,
17249
+ "maximum": 255,
17250
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
17251
+ }
17252
+ },
17253
+ "required": [
17254
+ "identifier"
17255
+ ],
17256
+ "additionalProperties": false,
17257
+ "description": "Reference to the candidate ID list (VecAddress type table entry). Each id should be an ORDER address (e.g. order-keyed contribution rows). Duplicates are deduped; max 100 candidates."
17258
+ },
17259
+ "where": {
17260
+ "oneOf": [
17261
+ {
17262
+ "type": "object",
17263
+ "properties": {
17264
+ "kind": {
17265
+ "type": "string",
17266
+ "const": "range"
17267
+ },
17268
+ "valueMin": {
17269
+ "description": "Optional lower bound (inclusive unless minInclusive=false). Plain number string (U256 semantics).",
17270
+ "type": "string"
17271
+ },
17272
+ "valueMax": {
17273
+ "description": "Optional upper bound (inclusive unless maxInclusive=false). Plain number string (U256 semantics).",
17274
+ "type": "string"
17275
+ },
17276
+ "minInclusive": {
17277
+ "description": "Default true. false makes the lower bound exclusive.",
17278
+ "type": "boolean"
17279
+ },
17280
+ "maxInclusive": {
17281
+ "description": "Default true. false makes the upper bound exclusive.",
17282
+ "type": "boolean"
17283
+ }
17284
+ },
17285
+ "required": [
17286
+ "kind"
17287
+ ],
17288
+ "additionalProperties": false,
17289
+ "description": "Numeric closed/open range. min=max inclusive is an equality match. At least one bound required."
17290
+ },
17291
+ {
17292
+ "type": "object",
17293
+ "properties": {
17294
+ "kind": {
17295
+ "type": "string",
17296
+ "const": "numEq"
17297
+ },
17298
+ "value": {
17299
+ "type": "string",
17300
+ "description": "Exact numeric match. Plain number string (U256 semantics)."
17301
+ }
17302
+ },
17303
+ "required": [
17304
+ "kind",
17305
+ "value"
17306
+ ],
17307
+ "additionalProperties": false
17308
+ },
17309
+ {
17310
+ "type": "object",
17311
+ "properties": {
17312
+ "kind": {
17313
+ "type": "string",
17314
+ "const": "gt"
17315
+ },
17316
+ "value": {
17317
+ "type": "string",
17318
+ "description": "Greater than. Plain number string (U256 semantics)."
17319
+ }
17320
+ },
17321
+ "required": [
17322
+ "kind",
17323
+ "value"
17324
+ ],
17325
+ "additionalProperties": false
17326
+ },
17327
+ {
17328
+ "type": "object",
17329
+ "properties": {
17330
+ "kind": {
17331
+ "type": "string",
17332
+ "const": "gte"
17333
+ },
17334
+ "value": {
17335
+ "type": "string",
17336
+ "description": "Greater than or equal. Plain number string (U256 semantics)."
17337
+ }
17338
+ },
17339
+ "required": [
17340
+ "kind",
17341
+ "value"
17342
+ ],
17343
+ "additionalProperties": false
17344
+ },
17345
+ {
17346
+ "type": "object",
17347
+ "properties": {
17348
+ "kind": {
17349
+ "type": "string",
17350
+ "const": "lt"
17351
+ },
17352
+ "value": {
17353
+ "type": "string",
17354
+ "description": "Less than. Plain number string (U256 semantics)."
17355
+ }
17356
+ },
17357
+ "required": [
17358
+ "kind",
17359
+ "value"
17360
+ ],
17361
+ "additionalProperties": false
17362
+ },
17363
+ {
17364
+ "type": "object",
17365
+ "properties": {
17366
+ "kind": {
17367
+ "type": "string",
17368
+ "const": "lte"
17369
+ },
17370
+ "value": {
17371
+ "type": "string",
17372
+ "description": "Less than or equal. Plain number string (U256 semantics)."
17373
+ }
17374
+ },
17375
+ "required": [
17376
+ "kind",
17377
+ "value"
17378
+ ],
17379
+ "additionalProperties": false
17380
+ },
17381
+ {
17382
+ "type": "object",
17383
+ "properties": {
17384
+ "kind": {
17385
+ "type": "string",
17386
+ "const": "addressEq"
17387
+ },
17388
+ "identifier": {
17389
+ "type": "integer",
17390
+ "minimum": 0,
17391
+ "maximum": 255,
17392
+ "description": "Identifier of the Address-type table entry to compare against."
17393
+ }
17394
+ },
17395
+ "required": [
17396
+ "kind",
17397
+ "identifier"
17398
+ ],
17399
+ "additionalProperties": false
17400
+ },
17401
+ {
17402
+ "type": "object",
17403
+ "properties": {
17404
+ "kind": {
17405
+ "type": "string",
17406
+ "const": "stringEq"
17407
+ },
17408
+ "value": {
17409
+ "type": "string",
17410
+ "description": "Exact string match (byte equality, UTF-8)."
17411
+ }
17412
+ },
17413
+ "required": [
17414
+ "kind",
17415
+ "value"
17416
+ ],
17417
+ "additionalProperties": false
17418
+ },
17419
+ {
17420
+ "type": "object",
17421
+ "properties": {
17422
+ "kind": {
17423
+ "type": "string",
17424
+ "const": "stringContains"
17425
+ },
17426
+ "value": {
17427
+ "type": "string",
17428
+ "description": "Substring match, case-sensitive."
17429
+ }
17430
+ },
17431
+ "required": [
17432
+ "kind",
17433
+ "value"
17434
+ ],
17435
+ "additionalProperties": false
17436
+ },
17437
+ {
17438
+ "type": "object",
17439
+ "properties": {
17440
+ "kind": {
17441
+ "type": "string",
17442
+ "const": "stringNoCaseContains"
17443
+ },
17444
+ "value": {
17445
+ "type": "string",
17446
+ "description": "Substring match, case-insensitive."
17447
+ }
17448
+ },
17449
+ "required": [
17450
+ "kind",
17451
+ "value"
17452
+ ],
17453
+ "additionalProperties": false
17454
+ },
17455
+ {
17456
+ "type": "object",
17457
+ "properties": {
17458
+ "kind": {
17459
+ "type": "string",
17460
+ "const": "boolEq"
17461
+ },
17462
+ "value": {
17463
+ "type": "boolean",
17464
+ "description": "Boolean equality."
17465
+ }
17466
+ },
17467
+ "required": [
17468
+ "kind",
17469
+ "value"
17470
+ ],
17471
+ "additionalProperties": false
17472
+ }
17473
+ ],
17474
+ "description": "Predicate filter applied to each candidate's data value."
17475
+ }
17476
+ },
17477
+ "required": [
17478
+ "type",
17479
+ "object",
17480
+ "key",
17481
+ "ids",
17482
+ "where"
17483
+ ],
17484
+ "additionalProperties": false,
17485
+ "description": "Returns U256. ESCROW-BOUND sum (query 1179): per-row min(row_value, order.amount of the Order the row id names); a row keyed by anything that is not an Order contributes 0 (fail-closed). Unlike query_repository_data_sum_where (self-reported row values), a record cannot claim more than the Order actually escrowed — the forgery-proof aggregate for threshold gates and Formula pricing. Use logic_as_u256_* to compare the sum."
17486
+ },
17204
17487
  {
17205
17488
  "type": "object",
17206
17489
  "properties": {
@@ -20480,7 +20763,25 @@
20480
20763
  "additionalProperties": false
20481
20764
  },
20482
20765
  "arb_claim_compensation": {
20483
- "description": "Specify the adjudicated Arb object to obtain order compensation. ZERO-INDEMNITY GATE (BF-14, chain abort 11): when the ruling's indemnity is 0 (a dismissal) the claim is REFUSED on-chain — the case stays open, the dispute fee stays escrowed (withdrawable by the arbitrator only after the 30-day window closes with no objection, or blocked while an objection is pending), and `order.claimed_by` is NOT written. A claim that DOES pay (indemnity > 0) closes the case (state 5), pays the claimant, writes `order.claimed_by`, and releases the fee path. DIRECTION CAUTION: because only paying claims write `claimed_by`, a dismissal leaves it `none` — refund-style rails gated on `claimed_by == none` stay LIVE after a dismissal, while merchant-recovery rails gated on `claimed_by != none` can never fire (F-BS-54). Read ruling DIRECTION from `arb.indemnity.amount` (query 1641), never from `claimed_by`.",
20766
+ "description": "Specify the adjudicated Arb object to obtain order compensation. ZERO-INDEMNITY GATE (BF-14, chain abort 11): when the ruling's indemnity is 0 (a dismissal) the claim is REFUSED on-chain — the case stays open, the dispute fee stays escrowed (withdrawable by the arbitrator only after the 30-day window closes with no objection, or blocked while an objection is pending), and `order.claimed_by` is NOT written. A claim that DOES pay (indemnity > 0) closes the case (state 5), pays the claimant, writes `order.claimed_by`, and releases the fee path. DIRECTION CAUTION: because only paying claims write `claimed_by`, a dismissal leaves it `none` — refund-style rails gated on `claimed_by == none` stay LIVE after a dismissal, while merchant-recovery rails gated on `claimed_by != none` can never fire (F-BS-54). Read ruling DIRECTION from `arb.indemnity.amount` (query 1641), never from `claimed_by`. F05 REVERSE GATE (yfd-ln-261024): when this order's escrow is ALREADY fully released (allocation balance 0 of a positive order amount), the claim is REFUSED unless acknowledge_dual_payout is true — pairing a paid compensation with a completed escrow track is a netting decision the operator must state (see acknowledge_dual_payout).",
20767
+ "type": "object",
20768
+ "properties": {
20769
+ "arb": {
20770
+ "type": "string",
20771
+ "description": "Arb object ID or name."
20772
+ }
20773
+ },
20774
+ "required": [
20775
+ "arb"
20776
+ ],
20777
+ "additionalProperties": false
20778
+ },
20779
+ "acknowledge_dual_payout": {
20780
+ "description": "Explicit opt-in for a KNOWN double payout on the compensation-claim direction: when this order's escrow is already FULLY released (allocation balance 0 of a positive order amount) and this call claims the arbitration compensation on top, the call is REFUSED unless this flag is true. The escrow track and the compensation track are independent by design — the chain will not stop the second payout, so the operator must state the netting decision deliberately. Leave unset for claims on orders whose escrow is intact or partially released.",
20781
+ "type": "boolean"
20782
+ },
20783
+ "arb_case_conclude": {
20784
+ "description": "DISMISSAL CONVERGER (F-BS-54/56, F-OF2-01): stamp a CONCLUDED, DEFENDANT-FAVORED ruling onto this order through the service's case-conclusion entry so the `claimed_by == none` refund rails close AT RULING TIME instead of staying live forever. PERMISSIONLESS: any keeper (merchant agent, watchdog, even the buyer) may drive it; it writes the claimed_by=case flag and MOVES NO FUNDS. The chain refuses anything but a concluded (Arbitrated/Withdrawn) case leaving NO indemnity (E_CASE_NOT_DISMISSAL_CONCLUSION, abort 48). TYPICAL KEEPER LOOP after a 0-indemnity ruling: arb_claim_compensation aborts 11 (BF-14 zero-indemnity gate) → call THIS to close the refund rails → the escrow can then only exit through the merchant-recovery rails.",
20484
20785
  "type": "object",
20485
20786
  "properties": {
20486
20787
  "arb": {
@@ -22821,7 +23122,7 @@
22821
23122
  ]
22822
23123
  },
22823
23124
  "about_address": {
22824
- "description": "About binding (K3 contract): ONLY the counterparty ACCOUNT address (address first byte = account type) or a Proof object address (first byte = Proof type) — a messenger contact record. NEVER a business object (Progress/Order/Arb) and never a guard decision condition. Accepts null/undefined (→ Move Option::none). When provided, must be a raw 0x-prefixed address (NOT a name).",
23125
+ "description": "About binding (K3 contract): ONLY the counterparty ACCOUNT address (address first byte = account type) or a Proof object address (first byte = Proof type) — a messenger contact record. NEVER a business object (Progress/Order/Arb) and never a guard decision condition. ONE EXCEPTION (bstn-tn-261024 F-30, live-proven): a Proof intended for order.required_info_bind MUST carry about = the ORDER's own address, with the Proof creator = the order owner (the owner-signed contact/attn proof the bind entry demands; the messenger-contact restriction does not apply to that flow). Accepts null/undefined (→ Move Option::none). When provided, must be a raw 0x-prefixed address (NOT a name).",
22825
23126
  "anyOf": [
22826
23127
  {
22827
23128
  "type": "string",
@@ -25233,117 +25534,400 @@
25233
25534
  "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
25234
25535
  "allOf": [
25235
25536
  {
25236
- "$ref": "#/definitions/__schema3"
25237
- }
25238
- ],
25239
- "$ref": "#/definitions/__schema2"
25240
- },
25241
- "sessionIdx": {
25242
- "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25243
- "allOf": [
25537
+ "$ref": "#/definitions/__schema3"
25538
+ }
25539
+ ],
25540
+ "$ref": "#/definitions/__schema2"
25541
+ },
25542
+ "sessionIdx": {
25543
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25544
+ "allOf": [
25545
+ {
25546
+ "$ref": "#/definitions/__schema3"
25547
+ }
25548
+ ],
25549
+ "$ref": "#/definitions/__schema2"
25550
+ },
25551
+ "forwardIdx": {
25552
+ "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25553
+ "allOf": [
25554
+ {
25555
+ "$ref": "#/definitions/__schema3"
25556
+ }
25557
+ ],
25558
+ "$ref": "#/definitions/__schema2"
25559
+ }
25560
+ },
25561
+ "required": [
25562
+ "type",
25563
+ "object",
25564
+ "historyIdx",
25565
+ "sessionIdx",
25566
+ "forwardIdx"
25567
+ ],
25568
+ "additionalProperties": false,
25569
+ "description": "Returns U64. Counts the number of retained submissions within the specified forward operation."
25570
+ },
25571
+ {
25572
+ "type": "object",
25573
+ "properties": {
25574
+ "type": {
25575
+ "type": "string",
25576
+ "const": "query_progress_history_session_forward_retained_submission_value"
25577
+ },
25578
+ "object": {
25579
+ "type": "object",
25580
+ "properties": {
25581
+ "identifier": {
25582
+ "type": "integer",
25583
+ "minimum": 0,
25584
+ "maximum": 255,
25585
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
25586
+ }
25587
+ },
25588
+ "required": [
25589
+ "identifier"
25590
+ ],
25591
+ "additionalProperties": false,
25592
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
25593
+ },
25594
+ "historyIdx": {
25595
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
25596
+ "allOf": [
25597
+ {
25598
+ "$ref": "#/definitions/__schema3"
25599
+ }
25600
+ ],
25601
+ "$ref": "#/definitions/__schema2"
25602
+ },
25603
+ "sessionIdx": {
25604
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25605
+ "allOf": [
25606
+ {
25607
+ "$ref": "#/definitions/__schema3"
25608
+ }
25609
+ ],
25610
+ "$ref": "#/definitions/__schema2"
25611
+ },
25612
+ "forwardIdx": {
25613
+ "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25614
+ "allOf": [
25615
+ {
25616
+ "$ref": "#/definitions/__schema3"
25617
+ }
25618
+ ],
25619
+ "$ref": "#/definitions/__schema2"
25620
+ },
25621
+ "identifier": {
25622
+ "description": "GuardNode that returns the submission identifier (U8 type) — which retained submission of the forward to read. Typically an 'identifier' node referencing a U8 value from the Guard table.",
25623
+ "allOf": [
25624
+ {
25625
+ "$ref": "#/definitions/__schema3"
25626
+ }
25627
+ ],
25628
+ "$ref": "#/definitions/__schema2"
25629
+ }
25630
+ },
25631
+ "required": [
25632
+ "type",
25633
+ "object",
25634
+ "historyIdx",
25635
+ "sessionIdx",
25636
+ "forwardIdx",
25637
+ "identifier"
25638
+ ],
25639
+ "additionalProperties": false,
25640
+ "description": "Returns VecU8 (the ONLY history query that does not return U64). Value of the specified retained submission of a HISTORY record (query 1281) — the history-side counterpart of the ACTIVE-SESSION-ONLY 1268 read, which goes blind once the session migrates into history. Use 1274/1275 to discover the history/session/forward indexes first. Throws error when the record carries no submission for the identifier (Guard validation fails)."
25641
+ },
25642
+ {
25643
+ "type": "object",
25644
+ "properties": {
25645
+ "type": {
25646
+ "type": "string",
25647
+ "const": "query_repository_data_count_where"
25648
+ },
25649
+ "object": {
25650
+ "type": "object",
25651
+ "properties": {
25652
+ "identifier": {
25653
+ "type": "integer",
25654
+ "minimum": 0,
25655
+ "maximum": 255,
25656
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
25657
+ }
25658
+ },
25659
+ "required": [
25660
+ "identifier"
25661
+ ],
25662
+ "additionalProperties": false,
25663
+ "description": "Reference to the Repository object in the Guard table (must be Address type)."
25664
+ },
25665
+ "key": {
25666
+ "type": "object",
25667
+ "properties": {
25668
+ "identifier": {
25669
+ "type": "integer",
25670
+ "minimum": 0,
25671
+ "maximum": 255,
25672
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
25673
+ }
25674
+ },
25675
+ "required": [
25676
+ "identifier"
25677
+ ],
25678
+ "additionalProperties": false,
25679
+ "description": "Reference to the policy key (String type table entry) whose data table is scanned."
25680
+ },
25681
+ "ids": {
25682
+ "type": "object",
25683
+ "properties": {
25684
+ "identifier": {
25685
+ "type": "integer",
25686
+ "minimum": 0,
25687
+ "maximum": 255,
25688
+ "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
25689
+ }
25690
+ },
25691
+ "required": [
25692
+ "identifier"
25693
+ ],
25694
+ "additionalProperties": false,
25695
+ "description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
25696
+ },
25697
+ "where": {
25698
+ "oneOf": [
25699
+ {
25700
+ "type": "object",
25701
+ "properties": {
25702
+ "kind": {
25703
+ "type": "string",
25704
+ "const": "range"
25705
+ },
25706
+ "valueMin": {
25707
+ "description": "Optional lower bound (inclusive unless minInclusive=false). Plain number string (U256 semantics).",
25708
+ "type": "string"
25709
+ },
25710
+ "valueMax": {
25711
+ "description": "Optional upper bound (inclusive unless maxInclusive=false). Plain number string (U256 semantics).",
25712
+ "type": "string"
25713
+ },
25714
+ "minInclusive": {
25715
+ "description": "Default true. false makes the lower bound exclusive.",
25716
+ "type": "boolean"
25717
+ },
25718
+ "maxInclusive": {
25719
+ "description": "Default true. false makes the upper bound exclusive.",
25720
+ "type": "boolean"
25721
+ }
25722
+ },
25723
+ "required": [
25724
+ "kind"
25725
+ ],
25726
+ "additionalProperties": false,
25727
+ "description": "Numeric closed/open range. min=max inclusive is an equality match. At least one bound required."
25728
+ },
25729
+ {
25730
+ "type": "object",
25731
+ "properties": {
25732
+ "kind": {
25733
+ "type": "string",
25734
+ "const": "numEq"
25735
+ },
25736
+ "value": {
25737
+ "type": "string",
25738
+ "description": "Exact numeric match. Plain number string (U256 semantics)."
25739
+ }
25740
+ },
25741
+ "required": [
25742
+ "kind",
25743
+ "value"
25744
+ ],
25745
+ "additionalProperties": false
25746
+ },
25747
+ {
25748
+ "type": "object",
25749
+ "properties": {
25750
+ "kind": {
25751
+ "type": "string",
25752
+ "const": "gt"
25753
+ },
25754
+ "value": {
25755
+ "type": "string",
25756
+ "description": "Greater than. Plain number string (U256 semantics)."
25757
+ }
25758
+ },
25759
+ "required": [
25760
+ "kind",
25761
+ "value"
25762
+ ],
25763
+ "additionalProperties": false
25764
+ },
25765
+ {
25766
+ "type": "object",
25767
+ "properties": {
25768
+ "kind": {
25769
+ "type": "string",
25770
+ "const": "gte"
25771
+ },
25772
+ "value": {
25773
+ "type": "string",
25774
+ "description": "Greater than or equal. Plain number string (U256 semantics)."
25775
+ }
25776
+ },
25777
+ "required": [
25778
+ "kind",
25779
+ "value"
25780
+ ],
25781
+ "additionalProperties": false
25782
+ },
25244
25783
  {
25245
- "$ref": "#/definitions/__schema3"
25246
- }
25247
- ],
25248
- "$ref": "#/definitions/__schema2"
25249
- },
25250
- "forwardIdx": {
25251
- "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25252
- "allOf": [
25784
+ "type": "object",
25785
+ "properties": {
25786
+ "kind": {
25787
+ "type": "string",
25788
+ "const": "lt"
25789
+ },
25790
+ "value": {
25791
+ "type": "string",
25792
+ "description": "Less than. Plain number string (U256 semantics)."
25793
+ }
25794
+ },
25795
+ "required": [
25796
+ "kind",
25797
+ "value"
25798
+ ],
25799
+ "additionalProperties": false
25800
+ },
25253
25801
  {
25254
- "$ref": "#/definitions/__schema3"
25255
- }
25256
- ],
25257
- "$ref": "#/definitions/__schema2"
25258
- }
25259
- },
25260
- "required": [
25261
- "type",
25262
- "object",
25263
- "historyIdx",
25264
- "sessionIdx",
25265
- "forwardIdx"
25266
- ],
25267
- "additionalProperties": false,
25268
- "description": "Returns U64. Counts the number of retained submissions within the specified forward operation."
25269
- },
25270
- {
25271
- "type": "object",
25272
- "properties": {
25273
- "type": {
25274
- "type": "string",
25275
- "const": "query_progress_history_session_forward_retained_submission_value"
25276
- },
25277
- "object": {
25278
- "type": "object",
25279
- "properties": {
25280
- "identifier": {
25281
- "type": "integer",
25282
- "minimum": 0,
25283
- "maximum": 255,
25284
- "description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails such as full refunds). SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
25285
- }
25286
- },
25287
- "required": [
25288
- "identifier"
25289
- ],
25290
- "additionalProperties": false,
25291
- "description": "Reference to the Progress object in the Guard table (must be Address type)."
25292
- },
25293
- "historyIdx": {
25294
- "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
25295
- "allOf": [
25802
+ "type": "object",
25803
+ "properties": {
25804
+ "kind": {
25805
+ "type": "string",
25806
+ "const": "lte"
25807
+ },
25808
+ "value": {
25809
+ "type": "string",
25810
+ "description": "Less than or equal. Plain number string (U256 semantics)."
25811
+ }
25812
+ },
25813
+ "required": [
25814
+ "kind",
25815
+ "value"
25816
+ ],
25817
+ "additionalProperties": false
25818
+ },
25296
25819
  {
25297
- "$ref": "#/definitions/__schema3"
25298
- }
25299
- ],
25300
- "$ref": "#/definitions/__schema2"
25301
- },
25302
- "sessionIdx": {
25303
- "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25304
- "allOf": [
25820
+ "type": "object",
25821
+ "properties": {
25822
+ "kind": {
25823
+ "type": "string",
25824
+ "const": "addressEq"
25825
+ },
25826
+ "identifier": {
25827
+ "type": "integer",
25828
+ "minimum": 0,
25829
+ "maximum": 255,
25830
+ "description": "Identifier of the Address-type table entry to compare against."
25831
+ }
25832
+ },
25833
+ "required": [
25834
+ "kind",
25835
+ "identifier"
25836
+ ],
25837
+ "additionalProperties": false
25838
+ },
25305
25839
  {
25306
- "$ref": "#/definitions/__schema3"
25307
- }
25308
- ],
25309
- "$ref": "#/definitions/__schema2"
25310
- },
25311
- "forwardIdx": {
25312
- "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
25313
- "allOf": [
25840
+ "type": "object",
25841
+ "properties": {
25842
+ "kind": {
25843
+ "type": "string",
25844
+ "const": "stringEq"
25845
+ },
25846
+ "value": {
25847
+ "type": "string",
25848
+ "description": "Exact string match (byte equality, UTF-8)."
25849
+ }
25850
+ },
25851
+ "required": [
25852
+ "kind",
25853
+ "value"
25854
+ ],
25855
+ "additionalProperties": false
25856
+ },
25314
25857
  {
25315
- "$ref": "#/definitions/__schema3"
25316
- }
25317
- ],
25318
- "$ref": "#/definitions/__schema2"
25319
- },
25320
- "identifier": {
25321
- "description": "GuardNode that returns the submission identifier (U8 type) — which retained submission of the forward to read. Typically an 'identifier' node referencing a U8 value from the Guard table.",
25322
- "allOf": [
25858
+ "type": "object",
25859
+ "properties": {
25860
+ "kind": {
25861
+ "type": "string",
25862
+ "const": "stringContains"
25863
+ },
25864
+ "value": {
25865
+ "type": "string",
25866
+ "description": "Substring match, case-sensitive."
25867
+ }
25868
+ },
25869
+ "required": [
25870
+ "kind",
25871
+ "value"
25872
+ ],
25873
+ "additionalProperties": false
25874
+ },
25323
25875
  {
25324
- "$ref": "#/definitions/__schema3"
25876
+ "type": "object",
25877
+ "properties": {
25878
+ "kind": {
25879
+ "type": "string",
25880
+ "const": "stringNoCaseContains"
25881
+ },
25882
+ "value": {
25883
+ "type": "string",
25884
+ "description": "Substring match, case-insensitive."
25885
+ }
25886
+ },
25887
+ "required": [
25888
+ "kind",
25889
+ "value"
25890
+ ],
25891
+ "additionalProperties": false
25892
+ },
25893
+ {
25894
+ "type": "object",
25895
+ "properties": {
25896
+ "kind": {
25897
+ "type": "string",
25898
+ "const": "boolEq"
25899
+ },
25900
+ "value": {
25901
+ "type": "boolean",
25902
+ "description": "Boolean equality."
25903
+ }
25904
+ },
25905
+ "required": [
25906
+ "kind",
25907
+ "value"
25908
+ ],
25909
+ "additionalProperties": false
25325
25910
  }
25326
25911
  ],
25327
- "$ref": "#/definitions/__schema2"
25912
+ "description": "Predicate filter applied to each candidate's data value."
25328
25913
  }
25329
25914
  },
25330
25915
  "required": [
25331
25916
  "type",
25332
25917
  "object",
25333
- "historyIdx",
25334
- "sessionIdx",
25335
- "forwardIdx",
25336
- "identifier"
25918
+ "key",
25919
+ "ids",
25920
+ "where"
25337
25921
  ],
25338
25922
  "additionalProperties": false,
25339
- "description": "Returns VecU8 (the ONLY history query that does not return U64). Value of the specified retained submission of a HISTORY record (query 1281) — the history-side counterpart of the ACTIVE-SESSION-ONLY 1268 read, which goes blind once the session migrates into history. Use 1274/1275 to discover the history/session/forward indexes first. Throws error when the record carries no submission for the identifier (Guard validation fails)."
25923
+ "description": "Returns U64. Counts candidates whose stored value matches the predicate. Numeric predicates: U256 semantics (pass plain number strings). Range is closed interval per side (minInclusive/maxInclusive default true); a missing side is unbounded. numEq/gt/gte/lt/lte are sugar over range. Entries whose value type does not match the predicate kind are skipped (never error), so the count only reflects matching entries."
25340
25924
  },
25341
25925
  {
25342
25926
  "type": "object",
25343
25927
  "properties": {
25344
25928
  "type": {
25345
25929
  "type": "string",
25346
- "const": "query_repository_data_count_where"
25930
+ "const": "query_repository_data_sum_where"
25347
25931
  },
25348
25932
  "object": {
25349
25933
  "type": "object",
@@ -25619,14 +26203,14 @@
25619
26203
  "where"
25620
26204
  ],
25621
26205
  "additionalProperties": false,
25622
- "description": "Returns U64. Counts candidates whose stored value matches the predicate. Numeric predicates: U256 semantics (pass plain number strings). Range is closed interval per side (minInclusive/maxInclusive default true); a missing side is unbounded. numEq/gt/gte/lt/lte are sugar over range. Entries whose value type does not match the predicate kind are skipped (never error), so the count only reflects matching entries."
26206
+ "description": "Returns U256. Sums the numeric payloads of candidates whose stored value matches the predicate (on-chain checked add, overflow aborts). Non-numeric or mismatching entries contribute 0. Use logic_as_u256_* to compare the sum."
25623
26207
  },
25624
26208
  {
25625
26209
  "type": "object",
25626
26210
  "properties": {
25627
26211
  "type": {
25628
26212
  "type": "string",
25629
- "const": "query_repository_data_sum_where"
26213
+ "const": "query_repository_data_sum_where_bound"
25630
26214
  },
25631
26215
  "object": {
25632
26216
  "type": "object",
@@ -25674,7 +26258,7 @@
25674
26258
  "identifier"
25675
26259
  ],
25676
26260
  "additionalProperties": false,
25677
- "description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
26261
+ "description": "Reference to the candidate ID list (VecAddress type table entry). Each id should be an ORDER address (e.g. order-keyed contribution rows). Duplicates are deduped; max 100 candidates."
25678
26262
  },
25679
26263
  "where": {
25680
26264
  "oneOf": [
@@ -25902,7 +26486,7 @@
25902
26486
  "where"
25903
26487
  ],
25904
26488
  "additionalProperties": false,
25905
- "description": "Returns U256. Sums the numeric payloads of candidates whose stored value matches the predicate (on-chain checked add, overflow aborts). Non-numeric or mismatching entries contribute 0. Use logic_as_u256_* to compare the sum."
26489
+ "description": "Returns U256. ESCROW-BOUND sum (query 1179): per-row min(row_value, order.amount of the Order the row id names); a row keyed by anything that is not an Order contributes 0 (fail-closed). Unlike query_repository_data_sum_where (self-reported row values), a record cannot claim more than the Order actually escrowed — the forgery-proof aggregate for threshold gates and Formula pricing. Use logic_as_u256_* to compare the sum."
25906
26490
  },
25907
26491
  {
25908
26492
  "type": "object",