@wowok/agent-mcp 2.7.6 → 2.7.8

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 (243) hide show
  1. package/dist/customer/index.d.ts +3 -4
  2. package/dist/customer/index.js +1 -1
  3. package/dist/customer/info-puzzle.js +1 -1
  4. package/dist/customer/order-monitor.d.ts +0 -9
  5. package/dist/customer/order-monitor.js +1 -1
  6. package/dist/customer/order-strategy.d.ts +0 -19
  7. package/dist/customer/order-strategy.js +1 -1
  8. package/dist/customer/reminder-system.d.ts +0 -5
  9. package/dist/customer/reminder-system.js +1 -1
  10. package/dist/evaluation/game-strategy.js +1 -1
  11. package/dist/evaluation/injection.d.ts +6 -0
  12. package/dist/evaluation/injection.js +1 -0
  13. package/dist/evaluation/node-game.js +1 -1
  14. package/dist/examples/machine-multisig-threshold.json +1 -0
  15. package/dist/harness/recover.js +1 -1
  16. package/dist/harness/types.d.ts +1 -1
  17. package/dist/harness/verify.js +1 -1
  18. package/dist/intent/enrich.js +1 -1
  19. package/dist/intent/matcher.js +1 -1
  20. package/dist/intent/types.d.ts +1 -1
  21. package/dist/intent/types.js +1 -1
  22. package/dist/knowledge/arbitration-ledger.js +1 -1
  23. package/dist/knowledge/contract-invariants.d.ts +53 -0
  24. package/dist/knowledge/contract-invariants.js +1 -0
  25. package/dist/knowledge/deployment-scanner.js +1 -1
  26. package/dist/knowledge/dynamic-pricing.d.ts +0 -2
  27. package/dist/knowledge/dynamic-pricing.js +1 -1
  28. package/dist/knowledge/event-semantics.d.ts +20 -0
  29. package/dist/knowledge/event-semantics.js +1 -0
  30. package/dist/knowledge/examples-scanner-cli.js +1 -1
  31. package/dist/knowledge/examples-scanner.js +1 -1
  32. package/dist/knowledge/glossary.js +1 -1
  33. package/dist/knowledge/guard-submission-prompt.js +1 -1
  34. package/dist/knowledge/immutability.d.ts +11 -0
  35. package/dist/knowledge/immutability.js +1 -0
  36. package/dist/knowledge/index.d.ts +12 -6
  37. package/dist/knowledge/index.js +1 -1
  38. package/dist/knowledge/industry-registry.js +1 -1
  39. package/dist/knowledge/intent-metrics.d.ts +1 -1
  40. package/dist/knowledge/jsonrpc-enum.d.ts +37 -0
  41. package/dist/knowledge/jsonrpc-enum.js +1 -0
  42. package/dist/knowledge/machine-confirm.js +1 -1
  43. package/dist/knowledge/machine-risk.js +1 -1
  44. package/dist/knowledge/machine-topology.d.ts +11 -0
  45. package/dist/knowledge/machine-topology.js +1 -1
  46. package/dist/knowledge/machine-translation.js +1 -1
  47. package/dist/knowledge/market-metrics.d.ts +11 -0
  48. package/dist/knowledge/market-metrics.js +1 -1
  49. package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
  50. package/dist/knowledge/mcp-schema-audit.d.ts +1 -0
  51. package/dist/knowledge/mcp-schema-audit.js +1 -1
  52. package/dist/knowledge/messenger-guard-guidance.d.ts +17 -0
  53. package/dist/knowledge/messenger-guard-guidance.js +1 -0
  54. package/dist/knowledge/operation-dictionary.d.ts +18 -0
  55. package/dist/knowledge/operation-dictionary.js +1 -0
  56. package/dist/knowledge/service-ledger.js +1 -1
  57. package/dist/knowledge/service-risk.js +1 -1
  58. package/dist/knowledge/service-translation.js +1 -1
  59. package/dist/knowledge/supply-chain.d.ts +24 -0
  60. package/dist/knowledge/supply-chain.js +1 -0
  61. package/dist/knowledge/template-registry.js +1 -1
  62. package/dist/knowledge/tools-reference.js +1 -1
  63. package/dist/knowledge/trust-metrics.d.ts +27 -2
  64. package/dist/knowledge/trust-metrics.js +1 -1
  65. package/dist/knowledge/workflow-guidance.d.ts +22 -1
  66. package/dist/knowledge/workflow-guidance.js +1 -1
  67. package/dist/monitor/EventStore.d.ts +78 -0
  68. package/dist/monitor/EventStore.js +1 -0
  69. package/dist/participation/radar-core.d.ts +0 -1
  70. package/dist/participation/radar-core.js +1 -1
  71. package/dist/persona/address-format.d.ts +6 -0
  72. package/dist/persona/address-format.js +1 -0
  73. package/dist/persona/analyzer.js +1 -1
  74. package/dist/persona/index.d.ts +3 -0
  75. package/dist/persona/index.js +1 -1
  76. package/dist/persona/types.d.ts +1 -1
  77. package/dist/persona/types.js +1 -1
  78. package/dist/project/business-puzzle.js +1 -1
  79. package/dist/project/edit-planner.js +1 -1
  80. package/dist/project/evaluation-fix.spec.d.ts +1 -0
  81. package/dist/project/evaluation-fix.spec.js +1 -0
  82. package/dist/project/evaluation.js +1 -1
  83. package/dist/project/graph-builder.js +1 -1
  84. package/dist/project/handlers.d.ts +2 -18
  85. package/dist/project/handlers.js +1 -1
  86. package/dist/project/index.js +1 -1
  87. package/dist/project/machine-nodes.d.ts +23 -0
  88. package/dist/project/machine-nodes.js +1 -1
  89. package/dist/project/machine-panorama.d.ts +41 -0
  90. package/dist/project/machine-panorama.js +1 -0
  91. package/dist/project/object-panorama.d.ts +179 -0
  92. package/dist/project/object-panorama.js +1 -0
  93. package/dist/project/object-type.d.ts +1 -0
  94. package/dist/project/object-type.js +1 -0
  95. package/dist/project/participation-radar.js +1 -1
  96. package/dist/project/semantic-assembler.js +1 -1
  97. package/dist/project/service-panorama.d.ts +180 -0
  98. package/dist/project/service-panorama.js +1 -0
  99. package/dist/project/stage-gate.d.ts +0 -1
  100. package/dist/project/stage-gate.js +1 -1
  101. package/dist/project/task-tracker.d.ts +4 -0
  102. package/dist/project/task-tracker.js +1 -1
  103. package/dist/role/derivation.d.ts +19 -2
  104. package/dist/role/derivation.js +1 -1
  105. package/dist/role/index.d.ts +2 -2
  106. package/dist/role/index.js +1 -1
  107. package/dist/role/model.js +1 -1
  108. package/dist/role/resolution.d.ts +16 -0
  109. package/dist/role/resolution.js +1 -1
  110. package/dist/role/types.d.ts +1 -1
  111. package/dist/role/types.js +1 -1
  112. package/dist/safety/confirm-gate.js +1 -1
  113. package/dist/schema/call/allocation.d.ts +10 -0
  114. package/dist/schema/call/arbitration.d.ts +14 -3
  115. package/dist/schema/call/arbitration.js +1 -1
  116. package/dist/schema/call/base.d.ts +16 -0
  117. package/dist/schema/call/base.js +1 -1
  118. package/dist/schema/call/bridge.d.ts +7 -0
  119. package/dist/schema/call/contact.d.ts +11 -0
  120. package/dist/schema/call/demand.d.ts +11 -0
  121. package/dist/schema/call/guard.d.ts +3 -0
  122. package/dist/schema/call/handler.js +1 -1
  123. package/dist/schema/call/machine.d.ts +12 -0
  124. package/dist/schema/call/machine.js +1 -1
  125. package/dist/schema/call/order.d.ts +11 -0
  126. package/dist/schema/call/payment.d.ts +4 -3
  127. package/dist/schema/call/payment.js +1 -1
  128. package/dist/schema/call/permission.d.ts +11 -0
  129. package/dist/schema/call/personal.d.ts +38 -0
  130. package/dist/schema/call/personal.js +1 -1
  131. package/dist/schema/call/progress.d.ts +11 -0
  132. package/dist/schema/call/proof.d.ts +2 -0
  133. package/dist/schema/call/repository.d.ts +15 -4
  134. package/dist/schema/call/reward.d.ts +17 -12
  135. package/dist/schema/call/reward.js +1 -1
  136. package/dist/schema/call/semantic.d.ts +3 -2
  137. package/dist/schema/call/semantic.js +1 -1
  138. package/dist/schema/call/service.d.ts +17 -0
  139. package/dist/schema/call/service.js +1 -1
  140. package/dist/schema/call/treasury.d.ts +17 -0
  141. package/dist/schema/common/index.d.ts +21 -0
  142. package/dist/schema/common/index.js +1 -1
  143. package/dist/schema/evaluation/index.d.ts +146 -0
  144. package/dist/schema/evaluation/index.js +1 -1
  145. package/dist/schema/index.d.ts +1 -0
  146. package/dist/schema/index.js +1 -1
  147. package/dist/schema/intent-radar/index.d.ts +30 -3
  148. package/dist/schema/intent-radar/index.js +1 -1
  149. package/dist/schema/local/index.d.ts +9 -0
  150. package/dist/schema/local/index.js +1 -1
  151. package/dist/schema/messenger/index.d.ts +54 -0
  152. package/dist/schema/messenger/index.js +1 -1
  153. package/dist/schema/operations.d.ts +932 -9
  154. package/dist/schema/operations.js +1 -1
  155. package/dist/schema/permission/index.d.ts +17 -0
  156. package/dist/schema/permission/index.js +1 -1
  157. package/dist/schema/project/index.d.ts +6 -0
  158. package/dist/schema/project/index.js +1 -1
  159. package/dist/schema/query/index.d.ts +663 -56
  160. package/dist/schema/query/index.js +1 -1
  161. package/dist/schema/schema-version.js +1 -1
  162. package/dist/schema/trust/index.d.ts +17 -0
  163. package/dist/schema/trust/index.js +1 -1
  164. package/dist/schema/watch/index.d.ts +204 -0
  165. package/dist/schema/watch/index.js +1 -0
  166. package/dist/schema/workflow/index.d.ts +301 -0
  167. package/dist/schema/workflow/index.js +1 -1
  168. package/dist/schema-query-impl/index.js +1 -1
  169. package/dist/schemas/account_operation.output.json +5 -2
  170. package/dist/schemas/bridge_operation.output.json +5 -2
  171. package/dist/schemas/bridge_operation.schema.json +25 -9
  172. package/dist/schemas/evaluation_operation.output.json +276 -1
  173. package/dist/schemas/evaluation_operation.schema.json +307 -0
  174. package/dist/schemas/guard2file.schema.json +6 -2
  175. package/dist/schemas/index.json +13 -1
  176. package/dist/schemas/intent_radar.output.json +20 -2
  177. package/dist/schemas/intent_radar.schema.json +10 -1
  178. package/dist/schemas/local_info_operation.output.json +5 -2
  179. package/dist/schemas/local_mark_operation.output.json +5 -2
  180. package/dist/schemas/machineNode2file.schema.json +6 -2
  181. package/dist/schemas/messenger_operation.output.json +105 -2
  182. package/dist/schemas/messenger_operation.schema.json +98 -0
  183. package/dist/schemas/monitor_events.output.json +1360 -0
  184. package/dist/schemas/monitor_events.schema.json +62 -0
  185. package/dist/schemas/onchain_events.output.json +237 -14
  186. package/dist/schemas/onchain_events.schema.json +20 -0
  187. package/dist/schemas/onchain_operations.output.json +10 -5
  188. package/dist/schemas/onchain_operations.schema.json +768 -409
  189. package/dist/schemas/onchain_operations_allocation.schema.json +23 -7
  190. package/dist/schemas/onchain_operations_arbitration.schema.json +34 -9
  191. package/dist/schemas/onchain_operations_contact.schema.json +29 -5
  192. package/dist/schemas/onchain_operations_demand.schema.json +29 -5
  193. package/dist/schemas/onchain_operations_gen_passport.schema.json +6 -2
  194. package/dist/schemas/onchain_operations_gen_proof.schema.json +6 -2
  195. package/dist/schemas/onchain_operations_guard.schema.json +6 -2
  196. package/dist/schemas/onchain_operations_machine.schema.json +34 -10
  197. package/dist/schemas/onchain_operations_order.schema.json +29 -5
  198. package/dist/schemas/onchain_operations_payment.schema.json +13 -10
  199. package/dist/schemas/onchain_operations_permission.schema.json +29 -5
  200. package/dist/schemas/onchain_operations_personal.schema.json +44 -2
  201. package/dist/schemas/onchain_operations_progress.schema.json +29 -5
  202. package/dist/schemas/onchain_operations_proof.schema.json +6 -2
  203. package/dist/schemas/onchain_operations_repository.schema.json +310 -305
  204. package/dist/schemas/onchain_operations_reward.schema.json +46 -10
  205. package/dist/schemas/onchain_operations_service.schema.json +49 -13
  206. package/dist/schemas/onchain_operations_treasury.schema.json +46 -10
  207. package/dist/schemas/onchain_table_data.output.json +3750 -208
  208. package/dist/schemas/onchain_table_data.schema.json +311 -0
  209. package/dist/schemas/permission_operation.output.json +32 -0
  210. package/dist/schemas/project_operation.schema.json +14 -8
  211. package/dist/schemas/query_toolkit.output.json +425 -320
  212. package/dist/schemas/query_toolkit.schema.json +139 -1
  213. package/dist/schemas/trust_score.output.json +38 -0
  214. package/dist/schemas/trust_score.schema.json +32 -0
  215. package/dist/schemas/watch_operation.output.json +827 -0
  216. package/dist/schemas/watch_operation.schema.json +145 -0
  217. package/dist/schemas/workflow_operation.output.json +263 -5
  218. package/dist/schemas/workflow_operation.schema.json +597 -2
  219. package/dist/tools/handlers/config.js +1 -1
  220. package/dist/tools/handlers/evaluation.js +1 -1
  221. package/dist/tools/handlers/intent-radar.js +1 -1
  222. package/dist/tools/handlers/messenger.js +1 -1
  223. package/dist/tools/handlers/monitor.d.ts +2 -0
  224. package/dist/tools/handlers/monitor.js +1 -0
  225. package/dist/tools/handlers/onchain.js +1 -1
  226. package/dist/tools/handlers/permission.js +1 -1
  227. package/dist/tools/handlers/project.js +1 -1
  228. package/dist/tools/handlers/query.js +1 -1
  229. package/dist/tools/handlers/trust.d.ts +14 -0
  230. package/dist/tools/handlers/trust.js +1 -1
  231. package/dist/tools/handlers/watch.d.ts +2 -0
  232. package/dist/tools/handlers/watch.js +1 -0
  233. package/dist/tools/handlers/workflow.js +1 -1
  234. package/dist/tools/index.d.ts +2 -0
  235. package/dist/tools/index.js +1 -1
  236. package/dist/tools/shared.js +1 -1
  237. package/package.json +2 -2
  238. package/dist/customer/post-purchase.d.ts +0 -44
  239. package/dist/customer/post-purchase.js +0 -1
  240. package/dist/project/migration.d.ts +0 -22
  241. package/dist/project/migration.js +0 -1
  242. package/dist/project/rollback-policy.d.ts +0 -45
  243. package/dist/project/rollback-policy.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://wowok.net/schemas/workflow_operation.json",
4
4
  "title": "Workflow - Local-Account Progress Tasks",
5
- "description": "workflow_operation input. action='list' enumerates local-account actionable progress; action='operate' advances/holds/unholds a forward as a chosen local account.",
5
+ "description": "workflow_operation input. action='list' enumerates progress related to local accounts (actionable first, plus completed/related progress with viewable history); action='task' builds the SAME snapshot for ONE progress (options may carry empty executable_accounts — the client grays the actions); action='operate' advances/holds/unholds a forward as a chosen local account; action='history' incrementally syncs + returns a progress's on-chain history.",
6
6
  "oneOf": [
7
7
  {
8
8
  "type": "object",
@@ -12,7 +12,7 @@
12
12
  "const": "list"
13
13
  },
14
14
  "limit": {
15
- "description": "Max number of active progress tasks to return (default 50)",
15
+ "description": "Max progress entries to return, actionable first (default 50)",
16
16
  "type": "integer",
17
17
  "minimum": 1,
18
18
  "maximum": 100
@@ -90,6 +90,531 @@
90
90
  "operation",
91
91
  "op"
92
92
  ],
93
+ "additionalProperties": false,
94
+ "description": "⚠️ SINGLE-OPERATOR LOCK: each forward is locked by the FIRST operator that accomplishes it — a different account re-executing the same accomplished forward aborts E_NOT_THE_HOLDER, and the weight is counted only once. Multi-operator cooperation (threshold > 1) is done via DISTINCT forwards (one per contributor). The workflow 'list' action already hides accomplished forwards and restricts held forwards to their holder."
95
+ },
96
+ "submission": {
97
+ "description": "Guard submissions for guarded forwards (forward.guard_submissions in the list describes each required field). Fill `submission: [{ guard: '<guard>', submission: [{ identifier, b_submission: true, value_type, value }] }]` with the value the user entered for each b_submission field.",
98
+ "type": "object",
99
+ "properties": {
100
+ "type": {
101
+ "type": "string",
102
+ "const": "submission",
103
+ "description": "Discriminator for this result variant. Constraint: always 'submission'. Example: 'submission'"
104
+ },
105
+ "guard": {
106
+ "maxItems": 20,
107
+ "type": "array",
108
+ "items": {
109
+ "type": "object",
110
+ "properties": {
111
+ "object": {
112
+ "type": "string",
113
+ "description": "Guard object name or ID to verify against. Example: 'my-delivery-guard' or '0x123...'"
114
+ },
115
+ "impack": {
116
+ "type": "boolean",
117
+ "description": "Whether this Guard's verification result participates in the final logic. Constraint: if false, the Guard is checked but does not block the operation. Example: true"
118
+ }
119
+ },
120
+ "required": [
121
+ "object",
122
+ "impack"
123
+ ],
124
+ "additionalProperties": false
125
+ },
126
+ "description": "Array of Guard objects to verify. Constraint: at most 20 entries (MAX_GUARD_COUNT_PASSPORT). Relation: each entry corresponds to a Guard bound to the operation."
127
+ },
128
+ "submission": {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "object",
132
+ "properties": {
133
+ "guard": {
134
+ "type": "string",
135
+ "description": "Guard object name or ID that requires submission data. Example: 'my-delivery-guard'"
136
+ },
137
+ "submission": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "object",
141
+ "properties": {
142
+ "identifier": {
143
+ "type": "integer",
144
+ "minimum": 0,
145
+ "maximum": 255,
146
+ "description": "Identifier (0-255) for data lookup in Guard table."
147
+ },
148
+ "b_submission": {
149
+ "type": "boolean",
150
+ "description": "Whether this table item's value is submitted dynamically at Guard trigger time (alloc_by_guard call). \n\ntrue = value is submitted by the caller when triggering the Guard. Use for runtime-context-dependent values like order address, user address. The 'value' field is ignored when b_submission=true; the caller must provide it via submissions[]. \n\nfalse = value is static, set at Guard creation time. Use for values known when the Guard is created: expected node names, expected merchant address, expected service address. The 'value' field must be populated and will be stored on-chain permanently. \n\nRule of thumb: if the value is the SAME for all future Guard triggers, use false. If the value DIFFERS per trigger (e.g., which order to release funds for), use true."
151
+ },
152
+ "value_type": {
153
+ "anyOf": [
154
+ {
155
+ "type": "number",
156
+ "const": 0,
157
+ "description": "Bool (0)"
158
+ },
159
+ {
160
+ "type": "number",
161
+ "const": 1,
162
+ "description": "Address (1)"
163
+ },
164
+ {
165
+ "type": "number",
166
+ "const": 2,
167
+ "description": "String (2)"
168
+ },
169
+ {
170
+ "type": "number",
171
+ "const": 3,
172
+ "description": "U8 (3)"
173
+ },
174
+ {
175
+ "type": "number",
176
+ "const": 4,
177
+ "description": "U16 (4)"
178
+ },
179
+ {
180
+ "type": "number",
181
+ "const": 5,
182
+ "description": "U32 (5)"
183
+ },
184
+ {
185
+ "type": "number",
186
+ "const": 6,
187
+ "description": "U64 (6)"
188
+ },
189
+ {
190
+ "type": "number",
191
+ "const": 7,
192
+ "description": "U128 (7)"
193
+ },
194
+ {
195
+ "type": "number",
196
+ "const": 8,
197
+ "description": "U256 (8)"
198
+ },
199
+ {
200
+ "type": "number",
201
+ "const": 9,
202
+ "description": "VecBool (9)"
203
+ },
204
+ {
205
+ "type": "number",
206
+ "const": 10,
207
+ "description": "VecAddress (10)"
208
+ },
209
+ {
210
+ "type": "number",
211
+ "const": 11,
212
+ "description": "VecString (11)"
213
+ },
214
+ {
215
+ "type": "number",
216
+ "const": 12,
217
+ "description": "VecU8 (12)"
218
+ },
219
+ {
220
+ "type": "number",
221
+ "const": 13,
222
+ "description": "VecU16 (13)"
223
+ },
224
+ {
225
+ "type": "number",
226
+ "const": 14,
227
+ "description": "VecU32 (14)"
228
+ },
229
+ {
230
+ "type": "number",
231
+ "const": 15,
232
+ "description": "VecU64 (15)"
233
+ },
234
+ {
235
+ "type": "number",
236
+ "const": 16,
237
+ "description": "VecU128 (16)"
238
+ },
239
+ {
240
+ "type": "number",
241
+ "const": 17,
242
+ "description": "VecU256 (17)"
243
+ },
244
+ {
245
+ "type": "number",
246
+ "const": 18,
247
+ "description": "VecVecU8 (18)"
248
+ },
249
+ {
250
+ "type": "string",
251
+ "const": "Bool",
252
+ "description": "Bool"
253
+ },
254
+ {
255
+ "type": "string",
256
+ "const": "Address",
257
+ "description": "Address"
258
+ },
259
+ {
260
+ "type": "string",
261
+ "const": "String",
262
+ "description": "String"
263
+ },
264
+ {
265
+ "type": "string",
266
+ "const": "U8",
267
+ "description": "U8"
268
+ },
269
+ {
270
+ "type": "string",
271
+ "const": "U16",
272
+ "description": "U16"
273
+ },
274
+ {
275
+ "type": "string",
276
+ "const": "U32",
277
+ "description": "U32"
278
+ },
279
+ {
280
+ "type": "string",
281
+ "const": "U64",
282
+ "description": "U64"
283
+ },
284
+ {
285
+ "type": "string",
286
+ "const": "U128",
287
+ "description": "U128"
288
+ },
289
+ {
290
+ "type": "string",
291
+ "const": "U256",
292
+ "description": "U256"
293
+ },
294
+ {
295
+ "type": "string",
296
+ "const": "VecBool",
297
+ "description": "VecBool"
298
+ },
299
+ {
300
+ "type": "string",
301
+ "const": "VecAddress",
302
+ "description": "VecAddress"
303
+ },
304
+ {
305
+ "type": "string",
306
+ "const": "VecString",
307
+ "description": "VecString"
308
+ },
309
+ {
310
+ "type": "string",
311
+ "const": "VecU8",
312
+ "description": "VecU8"
313
+ },
314
+ {
315
+ "type": "string",
316
+ "const": "VecU16",
317
+ "description": "VecU16"
318
+ },
319
+ {
320
+ "type": "string",
321
+ "const": "VecU32",
322
+ "description": "VecU32"
323
+ },
324
+ {
325
+ "type": "string",
326
+ "const": "VecU64",
327
+ "description": "VecU64"
328
+ },
329
+ {
330
+ "type": "string",
331
+ "const": "VecU128",
332
+ "description": "VecU128"
333
+ },
334
+ {
335
+ "type": "string",
336
+ "const": "VecU256",
337
+ "description": "VecU256"
338
+ },
339
+ {
340
+ "type": "string",
341
+ "const": "VecVecU8",
342
+ "description": "VecVecU8"
343
+ },
344
+ {
345
+ "type": "string",
346
+ "const": "bool",
347
+ "description": "bool"
348
+ },
349
+ {
350
+ "type": "string",
351
+ "const": "address",
352
+ "description": "address"
353
+ },
354
+ {
355
+ "type": "string",
356
+ "const": "string",
357
+ "description": "string"
358
+ },
359
+ {
360
+ "type": "string",
361
+ "const": "u8",
362
+ "description": "u8"
363
+ },
364
+ {
365
+ "type": "string",
366
+ "const": "u16",
367
+ "description": "u16"
368
+ },
369
+ {
370
+ "type": "string",
371
+ "const": "u32",
372
+ "description": "u32"
373
+ },
374
+ {
375
+ "type": "string",
376
+ "const": "u64",
377
+ "description": "u64"
378
+ },
379
+ {
380
+ "type": "string",
381
+ "const": "u128",
382
+ "description": "u128"
383
+ },
384
+ {
385
+ "type": "string",
386
+ "const": "u256",
387
+ "description": "u256"
388
+ },
389
+ {
390
+ "type": "string",
391
+ "const": "vecbool",
392
+ "description": "vecbool"
393
+ },
394
+ {
395
+ "type": "string",
396
+ "const": "vecaddress",
397
+ "description": "vecaddress"
398
+ },
399
+ {
400
+ "type": "string",
401
+ "const": "vecstring",
402
+ "description": "vecstring"
403
+ },
404
+ {
405
+ "type": "string",
406
+ "const": "vecu8",
407
+ "description": "vecu8"
408
+ },
409
+ {
410
+ "type": "string",
411
+ "const": "vecu16",
412
+ "description": "vecu16"
413
+ },
414
+ {
415
+ "type": "string",
416
+ "const": "vecu32",
417
+ "description": "vecu32"
418
+ },
419
+ {
420
+ "type": "string",
421
+ "const": "vecu64",
422
+ "description": "vecu64"
423
+ },
424
+ {
425
+ "type": "string",
426
+ "const": "vecu128",
427
+ "description": "vecu128"
428
+ },
429
+ {
430
+ "type": "string",
431
+ "const": "vecu256",
432
+ "description": "vecu256"
433
+ },
434
+ {
435
+ "type": "string",
436
+ "const": "vecvecu8",
437
+ "description": "vecvecu8"
438
+ }
439
+ ],
440
+ "description": "Type of the value stored in `value`. One of: Bool(0), Address(1), String(2), U8(3), U16(4), U32(5), U64(6), U128(7), U256(8), VecBool(9), VecAddress(10), VecString(11), VecU8(12), VecU16(13), VecU32(14), VecU64(15), VecU128(16), VecU256(17), VecVecU8(18). When value_type=Address (1), the `value` field accepts a hex address string, a LocalMark name, or an AccountOrMark_Address object — see `value` field description for details."
441
+ },
442
+ "value": {
443
+ "description": "The actual value data. Format depends on `value_type`:\n• Bool: true/false (boolean)\n• Address (CRITICAL — string 'Address' is NOT a placeholder): a hex address (e.g. '0x1234...'), a LocalMark name (e.g. 'my-service' — resolved to address at evaluation time), an AccountOrMark_Address object (e.g. {name_or_address:'my-service'}), or system shorthand ('0xaaa' = EntityLinker, '0xaab' = EntityRegistrar). The literal string 'Address' itself is INVALID — it would be treated as a non-existent LocalMark name and fail. Example: value='0x2::wow::WOW<address>' or value='my-permission'.\n• String: any string\n• U8/U16/U32/U64/U128/U256: number or numeric string (e.g. 42 or '42')\n• Vec* types: arrays of the corresponding element type\nREQUIRED when b_submission=false. OPTIONAL when b_submission=true (value is supplied at evaluation time by user submission).",
444
+ "anyOf": [
445
+ {
446
+ "type": "boolean"
447
+ },
448
+ {
449
+ "anyOf": [
450
+ {
451
+ "type": "object",
452
+ "properties": {
453
+ "name_or_address": {
454
+ "type": "string",
455
+ "description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
456
+ },
457
+ "local_mark_first": {
458
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
459
+ "type": "boolean"
460
+ }
461
+ },
462
+ "additionalProperties": false,
463
+ "description": "Account or address lookup object. Use this to specify which account to use for an operation. EXAMPLE: { name_or_address: 'testor2' } - looks up account by name; EXAMPLE: { name_or_address: '0x1234...' } - uses address directly; If name_or_address is empty string '', uses the default local account."
464
+ },
465
+ {
466
+ "type": "string"
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "type": "string"
472
+ },
473
+ {
474
+ "type": "number"
475
+ },
476
+ {
477
+ "type": "array",
478
+ "items": {
479
+ "type": "boolean"
480
+ }
481
+ },
482
+ {
483
+ "anyOf": [
484
+ {
485
+ "type": "object",
486
+ "properties": {
487
+ "entities": {
488
+ "type": "array",
489
+ "items": {
490
+ "type": "object",
491
+ "properties": {
492
+ "name_or_address": {
493
+ "type": "string",
494
+ "description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
495
+ },
496
+ "local_mark_first": {
497
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
498
+ "type": "boolean"
499
+ }
500
+ },
501
+ "additionalProperties": false,
502
+ "description": "Account or address lookup object. Use this to specify which account to use for an operation. EXAMPLE: { name_or_address: 'testor2' } - looks up account by name; EXAMPLE: { name_or_address: '0x1234...' } - uses address directly; If name_or_address is empty string '', uses the default local account."
503
+ }
504
+ },
505
+ "check_all_founded": {
506
+ "description": "Whether to check all entities are found, if true, all entities must be found (abort and throw exception if any ID not found); if false, only return found IDs",
507
+ "type": "boolean"
508
+ }
509
+ },
510
+ "required": [
511
+ "entities"
512
+ ],
513
+ "additionalProperties": false,
514
+ "description": "Used to batch find account or object IDs by name"
515
+ },
516
+ {
517
+ "type": "array",
518
+ "items": {
519
+ "type": "string"
520
+ }
521
+ }
522
+ ]
523
+ },
524
+ {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "string"
528
+ }
529
+ },
530
+ {
531
+ "type": "array",
532
+ "items": {
533
+ "type": "number"
534
+ }
535
+ },
536
+ {
537
+ "type": "array",
538
+ "items": {
539
+ "type": "array",
540
+ "items": {
541
+ "type": "number"
542
+ }
543
+ }
544
+ }
545
+ ]
546
+ },
547
+ "name": {
548
+ "default": "",
549
+ "description": "Data name identifier. MAX 64 BCS characters (Chinese chars count as 3-4 BCS bytes each). Use short identifiers like 'order_id', 'delivery_node'. Put longer descriptions in the Guard's 'description' field, NOT here.",
550
+ "type": "string"
551
+ },
552
+ "object_type": {
553
+ "description": "OUTPUT-ONLY (query side): Object type when value_type is Address and represents a specific object. Auto-derived by the system — DO NOT set this field at Guard creation.",
554
+ "type": "string",
555
+ "enum": [
556
+ "Permission",
557
+ "Repository",
558
+ "Arb",
559
+ "Arbitration",
560
+ "Service",
561
+ "Machine",
562
+ "Order",
563
+ "Progress",
564
+ "Payment",
565
+ "Treasury",
566
+ "Guard",
567
+ "Demand",
568
+ "Passport",
569
+ "Allocation",
570
+ "Resource",
571
+ "Reward",
572
+ "Discount",
573
+ "EntityRegistrar",
574
+ "EntityLinker",
575
+ "Proof",
576
+ "WReceivedObject",
577
+ "Contact",
578
+ "TableItem_ProgressHistory",
579
+ "TableItem_PermissionPerm",
580
+ "TableItem_DemandPresenter",
581
+ "TableItem_MachineNode",
582
+ "TableItem_TreasuryHistory",
583
+ "TableItem_RepositoryData",
584
+ "TableItem_RewardRecord",
585
+ "TableItem_EntityLinker",
586
+ "TableItem_AddressMark",
587
+ "TableItem_EntityRegistrar"
588
+ ]
589
+ }
590
+ },
591
+ "required": [
592
+ "identifier",
593
+ "b_submission",
594
+ "value_type",
595
+ "name"
596
+ ],
597
+ "additionalProperties": false,
598
+ "description": "Guard table item (QUERY/OUTPUT form — includes auto-derived object_type field)"
599
+ },
600
+ "description": "User-submitted data matching the Guard's required fields. Relation: structure must match the Guard table's column definitions. Example: [{field:'delivery_proof', value:'Qm...'}]"
601
+ }
602
+ },
603
+ "required": [
604
+ "guard",
605
+ "submission"
606
+ ],
607
+ "additionalProperties": false,
608
+ "description": "One Guard's submission data: the Guard to verify plus the user-provided data that satisfies its requirements."
609
+ },
610
+ "description": "User-submitted data for each Guard. Relation: one entry per Guard in the guard array; fill submission fields and resubmit via call_with_submission. PLACEMENT: this `submission` field is at the SAME level as `data` and `env` in the operation input — NOT inside `data.data`. Example structure: {tool:'onchain_operations', data:{operation_type:'order', data:{object:'my_order', progress:{...}}}, submission:{type:'submission', guard:[...], submission:[...]}}"
611
+ }
612
+ },
613
+ "required": [
614
+ "type",
615
+ "guard",
616
+ "submission"
617
+ ],
93
618
  "additionalProperties": false
94
619
  },
95
620
  "network": {
@@ -111,6 +636,76 @@
111
636
  "operate"
112
637
  ],
113
638
  "additionalProperties": false
639
+ },
640
+ {
641
+ "type": "object",
642
+ "properties": {
643
+ "action": {
644
+ "type": "string",
645
+ "const": "task"
646
+ },
647
+ "progress": {
648
+ "type": "string",
649
+ "description": "Progress object (name or address) to snapshot"
650
+ },
651
+ "network": {
652
+ "type": "string",
653
+ "enum": [
654
+ "localnet",
655
+ "testnet",
656
+ "mainnet"
657
+ ],
658
+ "description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Use project_operation action='clone_project_to_network' to clone the project blueprint to the target network, then re-run onchain_operations with env.network=target_network to deploy."
659
+ },
660
+ "no_cache": {
661
+ "type": "boolean"
662
+ }
663
+ },
664
+ "required": [
665
+ "action",
666
+ "progress"
667
+ ],
668
+ "additionalProperties": false
669
+ },
670
+ {
671
+ "type": "object",
672
+ "properties": {
673
+ "action": {
674
+ "type": "string",
675
+ "const": "history"
676
+ },
677
+ "progress": {
678
+ "type": "string",
679
+ "description": "Progress object (name or address) whose history to sync and view"
680
+ },
681
+ "limit": {
682
+ "description": "Max history records to return, newest first (default 50)",
683
+ "type": "integer",
684
+ "minimum": 1,
685
+ "maximum": 500
686
+ },
687
+ "prune": {
688
+ "description": "Run the 90-day retention cleanup of stale progress histories (default true)",
689
+ "type": "boolean"
690
+ },
691
+ "network": {
692
+ "type": "string",
693
+ "enum": [
694
+ "localnet",
695
+ "testnet",
696
+ "mainnet"
697
+ ],
698
+ "description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Use project_operation action='clone_project_to_network' to clone the project blueprint to the target network, then re-run onchain_operations with env.network=target_network to deploy."
699
+ },
700
+ "no_cache": {
701
+ "type": "boolean"
702
+ }
703
+ },
704
+ "required": [
705
+ "action",
706
+ "progress"
707
+ ],
708
+ "additionalProperties": false
114
709
  }
115
710
  ]
116
711
  }
@@ -1 +1 @@
1
- import{listServices,getServiceInfo,toggle as a352a,setEnabled as a352b,reset as a352c}from'../../config/index.js';import{strictParse}from'../../schema/index.js';import{ConfigOperationInputSchema}from'../../schema/config/index.js';export async function handleConfigOperation(a){const b=strictParse(ConfigOperationInputSchema,a,'config_operation\x20input'),{action:c,service:d}=b;let e;switch(c){case'list':e={'action':'list','services':listServices()};break;case'toggle':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20toggle');const f=d,g=getServiceInfo(f);if(!g)throw new Error('Unknown\x20service:\x20'+f+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');const h=a352a(f);e={'action':'toggle','service':f,'enabled':h,'reminder':g['reminder']};break;}case'enable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20enable');const i=d,j=getServiceInfo(i);if(!j)throw new Error('Unknown\x20service:\x20'+i+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a352b(i,!![]),e={'action':'enable','service':i,'enabled':!![],'reminder':j['reminder']};break;}case'disable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20disable');const k=d,l=getServiceInfo(k);if(!l)throw new Error('Unknown\x20service:\x20'+k+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a352b(k,![]),e={'action':'disable','service':k,'enabled':![],'reminder':l['reminder']};break;}case'reset':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20reset');const m=d,n=getServiceInfo(m);if(!n)throw new Error('Unknown\x20service:\x20'+m+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a352c(m),e={'action':'reset','service':m,'enabled':getServiceInfo(m)?.['enabled'],'reminder':n['reminder'],'reset':!![]};break;}case'info':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20info');const o=d,p=getServiceInfo(o);if(!p)throw new Error('Unknown\x20service:\x20'+o+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');e={'action':'info',...p};break;}default:throw new Error('Unknown\x20config_operation\x20action:\x20'+String(c));}return{'content':[{'type':'text','text':JSON['stringify']({'result':e})}],'structuredContent':{'result':e}};}
1
+ import{listServices,getServiceInfo,toggle as a365a,setEnabled as a365b,reset as a365c}from'../../config/index.js';import{strictParse}from'../../schema/index.js';import{ConfigOperationInputSchema}from'../../schema/config/index.js';export async function handleConfigOperation(a){const b=strictParse(ConfigOperationInputSchema,a,'config_operation\x20input'),{action:c,service:d}=b;let e;switch(c){case'list':e={'action':'list','services':listServices()};break;case'toggle':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20toggle');const f=d,g=getServiceInfo(f);if(!g)throw new Error('Unknown\x20service:\x20'+f+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');const h=a365a(f);e={'action':'toggle','service':f,'enabled':h,'reminder':g['reminder']};break;}case'enable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20enable');const i=d,j=getServiceInfo(i);if(!j)throw new Error('Unknown\x20service:\x20'+i+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a365b(i,!![]),e={'action':'enable','service':i,'enabled':!![],'reminder':j['reminder']};break;}case'disable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20disable');const k=d,l=getServiceInfo(k);if(!l)throw new Error('Unknown\x20service:\x20'+k+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a365b(k,![]),e={'action':'disable','service':k,'enabled':![],'reminder':l['reminder']};break;}case'reset':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20reset');const m=d,n=getServiceInfo(m);if(!n)throw new Error('Unknown\x20service:\x20'+m+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a365c(m),e={'action':'reset','service':m,'enabled':getServiceInfo(m)?.['enabled'],'reminder':n['reminder'],'reset':!![]};break;}case'info':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20info');const o=d,p=getServiceInfo(o);if(!p)throw new Error('Unknown\x20service:\x20'+o+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');e={'action':'info',...p};break;}default:throw new Error('Unknown\x20config_operation\x20action:\x20'+String(c));}return{'content':[{'type':'text','text':JSON['stringify']({'result':e})}],'structuredContent':{'result':e}};}