@wowok/agent-mcp 3.3.3 → 3.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/composition/compile.d.ts +4 -1
- package/dist/composition/compile.js +1 -1
- package/dist/evaluation/node-game.d.ts +3 -0
- package/dist/evaluation/node-game.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/recipient-constraint.d.ts +9 -0
- package/dist/knowledge/recipient-constraint.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +1 -0
- package/dist/knowledge/template-loader.d.ts +1 -0
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/participation/node-action-advisor.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/playbooks/service-build/service-quote.spec.js +1 -1
- package/dist/schema/call/base.d.ts +25 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +1 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/order.d.ts +12 -0
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/local/index.d.ts +10 -0
- package/dist/schema/operations.d.ts +4 -0
- package/dist/schema/query/bi.d.ts +4 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +147 -0
- package/dist/schema/query/index.js +1 -1
- package/dist/schemas/account_operation.output.json +2 -1
- package/dist/schemas/bridge_operation.output.json +2 -1
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/keeper_operation.output.json +1 -1
- package/dist/schemas/local_cache_operation.output.json +2 -1
- package/dist/schemas/local_history_operation.output.json +2 -1
- package/dist/schemas/local_info_operation.output.json +2 -1
- package/dist/schemas/local_mark_operation.output.json +2 -1
- package/dist/schemas/messenger_operation.output.json +1 -1
- package/dist/schemas/monitor_events.output.json +1 -1
- package/dist/schemas/monitor_subscription.output.json +1 -1
- package/dist/schemas/onchain_events.output.json +1 -1
- package/dist/schemas/onchain_operations.output.json +35 -4
- package/dist/schemas/onchain_operations.schema.json +21 -3
- package/dist/schemas/onchain_operations_order.schema.json +19 -1
- package/dist/schemas/onchain_operations_progress.schema.json +2 -2
- package/dist/schemas/onchain_table_data.output.json +2 -2
- package/dist/schemas/query_toolkit.output.json +17 -1
- package/dist/schemas/query_toolkit.schema.json +1 -1
- package/dist/schemas/wowok_buildin_info.output.json +259 -0
- package/dist/schemas/wowok_buildin_info.schema.json +121 -0
- package/dist/tools/build-fingerprint.d.ts +28 -0
- package/dist/tools/build-fingerprint.js +1 -0
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +6 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.d.ts +9 -13
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/upgrade-check.d.ts +1 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getExperienceFeedback,recordOperationOutcome}from'../../experience/index.js';import{isEnabled as a407a,listServices}from'../../config/index.js';import{dimensionLabel}from'../../evaluation/standards.js';import{getProfile}from'../../experience/user-profile.js';import{injectEvolutionContext,recordIndustrySignal}from'../../knowledge/flywheel-loop.js';import{WException,getMoveErrorDescription,WErrors}from'@wowok/wowok';import{GUARDQUERY}from'@wowok/wowok';import{getRiskSummary}from'../../knowledge/guard-risk.js';import{evaluateGuardDraft}from'../../knowledge/guard-eval.js';import{derivePuzzleFromCallData,getPuzzleStatusBooleans,getPendingQuestions,generateConfirmationText}from'../../knowledge/guard-puzzle.js';import{inferSceneFromAction}from'../../knowledge/guard-ledger.js';import{matchSemanticPattern}from'../../knowledge/guard-translation.js';import{formatShortAddress}from'../../persona/address-format.js';import{EVENT_SEMANTIC_REGISTRY}from'../../knowledge/event-semantics.js';function deriveAdviceRole(a,b){switch(a){case'order':case'personal':case'demand':return'customer';case'service':case'machine':case'permission':case'reward':case'repository':case'allocator':case'treasury':return'merchant';case'arbitration':if(b?.['vote']!==undefined)return'arbitrator';if(b?.['dispute']!==undefined)return'customer';return undefined;default:return undefined;}}const ERROR_RULES=[{'patterns':[/^(?:error\s*:\s*)?invalid\s+(?:parameter|argument(?:\s+type)?)\b/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements','detail_overrides':[{'patterns':[/\bis\s+paused\b/i,/\balready\s+published\b/i,/\bis\s+published\b/i,/\bnot\s+published\b/i,/\bis\s+frozen\b/i,/\block\s+duration\b/i,/\bstatus\s+(?:does\s+not\s+)?mismatch\b/i],'error_code':'state_conflict','recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation\x20—\x20the\x20parameters\x20are\x20not\x20the\x20problem.\x20Query\x20the\x20object\x27s\x20current\x20state\x20with\x20query_toolkit\x20(add\x20no_cache\x20if\x20it\x20was\x20recently\x20changed\x20by\x20another\x20party)\x20and\x20wait\x20for\x20the\x20state\x20to\x20change\x20or\x20adjust\x20the\x20operation'},{'patterns':[/already\s+unwrapped\b/i,/auto-claimed\s+during\s+settlement\b/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'The\x20object\x20no\x20longer\x20exists\x20—\x20its\x20funds\x20were\x20already\x20unwrapped/claimed\x20(verify\x20with\x20account_balance\x20/\x20query_toolkit\x20onchain_received).\x20This\x20is\x20the\x20EXPECTED\x20state\x20after\x20a\x20successful\x20claim,\x20not\x20a\x20caller\x20error;\x20do\x20NOT\x20retry\x20the\x20receive\x20and\x20do\x20not\x20edit\x20parameters'}]},{'patterns':[/no\s+valid\s+gas\s+coins?\s+found/i,/no\s+gas\s+coins?\s+(?:available|found)/i,/gas\s+coin\s+not\s+found/i],'error_code':'insufficient_balance','retryable':![],'recovery_hint':'The\x20signing\x20account\x20holds\x20no\x20spendable\x20gas\x20coin\x20of\x20the\x20required\x20token,\x20so\x20the\x20transaction\x20cannot\x20be\x20built\x20at\x20all\x20—\x20this\x20is\x20a\x20funding\x20problem,\x20not\x20a\x20parameter\x20problem.\x20Fund\x20the\x20account\x20first\x20(query\x20account_balance\x20for\x20the\x20exact\x20address\x20the\x20SDK\x20signs\x20with;\x20note\x20it\x20may\x20differ\x20from\x20the\x20default\x20account),\x20then\x20resubmit\x20the\x20SAME\x20call\x20unchanged.\x20On\x20a\x20freshly\x20started\x20localnet/testnet\x20this\x20is\x20expected\x20until\x20genesis\x20allocation\x20or\x20a\x20faucet\x20claim\x20has\x20run'},{'patterns':[/transaction\s+expired/i],'error_code':'transaction_expired','retryable':!![],'recovery_hint':'The\x20transaction\x20expired\x20before\x20it\x20could\x20be\x20executed\x20(epoch\x20boundary\x20or\x20validator/gateway\x20outage)\x20—\x20it\x20did\x20NOT\x20land\x20and\x20nothing\x20was\x20committed.\x20Wait\x20with\x20bounded\x20backoff\x20and\x20resubmit\x20the\x20SAME\x20call\x20unchanged;\x20if\x20unsure\x20whether\x20a\x20previous\x20attempt\x20landed,\x20check\x20onchain_events\x20/\x20recent\x20transactions\x20first.\x20A\x20dry_run\x20that\x20passes\x20while\x20the\x20real\x20call\x20keeps\x20failing\x20confirms\x20the\x20fault\x20is\x20chain-side'},{'patterns':[/InvalidPublicFunctionReturnType/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20batch\x20was\x20rejected\x20by\x20a\x20structural\x20check\x20on\x20the\x20transaction\x20itself,\x20not\x20by\x20your\x20parameters\x20and\x20not\x20by\x20a\x20signature\x20mismatch\x20—\x20the\x20deployed\x20function\x20signatures\x20were\x20verified\x20to\x20match.\x20The\x20usual\x20cause\x20is\x20a\x20long-running\x20server\x20process\x20that\x20is\x20older\x20than\x20the\x20on-disk\x20client\x20package:\x20client\x20packages\x20are\x20loaded\x20lazily\x20and\x20their\x20internal\x20files\x20are\x20renamed\x20on\x20every\x20rebuild,\x20so\x20a\x20process\x20that\x20outlives\x20a\x20rebuild\x20ends\x20up\x20mixing\x20two\x20versions\x20and\x20builds\x20a\x20batch\x20the\x20chain\x20cannot\x20accept.\x20FIX:\x20restart\x20the\x20MCP\x20server\x20so\x20it\x20loads\x20one\x20consistent\x20version,\x20then\x20retry\x20the\x20identical\x20call\x20unchanged.\x20Confirm\x20the\x20diagnosis\x20by\x20running\x20the\x20same\x20call\x20from\x20a\x20freshly\x20started\x20process\x20—\x20if\x20it\x20succeeds\x20there,\x20the\x20transaction\x20was\x20always\x20valid.\x20Do\x20NOT\x20\x27fix\x27\x20your\x20parameters\x20and\x20do\x20NOT\x20start\x20editing\x20the\x20framework\x20to\x20match\x20this\x20error'},{'patterns':[/MovePrimitiveRuntimeError\s+in\s+0x[0-9a-fA-F]+::[a-zA-Z0-9_]+::verify_guard/i],'error_code':'missing_data','retryable':![],'recovery_hint':'A\x20guard-internal\x20QUERY\x20fault\x20—\x20the\x20guard\x20verifier\x20called\x20a\x20native\x20query\x20and\x20the\x20query\x20returned\x20an\x20error,\x20re-raised\x20as\x20a\x20location-only\x20primitive\x20fault\x20(no\x20abort\x20code).\x20This\x20is\x20NOT\x20a\x20configuration\x20fault,\x20NOT\x20an\x20infrastructure\x20fault.\x20Dominant\x20family:\x20a\x20history-time\x20anchor\x20leg\x20(query_progress_history_time\x20/\x20progress.history.time\x20id\x201280,\x20next_node=\x27<anchor>\x27,\x20find=last)\x20whose\x20anchor\x20node\x20is\x20ABSENT\x20from\x20this\x20order\x27s\x20history\x20—\x20the\x20classic\x20case\x20is\x20an\x20anchor\x20on\x20a\x20renewal-only\x20node\x20(e.g.\x20charging)\x20while\x20this\x20order\x20is\x20in\x20the\x20FIRST\x20period,\x20whose\x20path\x20skips\x20it:\x20the\x20query\x20errors\x20(W_FIELD_NOT_FOUND)\x20and\x20aborts\x20the\x20whole\x20guard\x20instead\x20of\x20a\x20clean\x20predicate\x20false.\x20Fix:\x20(1)\x20export\x20the\x20failed\x20guard\x20(guard2file\x20/\x20analyze_guard_semantics)\x20and\x20list\x20its\x20history-time\x20legs\x20—\x20each\x20names\x20the\x20required\x20anchor\x20node\x20and\x20the\x20query;\x20(2)\x20read\x20the\x20order\x27s\x20progress\x20history\x20(object_panorama\x20/\x20query_toolkit)\x20and\x20check\x20which\x20anchor\x20node\x20is\x20missing\x20for\x20this\x20order\x27s\x20period/path\x20—\x20that\x20pair\x20(query,\x20missing\x20anchor,\x20period)\x20is\x20the\x20diagnosis;\x20(3)\x20fix\x20at\x20the\x20template/guard\x20layer:\x20re-anchor\x20the\x20history-time\x20leg\x20on\x20a\x20node\x20present\x20on\x20EVERY\x20path\x20class\x20reaching\x20the\x20guarded\x20edges,\x20or\x20split\x20per-path-class\x20guards\x20(the\x20PATH-CLASS-ANCHOR-01\x20scan\x20rule\x20catches\x20this\x20family\x20at\x20build\x20time).\x20Secondary\x20check\x20—\x20only\x20if\x20the\x20guard\x20has\x20NO\x20history-time\x20leg:\x20verify\x20the\x20signing\x20account\x20holds\x20the\x20guard\x27s\x20required\x20permission\x20index.\x20Do\x20NOT\x20switch\x20networks,\x20do\x20NOT\x20restart\x20the\x20MCP\x20server,\x20do\x20NOT\x20edit\x20unrelated\x20guard\x20config'},{'patterns':[/MovePrimitiveRuntimeError[\s\S]{0,400}passport\s*::/i,/passport\s*::[\s\S]{0,400}MovePrimitiveRuntimeError/i],'error_code':'permission_denied','retryable':![],'recovery_hint':'Guard\x20passport\x20authorization\x20DENIAL\x20—\x20the\x20signing\x20account\x20is\x20not\x20granted\x20the\x20permission\x20index\x20this\x20guard\x20'+'requires\x20on\x20its\x20Passport/Permission\x20object\x20(permission-table\x20miss\x20inside\x20the\x20guard\x20verifier).\x20This\x20is\x20a\x20normal\x20'+'authorization\x20result,\x20NOT\x20an\x20infrastructure\x20fault:\x20do\x20NOT\x20restart\x20the\x20MCP\x20server\x20and\x20do\x20NOT\x20rebuild\x20client\x20'+'packages\x20—\x20retrying\x20infra\x20changes\x20cannot\x20help.\x20Fix:\x20(1)\x20find\x20the\x20guard\x27s\x20required\x20permission\x20index\x20'+'(guard2file\x20/\x20analyze_guard_semantics,\x20or\x20the\x20forward\x27s\x20permission_index\x20in\x20the\x20machine\x20topology);\x20'+'(2)\x20check\x20the\x20signing\x20account\x20holds\x20that\x20index\x20on\x20the\x20Permission\x20object\x20(query_toolkit\x20permission\x20entity\x20table);\x20'+'(3)\x20switch\x20to\x20an\x20authorized\x20account,\x20or\x20have\x20the\x20Permission\x20owner/admin\x20grant\x20the\x20index\x20to\x20this\x20account\x27s\x20entity.\x20'+'Note:\x20the\x20object\x20owner/admin\x20always\x20passes\x20every\x20permission-index\x20check\x20by\x20definition\x20—\x20only\x20delegated\x20'+'non-admin\x20accounts\x20are\x20gated\x20by\x20the\x20entity\x20table'},{'patterns':[/MoveLocationOpt\s*\{[^}]{0,200}module\s*"passport"/i],'error_code':'missing_data','retryable':![],'recovery_hint':'A\x20guard\x20rule\x20read\x20a\x20keyed\x20table\x20row\x20that\x20does\x20NOT\x20exist\x20(repository.data\x20/\x20oracle\x20entry)\x20and\x20the\x20verifier\x20surfaced\x20it\x20as\x20a\x20location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20no\x20abort\x20code,\x20because\x20the\x20framework\x20cannot\x20express\x20\x27row\x20absent\x27\x20as\x20an\x20abort.\x20This\x20is\x20a\x20DATA\x20problem,\x20NOT\x20a\x20wrong-network\x20problem:\x20do\x20NOT\x20switch\x20networks,\x20do\x20NOT\x20restart\x20the\x20server.\x20Fix:\x20(1)\x20identify\x20the\x20repository\x20and\x20key\x20the\x20guard\x20rule\x20reads\x20(guard2file\x20/\x20analyze_guard_semantics\x20on\x20the\x20guard\x20source);\x20(2)\x20have\x20the\x20row\x27s\x20producer\x20write\x20it\x20(e.g.\x20an\x20oracle\x20timestamp\x20like\x20checkin_ts),\x20or\x20add\x20it\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name);\x20(3)\x20retry\x20the\x20SAME\x20call\x20unchanged\x20—\x20a\x20dry_run\x20that\x20turns\x20clean\x20after\x20the\x20row\x20exists\x20confirms\x20the\x20diagnosis'},{'patterns':[/MoveLocation(?![\s\S]{0,400}(?:\babort\s*(?:code)?\s*[:=]?\s*\d|,\s*\d+\s*\)))/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20chain\x20rejected\x20the\x20call\x20with\x20a\x20location-only\x20fault\x20(no\x20abort\x20code,\x20no\x20module)\x20—\x20the\x20location\x20alone\x20does\x20NOT\x20identify\x20the\x20cause,\x20so\x20never\x20assume\x20a\x20wrong\x20network\x20from\x20it.\x20VERIFY\x20the\x20two\x20known\x20causes:\x20(1)\x20session/network\x20routing\x20drift\x20—\x20the\x20call\x20may\x20have\x20run\x20against\x20a\x20different\x20network\x27s\x20objects:\x20pass\x20env.network\x20explicitly\x20naming\x20the\x20network\x20the\x20target\x20objects\x20live\x20on\x20(the\x20network_source\x20echo\x20in\x20query\x20responses\x20shows\x20where\x20the\x20session\x20default\x20points),\x20and\x20re-run;\x20(2)\x20a\x20fault\x20inside\x20a\x20guard\x20verifier\x20reading\x20a\x20keyed\x20table\x20—\x20if\x20this\x20call\x20runs\x20a\x20guard,\x20check\x20the\x20repository\x20rows\x20the\x20guard\x20reads\x20and\x20add\x20any\x20missing\x20one\x20with\x20repository\x20data_add\x20(see\x20missing_data).\x20Only\x20if\x20BOTH\x20checks\x20pass\x20and\x20the\x20fault\x20persists,\x20treat\x20it\x20as\x20the\x20stale-process\x20class\x20and\x20restart\x20the\x20MCP\x20server\x20once'},{'patterns':[/Cannot use 'in' operator to search for 'coin' in undefined/],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20order\x20payment\x20reached\x20the\x20SDK\x20UNSET\x20(buy.total_pay\x20missing)\x20—\x20a\x20parameter\x20omission,\x20not\x20a\x20server\x20fault.\x20Pass\x20buy.total_pay.balance\x20=\x20Σ(price\x20×\x20quantity)\x20from\x20query_toolkit\x20service_quote,\x20or\x20rely\x20on\x20the\x20handler\x27s\x20auto-derivation\x20(omit\x20total_pay\x20with\x20NO\x20discount\x20and\x20a\x20resolvable\x20Service).\x20If\x20a\x20discount\x20is\x20attached,\x20total_pay\x20is\x20REQUIRED\x20explicitly\x20(the\x20final\x20total\x20depends\x20on\x20the\x20coupon\x27s\x20live\x20value)'},{'patterns':[/Cannot read properties of undefined \(reading 'startsWith'\)/],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard/submission\x20envelope\x20was\x20consumed\x20while\x20a\x20required\x20field\x20was\x20UNSET\x20—\x20a\x20missing\x20submission\x20payload,\x20not\x20a\x20server\x20fault.\x20Retry\x20with\x20the\x20submission\x20envelope\x20per\x20SubmissionCallSchema:\x20{type:\x27submission\x27,\x20guard:[{object:\x27<guard\x20id>\x27,\x20impack:true}],\x20submission:[{identifier:<n>,\x20value:\x27<value>\x27}]};\x20the\x20operation\x27s\x20SUBMISSION\x20REQUIRED\x20response\x20lists\x20every\x20required\x20identifier'},{'patterns':[/cannot derive total_pay: item .* is suspended/i],'error_code':'sale_suspended','retryable':![],'recovery_hint':'The\x20cart\x27s\x20item\x20is\x20SUSPENDED\x20by\x20the\x20merchant\x20(service:34\x20E_SALE_SUSPENDED)\x20—\x20the\x20derivation\x20refuses\x20to\x20price\x20a\x20suspended\x20item.\x20Stating\x20buy.total_pay\x20explicitly\x20does\x20NOT\x20help:\x20the\x20on-chain\x20buy\x20aborts\x20with\x20the\x20same\x20suspension.\x20Pick\x20a\x20non-suspended\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20resume\x20the\x20sale'},{'patterns':[/buy\.total_pay is REQUIRED when a discount is applied/i,/buy\.total_pay is omitted/i,/cannot derive total_pay/i,/derived total_pay would be 0/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'total_pay\x20could\x20not\x20be\x20auto-derived\x20(M-K17\x20derives\x20Σ\x20price×quantity\x20only\x20when\x20the\x20cart\x20has\x20items,\x20the\x20Service\x20resolves,\x20and\x20NO\x20discount\x20is\x20attached).\x20State\x20buy.total_pay.balance\x20explicitly\x20—\x20run\x20query_toolkit\x20query_type=\x27service_quote\x27\x20first\x20and\x20pass\x20its\x20final_total'},{'patterns':[/UnusedValueWithoutDrop/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Verifier-level\x20rejection:\x20a\x20command\x27s\x20return\x20value\x20is\x20unused\x20and\x20its\x20type\x20cannot\x20be\x20dropped\x20—\x20the\x20transaction\x20BATCH\x20itself\x20is\x20malformed.\x20This\x20is\x20a\x20client\x20batch-construction\x20defect,\x20NOT\x20a\x20user\x20parameter\x20error\x20and\x20NOT\x20a\x20network\x20problem:\x20do\x20NOT\x20switch\x20networks\x20and\x20do\x20NOT\x20restart\x20the\x20server.\x20Typical\x20case:\x20an\x20operation\x20that\x20accepts\x20multiple\x20items\x20but\x20internally\x20builds\x20a\x20single-item\x20call\x20(discount_send\x20with\x20several\x20coupons).\x20Fix:\x20send\x20ONE\x20item\x20per\x20call\x20(fan\x20out\x20over\x20the\x20items\x20explicitly)\x20and\x20report\x20the\x20defective\x20operation\x20so\x20it\x20grows\x20a\x20proper\x20fan-out\x20form'},{'patterns':[/\barity\s*mismatch\b/i,/transaction\s+resolution\s+failed(?![\s\S]{0,400}\bMoveAbort\b)/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20transaction\x20was\x20dry-run\x20to\x20compute\x20its\x20gas\x20budget\x20and\x20the\x20dry\x20run\x20was\x20rejected,\x20so\x20nothing\x20was\x20committed.\x20Two\x20very\x20different\x20causes\x20hide\x20behind\x20this\x20one\x20message.\x20(1)\x20MOST\x20COMMON:\x20a\x20stale\x20server\x20process\x20older\x20than\x20the\x20on-disk\x20client\x20package\x20—\x20restart\x20the\x20MCP\x20server\x20and\x20retry\x20the\x20identical\x20call\x20unchanged;\x20if\x20it\x20then\x20succeeds,\x20the\x20transaction\x20was\x20always\x20valid.\x20(2)\x20LESS\x20COMMON:\x20a\x20command\x27s\x20argument\x20count\x20or\x20shape\x20really\x20does\x20not\x20match\x20its\x20target\x20signature\x20—\x20this\x20is\x20a\x20client/chain\x20version\x20mismatch,\x20not\x20a\x20parameter\x20mistake,\x20and\x20no\x20retry\x20of\x20the\x20same\x20call\x20can\x20succeed;\x20rebuild\x20the\x20client\x20packages\x20to\x20match\x20the\x20deployed\x20framework,\x20and\x20to\x20audit,\x20fetch\x20the\x20target\x20signature\x20with\x20w_getMoveFunctionArgTypes(\x27<package>::<module>::<function>\x27)\x20and\x20compare\x20the\x20returned\x20arg-type\x20list\x20against\x20the\x20arguments\x20the\x20failing\x20command\x20built.\x20Read\x20the\x20specific\x20error\x20name\x20that\x20follows\x20this\x20prefix:\x20a\x20business\x20abort\x20(stock,\x20balance,\x20permission,\x20discount\x20window)\x20is\x20an\x20ordinary\x20execution\x20failure\x20and\x20its\x20own\x20message\x20is\x20authoritative'},{'patterns':[/DEPENDENCY RESOLUTION FAILED/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'A\x20referenced\x20object\x20could\x20not\x20be\x20resolved\x20—\x20read\x20the\x20\x27Original\x20error\x27\x20line\x20for\x20the\x20exact\x20name.\x20Check\x20the\x20spelling\x20in\x20local_mark_list,\x20create\x20the\x20dependency\x20first,\x20or\x20verify\x20env.network\x20matches\x20the\x20object\x27s\x20network'},{'patterns':[/Repository content not ready/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20Repository\x20must\x20already\x20exist\x20before\x20data_add\x20—\x20split\x20the\x20call:\x20first\x20create\x20the\x20Repository\x20(object\x20form,\x20no\x20data_add),\x20then\x20add\x20data\x20in\x20a\x20second\x20call.\x20data_add.name\x20must\x20also\x20match\x20a\x20policy\x20rule\x20name'},{'patterns':[/too\s*many\s*requests/i,/rate\s*limit/i,/\b429\b/,/throttl/i,/faucet.*rate/i,/request.*limit.*exceeded/i],'error_code':'rate_limit','retryable':!![],'recovery_hint':'Rate\x20limit\x20hit\x20(HTTP\x20429).\x20Wait\x20with\x20exponential\x20backoff\x20and\x20retry.\x20To\x20check\x20existing\x20balance,\x20use\x20account_balance\x20query.'},{'patterns':[/out\s*of\s*gas/i,/InsufficientGas/i,/GasBalanceTooLow/i,/gas\s+balance\s+(?:is\s+)?too\s+low/i,/insufficient\s*gas/i],'error_code':'insufficient_gas','retryable':![],'recovery_hint':'Gas\x20exhausted\x20—\x20the\x20transaction\x20FAILED\x20deterministically\x20and\x20did\x20NOT\x20commit\x20on-chain;\x20no\x20state\x20changed\x20and\x20'+'no\x20commit-state\x20verification\x20is\x20needed.\x20Do\x20NOT\x20retry\x20the\x20same\x20call\x20and\x20do\x20NOT\x20troubleshoot\x20the\x20network:\x20'+'a\x20deterministic\x20failure\x20replayed\x20byte-identical\x20fails\x20the\x20same\x20way.\x20Raise\x20the\x20gas_budget\x20parameter\x20above\x20the\x20'+'transaction\x27s\x20gas_used\x20(or\x20fund\x20the\x20signing\x20account\x20with\x20gas\x20tokens\x20if\x20the\x20balance\x20cannot\x20cover\x20any\x20budget),\x20'+'then\x20issue\x20a\x20FRESH\x20call'},{'patterns':[/gas.*budget.*exceeded/i,/gas\s*exceeded/i,/not\s*enough\s*gas/i,/could not automatically determine a budget/i,/dry run failed.*budget/i,/Maximum gas/i],'error_code':'gas_exceeded','retryable':!![],'recovery_hint':'Gas\x20budget\x20exceeded.\x20Increase\x20the\x20gas_budget\x20parameter\x20or\x20claim\x20more\x20gas\x20tokens,\x20then\x20retry'},{'patterns':[/stock\s*not\s*enough/i,/E_STOCK_NOT_ENOUGH/i],'error_code':'stock_exhausted','retryable':![],'recovery_hint':'Merchant-side\x20stock\x20exhausted\x20(NOT\x20a\x20balance\x20issue).\x20Reduce\x20the\x20quantity,\x20pick\x20another\x20sale\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20restock'},{'patterns':[/sale\s*(item\s*)?(is\s*)?suspended/i,/E_SALE_SUSPENDED/i],'error_code':'sale_suspended','retryable':![],'recovery_hint':'The\x20sale\x20item\x20is\x20suspended\x20by\x20the\x20merchant.\x20Pick\x20another\x20item\x20or\x20contact\x20the\x20merchant'},{'patterns':[/discount.*time.*(?:window|invalid)/i,/E_DISCOUNT_TIME_INVALID/i],'error_code':'discount_invalid','retryable':![],'recovery_hint':'Discount\x20is\x20outside\x20its\x20[time_start,\x20time_end]\x20validity\x20window.\x20Buy\x20without\x20the\x20discount\x20or\x20ask\x20the\x20merchant\x20for\x20a\x20fresh\x20one'},{'patterns':[/insufficient\s*(balance|coin|fund)/i,/insufficient\s*amount/i,/ENOTENOUGH/i,/not\s*enough\s*(coin|balance)/i,/balance\s*not\s*enough/i,/balance\s+insufficient/i,/balance\s+too\s+low/i,/not\s+enough\s+(coin|balance|fund|gas)/i,/no\s+coins/i,/Insufficient balance/i],'error_code':'insufficient_balance','retryable':!![],'recovery_hint':'The\x20signing\x20account\x27s\x20spendable\x20balance\x20is\x20short.\x20Testnet:\x20claim\x20faucet\x20tokens\x20via\x20account_operation\x20(faucet).\x20Mainnet:\x20fund\x20the\x20account\x20(cross-chain\x20bridge\x20or\x20a\x20transfer\x20from\x20another\x20wallet),\x20then\x20retry\x20the\x20call'},{'patterns':[/bcs.*(error|fail|invalid)/i,/BCS serialization/i,/serialization\s*(failure|error)/i,/deserialization\s*(failure|error)/i,/invalid bcs type/i,/Out of range.*bcs/i,/not\s+bool/i,/Length out of range/i,/parse object content failed/i],'error_code':'bcs_error','retryable':![],'recovery_hint':'BCS\x20serialization/deserialization\x20error.\x20Verify\x20data\x20types\x20and\x20structure\x20match\x20the\x20expected\x20schema'},{'patterns':[/signature.*(invalid|fail|error|verif)/i,/invalid\s*signature/i,/signature\s*verification\s*failed/i,/bad\s*signature/i,/signing\s*fail/i,/crypto.*signature/i,/ed25519.*(fail|error|invalid)/i,/secp256k1.*(fail|error|invalid)/i,/failed\s+to\s+recover\s+public\s+key/i],'error_code':'signature_error','retryable':![],'recovery_hint':'Signature\x20verification\x20failed.\x20Check\x20that\x20the\x20correct\x20private\x20key\x20and\x20network\x20configuration\x20are\x20correct'},{'patterns':[/config.*(not set|not found|invalid|missing)/i,/RPC\s*not\s*configured/i,/network.*not\s*specified/i,/protocol network not specified/i,/account persistent storage not set/i,/config persistent storage not set/i,/account persistent storage not found/i,/no\s*rpc\s*url/i],'error_code':'config_error','retryable':![],'recovery_hint':'Configuration\x20error.\x20Verify\x20that\x20network,\x20RPC\x20endpoints,\x20and\x20required\x20environment\x20variables\x20are\x20properly\x20configured'},{'patterns':[/wrong\s+network/i,/network\s+mismatch/i,/unsupported\s+network/i,/unrecognized\s+network/i,/invalid\s+network/i,/network\s+not\s+supported/i,/not\s+found\s+on\s+network/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20requested\x20network\x20does\x20not\x20match\x20the\x20configured\x20one.\x20Switch\x20to\x20the\x20intended\x20network\x20(user\x20confirmation\x20required)\x20—\x20retrying\x20will\x20not\x20help'},{'patterns':[/fetch\s*failed/i],'error_code':'network_error','retryable':![],'recovery_hint':'The\x20request\x20failed\x20at\x20transport\x20level\x20(\x27fetch\x20failed\x27)\x20and\x20the\x20submission\x20state\x20is\x20UNKNOWN\x20—\x20'+'the\x20transaction\x20may\x20or\x20may\x20not\x20have\x20been\x20submitted.\x20Do\x20NOT\x20blindly\x20retry:\x20first\x20query\x20the\x20target\x20'+'object/order\x20on-chain\x20to\x20confirm\x20whether\x20the\x20operation\x20took\x20effect,\x20then\x20retry\x20only\x20if\x20it\x20did\x20not.\x20'+'Retrying\x20without\x20checking\x20risks\x20a\x20duplicate\x20transaction\x20(e.g.\x20double\x20fund\x20allocation)'},{'patterns':[/\b-32603\b/,/did\s+not\s+complete\b/i,/was submitted but not confirmed/i,/commit state could not be verified/i,/TransactionCommitUnknownError/],'error_code':'submission_unknown','retryable':![],'recovery_hint':'The\x20request\x20failed\x20at\x20transport\x20level\x20AFTER\x20the\x20transaction\x20may\x20have\x20been\x20'+'submitted\x20—\x20the\x20submission\x20state\x20is\x20UNKNOWN:\x20the\x20operation\x20may\x20already\x20be\x20committed\x20on-chain.\x20'+'Do\x20NOT\x20retry\x20blindly.\x20(1)\x20For\x20WRITES,\x20verify\x20commit\x20state\x20first\x20—\x20if\x20the\x20error\x20carries\x20a\x20transaction\x20'+'digest,\x20query\x20that\x20digest\x20directly\x20(onchain_transaction);\x20otherwise\x20query_toolkit\x20for\x20the\x20expected\x20derived\x20'+'object\x20(e.g.\x20the\x20order/progress/allocation\x20this\x20call\x20would\x20create\x20—\x20query\x20by\x20the\x20sender\x27s\x20recent\x20objects\x20'+'or\x20onchain_events),\x20and\x20check\x20the\x20sender\x27s\x20balance/stock\x20for\x20the\x20expected\x20side\x20effects.\x20'+'(2)\x20If\x20the\x20object\x20EXISTS:\x20adopt\x20it\x20—\x20the\x20operation\x20succeeded\x20despite\x20the\x20error;\x20continuing\x20with\x20a\x20retry\x20'+'creates\x20a\x20duplicate\x20(live\x20mainnet\x20incident:\x20a\x20ghost\x20order\x20with\x20a\x20second\x20full\x20escrow).\x20'+'(3)\x20If\x20confirmed\x20ABSENT,\x20resubmit\x20the\x20SAME\x20call\x20once\x20—\x20and\x20for\x20a\x20FIRST-EVER\x20transaction\x20on\x20a\x20fresh\x20account,\x20'+'make\x20that\x20resubmission\x20with\x20env.no_auto_register=true\x20and\x20SAY\x20SO\x20in\x20your\x20reply:\x20the\x20SDK\x20silently\x20appends\x20an\x20'+'entity\x20registration\x20to\x20a\x20first\x20business\x20call,\x20and\x20if\x20that\x20appended\x20leg\x20was\x20the\x20failing\x20leg\x20the\x20skip\x20lets\x20the\x20'+'call\x20through\x20(if\x20the\x20resubmission\x20then\x20aborts,\x20the\x20envelope\x20now\x20NAMES\x20the\x20abort\x20—\x20re-enable\x20auto\x20registration\x20'+'and\x20retry).\x20'+'(4)\x20If\x20the\x20reported\x20digest\x20does\x20not\x20resolve\x20or\x20the\x20failure\x20repeats,\x20do\x20NOT\x20loop\x20on\x20digest\x20verification\x20—\x20'+'re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true:\x20the\x20simulation\x20surfaces\x20the\x20REAL\x20failure\x20(exact\x20Move\x20abort,\x20no\x20'+'gas\x20spent,\x20nothing\x20committed),\x20turning\x20this\x20opaque\x20envelope\x20into\x20a\x20classified\x20one.\x20'+'(5)\x20READ\x20operations\x20are\x20idempotent\x20—\x20a\x20plain\x20retry\x20is\x20safe.\x20This\x20envelope\x20cannot\x20name\x20the\x20expected\x20object\x20'+'for\x20you\x20(the\x20failure\x20happened\x20before\x20the\x20response\x20returned);\x20resolve\x20it\x20from\x20the\x20call\x27s\x20own\x20arguments.\x20'+'M-K2\x20replay\x20discipline:\x20a\x20FAILED\x20receipt\x20is\x20final\x20—\x20its\x20digest\x20is\x20consumed\x20and\x20re-submitting\x20the\x20same\x20'+'bytes\x20returns\x20the\x20same\x20failure\x20forever\x20(the\x20same\x20digest\x20replayed\x20three\x20times\x20in\x20the\x20klook\x20P0-4\x20incident).\x20'+'Never\x20cache\x20and\x20replay\x20signed\x20bytes\x20or\x20digests\x20of\x20a\x20failed\x20submission;\x20fix\x20the\x20cause\x20(usually\x20funding)\x20'+'and\x20let\x20the\x20retry\x20build\x20a\x20FRESH\x20transaction'},{'patterns':[/unexpected\s+status\s+code:\s*5\d\d/i,/\bhttp\s*5\d\d\b/i,/\bbad\s+gateway\b/i,/\bgateway\s+time-?out\b/i],'error_code':'network_error','retryable':!![],'recovery_hint':'The\x20RPC\x20gateway/node\x20answered\x20HTTP\x205xx\x20—\x20a\x20transport\x20failure,\x20not\x20a\x20rejected\x20transaction.\x20'+'Reads:\x20retry\x20with\x20exponential\x20backoff\x20(or\x20switch\x20RPC\x20endpoint\x20if\x20it\x20persists).\x20'+'Fund-moving\x20writes:\x20the\x20request\x20may\x20or\x20may\x20not\x20have\x20reached\x20the\x20chain\x20—\x20verify\x20the\x20submission\x20'+'state\x20first\x20(query\x20the\x20digest\x20if\x20one\x20was\x20reported,\x20or\x20the\x20expected\x20object)\x20before\x20resubmitting'},{'patterns':[/timeout/i,/ECONNRESET/i,/ETIMEDOUT/i,/ECONNREFUSED/i,/EAI_AGAIN/i,/RPC\s*(error|failed|unreachable)/i,/socket\s*hang\s*up/i,/connection\s*(refused|reset|lost)/i,/dns\s*(error|fail)/i],'error_code':'network_error','retryable':!![],'recovery_hint':'Retry\x20the\x20call;\x20if\x20it\x20persists,\x20switch\x20RPC\x20endpoint\x20or\x20check\x20connectivity'},{'patterns':[/guard.*(reject|fail|denied|verif)/i,/verification\s*failed/i,/submission.*(invalid|fail|required)/i,/passport.*(invalid|fail|verif)/i,/passport\s+required/i,/move[._-]?abort.*guard/i,/Guard count exceeded limit/i,/Submission size exceeded limit/i,/Submission not found/i,/Guard not found/i,/Impact guard not found/i],'error_code':'guard_rejected','retryable':![],'recovery_hint':'If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20them\x20(see\x20the\x20\x27submission\x27\x20field)\x20and\x20resubmit\x20via\x20call_with_submission;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20check\x20the\x20rule\x27s\x20conditions\x20against\x20this\x20call:\x20a\x20TIME\x20WINDOW\x20(Clock\x20deadline/opening\x20—\x20the\x20call\x20may\x20sit\x20outside\x20the\x20window,\x20and\x20a\x20mis-oriented\x20comparison\x20inverts\x20it)\x20or\x20an\x20IDENTITY\x20condition\x20(signer/state\x20—\x20the\x20caller\x20may\x20not\x20be\x20the\x20expected\x20address)'},{'patterns':[/WIP file verification failed/i,/Failed to load WIP file/i,/WIP.*hash\s*mismatch/i,/wip.*hash.*not\s*match/i,/Invalid WIP file structure/i,/wip.*not\s*found/i,/wip.*unreachable/i,/wip_file.*error/i],'error_code':'wip_verification_failed','retryable':![],'recovery_hint':['WIP\x20file\x20must\x20be\x20publicly\x20accessible\x20via\x20HTTP(S)\x20URL\x20—\x20local\x20file\x20paths\x20cannot\x20be\x20stored\x20on-chain.','Deployment\x20options\x20(pick\x20one):','\x20\x201.\x20wip\x20storage\x20service\x20(easiest):\x20wip_file\x20{\x20type:\x20\x27upload\x27\x20}\x20—\x20official\x20free\x20store\x20wip.store.wowok.net\x20(10\x20files/account),','\x20\x20\x20\x20\x20or\x20storage=\x27custom\x27\x20with\x20your\x20own\x20/\x20a\x20third-party\x20wip\x20storage\x20service;\x20use\x20the\x20returned\x20public\x20URL\x20(base_url\x20+\x20/f/{hash}).','\x20\x202.\x20GitHub\x20Pages\x20(free,\x20stable):\x20upload\x20.wip\x20file\x20to\x20a\x20repo,\x20enable\x20Pages,\x20use\x20raw\x20URL.','\x20\x20\x20\x20\x20Example:\x20https://<user>.github.io/<repo>/<file>.wip','\x20\x20\x20\x20\x20Or\x20raw\x20URL:\x20https://raw.githubusercontent.com/<user>/<repo>/<branch>/<file>.wip','\x20\x203.\x20IPFS\x20(free,\x20decentralized):\x20upload\x20via\x20Pinata\x20(https://pinata.cloud)\x20or\x20nft.storage.','\x20\x20\x20\x20\x20Use\x20the\x20ipfs://<CID>\x20or\x20https://<gateway>/ipfs/<CID>\x20URL\x20form.','\x20\x20\x20\x20\x20Common\x20gateways:\x20https://ipfs.io/ipfs/,\x20https://cloudflare-ipfs.com/ipfs/,\x20https://dweb.link/ipfs/','\x20\x204.\x20User\x27s\x20own\x20website:\x20serve\x20the\x20.wip\x20file\x20from\x20your\x20static\x20site.','\x20\x205.\x20Generate\x20a\x20fresh\x20WIP\x20file\x20locally\x20first\x20via\x20wip_file\x20(type=\x27generate\x27),\x20upload\x20it,\x20then\x20re-submit\x20the\x20URL.','After\x20updating\x20the\x20sale\x27s\x20wip\x20URL,\x20re-run\x20the\x20operation.']['join']('\x0a')},{'patterns':[/WIP storage (?:upload|delete|list) failed \(4\d\d\):/i],'error_code':'wip_storage_rejected','retryable':![],'recovery_hint':['The\x20wip\x20storage\x20service\x20REJECTED\x20the\x20request\x20(HTTP\x204xx)\x20—\x20retrying\x20unchanged\x20will\x20fail\x20identically.','\x20\x20400:\x20malformed\x20body/JSON\x20or\x20failed\x20WIP\x20validation\x20—\x20re-generate\x20the\x20file\x20(wip_file\x20type=\x27generate\x27)\x20and\x20re-check\x20fields.','\x20\x20401:\x20missing/invalid\x20signature,\x20replayed\x20nonce,\x20or\x20timestamp\x20outside\x20the\x20accepted\x20window\x20(-300s..+60s)\x20—\x20re-sign\x20with\x20a\x20fresh\x20nonce/clock.','\x20\x20403:\x20forbidden\x20(admin\x20API\x20disabled\x20or\x20key\x20rejected)\x20—\x20check\x20the\x20storage\x20service\x20configuration.','\x20\x20404:\x20unknown\x20hash/content\x20—\x20the\x20file\x20does\x20not\x20exist;\x20verify\x20meta.hash\x20or\x20re-upload.','\x20\x20409:\x20quota\x20exceeded\x20—\x20delete\x20old\x20files\x20(wip_file\x20type=\x27list\x27\x20then\x20delete)\x20or\x20use\x20storage=\x27custom\x27.','\x20\x20413:\x20file\x20exceeds\x20the\x20transport\x20limit\x20—\x20compress\x20images\x20(each\x20<=\x202MB,\x20total\x20<=\x2010MB)\x20and\x20regenerate.']['join']('\x0a')},{'patterns':[/WIP storage request .* failed: network error/i,/WIP storage (upload|delete|list) failed/i],'error_code':'wip_storage_unavailable','retryable':!![],'recovery_hint':['The\x20wip\x20storage\x20request\x20failed\x20at\x20the\x20transport\x20layer\x20—\x20usually\x20a\x20transient\x20network\x20problem.','Large\x20WIP\x20files\x20(multi-MB,\x20image-heavy)\x20are\x20especially\x20network-sensitive:','\x20\x201.\x20Retry\x20the\x20same\x20request\x20once\x20or\x20twice\x20before\x20investigating\x20further.','\x20\x202.\x20Keep\x20files\x20small:\x20compress\x20images\x20before\x20wip_file\x20type=\x27generate\x27\x20(each\x20image\x20<=\x202MB,\x20total\x20<=\x2010MB).','\x20\x203.\x20If\x20it\x20keeps\x20failing,\x20check\x20connectivity\x20to\x20the\x20storage\x20base\x20URL\x20(e.g.\x20curl\x20-I\x20<base_url>/api/health).','\x20\x204.\x20For\x20heavy\x20media,\x20consider\x20storage=\x27custom\x27\x20with\x20a\x20CDN-backed\x20service\x20near\x20your\x20users.']['join']('\x0a')},{'patterns':[/setting lock duration not exceeded/i,/E_LOCKED_TIME_NOT_ENOUGH/i,/locked time not enough/i,/lock duration not (?:elapsed|exceeded|met)/i],'error_code':'time_lock_not_elapsed','retryable':!![],'recovery_hint':'Service\x20setting_lock_duration\x20has\x20not\x20elapsed\x20since\x20pause.\x20Pause\x20the\x20Service,\x20wait\x20until\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20current\x20time,\x20then\x20retry.'},{'patterns':[/already\s*publish/i,/object\s+is\s+immutable/i,/is\s+in\s+an?\s+immutable\s+state/i,/cannot\s*(modify|change|mutate)/i,/is\s*published/i,/Service already published/i,/Machine already published/i],'error_code':'immutable_violation','retryable':![],'recovery_hint':'Object\x20is\x20in\x20an\x20immutable\x20state\x20(e.g.\x20Service\x20already\x20published).\x20Recreate\x20the\x20object\x20if\x20a\x20different\x20config\x20is\x20needed'},{'patterns':[/unable\s+to\s+receive\s+object/i],'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20receipt\x20no\x20longer\x20matches\x20the\x20chain:\x20it\x20must\x20name\x20the\x20object\x27s\x20CURRENT\x20version\x20and\x20digest\x20and\x20the\x20exact\x20parent\x20it\x20is\x20held\x20under.\x20Re-read\x20the\x20parent\x20object\x20(version/digest)\x20and\x20rebuild\x20the\x20receipt\x20from\x20that\x20state\x20—\x20switching\x20accounts\x20cannot\x20help,\x20and\x20no\x20funds\x20moved\x20on\x20this\x20abort'},{'patterns':[/no\s+permission/i,/missing\s+permissions?\b/i,/admin\s+permission\s+required/i,/lacks?\s+(?:the\s+)?(?:required\s+)?permission/i,/unauthorized/i,/forbidden/i,/not\s*(the\s*)?owner/i,/access\s*denied/i,/Permission denied/i,/Not the builder/i,/Not admin/i,/No operation permission/i,/Not the holder/i,/not\s+(?:authorized|approved)\b/i,/not\s+allowed/i],'error_code':'permission_denied','retryable':![],'recovery_hint':'Use\x20an\x20account\x20with\x20the\x20required\x20permission,\x20or\x20pass\x20permission_guard\x20IDs\x20via\x20env.permission_guard'},{'patterns':[/not\s*found/i,/does\s*not\s*exist/i,/ENOTFOUND/i,/no\s*such\s*object/i,/unknown\s*object/i,/account not found/i,/address not found/i,/token not found/i,/Node not found/i,/Policy not found/i,/Reward not found/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'Verify\x20the\x20object\x20ID/name\x20with\x20query_toolkit;\x20local_mark\x20names\x20are\x20case-sensitive'},{'patterns':[/state\s*(conflict|mismatch)/i,/already\s*exist/i,/conflict/i,/duplicate/i,/version\s*mismatch/i,/name exist/i,/Duplicate forward name/i,/Duplicate node previous/i,/already claimed/i,/already specified/i,/already accomplished/i,/already used/i,/Status does not match/i,/does not match/i,/\bnot\s+published\b/i,/\bis\s+paused\b/i,/global\s+pause/i,/\bis\s+listed\b/i,/not\s+listed\b/i,/\blocked\b/i,/\bmismatch\b/i,/already\s+(?:set|minted|listed|verified|authorized)\b/i,/\bnot\s+empty\b/i,/non-zero\s+balance/i,/\bnot\s+match\b/i,/not\s+set\s+for\s+epoch/i,/no\s+allocator\b/i,/not\s+satisfied/i,/invariant\s+violation/i],'error_code':'state_conflict','retryable':![],'recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation.\x20Query\x20the\x20current\x20state\x20with\x20query_toolkit\x20and\x20adjust\x20parameters'},{'patterns':[/\b(?:coin|fee)\s+not\s+enough\b/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20coin/fee\x20attached\x20to\x20the\x20call\x20is\x20below\x20the\x20required\x20minimum\x20—\x20query\x20the\x20target\x20object\x27s\x20amount/fee\x20requirement\x20and\x20raise\x20the\x20corresponding\x20parameter\x20(this\x20is\x20NOT\x20a\x20wallet-balance/faucet\x20issue)'},{'patterns':[/invalid/i,/missing\s*(field|param|required)/i,/required/i,/expected/i,/malformed/i,/parse\s*error/i,/type\s*mismatch/i,/invalid argument/i,/Invalid value/i,/Invalid data value/i,/Invalid string value/i,/Invalid argument/i,/IsValid/i,/type does not match/i,/value type/i,/exceeds\s*limit/i,/indemnity\s*(exceeds|too\s*large)/i,/max(?:imum)?\b[^\n]*\bexceeded/i,/\bexceeded\s+(?:the\s+)?(?:limit|count)\b/i,/length\s+exceeded/i,/count\s+exceeded/i,/\bsize\s+exceeded\b/i,/\btoo\s+(?:many|long)\b/i,/not\s+(?:address|u64|number)\s+type/i,/not\s+system\s+address/i,/\bempty\b/i,/\bnot\s+equal\b/i,/unequal\s+lengths/i,/index\s+out\s+of\s+bounds?\b/i,/(?:arithmetic\s+)?(?:overflow|underflow)/i,/division\s+by\s+zero/i,/modulo\s+by\s+zero/i,/rate\s+(?:not\s+10000|exceeds)/i,/amount\s+(?:below\s+threshold|exceeds)/i,/store\s+from\s+id\s+not\s+compatible/i,/not\s+supported/i,/bad\s+(?:witness|transaction\s+hash\s+length)/i,/wrong\s+(?:borrow|value|inner\s+version|kiosk)/i,/incorrect\s+amount/i,/input\s+too\s+long/i,/vector\s+not\s+enough/i,/unknown\s+(?:action|requirement)/i,/illegal\s+rule/i,/not\s+zero/i,/no\s+config/i,/not\s+installed/i,/not\s+wow/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'},{'patterns':[/transaction\s+resolution\s+failed[\s\S]{0,200}\bMoveAbort\b/i],'error_code':'move_abort_unmapped','retryable':![],'recovery_hint':'The\x20transaction\x20was\x20dry-run\x20for\x20its\x20gas\x20budget\x20and\x20the\x20business\x20logic\x20ABORTED\x20on-chain\x20—\x20nothing\x20was\x20committed,\x20and\x20the\x20wrapping\x20prefix\x20is\x20NOT\x20an\x20environment\x20fault:\x20do\x20NOT\x20restart\x20the\x20server\x20and\x20do\x20NOT\x20blind-edit\x20parameters\x20or\x20retry\x20the\x20identical\x20call\x20(it\x20aborts\x20deterministically).\x20The\x20module\x20name\x20and\x20abort\x20code\x20in\x20this\x20message\x20are\x20the\x20authoritative\x20truth\x20(read\x20as\x20\x27abort\x20(N)\x27\x20next\x20to\x20the\x20module):\x20resolve\x20their\x20meaning\x20via\x20the\x20wowok-tools\x20Skill\x20/\x20module\x20docs,\x20fix\x20the\x20business\x20cause,\x20and\x20re-verify\x20the\x20object\x20state\x20with\x20query_toolkit\x20before\x20issuing\x20a\x20NEW\x20call'}],WERROR_MAPPINGS=[{'codes':[WErrors['AccountNotFound'],WErrors['AddressNotFound'],WErrors['TokenNotFoundLocally']],'error_code':'object_not_found','retryable':![],'recovery_hint':'Verify\x20the\x20object\x20ID/name\x20with\x20query_toolkit;\x20local_mark\x20names\x20are\x20case-sensitive'},{'codes':[WErrors['NoPermission']],'error_code':'permission_denied','retryable':![],'recovery_hint':'Use\x20an\x20account\x20with\x20the\x20required\x20permission,\x20or\x20pass\x20permission_guard\x20IDs\x20via\x20env.permission_guard'},{'codes':[WErrors['IsValidDescription'],WErrors['IsValidName'],WErrors['IsValidName_AllowEmpty'],WErrors['IsValidEndpoint'],WErrors['IsValidAddress'],WErrors['IsValidArgType'],WErrors['IsValidTokenType'],WErrors['IsValidUint'],WErrors['IsValidInt'],WErrors['IsValidU8'],WErrors['IsValidU16'],WErrors['IsValidU32'],WErrors['IsValidU64'],WErrors['IsValidU128'],WErrors['IsValidU256'],WErrors['IsValidRate'],WErrors['IsValidArray'],WErrors['IsValidObjects'],WErrors['AllInvalid'],WErrors['InvalidParam'],WErrors['IsValidPermissionIndex'],WErrors['IsValidKey'],WErrors['IsValidIdentifier'],WErrors['IsValidHttpUrl'],WErrors['IsValidBizPermissionIndex'],WErrors['IsValidServiceItemName'],WErrors['IsValidCoinType'],WErrors['IsValidGuardIdentifier'],WErrors['IsValidValue'],WErrors['IsValidValueType'],WErrors['IsValidLocation'],WErrors['WitnessTypeInvalid']],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'},{'codes':[WErrors['NewGuardCheckFailed']],'error_code':'guard_rejected','retryable':![],'recovery_hint':'The\x20guard\x20would\x20fail\x20on-chain\x20—\x20the\x20SDK\x20pre-flight\x20simulation\x20blocked\x20the\x20commit\x20before\x20any\x20fee\x20was\x20spent.\x20The\x20message\x20names\x20the\x20abort\x20class\x20(GUARD_*\x20arithmetic/range/parse,\x20or\x20an\x20enriched\x20passport\x20E_*\x20abort).\x20Fix\x20the\x20guard\x20rule\x20or\x20the\x20submissions\x20it\x20expects,\x20re-validate\x20with\x20guard\x20validation\x20(local\x20evaluator\x20reports\x20leaf-level\x20defects),\x20then\x20rebuild\x20the\x20passport'},{'codes':[WErrors['BcsTypeInvalid'],WErrors['ParseObjectContentFailed']],'error_code':'bcs_error','retryable':![],'recovery_hint':'BCS\x20serialization/deserialization\x20error.\x20Verify\x20data\x20types\x20and\x20structure\x20match\x20the\x20expected\x20schema'},{'codes':[WErrors['NetworkInvalid']],'error_code':'config_error','retryable':![],'recovery_hint':'Configuration\x20error.\x20Verify\x20that\x20network,\x20RPC\x20endpoints,\x20and\x20required\x20environment\x20variables\x20are\x20properly\x20configured'},{'codes':[WErrors['AccountPersistentStorageNotSet'],WErrors['ConfigPersistentStorageNotSet'],WErrors['AccountPersistentStorageNotFound']],'error_code':'config_error','retryable':![],'recovery_hint':'Persistent\x20storage\x20not\x20configured.\x20Initialize\x20account\x20storage\x20before\x20performing\x20this\x20operation'},{'codes':[WErrors['AccountNameExist'],WErrors['LocalMarkNameExist']],'error_code':'state_conflict','retryable':![],'recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation.\x20Query\x20the\x20current\x20state\x20with\x20query_toolkit\x20and\x20adjust\x20parameters'},{'codes':[WErrors['MaxObjectsPerQuery'],WErrors['ResourceTagCountExceeded'],WErrors['AddressCountExceeded'],WErrors['NumberCountExceeded']],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Count\x20limit\x20exceeded.\x20Reduce\x20the\x20number\x20of\x20items\x20per\x20request\x20and\x20retry'}];function isWException(a){return a instanceof WException;}function classifyWException(a){const b=a['getErrorCode'](),c=WERROR_MAPPINGS['find'](e=>e['codes']['includes'](b));if(!c)return undefined;const d={'error_code':c['error_code'],'retryable':c['retryable'],'recovery_hint':c['recovery_hint']};return d;}export const MOVE_ABORT_ERROR_MAP={'common:1':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20short-text\x20field\x20exceeds\x20the\x2064-byte\x20limit\x20(UTF-8\x20bytes,\x20not\x20characters\x20—\x20CJK\x20chars\x20count\x20~3\x20each).\x20This\x20guards\x20object\x20names,\x20payment\x20remark,\x20and\x20similar\x20fields.\x20Shorten\x20the\x20offending\x20field\x20to\x20<=\x2064\x20bytes\x20and\x20resubmit'},'common:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20required\x20name\x20field\x20was\x20empty.\x20Provide\x20a\x20non-empty\x20value\x20(1..64\x20UTF-8\x20bytes)\x20and\x20resubmit'},'common:4':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20description\x20field\x20exceeds\x20the\x204000-byte\x20limit\x20(UTF-8).\x20Shorten\x20the\x20description\x20and\x20resubmit'},'service:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20coupon\x20was\x20minted\x20with\x20transferable:false\x20and\x20is\x20permanently\x20bound\x20to\x20its\x20current\x20owner\x20—\x20it\x20can\x20never\x20be\x20moved.\x20Grant\x20a\x20new\x20coupon\x20to\x20the\x20target\x20address\x20via\x20discount\x20(call\x20service)\x20instead.\x20Note:\x20coupons\x20minted\x20with\x20transferable:true\x20CAN\x20be\x20handed\x20over\x20via\x20the\x20discount_send\x20action\x20in\x20call\x20service'},'service:16':{'error_code':'stock_exhausted'},'service:18':{'error_code':'guard_rejected','recovery_hint':'This\x20Service\x20requires\x20buyers\x20to\x20present\x20a\x20Guard\x20passport\x20(buyer_guard\x20configured).\x20Attach\x20a\x20`submission`\x20object\x20(TOP\x20LEVEL\x20of\x20the\x20call,\x20sibling\x20of\x20data/env\x20—\x20NEVER\x20a\x20`passport`\x20key)\x20carrying\x20the\x20guard\x20address\x20and\x20its\x20slot\x20values,\x20verifying\x20the\x20required\x20guard,\x20and\x20resubmit'},'service:25':{'error_code':'state_conflict','recovery_hint':'This\x20operation\x20requires\x20the\x20Service\x20to\x20have\x20an\x20Arbitration\x20bound\x20together\x20with\x20a\x20compensation\x20fund.\x20Configure\x20arbitration\x20and\x20compensation\x20first'},'service:27':{'error_code':'state_conflict','recovery_hint':'The\x20ruled\x20compensation\x20exceeds\x20the\x20Service\x27s\x20compensation_fund\x20balance\x20—\x20the\x20pool\x20is\x20empty\x20or\x20underfunded.\x20The\x20claim\x20was\x20NOT\x20consumed\x20(the\x20abort\x20happens\x20before\x20any\x20transfer).\x20Merchant\x20must\x20top\x20up\x20via\x20service\x20compensation_fund_add\x20(>=\x20the\x20ruled\x20indemnity),\x20then\x20re-run\x20arb_claim_compensation'},'service:31':{'error_code':'invalid_parameter','recovery_hint':'The\x20submitted\x20wip_hash\x20does\x20not\x20match\x20the\x20Service\x27s\x20current\x20WIP\x20hash\x20—\x20the\x20merchant\x20may\x20have\x20updated\x20the\x20WIP.\x20Re-query\x20the\x20Service\x27s\x20sale\x20info\x20and\x20resubmit\x20with\x20the\x20current\x20wip_hash'},'service:33':{'error_code':'state_conflict','recovery_hint':'The\x20Service\x20cannot\x20bind\x20an\x20Arbitration\x20whose\x20permission\x20is\x20the\x20same\x20as\x20its\x20own\x20—\x20the\x20Service\x20owner\x20would\x20then\x20control\x20dispute\x20resolution,\x20breaking\x20fairness.\x20Use\x20a\x20different\x20Arbitration\x20or\x20change\x20the\x20Service\x27s\x20permission\x20first'},'service:34':{'error_code':'sale_suspended'},'service:35':{'error_code':'discount_invalid'},'service:36':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20legacy\x20quote/buy\x20entry\x20points\x20are\x20disabled\x20on\x20chain\x20(E_DEPRECATED_USE_V2\x20—\x20quote\x20used\x20to\x20decrement\x20stock\x20at\x20quote\x20time,\x20a\x20cost-free\x20stock-drain).\x20Rebuild\x20the\x20call\x20on\x20the\x20v2\x20quote/buy\x20pair\x20(quote2\x20/\x20buy2\x20—\x20with\x20the\x20discount-coupon\x20and\x20Passport-gated\x20variants)\x20(SDK:\x20onchain_operations\x20service\x20order_new\x20on\x20the\x20current\x20build).\x20A\x20stale\x20client\x20or\x20a\x20hand-built\x20transaction\x20targeting\x20the\x20old\x20entry\x20is\x20the\x20usual\x20cause'},'service:32':{'error_code':'invalid_parameter','recovery_hint':'No\x20sale\x20item\x20matches\x20that\x20reference\x20on\x20this\x20Service\x20(a\x20per-item\x20sale\x20op\x20on\x20an\x20unknown\x20sale_name\x20aborts\x20here\x20instead\x20of\x20silently\x20succeeding).\x20Query\x20the\x20Service\x27s\x20sale\x20list\x20and\x20use\x20an\x20existing\x20item\x20index\x20/\x20exact\x20sale_name\x20—\x20the\x20MCP\x20pre-checks\x20the\x20name\x20before\x20send\x20and\x20returns\x20the\x20available\x20names\x20on\x20a\x20miss'},'service:20':{'error_code':'invalid_parameter','recovery_hint':'The\x20payment\x20attached\x20to\x20this\x20order\x20(total_pay)\x20is\x20less\x20than\x20the\x20order\x27s\x20expected\x20amount\x20—\x20raise\x20total_pay\x20to\x20at\x20least\x20the\x20DISCOUNTED\x20amount\x20(item\x20price\x20×\x20quantity\x20MINUS\x20any\x20coupon/reduction\x20bound\x20to\x20the\x20order;\x20a\x20discount\x20makes\x20the\x20raw\x20price\x20×\x20quantity\x20a\x20ceiling,\x20not\x20the\x20floor).\x20If\x20total_pay\x20already\x20covers\x20the\x20discounted\x20amount,\x20check\x20the\x20discount\x20binding\x20via\x20account_balance\x20and\x20the\x20Service\x27s\x20discount\x20list\x20(this\x20is\x20NOT\x20a\x20faucet/rate\x20issue)'},'service:39':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20Arbitration\x20that\x20produced\x20this\x20award\x20is\x20not\x20on\x20the\x20merchant\x27s\x20allowlist,\x20so\x20its\x20ruling\x20cannot\x20be\x20paid\x20out\x20of\x20the\x20compensation\x20fund.\x20Buyers\x20cannot\x20self-add:\x20file\x20the\x20dispute\x20through\x20an\x20arbitrator\x20the\x20merchant\x20already\x20trusts\x20(query\x20the\x20Service\x27s\x20arbitration\x20list).\x20Do\x20NOT\x20attempt\x20to\x20create\x20a\x20new\x20Arbitration\x20to\x20work\x20around\x20this\x20—\x20that\x20is\x20exactly\x20the\x20path\x20the\x20chain\x20now\x20blocks'},'arb:9':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20ruled\x20compensation\x20exceeds\x20the\x20on-chain\x20award\x20cap\x20(MAX_INDEMNITY_MULTIPLE\x20=\x203x\x20the\x20order\x20amount)\x20—\x20the\x20claim\x20did\x20NOT\x20consume\x20(abort\x20before\x20any\x20transfer,\x20full\x20rollback).\x20No\x20retry\x20at\x20this\x20size\x20can\x20succeed:\x20the\x20ruling\x20must\x20be\x20re-ruled\x20within\x20the\x20cap.\x20Raising\x20the\x20compensation_fund\x20does\x20NOT\x20help\x20—\x20the\x20cap\x20is\x20absolute,\x20unlike\x20the\x20fund-sufficiency\x20check\x20(service:27)'},'arbitration:9':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20Arbitration\x27s\x20voting-guard\x20roster\x20is\x20full\x20(MAX_VOTING_GUARD_COUNT\x20=\x2050)\x20—\x20adding\x20another\x20voting\x20guard\x20aborts\x20with\x20full\x20rollback.\x20Remove\x20an\x20existing\x20voting\x20guard\x20first\x20or\x20use\x20a\x20different\x20Arbitration\x20venue'},'arbitration:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20dispute\x20has\x20a\x20voting_guard\x20configured,\x20so\x20a\x20plain\x20vote\x20is\x20rejected\x20—\x20votes\x20must\x20be\x20cast\x20THROUGH\x20the\x20registered\x20voting\x20guard.\x20Resubmit\x20with\x20data.vote.voting_guard\x20set\x20to\x20the\x20dispute\x27s\x20configured\x20voting-guard\x20address\x20and\x20include\x20the\x20matching\x20passport\x20submission\x20covering\x20it\x20(query\x20the\x20Arbitration\x27s\x20voting_guard\x20config\x20first).\x20A\x20plain-vote\x20retry\x20fails\x20identically'},'service:40':{'error_code':'config_error','retryable':![],'recovery_hint':'This\x20Service\x20has\x20no\x20Machine\x20configured,\x20so\x20it\x20cannot\x20run\x20the\x20multi-node\x20Progress\x20workflow.\x20This\x20is\x20a\x20supported\x20configuration\x20—\x20buying,\x20settlement\x20and\x20arbitration\x20all\x20work\x20without\x20it;\x20only\x20the\x20workflow\x20is\x20unavailable.\x20Do\x20NOT\x20add\x20a\x20Machine\x20as\x20a\x20workaround:\x20if\x20the\x20workflow\x20is\x20genuinely\x20required,\x20the\x20merchant\x20must\x20configure\x20one\x20and\x20republish.\x20Otherwise\x20omit\x20the\x20step\x20that\x20attaches\x20a\x20Progress\x20to\x20this\x20order'},'service:41':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20requested\x20price\x20reduction\x20exceeds\x20the\x20item\x27s\x20current\x20price,\x20which\x20used\x20to\x20silently\x20clamp\x20the\x20price\x20to\x20zero\x20and\x20is\x20now\x20rejected.\x20Query\x20the\x20current\x20price\x20first\x20and\x20reduce\x20by\x20at\x20most\x20that\x20amount\x20—\x20reducing\x20the\x20price\x20to\x20exactly\x20zero\x20remains\x20allowed.\x20Do\x20not\x20retry\x20with\x20the\x20same\x20oversized\x20value'},'service:42':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20discounted\x20order\x20total\x20is\x200,\x20so\x20the\x20buy\x20is\x20refused\x20—\x20a\x20zero-total\x20order\x20would\x20carry\x20an\x20empty\x20escrow\x20and\x20its\x20finalize\x20would\x20have\x20nothing\x20to\x20settle.\x20Zero-priced\x20ITEMS\x20stay\x20legal\x20at\x20quote\x20level;\x20to\x20buy,\x20make\x20the\x20total\x20positive\x20(raise\x20the\x20item\x20price,\x20drop\x20the\x20zero-priced\x20item,\x20or\x20reduce\x20the\x20coupon\x20so\x20at\x20least\x201\x20raw\x20unit\x20remains\x20payable)\x20and\x20retry'},'service:43':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20buy_guard\x20being\x20mounted\x20declares\x20identifier\x200\x20as\x20a\x20submission\x20slot\x20—\x20slot\x200\x20carries\x20the\x20transacted\x20Order\x20address,\x20which\x20does\x20not\x20exist\x20yet\x20when\x20the\x20passport\x20is\x20verified\x20at\x20buy\x20time,\x20so\x20this\x20buy\x20door\x20can\x20never\x20open.\x20The\x20mount\x20is\x20refused\x20so\x20the\x20store\x20cannot\x20look\x20open\x20while\x20being\x20unbuyable.\x20Rebuild\x20the\x20guard\x20consuming\x20OTHER\x20slots\x20for\x20submissions\x20(slot\x200\x20as\x20a\x20STATIC\x20row,\x20b_submission:false,\x20stays\x20legal)\x20and\x20re-mount'},'demand:5':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20Demand\x20has\x20recorded\x20its\x20maximum\x20of\x20200\x20distinct\x20presenters\x20(MAX_PRESENTER_COUNT)\x20and\x20the\x20201st\x20new\x20presenter\x20is\x20rejected.\x20Re-presenting\x20an\x20entry\x20you\x20already\x20hold\x20is\x20still\x20allowed,\x20and\x20stale\x20presenters\x20can\x20be\x20removed\x20—\x20ask\x20the\x20Demand\x20owner\x20to\x20clear\x20unused\x20entries,\x20or\x20to\x20split\x20the\x20Demand.\x20Do\x20NOT\x20loop\x20retries:\x20every\x20retry\x20with\x20a\x20fresh\x20address\x20fails\x20the\x20same\x20way'},'arb:10':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20ballot\x20is\x20invalid:\x20it\x20must\x20reference\x20at\x20most\x2020\x20proposition\x20indices\x20(MAX_PROPOSITION_COUNT)\x20with\x20no\x20repeats.\x20A\x20repeated\x20index\x20no\x20longer\x20adds\x20weight\x20—\x20a\x20voter\x27s\x20weight\x20is\x20applied\x20at\x20most\x20once\x20per\x20proposition,\x20so\x20cast\x20one\x20clean\x20ballot\x20instead\x20of\x20adding\x20entries\x20to\x20accumulate\x20weight.\x20This\x20bound\x20exists\x20because\x20repeat-weighting\x20let\x20one\x20low-cost\x20address\x20forge\x20the\x20on-chain\x20tally'},'option:262144':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20framework\x20hit\x20an\x20internal\x20\x27already\x20set\x27\x20invariant\x20—\x20this\x20is\x20a\x20framework-level\x20condition,\x20not\x20something\x20your\x20call\x20can\x20fix\x20by\x20changing\x20arguments,\x20and\x20retrying\x20will\x20fail\x20identically.\x20Report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'option:262145':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20framework\x20tried\x20to\x20read\x20a\x20value\x20it\x20expected\x20to\x20be\x20present\x20but\x20was\x20not\x20—\x20an\x20internal\x20invariant,\x20not\x20a\x20user\x20input\x20error.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'vector:131072':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20index\x20was\x20out\x20of\x20bounds\x20for\x20a\x20vector.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'bit_vector:131072':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20index\x20was\x20out\x20of\x20bounds\x20for\x20a\x20bit\x20vector.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'bit_vector:131073':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20bit-vector\x20length\x20exceeded\x20its\x20limit.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'fixed_point32:65537':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20denominator\x20evaluated\x20to\x20zero.\x20The\x20numeric\x20inputs\x20to\x20this\x20calculation\x20were\x20invalid\x20—\x20check\x20any\x20rate,\x20amount\x20or\x20ratio\x20passed\x20into\x20the\x20operation'},'fixed_point32:65540':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20division\x20attempted\x20to\x20divide\x20by\x20zero.\x20The\x20divisor\x20was\x20zero\x20—\x20check\x20any\x20rate,\x20amount\x20or\x20ratio\x20passed\x20into\x20the\x20operation'},'fixed_point32:131074':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20division\x20overflowed\x20its\x20representable\x20range.\x20The\x20operands\x20were\x20too\x20large\x20for\x20the\x20calculation\x20—\x20reduce\x20the\x20amounts\x20or\x20rates\x20involved'},'fixed_point32:131075':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20multiplication\x20overflowed\x20its\x20representable\x20range.\x20The\x20operands\x20were\x20too\x20large\x20for\x20the\x20calculation\x20—\x20reduce\x20the\x20amounts\x20or\x20rates\x20involved'},'fixed_point32:131077':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20ratio\x20evaluated\x20outside\x20its\x20representable\x20range.\x20The\x20rate\x20or\x20ratio\x20is\x20outside\x20the\x20permitted\x20bounds\x20—\x20check\x20the\x20values\x20passed\x20into\x20the\x20operation'},'arbitration:5':{'error_code':'invalid_parameter','recovery_hint':'The\x20dispute\x20fee\x20attached\x20to\x20this\x20call\x20is\x20below\x20the\x20Arbitration\x27s\x20required\x20fee\x20—\x20query\x20the\x20Arbitration\x27s\x20fee\x20field\x20and\x20raise\x20the\x20fee\x20parameter\x20to\x20at\x20least\x20that\x20amount\x20(this\x20is\x20NOT\x20a\x20wallet-balance/faucet\x20issue)'},'arbitration:4':{'error_code':'state_conflict','recovery_hint':'This\x20Arbitration\x20is\x20paused\x20(new\x20Arbitrations\x20default\x20to\x20paused)\x20—\x20every\x20dispute\x20filing\x20aborts\x20until\x20it\x20is\x20un-paused.\x20The\x20arbitration\x20owner\x20must\x20issue\x20{\x20operation_type:\x27arbitration\x27,\x20data:{\x20object:\x27<arbitration>\x27,\x20pause:false\x20}\x20},\x20then\x20re-file\x20the\x20dispute.\x20Note:\x20un-pausing\x20itself\x20requires\x20permission\x20356\x20on\x20the\x20Arbitration\x27s\x20Permission'},'machine:7':{'error_code':'invalid_parameter','recovery_hint':'A\x20node\x20declares\x20the\x20same\x20prev_node\x20in\x20two\x20of\x20its\x20pairs\x20—\x20transitions\x20from\x20one\x20source\x20node\x20must\x20live\x20in\x20ONE\x20pair\x20as\x20multiple\x20forwards.\x20Merge\x20the\x20competing\x20forwards\x20into\x20a\x20single\x20pair\x20(or\x20use\x20different\x20source\x20nodes)\x20and\x20rebuild\x20the\x20Machine'},'machine:11':{'error_code':'state_conflict','recovery_hint':'This\x20Machine\x20is\x20paused\x20—\x20node\x20and\x20forward\x20mutations\x20are\x20blocked.\x20Un-pause\x20it\x20first\x20with\x20{\x20operation_type:\x27machine\x27,\x20data:{\x20object:\x27<machine>\x27,\x20pause:false\x20}\x20},\x20then\x20retry'},'machine:23':{'error_code':'guard_rejected','recovery_hint':'A\x20retained\x20submission\x20identifier\x20does\x20not\x20exist\x20in\x20the\x20Guard\x20at\x20all.\x20Query\x20the\x20Guard\x27s\x20submission\x20table\x20and\x20correct\x20the\x20retained_submission\x20list'},'machine:24':{'error_code':'guard_rejected','recovery_hint':'A\x20retained\x20submission\x20identifier\x20exists\x20in\x20the\x20Guard\x20but\x20is\x20not\x20marked\x20as\x20a\x20submission\x20slot\x20(retained).\x20Add\x20the\x20identifier\x20to\x20the\x20Guard\x27s\x20retained\x20slots,\x20or\x20drop\x20it\x20from\x20the\x20forward\x27s\x20retained_submission\x20list'},'machine:14':{'error_code':'invalid_parameter','recovery_hint':'A\x20Machine\x20forward\x20must\x20define\x20one\x20of\x20namedOperator\x20or\x20permissionIndex\x20—\x20a\x20Guard\x20does\x20NOT\x20satisfy\x20this\x20(it\x20is\x20a\x20post-verification\x20check,\x20not\x20an\x20identity;\x20use\x20namedOperator:\x27\x27\x20for\x20the\x20order\x20payer).\x20Set\x20one\x20of\x20them\x20for\x20the\x20forward'},'machine:8':{'error_code':'invalid_parameter','recovery_hint':'No\x20node\x20with\x20that\x20name\x20exists\x20in\x20this\x20Machine.\x20Export\x20the\x20node\x20set\x20via\x20machineNode2file\x20(or\x20query\x20the\x20node\x20table)\x20and\x20use\x20an\x20exact\x20existing\x20node\x20name'},'machine:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20node\x20name\x20does\x20not\x20exist\x20in\x20this\x20Machine.\x20Export\x20the\x20node\x20set\x20via\x20machineNode2file\x20(or\x20query\x20the\x20node\x20table)\x20and\x20use\x20exact\x20existing\x20node\x20names'},'machine:13':{'error_code':'invalid_parameter','recovery_hint':'No\x20forward\x20info\x20matches\x20that\x20node/next_node/forward\x20triple.\x20Query\x20the\x20Machine\x27s\x20node\x20table\x20(onchain_table_data\x20onchain_table_item_machine_node)\x20and\x20use\x20an\x20existing\x20combination'},'machine:17':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20Machine\x20has\x20no\x20nodes,\x20so\x20it\x20cannot\x20be\x20published\x20(E_EMPTY_MACHINE).\x20A\x20Machine\x20must\x20carry\x20at\x20least\x20one\x20node,\x20and\x20the\x20first\x20node\x20must\x20hold\x20the\x20entry\x20pair\x20(prev_node:\x22\x22)\x20that\x20Progress\x20starts\x20from.\x20Add\x20the\x20nodes\x20—\x20send\x20them\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20with\x20bReplace:true,\x20since\x20the\x20chain\x20runs\x20its\x20structural\x20gate\x20(including\x20cycle\x20detection)\x20at\x20publish\x20and\x20freezes\x20the\x20graph\x20right\x20after\x20—\x20then\x20retry.\x20This\x20is\x20the\x20one\x20moment\x20the\x20graph\x20is\x20still\x20editable:\x20after\x20a\x20successful\x20publish\x20every\x20node/forward\x20change\x20is\x20frozen'},'machine:18':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20entry\x20pair\x20(prev_node:\x22\x22)\x20carries\x20no\x20forward\x20(E_EMPTY_ENTRY_PAIR).\x20Progress\x20starts\x20at\x20the\x20empty\x20state\x20\x22\x22\x20and\x20can\x20only\x20leave\x20it\x20through\x20an\x20entry\x20forward,\x20so\x20this\x20Machine\x20would\x20strand\x20every\x20order\x20at\x20the\x20start\x20forever.\x20Give\x20that\x20pair\x20at\x20least\x20one\x20forward\x20(a\x20Guard\x20alone\x20is\x20not\x20enough\x20—\x20every\x20forward\x20also\x20needs\x20namedOperator\x20or\x20permissionIndex)\x20and\x20republish.\x20Do\x20NOT\x20remove\x20the\x20entry\x20pair\x20to\x20silence\x20this:\x20a\x20Machine\x20with\x20no\x20entry\x20edge\x20fails\x20the\x20sibling\x20check\x20instead'},'machine:19':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'No\x20node\x20has\x20an\x20entry\x20pair,\x20i.e.\x20nothing\x20declares\x20prev_node:\x22\x22\x20(E_NO_ENTRY_EDGE)\x20—\x20Progress\x20starts\x20at\x20\x22\x22\x20and\x20has\x20no\x20edge\x20to\x20advance\x20on,\x20so\x20the\x20workflow\x20can\x20never\x20start.\x20Add\x20the\x20entry\x20edge\x20to\x20your\x20first\x20node:\x20pairs:[{prev_node:\x22\x22,\x20forwards:[{name:\x22start\x22,\x20weight:1,\x20namedOperator:\x22\x22}]}].\x20Note\x20this\x20pair\x20belongs\x20to\x20the\x20DESTINATION\x20node,\x20not\x20the\x20source;\x20export\x20the\x20current\x20graph\x20with\x20machineNode2file\x20first,\x20because\x20the\x20fix\x20must\x20land\x20before\x20publish\x20freezes\x20the\x20topology'},'machine:20':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20pair\x27s\x20prev_node\x20names\x20a\x20node\x20that\x20does\x20not\x20exist\x20in\x20this\x20Machine\x20(E_EDGE_SOURCE_NOT_FOUND)\x20—\x20that\x20edge\x20is\x20unreachable\x20and\x20its\x20source\x20node\x20can\x20never\x20be\x20entered.\x20Compare\x20the\x20pair\x27s\x20prev_node\x20against\x20the\x20actual\x20node\x20names:\x20export\x20the\x20node\x20set\x20with\x20machineNode2file\x20and\x20fix\x20the\x20typo,\x20or\x20add\x20the\x20missing\x20source\x20node.\x20Watch\x20the\x20direction\x20rule\x20too\x20—\x20the\x20pair\x20belongs\x20to\x20the\x20node\x20being\x20advanced\x20INTO,\x20with\x20prev_node\x20naming\x20the\x20node\x20it\x20comes\x20from,\x20so\x20an\x20entry\x20edge\x20is\x20the\x20one\x20with\x20the\x20EMPTY\x20prev_node'},'machine:21':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20forward\x20names\x20no\x20operator\x20—\x20it\x20has\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20(E_FORWARD_NO_IDENTITY),\x20so\x20no\x20one\x20can\x20be\x20authorized\x20to\x20execute\x20it\x20and\x20the\x20Machine\x20cannot\x20be\x20published.\x20Set\x20namedOperator\x20(use\x20the\x20empty\x20string\x20\x22\x22\x20for\x20the\x20order\x20payer,\x20or\x20a\x20Progress\x20operator\x20namespace)\x20or\x20permissionIndex\x20(a\x20USER_DEFINED\x20index\x20>=\x201000).\x20A\x20Guard\x20does\x20NOT\x20satisfy\x20this:\x20it\x20is\x20a\x20post-verification\x20check,\x20not\x20an\x20identity\x20—\x20both\x20constructors\x20reject\x20a\x20Guard-only\x20rail\x20at\x20construction\x20(the\x20guard-rail\x20constructor\x20aborts\x20with\x20this\x20same\x20code)\x20and\x20the\x20publish\x20gate\x20re-checks\x20every\x20forward'},'machine:22':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20pair\x27s\x20threshold\x20can\x20never\x20be\x20met\x20(E_UNREACHABLE_THRESHOLD):\x20the\x20threshold\x20is\x20greater\x20than\x20the\x20sum\x20of\x20that\x20pair\x27s\x20forward\x20weights.\x20Each\x20forward\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20—\x20it\x20is\x20locked\x20by\x20the\x20first\x20operator\x20who\x20accomplishes\x20it,\x20and\x20a\x20second\x20operator\x20re-running\x20it\x20aborts\x20E_NOT_THE_HOLDER\x20—\x20so\x20the\x20reachable\x20maximum\x20is\x20the\x20sum\x20of\x20DISTINCT\x20forward\x20weights.\x20Lower\x20the\x20threshold,\x20or\x20add\x20one\x20distinct\x20forward\x20per\x20contributing\x20operator\x20(threshold\x202\x20->\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201).\x20Never\x20try\x20to\x20satisfy\x20a\x20high\x20threshold\x20by\x20re-running\x20one\x20forward\x20more\x20times'},'progress:8':{'error_code':'invalid_parameter','recovery_hint':'The\x20sender\x20matched\x20no\x20namedOperator\x20entry\x20and\x20this\x20forward\x20has\x20no\x20permissionIndex.\x20For\x20namedOperator=\x22\x22\x20(order\x20payer)\x20forwards:\x20the\x20SDK\x20auto-routes\x20on\x20an\x20order-bound\x20Progress,\x20so\x20this\x20abort\x20means\x20the\x20current\x20account\x20is\x20NOT\x20the\x20order\x20payer/agent\x20—\x20retry\x20from\x20the\x20payer\x27s\x20account,\x20or\x20redesign\x20the\x20forward\x20with\x20a\x20permissionIndex.\x20If\x20this\x20Progress\x20is\x20standalone\x20(no\x20task\x20binding),\x20empty-namedOperator\x20forwards\x20cannot\x20be\x20advanced\x20at\x20all:\x20use\x20a\x20non-empty\x20namedOperator\x20or\x20a\x20permissionIndex'},'order:3':{'error_code':'invalid_parameter','recovery_hint':'This\x20order\x20requires\x20progress\x20specification\x20(the\x20Service\x20is\x20machine-backed).\x20Supply\x20the\x20progress\x20parameters,\x20or\x20query\x20the\x20machine\x20node\x20info\x20for\x20the\x20expected\x20values'},'order:8':{'error_code':'invalid_parameter','recovery_hint':'This\x20order\x20requires\x20allocation\x20specification.\x20Supply\x20the\x20allocation\x20parameters\x20matching\x20the\x20Service\x27s\x20allocator\x20configuration'},'arb:3':{'error_code':'state_conflict','recovery_hint':'The\x20Arb\x20case\x20is\x20in\x20the\x20wrong\x20lifecycle\x20state\x20for\x20this\x20operation.\x20Query\x20the\x20Arb\x27s\x20current\x20status\x20first,\x20then\x20pick\x20the\x20matching\x20operation:\x20Voting(2)\x20→\x20vote\x20/\x20voting_deadline_change\x20/\x20ruling;\x20Arbitrator_confirming(1)\x20→\x20arbitrator\x20confirm;\x20Arbitrated(3)\x20→\x20claim\x20compensation\x20(closes\x20case)\x20OR\x20objection\x20(re-opens,\x20mutually\x20exclusive\x20with\x20claim);\x20Objectionable(4)/Arbitrator_confirming(1)\x20→\x20reset;\x20after\x20a\x20claim\x20(Finished(5))\x20or\x20withdraw\x20(Withdrawn(6))\x20the\x20case\x20is\x20terminal'},'arb:5':{'error_code':'invalid_parameter','recovery_hint':'votes\x20are\x200-based\x20indices\x20of\x20the\x20propositions\x20the\x20voter\x20agrees\x20with\x20—\x20each\x20value\x20must\x20be\x20<\x20the\x20Arb\x27s\x20proposition\x20count.\x20Query\x20the\x20Arb\x27s\x20propositions\x20and\x20resubmit\x20with\x20valid\x20indices\x20(0\x20…\x20N-1)'},'arb:4':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20voting\x20deadline\x20has\x20not\x20passed\x20yet.\x20Wait\x20until\x20the\x20deadline\x20elapses,\x20then\x20tally\x20the\x20votes'},'arb:7':{'error_code':'state_conflict','recovery_hint':'The\x20voting\x20deadline\x20has\x20passed\x20—\x20voting\x20is\x20closed.\x20Query\x20the\x20proposition\x20state\x20to\x20see\x20the\x20outcome'},'arb:8':{'error_code':'state_conflict','recovery_hint':'The\x2030-day\x20silence\x20window\x20after\x20the\x20ruling\x20has\x20not\x20passed\x20—\x20the\x20fee\x20unlocks\x20after\x20WITHDRAW_DURATION_TIME\x20(30d)\x20from\x20the\x20ruling\x20timestamp,\x20or\x20immediately\x20once\x20the\x20case\x20reaches\x20Finished(5).\x20Drive\x20the\x20case\x20to\x20Finished\x20via\x20finish()\x20to\x20withdraw\x20now'},'passport:2':{'error_code':'guard_rejected','recovery_hint':'Guards\x20relied\x20upon\x20by\x20this\x20Guard\x20must\x20be\x20added\x20to\x20the\x20Passport\x20first\x20(dependents-before-dependent\x20order).\x20Add\x20the\x20relied-upon\x20guards\x20to\x20the\x20passport,\x20then\x20add\x20this\x20one'},'passport:5':{'error_code':'guard_rejected','recovery_hint':'The\x20passport\x20lacks\x20the\x20required\x20verification\x20for\x20this\x20operation.\x20Complete\x20the\x20verification\x20scene\x20first'},'passport:6':{'error_code':'guard_rejected','recovery_hint':'The\x20guard\x20is\x20not\x20an\x20impact\x20guard\x20of\x20this\x20Passport\x20—\x20its\x20result\x20does\x20not\x20participate\x20in\x20the\x20passport\x20outcome.\x20Query\x20the\x20passport\x27s\x20guard\x20list\x20and\x20use\x20a\x20guard\x20registered\x20with\x20impack=true'},'passport:9':{'error_code':'guard_rejected','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20in\x20this\x20passport.\x20Add\x20the\x20guard\x20to\x20the\x20passport\x20(with\x20impack=true\x20if\x20its\x20result\x20must\x20participate\x20in\x20the\x20outcome),\x20then\x20retry'},'passport:7':{'error_code':'guard_rejected','recovery_hint':'Passport\x20verification\x20failed\x20—\x20the\x20passport\x27s\x20overall\x20result\x20is\x20false.\x20If\x20the\x20response\x20includes\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line,\x20it\x20names\x20the\x20first\x20failing\x20impact\x20guard:\x20complete\x20that\x20guard\x27s\x20submission\x20data\x20or\x20satisfy\x20its\x20rule,\x20then\x20regenerate\x20the\x20passport.\x20Otherwise\x20query\x20the\x20passport\x27s\x20guard[]\x20entries\x20and\x20each\x20clause\x27s\x20result\x20and\x20fix\x20the\x20failing\x20clause\x20(or\x20bisect\x20by\x20removing\x20guards)'},'passport:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20submission\x20identifier\x20does\x20not\x20exist\x20in\x20this\x20passport.\x20Query\x20the\x20passport\x27s\x20submission\x20table\x20and\x20use\x20a\x20registered\x20identifier'},'passport:11':{'error_code':'guard_rejected','recovery_hint':'Digest\x20mismatch\x20in\x20proof\x20verification.\x20The\x20proof\x20does\x20not\x20cover\x20the\x20expected\x20content\x20—\x20regenerate\x20the\x20proof\x20against\x20the\x20current\x20target'},'reward:1':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20guard-add\x20lock\x20(guard_not_added_expiration_time)\x20is\x20still\x20active\x20and\x20cannot\x20be\x20replaced\x20yet.\x20Wait\x20until\x20it\x20elapses,\x20then\x20set\x20the\x20new\x20lock\x20time'},'reward:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x27s\x20expiration_time\x20has\x20already\x20passed\x20and\x20it\x20can\x20no\x20longer\x20be\x20used.\x20Ask\x20the\x20reward\x20issuer\x20to\x20re-add\x20the\x20guard\x20with\x20a\x20later\x20expiration\x20(or\x20use\x20a\x20different\x20guard),\x20then\x20retry'},'reward:6':{'error_code':'pool_shortage','retryable':![],'recovery_hint':'The\x20REWARD\x20POOL\x20(an\x20on-chain\x20object)\x20cannot\x20cover\x20this\x20claim\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet\x20balance;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help.\x20Have\x20the\x20reward\x20issuer\x20top\x20up\x20the\x20pool\x20with\x20reward\x20coin_add\x20(permission\x20153),\x20then\x20retry\x20the\x20SAME\x20claim\x20unchanged:\x20the\x20claim\x20slot\x20is\x20written\x20before\x20the\x20balance\x20check\x20and\x20the\x20abort\x20rolls\x20it\x20back,\x20so\x20nothing\x20was\x20consumed\x20(mainnet-proven,\x20T14).\x20If\x20you\x20are\x20the\x20BUYER,\x20report\x20the\x20empty\x20pool\x20to\x20the\x20merchant\x20—\x20do\x20not\x20attempt\x20to\x20fund\x20it\x20yourself'},'reward:10':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20declared\x20no-guard\x20window\x20(guard_not_added_expiration_time)\x20is\x20still\x20active\x20—\x20adding\x20guards\x20AND\x20withdrawing\x20balance\x20are\x20locked\x20until\x20it\x20elapses.\x20Wait\x20until\x20then,\x20then\x20retry'},'reward:11':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard-add\x20lock\x20time\x20must\x20be\x20strictly\x20later\x20than\x20the\x20current\x20clock\x20time.\x20Set\x20a\x20future\x20timestamp'},'reward:7':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20in\x20this\x20Reward.\x20Use\x20a\x20guard\x20registered\x20in\x20the\x20Reward\x27s\x20guard\x20table,\x20or\x20have\x20the\x20issuer\x20add\x20it\x20first'},'reward:13':{'error_code':'state_conflict','retryable':![],'recovery_hint':'This\x20claim\x20was\x20already\x20made\x20for\x20this\x20(recipient,\x20guard,\x20order)\x20combination\x20and\x20the\x20chain\x20refuses\x20replays.\x20A\x20different\x20order\x20(different\x20store_from\x20value)\x20earns\x20its\x20own\x20claim'},'reward:14':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20claim\x20recipient\x20must\x20be\x20the\x20transaction\x20sender.\x20Claim\x20with\x20the\x20account\x20the\x20reward\x20is\x20addressed\x20to\x20(the\x20SDK-submitted\x20Entity\x20value\x20or\x20your\x20own\x20address\x20as\x20the\x20GuardIdentifier\x20value)'},'repository:7':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20policy\x20does\x20not\x20exist\x20in\x20the\x20repository.\x20Query\x20the\x20repository\x20policies\x20and\x20use\x20a\x20valid\x20policy\x20ID'},'repository:8':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20policy\x20does\x20not\x20exist\x20in\x20the\x20repository\x20(option\x20is\x20none).\x20Query\x20the\x20repository\x20policies\x20and\x20use\x20a\x20valid\x20policy\x20ID'},'repository:11':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x27s\x20guard\x20entry\x20expects\x20id/data\x20from\x20the\x20passport\x20submission\x20(id_from_submission/data_from_submission\x20is\x20set),\x20but\x20this\x20call\x20passes\x20explicit\x20values.\x20Use\x20the\x20submission-based\x20call\x20route,\x20or\x20fix\x20the\x20policy\x20entry'},'repository:12':{'error_code':'guard_rejected','recovery_hint':'The\x20write_guard\x20is\x20not\x20an\x20impact\x20guard\x20in\x20the\x20passport\x20—\x20the\x20passport\x20must\x20verify\x20this\x20guard\x20with\x20impack=true.\x20Rebuild\x20the\x20passport\x20including\x20the\x20write_guard\x20as\x20an\x20impact\x20guard'},'repository:13':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20in\x20the\x20repository\x20policy\x27s\x20guard\x20list.\x20Query\x20the\x20policy\x27s\x20guards\x20and\x20use\x20a\x20registered\x20one'},'repository:14':{'error_code':'invalid_parameter','recovery_hint':'The\x20ID\x20vector\x20is\x20shorter\x20than\x20required\x20—\x20a\x20vector\x20length\x20problem,\x20not\x20a\x20balance\x20problem.\x20Align\x20the\x20vector\x20lengths\x20with\x20the\x20operation\x27s\x20requirement'},'repository:15':{'error_code':'invalid_parameter','recovery_hint':'The\x20data\x20vector\x20is\x20shorter\x20than\x20required\x20—\x20a\x20vector\x20length\x20problem,\x20not\x20a\x20balance\x20problem.\x20Align\x20the\x20vector\x20lengths\x20with\x20the\x20operation\x27s\x20requirement'},'repository:20':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x20entry\x20requires\x20the\x20id\x20to\x20come\x20from\x20the\x20passport\x20submission\x20(id_from_submission\x20is\x20set).\x20Use\x20the\x20submission-based\x20call\x20route\x20that\x20supplies\x20the\x20passport'},'repository:21':{'error_code':'invalid_parameter','recovery_hint':'The\x20quote\x20guard\x20must\x20be\x20a\x20depended\x20guard\x20(no\x20relies\x20of\x20its\x20own,\x20immutable,\x20with\x20reputation).\x20Configure\x20the\x20guard\x20accordingly\x20before\x20setting\x20it\x20as\x20the\x20policy\x27s\x20quote\x20guard'},'repository:22':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x20requires\x20a\x20write_guard\x20when\x20id_from\x20is\x20None.\x20Set\x20the\x20policy\x27s\x20write_guard\x20or\x20use\x20a\x20non-None\x20id_from'},'repository:23':{'error_code':'invalid_parameter','recovery_hint':'id_from_submission\x20is\x20forbidden\x20when\x20id_from\x20is\x20Clock\x20or\x20Signer\x20(the\x20id\x20is\x20auto-generated).\x20Remove\x20id_from_submission\x20from\x20the\x20policy\x20entry\x20or\x20change\x20id_from'},'repository:24':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20policy\x20is\x20write-once:\x20a\x20record\x20with\x20this\x20(id,\x20key)\x20already\x20exists\x20and\x20can\x20never\x20be\x20overwritten.\x20Read\x20the\x20existing\x20record\x20first\x20(query\x20the\x20repository\x20data)\x20—\x20use\x20a\x20different\x20key\x20for\x20a\x20new\x20row,\x20or\x20build\x20on\x20the\x20existing\x20immutable\x20row'},'permission:5':{'error_code':'permission_denied','recovery_hint':'The\x20signer\x20lacks\x20a\x20qualifying\x20entity\x20on\x20the\x20target\x20object\x27s\x20OWN\x20Permission.\x20Machines\x20have\x20their\x20own\x20Permission\x20independent\x20of\x20the\x20Service\x27s\x20(machine.move:324)\x20—\x20check\x20which\x20object\x20the\x20call\x20touches\x20and\x20authorize\x20against\x20ITS\x20Permission\x20(query\x20the\x20object\x27s\x20permission\x20field),\x20then\x20grant\x20the\x20signer\x20the\x20required\x20index\x20there\x20(permission\x20add\x20perm\x20by\x20index).\x20Authorizing\x20the\x20Service\x27s\x20Permission\x20does\x20NOT\x20cover\x20the\x20Machine\x27s'},'permission:7':{'error_code':'invalid_parameter','recovery_hint':'Use\x20a\x20USER_DEFINED\x20index\x20(≥1000)\x20—\x20custom\x20forward\x20permissions\x20work\x20out\x20of\x20the\x20box\x20for\x20the\x20Permission\x27s\x20admin\x20with\x20no\x20prior\x20grant;\x20low\x20indices\x20(0-999)\x20are\x20builtin/reserved\x20and\x20must\x20be\x20granted\x20first\x20(permission\x20add\x20perm\x20by\x20index)\x20before\x20use\x20—\x20audit\x20with\x20onchain_table_data\x20query_type=onchain_table_item_permission_perm'},'arbitration:8':{'error_code':'invalid_parameter','recovery_hint':'This\x20guard\x20is\x20not\x20registered\x20as\x20a\x20voting\x20guard\x20on\x20the\x20Arbitration.\x20Add\x20it\x20to\x20the\x20Arbitration\x27s\x20voting_guard\x20config\x20(with\x20its\x20vote_weight)\x20first,\x20or\x20use\x20an\x20already-registered\x20voting\x20guard'},'demand:4':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20on\x20this\x20Demand.\x20Use\x20a\x20guard\x20registered\x20on\x20the\x20Demand,\x20or\x20configure\x20it\x20first'},'treasury:3':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20as\x20an\x20external\x20deposit\x20guard\x20on\x20this\x20Treasury.\x20Register\x20it\x20in\x20the\x20Treasury\x27s\x20external\x20deposit\x20guard\x20list\x20first'},'treasury:4':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20as\x20an\x20external\x20withdraw\x20guard\x20on\x20this\x20Treasury.\x20Register\x20it\x20in\x20the\x20Treasury\x27s\x20external\x20withdraw\x20guard\x20list\x20first'},'treasury:10':{'error_code':'invalid_parameter','recovery_hint':'An\x20external\x20withdraw\x20can\x20only\x20pay\x20the\x20transaction\x20sender.\x20Either\x20submit\x20the\x20transaction\x20as\x20the\x20recipient\x20address,\x20or\x20use\x20the\x20permissioned\x20withdraw\x20path\x20to\x20pay\x20another\x20address'},'guard:6':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20being\x20relied\x20upon\x20must\x20be\x20a\x20depended\x20guard\x20(no\x20relies\x20of\x20its\x20own,\x20immutable,\x20with\x20reputation).\x20Rely\x20on\x20a\x20terminal\x20guard,\x20not\x20one\x20with\x20its\x20own\x20dependencies'},'guard:7':{'error_code':'invalid_parameter','recovery_hint':'A\x20Guard\x20cannot\x20depend\x20on\x20itself.\x20Remove\x20the\x20self-reference\x20from\x20the\x20relies\x20list'},'guard:9':{'error_code':'invalid_parameter','recovery_hint':'The\x20submission\x20identifier\x27s\x20object\x20type\x20does\x20not\x20match\x20the\x20Guard\x20table\x20entry.\x20Check\x20each\x20identifier\x27s\x20type\x20against\x20the\x20Guard\x27s\x20table'},'guard:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20identifiers\x20and\x20values\x20vectors\x20must\x20have\x20equal\x20lengths.\x20Align\x20the\x20counts'},'guard:11':{'error_code':'guard_rejected','recovery_hint':'The\x20submission\x20identifier\x20is\x20not\x20in\x20the\x20Guard\x27s\x20table.\x20Query\x20the\x20Guard\x27s\x20table\x20identifiers\x20and\x20submit\x20a\x20valid\x20one'},'guard:13':{'error_code':'invalid_parameter','recovery_hint':'The\x20Guard\x20table\x20uses\x20a\x20protocol-reserved\x20identifier\x20(221-253).\x20Move\x20the\x20entry\x20to\x20a\x20user\x20slot\x20(0-220);\x20identifiers\x20254/255\x20are\x20reserved\x20for\x20allocation\x20replay\x20protection'},'guard:14':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20Guard\x20table\x20item\x20was\x20submitted\x20with\x20an\x20EMPTY\x20value.\x20Every\x20table\x20item\x20must\x20carry\x20[type_tag,\x20bcs(value)]\x20bytes\x20—\x20e.g.\x20[1,\x20<32-byte\x20address>]\x20for\x20an\x20address\x20constant.\x20Rebuild\x20the\x20guard\x20with\x20non-empty\x20item\x20values'},'allocation:7':{'error_code':'pool_shortage','retryable':![],'recovery_hint':'The\x20ALLOCATION\x27s\x20pool\x20(an\x20on-chain\x20object)\x20cannot\x20cover\x20its\x20configured\x20split\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help,\x20and\x20re-sending\x20the\x20rail\x20changes\x20nothing.\x20If\x20this\x20rail\x20was\x20EXPECTED\x20to\x20pay\x20(settlement/refund),\x20the\x20payer\x20side\x20must\x20fund\x20the\x20order/allocation\x20first\x20(order\x20renew,\x20payment\x20create\x20into\x20the\x20allocation)\x20and\x20only\x20then\x20re-run\x20the\x20rail.\x20If\x20the\x20pool\x20is\x20drained\x20because\x20the\x20rail\x20ALREADY\x20paid\x20(once-slot\x20consumed,\x20balance\x200),\x20treat\x20the\x20rail\x20as\x20spent\x20and\x20verify\x20via\x20the\x20Payment\x20record\x20instead\x20of\x20retrying'},'allocation:5':{'error_code':'invalid_parameter','recovery_hint':'Multiple\x20surplus\x20entries\x20are\x20not\x20supported.\x20Provide\x20at\x20most\x20one\x20surplus\x20entry\x20in\x20the\x20allocation'},'allocation:8':{'error_code':'state_conflict','recovery_hint':'No\x20allocators\x20are\x20configured\x20for\x20this\x20order.\x20The\x20merchant\x20must\x20configure\x20the\x20Service\x27s\x20allocation\x20first'},'allocation:9':{'error_code':'invalid_parameter','recovery_hint':'Payment\x20info\x20is\x20missing\x20for\x20the\x20allocation.\x20Supply\x20the\x20payment\x20parameters\x20required\x20by\x20the\x20order'},'allocation:12':{'error_code':'invalid_parameter','recovery_hint':'The\x20split\x20amount\x20is\x20below\x20the\x20allocator\x27s\x20minimum\x20threshold.\x20Raise\x20the\x20amount\x20or\x20remove\x20the\x20split'},'allocation:14':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20allocation\x20distributed\x20zero\x20value:\x20its\x20pool\x20is\x20empty\x20(already\x20fully\x20distributed,\x20or\x20the\x20order\x20total\x20was\x20discounted\x20to\x20zero\x20—\x20e.g.\x20a\x20coupon\x20covering\x20the\x20full\x20amount).\x20This\x20is\x20a\x20legitimate\x20outcome\x20for\x20zero-total\x20orders;\x20do\x20NOT\x20retry\x20the\x20allocation,\x20it\x20cannot\x20change\x20this.\x20If\x20funds\x20WERE\x20expected,\x20check\x20upstream:\x20whether\x20the\x20order\x27s\x20payments\x20actually\x20funded\x20this\x20Allocation\x27s\x20pool\x20before\x20the\x20allocation\x20ran.\x20CAVEAT\x20(F-M10,\x20crsm-mn-261017\x20—\x20replayed\x20submissions):\x20if\x20this\x20abort\x20arrived\x20on\x20a\x20RETRIED\x20submission,\x20the\x20FIRST\x20attempt\x20may\x20have\x20ALREADY\x20LANDED\x20(a\x20zero\x20balance\x20is\x20exactly\x20what\x20a\x20completed\x20distribution\x20looks\x20like).\x20Verify\x20before\x20concluding\x20nothing\x20happened:\x20read\x20the\x20Allocation\x20balance\x20and\x20look\x20for\x20an\x20emitted\x20Payment\x20(onchain_received\x20/\x20onchain_objects)\x20—\x20never\x20re-send\x20or\x20rebuild\x20from\x20this\x20abort\x20alone'},'allocation:15':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20GuardIdentifier\x20recipient\x20address\x20submitted\x20via\x20the\x20passport\x20does\x20not\x20match\x20the\x20Allocation\x27s\x20payment_info.for_object\x20anchor.\x20Present\x20a\x20passport\x20whose\x20recipient\x20identifier\x20submits\x20exactly\x20the\x20anchored\x20object\x20address\x20(or\x20redesign\x20the\x20guard\x20so\x20its\x20submission\x20is\x20constrained\x20to\x20that\x20address);\x20the\x20anchor\x20itself\x20cannot\x20be\x20changed\x20after\x20create'},'allocation:16':{'error_code':'state_conflict','retryable':![],'recovery_hint':'A\x20once-trigger\x20key\x20has\x20already\x20been\x20consumed\x20on\x20this\x20Allocation.\x20TWO\x20slots\x20share\x20this\x20code\x20—\x20diagnose\x20by\x20the\x20guard\x27s\x20declared\x20submission:\x20identifier\x20255\x20(byte\x20key\x20=\x20raw\x20submission;\x20a\x20fresh\x20key,\x20e.g.\x20a\x20new\x20order\x20address,\x20makes\x20the\x20pass\x20distinct)\x20or\x20identifier\x20254\x20(chain-derived\x20key\x20=\x20bcs(payment_info.for_object);\x20the\x20submission\x20bytes\x20are\x20IGNORED,\x20so\x20a\x20new\x20key\x20is\x20impossible\x20—\x20on\x20a\x20refund-style\x20rail\x20this\x20254\x20replay\x20usually\x20surfaces\x20as\x20the\x20EMPTIED-POOL\x20abort\x2014\x20FIRST\x20(EZERO\x20precedes\x20once\x20bookkeeping\x20at\x20allocation.move:418),\x20with\x2016\x20only\x20visible\x20when\x20a\x20residual\x20balance\x20keeps\x20the\x20pool\x20alive).\x20A\x20REFUND\x20rail\x20must\x20not\x20arm\x20254\x20at\x20all:\x20pay\x20the\x20submitted\x20Order\x20through\x20user\x20slot\x200\x20(extracted\x20by\x20the\x20Order\x27s\x20owner-claim\x20entry)\x20and\x20let\x20once-ness\x20come\x20from\x20the\x20terminal\x20topology\x20(OFN\x20#P-04;\x20the\x20shipped\x20templates\x20were\x20swept\x20254\x20to\x200\x20in\x20v89).\x20If\x20this\x20allocator\x20is\x20meant\x20to\x20run\x20repeatedly,\x20omit\x20the\x20once\x20submission\x20from\x20the\x20guard'},'allocation:17':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'One\x20allocator\x20cannot\x20mix\x20net\x20Rate\x20and\x20RateGross\x20entries\x20(their\x20rate\x20bases\x20differ).\x20Split\x20the\x20rate\x20entries\x20into\x20separate\x20allocators\x20—\x20one\x20for\x20net\x20Rate\x20(basis:\x20pool\x20minus\x20fix)\x20and\x20one\x20for\x20RateGross\x20(basis:\x20full\x20pool)'},'allocation:18':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20allocator\x20has\x20a\x20fixed\x20Amount\x20total\x20together\x20with\x20RateGross\x20entries\x20but\x20no\x20max\x20cap,\x20so\x20its\x20payability\x20cannot\x20be\x20guaranteed\x20—\x20uncapped,\x20the\x20RateGross\x20base\x20is\x20the\x20runtime\x20order\x20total,\x20meaning\x20the\x20same\x20plan\x20succeeds\x20on\x20a\x20large\x20order\x20and\x20aborts\x20on\x20a\x20small\x20one.\x20Fix\x20by\x20setting\x20a\x20max\x20that\x20fits\x20(fix\x20x\x2010000\x20+\x20sum(rates)\x20x\x20max\x20<=\x20max\x20x\x2010000),\x20moving\x20the\x20RateGross\x20entries\x20into\x20their\x20own\x20allocator,\x20or\x20expressing\x20the\x20plan\x20as\x20Amount\x20+\x20Surplus.\x20Note\x20that\x20a\x20max\x20makes\x20the\x20plan\x20provable\x20at\x20configuration\x20time\x20but\x20does\x20not\x20fund\x20it\x20—\x20the\x20pool\x20must\x20still\x20hold\x20the\x20payout\x20when\x20the\x20allocation\x20runs'},'allocation:19':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x20passed\x20to\x20the\x20allocation\x20is\x20not\x20bound\x20to\x20any\x20of\x20its\x20allocators,\x20so\x20nothing\x20was\x20distributed.\x20Guards\x20are\x20per-Service,\x20so\x20a\x20guard\x20belonging\x20to\x20another\x20Service\x27s\x20Allocation\x20is\x20always\x20unbound\x20here\x20—\x20check\x20the\x20guard\x20against\x20this\x20specific\x20allocation\x27s\x20declared\x20allocators.\x20Do\x20NOT\x20retry\x20with\x20the\x20same\x20guard:\x20it\x20will\x20keep\x20matching\x20nothing.\x20Note\x20this\x20used\x20to\x20succeed\x20silently\x20with\x20no\x20funds\x20moved,\x20so\x20if\x20you\x20observed\x20an\x20earlier\x20\x27successful\x27\x20allocation\x20with\x20a\x20non-zero\x20receipt\x20expectation,\x20that\x20call\x20distributed\x20nothing'},'allocation:20':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'order_allocators_append\x20requires\x20the\x20new\x20Allocators\x20to\x20be\x20a\x20pure\x20extension:\x20same\x20threshold,\x20same\x20length-or-longer,\x20and\x20every\x20existing\x20allocator\x20preserved\x20verbatim\x20as\x20a\x20prefix.\x20Rewriting\x20an\x20existing\x20allocator\x20or\x20changing\x20the\x20threshold\x20would\x20rewrite\x20history\x20for\x20orders\x20already\x20in\x20flight\x20—\x20keep\x20the\x20existing\x20prefix\x20intact\x20and\x20only\x20append\x20new\x20allocators'},'allocation:21':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x20submitted\x20the\x20reserved\x20identifier\x20254\x20(once-per-bound-object),\x20but\x20this\x20Allocation\x27s\x20payment_info\x20has\x20no\x20for_object\x20binding,\x20so\x20the\x20chain\x20cannot\x20derive\x20the\x20once-key.\x20Either\x20recreate\x20the\x20Allocation\x20with\x20payment_info\x20bound\x20to\x20the\x20target\x20object\x20(e.g.\x20the\x20paying\x20order),\x20or\x20use\x20identifier\x20255\x20with\x20an\x20explicit\x20byte\x20key\x20instead\x20of\x20254'},'allocation:24':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20pricing\x20spec\x20could\x20not\x20be\x20bound:\x20the\x20selector\x20is\x20neither\x20record-count\x20(0)\x20nor\x20value-sum\x20(1),\x20the\x20allocator/slot\x20index\x20is\x20outside\x20the\x20declared\x20plan,\x20or\x20the\x20targeted\x20sharing\x20slot\x20is\x20not\x20a\x20Formula\x20leg.\x20Query\x20the\x20Allocation\x27s\x20allocator\x20list,\x20address\x20an\x20existing\x20Formula\x20slot\x20(indexes\x20from\x200),\x20and\x20retry\x20—\x20binding\x20replaces\x20any\x20previous\x20spec\x20for\x20that\x20slot'},'transfer:0':{'error_code':'invalid_parameter','recovery_hint':'A\x20shared\x20non-new\x20object\x20was\x20passed\x20where\x20only\x20newly-created\x20objects\x20are\x20allowed'},'transfer:3':{'error_code':'state_conflict','recovery_hint':'The\x20receipt\x20(Receiving)\x20does\x20not\x20match\x20the\x20chain:\x20it\x20must\x20carry\x20the\x20object\x27s\x20CURRENT\x20version\x20and\x20digest\x20and\x20the\x20exact\x20parent\x20it\x20is\x20held\x20under.\x20Re-read\x20the\x20parent\x20object\x20and\x20rebuild\x20the\x20receipt\x20—\x20switching\x20accounts\x20cannot\x20help,\x20and\x20no\x20funds\x20moved\x20on\x20this\x20abort'},'coin:3':{'error_code':'state_conflict','recovery_hint':'The\x20operation\x20is\x20disallowed\x20while\x20the\x20coin\x20is\x20globally\x20paused.\x20Wait\x20for\x20the\x20pause\x20to\x20be\x20lifted'},'kiosk:4':{'error_code':'state_conflict','recovery_hint':'The\x20item\x20is\x20listed\x20exclusively\x20on\x20another\x20marketplace.\x20Delist\x20it\x20there\x20before\x20this\x20operation'},'token:5':{'error_code':'insufficient_balance','recovery_hint':'The\x20token\x20balance\x20cannot\x20be\x20consumed\x20(a\x20locked\x20portion\x20exists).\x20Unlock\x20or\x20acquire\x20more\x20balance\x20first'},'package:0':{'error_code':'invalid_parameter','recovery_hint':'Not\x20a\x20one-time\x20witness\x20—\x20the\x20module\x20initializer\x20pattern\x20is\x20invalid'},'package:1':{'error_code':'invalid_parameter','recovery_hint':'The\x20witness\x20is\x20too\x20permissive\x20for\x20this\x20operation'},'package:4':{'error_code':'invalid_parameter','recovery_hint':'Wrong\x20upgrade\x20cap\x20for\x20this\x20package\x20upgrade'},'balance:2':{'error_code':'insufficient_balance'},'kiosk:2':{'error_code':'insufficient_balance'},'transfer_policy:5':{'error_code':'insufficient_balance'},'token:7':{'error_code':'immutable_violation','recovery_hint':'This\x20token\x20operation\x20requires\x20the\x20immutable\x20confirmation\x20flow\x20to\x20be\x20completed\x20first.\x20Run\x20the\x20token\x27s\x20immutable\x20confirm,\x20then\x20retry'},'u64:1':{'error_code':'invalid_parameter','recovery_hint':'Arithmetic\x20overflow\x20—\x20the\x20computed\x20value\x20exceeds\x20u64.\x20Reduce\x20the\x20amounts'},'u64:2':{'error_code':'invalid_parameter','recovery_hint':'Arithmetic\x20underflow\x20—\x20the\x20computed\x20value\x20goes\x20below\x20zero.\x20Check\x20the\x20subtraction\x20inputs'},'u64:3':{'error_code':'invalid_parameter','recovery_hint':'Division\x20by\x20zero\x20—\x20the\x20divisor\x20is\x20zero.\x20Guard\x20the\x20divisor\x20before\x20dividing'},'u64:4':{'error_code':'invalid_parameter','recovery_hint':'Modulo\x20by\x20zero\x20—\x20the\x20divisor\x20is\x20zero.\x20Guard\x20the\x20divisor\x20before\x20the\x20modulo'},'bcs:0':{'error_code':'bcs_error','recovery_hint':'BCS\x20value\x20out\x20of\x20range'},'bcs:1':{'error_code':'bcs_error','recovery_hint':'BCS\x20value\x20is\x20not\x20a\x20bool'},'bcs:2':{'error_code':'bcs_error','recovery_hint':'BCS\x20length\x20out\x20of\x20range'},'address:0':{'error_code':'invalid_parameter','recovery_hint':'Address\x20parse\x20error\x20—\x20the\x20byte\x20length\x20is\x20not\x2032'},'hex:0':{'error_code':'invalid_parameter','recovery_hint':'Invalid\x20hex\x20length'},'hex:1':{'error_code':'invalid_parameter','recovery_hint':'Not\x20a\x20valid\x20hex\x20character'}};function canonicalDefaultFor(a){const b=ERROR_RULES['find'](c=>c['error_code']===a);if(b)return{'retryable':b['retryable'],'recovery_hint':b['recovery_hint']};return{'retryable':![],'recovery_hint':'Inspect\x20the\x20full\x20error\x20message;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'};}function classifyMoveAbort(a){const b=MOVE_ABORT_ERROR_MAP[a['module']+':'+a['code']];if(!b)return undefined;const c=canonicalDefaultFor(b['error_code']),d=b['recovery_hint']??c['recovery_hint'],e={'error_code':b['error_code'],'retryable':b['retryable']??c['retryable'],'recovery_hint':a['description']&&!d['includes'](a['description'])?d+'.\x20Details:\x20'+a['description']:d,'move_abort_info':a};return e;}function isWowokSystemAddress(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['replace'](/^0+(?=.)/,'');return b==='1'||b==='2';}export function normalizeErrorMessage(a){if(typeof a==='string')return a;if(a&&typeof a==='object'){const b=a;if(typeof b['message']==='string'&&b['message'])return b['message'];if(typeof b['error']==='string'&&b['error'])return b['error'];try{return JSON['stringify'](a);}catch{return String(a);}}if(a===undefined||a===null)return'';return String(a);}function extractMoveAbortInfo(a){const b=normalizeErrorMessage(a);if(!b)return undefined;const c=b['match'](/MoveAbort\(.*,\s*(\d+)\s*\)/),d=b['match'](/name:\s*Identifier\("([^"]+)"\)/),e=b['match'](/address:\s*([0-9a-fA-Fx]+)/);if(c&&d&&e){const i=parseInt(c[0x1],0xa),j=d[0x1]['toLowerCase'](),k=e[0x1]['toLowerCase']();if(isWowokSystemAddress(k)){const l=getMoveErrorDescription(j,i)??undefined;return{'module':j,'code':i,'description':l};}}const f=b['match'](/abort code:\s*(\d+)/),g=b['match'](/'0x[0-9a-fA-F]+::([^:]+)::[^']+'/),h=b['match'](/'(0x[0-9a-fA-F]+)::/);if(f&&g&&h){const m=parseInt(f[0x1],0xa),n=g[0x1]['toLowerCase'](),o=h[0x1]['toLowerCase']();if(isWowokSystemAddress(o)){const p=getMoveErrorDescription(n,m)??undefined;return{'module':n,'code':m,'description':p};}}return undefined;}function collectCauseText(a){const b=[];let c=a;for(let d=0x0;d<0x3;d++){if(!c||typeof c!=='object')break;const e=c['cause'];if(!e)break;const f=normalizeErrorMessage(e);if(f&&!b['includes'](f))b['push'](f);c=e;}return b['length']>0x0?b['join']('\x20|\x20'):undefined;}export function classifyError(a,b){const c=normalizeErrorMessage(a),d=extractMoveAbortInfo(c),e=collectCauseText(a)??collectCauseText(b);if(d){const i=classifyMoveAbort(d);if(i)return i;}if(b!==undefined&&isWException(b)){const j=classifyWException(b);if(j){if(j['error_code']==='invalid_parameter'){const k=''+String(b['details']??''),l=ERROR_RULES[0x0],m=l['detail_overrides']?.['find'](n=>n['patterns']['some'](q=>q['test'](k)));m&&(j['error_code']=m['error_code'],j['retryable']=m['retryable']??j['retryable'],j['recovery_hint']=m['recovery_hint']??j['recovery_hint']);}return d&&(j['move_abort_info']=d,d['description']&&j['recovery_hint']&&!j['recovery_hint']['includes'](d['description'])&&(j['recovery_hint']=j['recovery_hint']+'.\x20Details:\x20'+d['description'])),j;}}if(!c)return{'error_code':'unknown','retryable':![]};const f=d?.['description']?c+'\x0a'+d['description']:c,g=e?f+'\x0a'+e:f;for(const n of ERROR_RULES){const o=n['patterns']['find'](u=>u['test'](g));if(!o)continue;let p=n['error_code'],q=n['retryable'],r=n['recovery_hint'];if(n['detail_overrides']){const u=f['match'](o),v=u?f['slice'](u['index']+u[0x0]['length']):'',w=n['detail_overrides']['find'](x=>x['patterns']['some'](y=>y['test'](v)));w&&(p=w['error_code'],q=w['retryable']??n['retryable'],r=w['recovery_hint']??n['recovery_hint']);}const s={'error_code':p,'retryable':q,'recovery_hint':r};let t=![];if(p==='submission_unknown'&&!d&&e){const x=extractMoveAbortInfo(e);x&&(s['move_abort_info']=x,t=!![]);}if(d)s['move_abort_info']=s['move_abort_info']??d;if(s['move_abort_info']){if(t){const y=s['move_abort_info'],z=y['description']?y['description']+'\x20('+y['module']+'\x20abort\x20'+y['code']+')':y['module']+'\x20abort\x20'+y['code'];s['recovery_hint']='ROOT\x20CAUSE\x20SURFACED:\x20the\x20transport\x20wrap\x20hid\x20a\x20Move\x20abort\x20—\x20'+z+'.\x20An\x20abort\x20means\x20the\x20'+'transaction\x20EXECUTED\x20and\x20its\x20effects\x20ROLLED\x20BACK\x20(nothing\x20was\x20committed):\x20skip\x20commit-state\x20'+'verification,\x20fix\x20the\x20abort\x20cause,\x20and\x20resubmit\x20as\x20a\x20FRESH\x20call.\x20'+s['recovery_hint'];}else{if(s['move_abort_info']['description']){const A=s['recovery_hint'];(A===undefined||!A['includes'](s['move_abort_info']['description']))&&(s['recovery_hint']=(A?A+'.\x20':'')+'Details:\x20'+s['move_abort_info']['description']);}}}return s;}const h={'error_code':'unknown','retryable':![],'recovery_hint':'Inspect\x20the\x20full\x20error\x20message;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'};return d&&(h['move_abort_info']=d,d['description']&&(h['recovery_hint']=d['description']+'.\x20'+h['recovery_hint'])),h;}const INTENT_RULES=[{'operation_type':'service','signals':a=>a?.['publish']===!![],'intent':'publish_service','confidence':0.95},{'operation_type':'service','signals':a=>a?.['name']&&a?.['publish']===undefined,'intent':'create_service','confidence':0.9},{'operation_type':'service','intent':'modify_service','confidence':0.7},{'operation_type':'machine','intent':'configure_machine','confidence':0.9},{'operation_type':'progress','intent':'update_progress','confidence':0.9},{'operation_type':'order','signals':a=>a?.['arb_confirm']!==undefined||a?.['arb_objection']!==undefined||a?.['arb_claim_compensation']!==undefined,'intent':'apply_arbitration','confidence':0.9},{'operation_type':'order','intent':'manage_order','confidence':0.85},{'operation_type':'payment','signals':a=>a?.['receive']===!![],'intent':'claim_escrow_payment','confidence':0.95},{'operation_type':'payment','intent':'send_payment','confidence':0.9},{'operation_type':'reward','intent':'manage_reward','confidence':0.9},{'operation_type':'demand','intent':'post_demand','confidence':0.9},{'operation_type':'treasury','intent':'manage_treasury','confidence':0.9},{'operation_type':'allocation','intent':'allocate_funds','confidence':0.9},{'operation_type':'permission','intent':'manage_permission','confidence':0.9},{'operation_type':'guard','intent':'configure_guard','confidence':0.9},{'operation_type':'arbitration','intent':'manage_arbitration','confidence':0.9},{'operation_type':'contact','intent':'manage_contact','confidence':0.9},{'operation_type':'repository','intent':'manage_repository','confidence':0.9},{'operation_type':'personal','intent':'manage_personal','confidence':0.9},{'operation_type':'gen_passport','intent':'generate_passport','confidence':0.95},{'operation_type':'proof','intent':'create_proof','confidence':0.9},{'operation_type':'gen_proof','intent':'generate_proof','confidence':0.95},{'operation_type':'bridge_cross_chain_wow_to_evm','intent':'cross_chain_wow_to_evm_deposit','confidence':0.95},{'operation_type':'bridge_cross_chain_evm_to_wow','intent':'cross_chain_evm_to_wow_deposit','confidence':0.95},{'operation_type':'bridge_claim_wow_to_evm','intent':'claim_wow_to_evm','confidence':0.95},{'operation_type':'bridge_withdraw','intent':'withdraw_from_evm_account','confidence':0.9},{'operation_type':'bridge_query_active_evm_account','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_supported_evm_chains','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_supported_tokens','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_transfer_list','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_transfer_status','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_manage_evm_rpc','intent':'manage_evm_rpc','confidence':0.9},{'operation_type':'account_new','intent':'create_account','confidence':0.95},{'operation_type':'account_faucet','intent':'claim_faucet','confidence':0.95},{'operation_type':'account_balance','intent':'query_balance','confidence':0.9},{'operation_type':'mark_add','intent':'create_local_mark','confidence':0.9},{'operation_type':'mark_remove','intent':'remove_local_mark','confidence':0.9},{'operation_type':'mark_query','intent':'query_local_marks','confidence':0.9},{'operation_type':'local_info','intent':'query_local_info','confidence':0.9},{'operation_type':'query_toolkit','intent':'query_objects','confidence':0.85},{'operation_type':'onchain_events','intent':'query_events','confidence':0.85},{'operation_type':'onchain_table_data','intent':'query_table_data','confidence':0.85}];export function inferIntent(a,b){const c=INTENT_RULES['filter'](f=>f['operation_type']===a),d=c['find'](f=>f['signals']&&f['signals'](b));if(d)return d['intent'];const e=c['find'](f=>!f['signals']);return e?.['intent']??a;}function inferStatus(a){if(a['kind']==='error')return'failed';if(a['kind']==='transaction')return a['executed']?'success':'failed';return'success';}const OBJECT_TYPE_TO_ROLE={'service':'Service','machine':'Machine','progress':'Progress','permission':'Permission','guard':'Guard','order':'Order','arb':'ArbCase','arbitration':'Arbitration','messenger':'Messenger','contact':'Contact','demand':'Demand','reward':'Reward','personal':'Personal','repository':'Repository','treasury':'Treasury','discount':'Discount','allocation':'Allocation','payment':'Payment','passport':'Passport','proof':'Proof'};export function objectTypeToRole(a){if(!a)return'Other';const b=a['replace'](/<.*>/,'')['trim'](),c=b['split']('::'),d=(c[c['length']-0x1]||'')['toLowerCase']();return OBJECT_TYPE_TO_ROLE[d]??'Other';}export function tagObjectRoles(a){if(!Array['isArray'](a))return[];return a['filter'](b=>b&&(b['objectId']||b['object']?.['objectId']))['map'](b=>{const d=b['objectId']||b['object']?.['objectId'],e=b['objectType']||b['object']?.['objectType']||'',f=b['type']||'';return{'id':d,'role':objectTypeToRole(e),'immutable':e['includes']('Service')&&f==='published'};});}const GAS_COIN_PATTERNS=[/::wow::WOW$/i],SMALL_AMOUNT_THRESHOLD=BigInt(0xf4240);function isNegative(a){return String(a??'0')['startsWith']('-');}function hasEventMatch(a,b){if(!Array['isArray'](a))return![];return a['some'](c=>b['test'](String(c?.['type']??c?.['event_type']??'')));}function isGasCoin(a){if(!a)return![];return GAS_COIN_PATTERNS['some'](b=>b['test'](a));}function absAmount(a){try{return BigInt(String(a)['replace']('-','')||'0');}catch{return BigInt(0x0);}}const FUND_ROLE_RULES=[{'when':a=>hasEventMatch(a['events'],/order::OrderPaidEvent/i),'role':'payment','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/order::OrderRefundedEvent|order::RefundEvent/i),'role':'refund','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/reward::RewardClaimedEvent|reward::ClaimedEvent/i),'role':'reward','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/arbitration::CompensationEvent|arbitration::RefundEvent/i),'role':'compensation','confidence':0.9},{'when':a=>hasEventMatch(a['events'],/treasury::DepositEvent/i),'role':'deposit','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/treasury::WithdrawEvent|treasury::ReleaseEvent/i),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='payment'&&a['data']?.['receive']===!![],'role':'release','confidence':0.95},{'when':a=>a['operation_type']==='payment'&&isNegative(a['amount']),'role':'payment','confidence':0.95},{'when':a=>a['operation_type']==='payment'&&!isNegative(a['amount']),'role':'refund','confidence':0.9},{'when':a=>a['operation_type']==='reward'&&isNegative(a['amount']),'role':'reward','confidence':0.95},{'when':a=>a['operation_type']==='reward'&&!isNegative(a['amount']),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='treasury'&&isNegative(a['amount']),'role':'deposit','confidence':0.95},{'when':a=>a['operation_type']==='treasury'&&!isNegative(a['amount']),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='allocation'&&isNegative(a['amount']),'role':'payment','confidence':0.85},{'when':a=>a['operation_type']==='allocation'&&!isNegative(a['amount']),'role':'release','confidence':0.85},{'when':a=>a['operation_type']==='arbitration'&&(a['data']?.['compensation']!==undefined||a['data']?.['arb']===!![]),'role':'compensation','confidence':0.9},{'when':a=>a['operation_type']==='order'&&isNegative(a['amount'])&&a['data']?.['buy']!==undefined,'role':'payment','confidence':0.9},{'when':a=>a['operation_type']==='order'&&!isNegative(a['amount'])&&(a['data']?.['refund']!==undefined||a['data']?.['arb']!==undefined),'role':'refund','confidence':0.85},{'when':a=>{if(isNegative(a['amount']))return![];const b=absAmount(a['amount']);return isGasCoin(a['coinType'])&&b>BigInt(0x0)&&b<SMALL_AMOUNT_THRESHOLD;},'role':'gas','confidence':0.7},{'when':a=>{if(isNegative(a['amount']))return![];return a['sender']!==undefined&&a['recipient']!==undefined&&a['sender']===a['recipient']&&a['sender']!=='';},'role':'change','confidence':0.7},{'when':a=>isNegative(a['amount']),'role':'payment','confidence':0.7},{'when':a=>!isNegative(a['amount'])&&absAmount(a['amount'])===BigInt(0x0),'role':'other','confidence':0.5},{'when':a=>!isNegative(a['amount']),'role':'release','confidence':0.7},{'when':()=>!![],'role':'other','confidence':0.3}];export function tagFundRoles(a,b,c,d){if(!Array['isArray'](a))return[];return a['filter'](e=>e&&(e['amount']!==undefined||e['coinType']))['map'](e=>{const f={'operation_type':b,'amount':String(e['amount']??'0'),'coinType':e['coinType'],'data':c??{},'events':d,'sender':e['sender'],'recipient':e['recipient']},g=FUND_ROLE_RULES['find'](i=>i['when'](f)),h=g?.['role']??'other';return{'amount':f['amount'],'coinType':e['coinType']||'','role':h,'from':e['sender']??null,'to':e['recipient']??null};});}const EVENT_SEMANTIC_RULES=EVENT_SEMANTIC_REGISTRY['map'](a=>({'pattern':new RegExp(a['move_type']['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),'i'),'business_meaning':a['business_meaning'],'category':a['category'],'side_effect':a['side_effect']}));function extractRelatedObject(a){if(!a||typeof a!=='object')return undefined;const b=a['fields']??a['payload']??a;if(typeof b!=='object')return undefined;for(const c of['object','object_id','objectId','parent','demand','service','order','machine','payment','progress','arb','allocation','resource','id']){const d=b[c];if(typeof d==='string'&&d['startsWith']('0x')&&d['length']>=0x6)return d;}return undefined;}const BUILTIN_EVENT_TYPE_MAP=Object['fromEntries'](EVENT_SEMANTIC_REGISTRY['map'](a=>[a['name'],a['move_type']]));export function eventToSemantic(a){const b=String(a?.['type']??a?.['event_type']??''),c=String(a?.['type_raw']??''),d=[c,b,BUILTIN_EVENT_TYPE_MAP[b]??'']['filter'](Boolean),e=EVENT_SEMANTIC_RULES['find'](h=>d['some'](i=>h['pattern']['test'](i)));if(!e)return{'event_type':b,'business_meaning':'Unknown\x20event','category':'other'};const f=e['extractRelatedObject']?e['extractRelatedObject'](a):extractRelatedObject(a),g={'event_type':b,'business_meaning':e['business_meaning'],'category':e['category']};if(f)g['related_object']=f;if(e['side_effect'])g['side_effect']=e['side_effect'];return g;}export function annotateEvents(a){if(!Array['isArray'](a))return[];return a['map'](eventToSemantic);}export function referencesExistingObject(a){return typeof a?.['object']==='string';}function evidenceHolds(a,b,c){switch(a){case'receipt':return c?c['executed']:!![];case'chain_read':return!![];case'creation_only':return!referencesExistingObject(b);}}const NEXT_ACTION_RULES=[{'when':a=>a==='service','evidence':'creation_only','action':'publish\x20the\x20Service\x20when\x20configuration\x20is\x20complete','reason':'Service\x20must\x20be\x20published\x20before\x20customers\x20can\x20order','tool':'onchain_operations\x20(service\x20with\x20publish:true)','priority':'recommended'},{'when':a=>a==='service','evidence':'creation_only','action':'add\x20Machine\x20nodes\x20to\x20define\x20the\x20service\x20workflow','reason':'Machine\x20drives\x20order\x20state\x20transitions','tool':'onchain_operations\x20(machine)','priority':'recommended'},{'when':a=>a==='machine','evidence':'receipt','action':'bind\x20Progress\x20to\x20track\x20order\x20execution','reason':'Progress\x20provides\x20customer-visible\x20status\x20updates','tool':'onchain_operations\x20(progress)','priority':'recommended'},{'when':a=>a==='order','evidence':'receipt','action':'wait\x20for\x20customer\x20payment\x20or\x20proceed\x20to\x20allocation','reason':'Order\x20lifecycle:\x20payment\x20→\x20allocation\x20→\x20completion','priority':'optional'},{'when':(a,b)=>a==='order'&&b?.['transfer_to']!==undefined,'evidence':'receipt','action':'inform\x20the\x20end\x20customer\x20about\x20the\x20supplier/sub-contractor\x20who\x20will\x20fulfill\x20this\x20order','reason':'O-5\x20procurement\x20sub-order\x20transparency:\x20customers\x20have\x20the\x20right\x20to\x20know\x20who\x20fulfills\x20their\x20order','tool':'messenger_operation\x20(notify\x20customer)','priority':'recommended'},{'when':a=>a==='demand','evidence':'receipt','action':'wait\x20for\x20presenter\x20submissions\x20or\x20evaluate\x20existing\x20ones','reason':'Demand\x20lifecycle:\x20presenters\x20submit\x20solutions\x20for\x20reward','priority':'optional'},{'when':a=>a==='reward','evidence':'receipt','action':'deposit\x20funds\x20into\x20the\x20reward\x20pool','reason':'Reward\x20pool\x20must\x20be\x20funded\x20before\x20claimants\x20can\x20withdraw','tool':'onchain_operations\x20(treasury)','priority':'recommended'},{'when':a=>a==='bridge_cross_chain_wow_to_evm','evidence':'receipt','action':'poll\x20query_transfer_status\x20until\x20bridge\x20signs\x20(~1-5\x20min),\x20then\x20call\x20claim_wow_to_evm\x20to\x20complete','reason':'Cross-chain\x20WOW→EVM\x20is\x20a\x202-step\x20process:\x20deposit\x20first,\x20then\x20claim\x20after\x20bridge\x20confirmation','tool':'bridge_operation\x20(query_transfer_status,\x20then\x20claim_wow_to_evm)','priority':'required'},{'when':a=>a==='bridge_cross_chain_evm_to_wow','evidence':'receipt','action':'poll\x20query_transfer_status\x20to\x20monitor\x20auto-claim\x20progress\x20(~10-20\x20min)','reason':'EVM→WOW\x20cross-chain\x20auto-claims;\x20monitor\x20progress\x20but\x20no\x20manual\x20action\x20needed','tool':'bridge_operation\x20(query_transfer_status)','priority':'recommended'},{'when':a=>a==='bridge_claim_wow_to_evm','evidence':'receipt','action':'verify\x20recipient\x20EVM\x20balance\x20updated','reason':'Claim\x20completes\x20the\x20cross-chain\x20transfer;\x20verify\x20funds\x20arrived\x20on\x20EVM\x20side','tool':'bridge_operation\x20(query_active_evm_account)','priority':'recommended'},{'when':a=>a==='bridge_withdraw','evidence':'receipt','action':'verify\x20WOW\x20balance\x20updated','reason':'Withdrawal\x20moves\x20funds\x20from\x20active\x20EVM\x20account\x20to\x20WOW;\x20verify\x20balance','tool':'account_operation\x20(balance)','priority':'recommended'},{'when':a=>a==='account_new','evidence':'receipt','action':'claim\x20faucet\x20tokens\x20for\x20gas\x20if\x20on\x20testnet,\x20then\x20proceed\x20to\x20create\x20Service','reason':'New\x20account\x20needs\x20gas\x20tokens\x20before\x20on-chain\x20operations','tool':'account_operation\x20(faucet)','priority':'recommended'},{'when':a=>a==='account_faucet','evidence':'receipt','action':'proceed\x20to\x20create\x20Permission\x20and\x20Service\x20objects','reason':'Account\x20is\x20now\x20funded;\x20start\x20building\x20your\x20service','tool':'onchain_operations\x20(permission,\x20service)','priority':'recommended'},{'when':a=>a==='query_toolkit','evidence':'chain_read','action':'use\x20the\x20queried\x20object\x20data\x20to\x20plan\x20next\x20operations','reason':'Query\x20results\x20reveal\x20current\x20object\x20states\x20for\x20decision-making','priority':'optional'}];function inferNextActions(a,b,c,d){return NEXT_ACTION_RULES['filter'](e=>e['when'](a,b,c)&&evidenceHolds(e['evidence'],b,d))['map'](e=>({'action':e['action'],'reason':e['reason'],'tool':e['tool'],'priority':e['priority']}));}const WARNING_RULES=[{'when':(a,b)=>a==='service'&&b?.['order_allocators']===undefined,'evidence':'creation_only','message':'order_allocators\x20not\x20configured;\x20order\x20funds\x20cannot\x20be\x20distributed\x20automatically'},{'when':(a,b)=>a==='reward'&&(b?.['balance']==='0'||b?.['balance']===0x0),'evidence':'receipt','message':'Reward\x20pool\x20balance\x20is\x20zero;\x20claimants\x20cannot\x20withdraw'},{'when':(a,b)=>a==='order'&&b?.['transfer_to']!==undefined,'evidence':'receipt','message':'[TRANSPARENCY]\x20Order\x20ownership\x20is\x20being\x20transferred\x20(likely\x20to\x20a\x20supplier/sub-contractor).\x20'+'Ensure\x20the\x20end\x20customer\x20is\x20informed\x20about\x20who\x20fulfills\x20their\x20order\x20—\x20this\x20builds\x20trust\x20and\x20is\x20required\x20for\x20procurement\x20sub-orders.'}];function inferWarnings(a,b,c){return WARNING_RULES['filter'](d=>d['when'](a,b)&&evidenceHolds(d['evidence'],b,c))['map'](d=>d['message']);}function composeSummary(a,b,c,d,e){const f=a['replace'](/_/g,'\x20');if(b==='failed')return'Failed\x20to\x20'+f;if(b==='pending_input')return f+'\x20requires\x20Guard\x20submission\x20to\x20proceed';const g=[];if(c['length'])g['push']('created\x20'+c['length']+'\x20object(s)');if(d['length'])g['push']('modified\x20'+d['length']+'\x20object(s)');if(e['length']){if(a==='allocate_funds'){const h=e['map'](i=>{const j=i['amount'],k=shortCoinType(i['coinType']),l=i['to']?shortAddr(i['to']):null,m=i['from']?shortAddr(i['from']):null;if(l)return j+'\x20'+k+'\x20→\x20'+l;if(m)return j+'\x20'+k+'\x20from\x20'+m;return j+'\x20'+k;})['join'](';\x20');g['push']('distributed:\x20'+h);}else g['push'](e['length']+'\x20fund\x20movement(s)');}return'Successfully\x20'+f+(g['length']?'\x20('+g['join'](',\x20')+')':'');}function shortAddr(a){return formatShortAddress(a);}function shortCoinType(a){if(!a)return'coin';const b=a['split']('::');return b[b['length']-0x1]||a;}const ADVICE_PRIORITY_RANK={'required':0x0,'recommended':0x1,'info':0x2,'reminder':0x3};function evaluationFromPayload(a){const b=a?.['evaluation']??a?.['result']?.['evaluation'];return b&&typeof b==='object'&&b['trust']&&b['risk']&&Array['isArray'](b['coverage'])?b:undefined;}function dimensionEvidence(a){const c=[dimensionLabel(a['rule_id'])+'\x20'+a['score']+'/100'];if(a['reason'])c['push'](a['reason']);if(a['mismatched']&&a['mismatched']['length']>0x0)c['push']('missing/unmet:\x20'+a['mismatched']['join'](',\x20'));return a['reason']&&/\d+ further finding\(s\) on NEIGHBOR objects/i['test'](a['reason'])&&c['push']('SCOPE:\x20the\x20findings\x20listed\x20are\x20the\x20quoted\x20Service\x27s\x20own\x20structure\x20—\x20the\x20neighbor-object\x20findings\x20mentioned\x20are\x20a\x20folded\x20count\x20only\x20and\x20are\x20excluded\x20from\x20this\x20score'),c['join']('\x20—\x20');}function buildCustomerAdvice(a,c,d,e,f){if(!a407a('customer_intelligence'))return undefined;let g;if(a==='service'&&c?.['order_new'])g='preorder';else{if(a==='query_toolkit'||a==='onchain_table_data'||a==='onchain_events')g='browse';else return undefined;}const h=e??evaluationFromPayload(d);if(!h)return undefined;const i=[],j=(s,t,u,v)=>{i['push']({'id':s,'stage':g,'priority':t,'message':u,...v?{'action':v}:{}});},k=[...new Set([...h['trust']['red_flags']??[],...h['risk']['red_flags']??[]])];k['length']>0x0&&(f?j('advice_red_flags','required','Advisory\x20—\x20the\x20order\x20already\x20executed,\x20so\x20this\x20could\x20not\x20prevent\x20payment\x20('+k['length']+'\x20structural\x20red\x20flag(s)):\x20'+k['join'](';\x20')+'.\x20Raise\x20them\x20with\x20the\x20merchant\x20before\x20relying\x20on\x20the\x20order','Discuss\x20the\x20red\x20flags\x20with\x20the\x20merchant\x20via\x20Messenger;\x20for\x20future\x20orders\x20pick\x20another\x20service\x20if\x20unresolved'):j('advice_red_flags','required','Pre-payment\x20advisory\x20(the\x20gate\x20does\x20not\x20stop\x20the\x20payment)\x20—\x20'+k['length']+'\x20structural\x20red\x20flag(s):\x20'+k['join'](';\x20'),'Resolve\x20the\x20red\x20flags\x20with\x20the\x20merchant\x20or\x20pick\x20another\x20service\x20before\x20paying'));const l=(h['trust']['breakdown']??[])['filter'](s=>!s['red_flag']&&s['score']<0x46)['sort']((s,t)=>s['score']-t['score'])['slice'](0x0,0x2);for(const s of l){j('advice_trust_'+s['rule_id'],'recommended',dimensionEvidence(s),'Discuss\x20this\x20evidence\x20with\x20the\x20merchant\x20via\x20Messenger\x20before\x20ordering');}const m=(h['risk']['breakdown']??[])['filter'](t=>!t['red_flag']&&t['score']<0x64)['sort']((t,u)=>t['score']-u['score'])['slice'](0x0,0x2);for(const t of m){j('advice_risk_'+t['rule_id'],'recommended',dimensionEvidence(t),'Require\x20the\x20merchant\x20to\x20address\x20the\x20structural\x20findings\x20or\x20accept\x20the\x20stated\x20risk');}h['unverified']&&h['unverified']['length']>0x0&&j('advice_unverified','info','Unverifiable\x20dimensions\x20(excluded\x20from\x20the\x20score\x20due\x20to\x20fetch\x20gaps):\x20'+h['unverified']['map'](dimensionLabel)['join'](',\x20')+'\x20—\x20treat\x20them\x20as\x20unknown,\x20not\x20as\x20passed','Request\x20the\x20missing\x20material\x20from\x20the\x20merchant\x20or\x20verify\x20it\x20on-chain');for(const u of h['coverage']??[]){u['required']&&u['state']==='gap'&&j('advice_coverage_'+u['slot'],'info','Coverage\x20gap:\x20required\x20material\x20\x22'+u['slot']+'\x22\x20could\x20not\x20be\x20fetched\x20—\x20the\x20corresponding\x20evaluation\x20input\x20is\x20unknown');}i['length']===0x0&&j('advice_clean','info','No\x20adverse\x20findings\x20in\x20the\x20graph\x20evaluation\x20—\x20'+h['trust']['summary']+'\x20—\x20'+h['risk']['summary']);const n=[...i]['sort']((v,w)=>(ADVICE_PRIORITY_RANK[v['priority']]??0x9)-(ADVICE_PRIORITY_RANK[w['priority']]??0x9))['slice'](0x0,0x8),o=[];for(const v of n){if(v['action']&&!o['includes'](v['action']))o['push'](v['action']);}const p=getProfile(),q=p['risk_appetite']==='conservative'?0x46:p['risk_appetite']==='aggressive'?0x1e:0x32;return h['trust']['total']<q&&!o['some'](w=>w['includes']('below\x20your\x20risk\x20appetite'))&&o['push']('Trust\x20'+h['trust']['total']+'/100\x20is\x20below\x20your\x20risk\x20appetite\x20('+q+')\x20—\x20'+h['trust']['summary']),{'risk_score':h['risk']['total'],'risk_level':h['risk']['level'],'recommendations':o,'reminders':n};}function buildGuardAdvice(a,b,c,d){try{if(a==='guard')return buildGuardCreateAdvice(b);if(a==='gen_passport'){const f=d?.['passport_test'];if(f&&typeof f['result']==='boolean'){const i=f['result']===!![],j=(f['info']??[])['filter'](k=>k['impack']!==![]&&k['result']===![])['map'](k=>k['guard']);return{'current_round':'R8','test_result':{'status':i?'pass':'fail','passport_id':f['passport_id'],'failure_node':i?undefined:j['length']?'Guard\x20evaluated\x20false:\x20'+j['slice'](0x0,0x3)['join'](',\x20')+(j['length']>0x3?'\x20(+'+(j['length']-0x3)+'\x20more)':''):'Passport\x20result\x20is\x20false\x20on-chain','guard_results':f['info']?.['map'](k=>({'guard':k['guard'],'result':k['result']===!![],...k['impack']!==undefined?{'impack':k['impack']}:{}}))}};}const g=typeof c?.['error']==='string'?c['error']:undefined,h=g?'fail':'not_tested';return{'current_round':'R8','test_result':{'status':h,'passport_id':h==='fail'?undefined:c?.['passport'],'failure_node':g?g['slice'](0x0,0x78):'Guard\x20outcome\x20unknown\x20—\x20the\x20Passport\x20could\x20not\x20be\x20read\x20back\x20(dry-run\x20or\x20read\x20failure).\x20Query\x20the\x20Passport\x20object\x20or\x20re-run\x20without\x20dry_run\x20to\x20learn\x20the\x20real\x20result'}};}const e=typeof c?.['error']==='string'?c['error']:'';if(e['includes']('GUARD')||e['includes']('Guard')||e['includes']('guard'))return{'risk_warnings':['Guard\x20verification\x20failed:\x20'+e['slice'](0x0,0xc8),'Suggestion:\x20if\x20the\x20Guard\x20defines\x20submission\x20items,\x20check\x20that\x20the\x20submitted\x20data\x20matches\x20the\x20Guard\x20table\x20declaration\x20and\x20resubmit\x20via\x20call_with_submission;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20inspect\x20the\x20rule\x27s\x20conditions\x20(signer/query/state)\x20against\x20this\x20call,\x20or\x20query\x20the\x20Guard\x20definition\x20(guard2file)\x20to\x20see\x20which\x20condition\x20failed']};return undefined;}catch{return undefined;}}function trimGuardAdviceForCompact(a){const b={};if(a['current_round']!==undefined)b['current_round']=a['current_round'];if(a['puzzle_status']!==undefined)b['puzzle_status']=a['puzzle_status'];if(a['matched_scene']!==undefined)b['matched_scene']=a['matched_scene'];if(a['scene_description']!==undefined)b['scene_description']=a['scene_description'];if(a['suggested_patterns']!==undefined)b['suggested_patterns']=a['suggested_patterns']['slice'](0x0,0x5);if(a['risk_warnings']!==undefined)b['risk_warnings']=a['risk_warnings']['slice'](0x0,0xa);if(a['pending_questions']!==undefined)b['pending_questions']=a['pending_questions']['slice'](0x0,0x5);if(a['confirmation_text']!==undefined)b['confirmation_text']=a['confirmation_text']['slice'](0x0,0x190);if(a['risk_assessment']!==undefined){const {stakeholder_advice:c,...d}=a['risk_assessment'];b['risk_assessment']=d;}if(a['test_result']!==undefined){const {guard_results:e,...f}=a['test_result'];b['test_result']=f;}return b;}function buildGuardCreateAdvice(a){if(!a)return undefined;const b=convertCallDataToPuzzleInput(a),c=derivePuzzleFromCallData(b),d=getPuzzleStatusBooleans(c);let e,f,g;a['binding_hint']?.['action']&&(e=inferSceneFromAction(a['binding_hint']['action']),e&&(f=e['name'],g=e['special_constraints']));let h;const i=a['binding_hint']?.['rule_sentence']||a['binding_hint']?.['action']||'';if(i){const r=matchSemanticPattern(i);r['length']>0x0&&(h=r['map'](s=>s['id']+':\x20'+s['pattern_name']));}let j;try{const s=generateConfirmationText(c);!s['startsWith']('[Puzzle\x20incomplete]')&&(j=s);}catch{}let k;const l=getPendingQuestions(c);l['length']>0x0&&(k=l);let m;if(e){const t=mapSceneToObjectType(e);if(t){const u=GUARDQUERY['filter'](v=>v['objectType']===t)['slice'](0x0,0xa)['map'](v=>({'id':v['id'],'name':v['name'],'objectType':String(v['objectType']),'returnType':String(v['return']),'description':v['description']}));u['length']>0x0&&(m=u);}}const n=evaluateGuardDraft({'table':a['table']??[],'root':a['root'],'rely':a['rely']})['assessment'];let o,p;if(n){const v=getRiskSummary(n);o={'overall_risk':v['risk_count']>0x0?n['overall_risk']:'info','risk_count':v['risk_count'],'critical_count':v['critical_count'],'high_count':v['high_count'],'needs_human_review':v['needs_human_review'],'top_risks':v['top_risks'],'stakeholder_advice':n['stakeholder_advice']};const w=n['risks']['map'](x=>'['+x['level']['toUpperCase']()+']\x20'+x['title']+':\x20'+x['description']);w['length']>0x0&&(p=w);}const q={'current_round':'R7','puzzle_status':d};if(e)q['matched_scene']=e['id'];if(f)q['scene_description']=f;if(g)q['scene_constraints']=g;if(h)q['suggested_patterns']=h;if(m)q['available_queries']=m;if(p)q['risk_warnings']=p;if(k)q['pending_questions']=k;if(j)q['confirmation_text']=j;if(o)q['risk_assessment']=o;return q;}function convertCallDataToPuzzleInput(a){const b={};Array['isArray'](a['table'])&&(b['table']=a['table']['map'](c=>({'identifier':c['identifier'],'b_submission':c['b_submission'],'value_type':typeof c['value_type']==='string'?c['value_type']:String(c['value_type']),'value':convertValueSnapshot(c['value']),'name':c['name']??'','object_type':c['object_type']})));if(a['root']&&typeof a['root']==='object'){const c=a['root'];if(c['type']!=='file'&&c['type']!=='node')b['root']=convertNodeToSnapshot(a['root']);else c['type']==='node'&&a['root']['node']&&(b['root']=convertNodeToSnapshot(a['root']['node']));}a['rely']&&Array['isArray'](a['rely']['guards'])&&(b['rely']={'guards':a['rely']['guards']['map'](d=>typeof d==='string'?d:String(d)),'logic_or':a['rely']['logic_or']});if(a['binding_hint']){const d=a['binding_hint'],e={'action':d['action'],'host_object':d['host_object'],'binding_field':d['binding_field']};if(d['rule_sentence']!==undefined)e['rule_sentence']=d['rule_sentence'];if(d['failure_conditions']!==undefined)e['failure_conditions']=d['failure_conditions'];if(d['circular_reference']!==undefined)e['circular_reference']=d['circular_reference'];b['binding_hint']=e;}return b;}function convertNodeToSnapshot(a){if(!a||typeof a!=='object')return{'type':'unknown'};const b={'type':String(a['type']??'unknown')};typeof a['identifier']==='number'&&(b['identifier']=a['identifier']);a['query']!==undefined&&(b['query']=typeof a['query']==='number'?a['query']:String(a['query']));if(a['object']&&typeof a['object']==='object'){const c={'identifier':Number(a['object']['identifier'])};typeof a['object']['convert_witness']==='number'&&(c['convert_witness']=a['object']['convert_witness']),b['object']=c;}Array['isArray'](a['parameters'])&&(b['parameters']=a['parameters']['map'](d=>convertNodeToSnapshot(d)));if(typeof a['context']==='string'){const d=a['context'];(d==='Clock'||d==='Guard'||d==='Signer')&&(b['context']=d);}return Array['isArray'](a['nodes'])&&(b['nodes']=a['nodes']['map'](e=>convertNodeToSnapshot(e))),a['node']&&(b['node']=convertNodeToSnapshot(a['node'])),a['nodeLeft']&&(b['nodeLeft']=convertNodeToSnapshot(a['nodeLeft'])),a['nodeRight']&&(b['nodeRight']=convertNodeToSnapshot(a['nodeRight'])),b;}function convertValueSnapshot(a){if(a===undefined||a===null)return undefined;if(typeof a==='string'||typeof a==='number'||typeof a==='boolean')return a;if(Array['isArray'](a)){const b=a['every'](e=>typeof e==='string');if(b)return a;const c=a['every'](e=>typeof e==='number');if(c)return a;const d=a['every'](e=>typeof e==='boolean');if(d)return a;return JSON['stringify'](a);}return JSON['stringify'](a);}function mapSceneToObjectType(a){const b=a['host_object'];if(b==='Standalone')return undefined;return b;}export function buildSemantic(a,b){if(!b)return undefined;const c=inferIntent(b['operation_type'],b['data']),d=inferStatus(a),e=tagObjectRoles(a['created']),f=tagObjectRoles(a['modified']),g=tagFundRoles(a['balanceChanges'],b['operation_type'],b['data'],a['events']),h=annotateEvents(a['events']),i=inferNextActions(b['operation_type'],b['data'],d,a),j=inferWarnings(b['operation_type'],b['data'],a);b['pre_warnings']&&b['pre_warnings']['length']>0x0&&j['push'](...b['pre_warnings']);b['operation_type']==='gen_passport'&&b['passport_test']?.['result']===![]&&j['push']('PASSPORT\x20VERIFICATION\x20FAILED:\x20the\x20Passport\x20object\x20EXISTS\x20on-chain\x20'+('(existence\x20checks\x20and\x20has_verified\x20see\x20it:\x20'+(b['passport_test']['passport_id']??'id\x20unreadable')+')\x20')+'but\x20its\x20guard\x20evaluation\x20is\x20FALSE\x20—\x20it\x20is\x20NOT\x20a\x20valid\x20credential.\x20Do\x20NOT\x20use\x20it\x20for\x20'+'existence-based\x20authorization;\x20re-issue\x20it\x20with\x20submissions\x20that\x20satisfy\x20the\x20guard\x20rules.');let k;const l=a407a('experience_layer');if(l)try{const q=getExperienceFeedback(b['operation_type'],b['data'],c);q&&(k=q);const r=d==='success'?'success':d==='failed'?'failed':'partial',s=[...e,...f]['map'](u=>u['id'])['filter'](Boolean),t=inferErrorCodeForSignal(a);recordOperationOutcome(b['operation_type'],b['data'],c,r,t,s);}catch{}let m;if(a407a('industry_evolution'))try{const u=typeof b['data']?.['industry']==='string'&&b['data']['industry']['trim']()?b['data']['industry']['trim']():undefined;if(u&&!l){const v=d==='success'?{'success':!![]}:{'success':![],'error_code':inferErrorCodeForSignal(a)};recordIndustrySignal(u,{'type':b['operation_type'],'data':b['data']},v);}if(u){const w=injectEvolutionContext(undefined,u,deriveAdviceRole(b['operation_type'],b['data']));w&&(w['industry_signal']||w['evolution_advice']||w['confidence']>0x0)&&(m=w);}}catch{}let n;if(a407a('semantic_rich'))try{const x=listServices(),y=x['filter'](A=>A['enabled'])['map'](A=>A['name']),z=x['filter'](A=>!A['enabled'])['map'](A=>A['name']);n={'active':y,'inactive':z['length']?z:undefined};}catch{}let o;try{o=buildCustomerAdvice(b['operation_type'],b['data'],a['raw'],b['evaluation']??evaluationFromPayload(a['raw']),a['executed']);}catch{}let p;try{p=buildGuardAdvice(b['operation_type'],b['data'],a['raw'],b),p&&b['response_level']==='compact'&&(p=trimGuardAdviceForCompact(p));}catch{}return{'intent':c,'status':d,'summary':composeSummary(c,d,e,f,g),'created':e['length']?e:undefined,'modified':f['length']?f:undefined,'released':g['length']?g:undefined,'events':h['length']?h:undefined,'next_actions':i['length']?i:undefined,'warnings':j['length']?j:undefined,'experience':k,'service_status':n,'customer_advice':o,'evolution_context':m,'guard_advice':p};}function inferErrorCodeForSignal(a){if(a['error'])return a['error']['slice'](0x0,0x40);return undefined;}export function buildDataSemantic(a,b,c,d){if(!b)return undefined;const e=inferIntent(b['operation_type'],b['data']),f=[];b['pre_warnings']&&b['pre_warnings']['length']>0x0&&f['push'](...b['pre_warnings']);let g;if(c)g='failed';else{g='success';if(Array['isArray'](a)&&a['length']===0x0)g='partial',f['push']('no\x20results\x20found');else{if(a===null||a===undefined)g='partial',f['push']('no\x20results\x20found');else{if(typeof a==='object'&&!Array['isArray'](a)){const n=Object['values'](a);n['length']>0x0&&n['every'](o=>Array['isArray'](o)?o['length']===0x0:o===null||o===undefined)&&(g='partial',f['push']('no\x20results\x20found'));}}}}const h=inferNextActions(b['operation_type'],b['data'],g);let i;if(!c&&b['operation_type']==='onchain_events'){const o=Array['isArray'](a)?a:a?.['data']&&Array['isArray'](a['data'])?a['data']:null;if(o){i=annotateEvents(o);if(i['length']===0x0)i=undefined;}}const j=e['replace'](/_/g,'\x20');let k;if(g==='failed')k=d?'Failed\x20to\x20'+j+':\x20'+d:'Failed\x20to\x20'+j;else g==='partial'?k=j+'\x20completed\x20with\x20no\x20results':k='Successfully\x20'+j;let l;if(a407a('semantic_rich'))try{const p=listServices(),q=p['filter'](t=>t['enabled'])['map'](t=>t['name']),r=p['filter'](t=>!t['enabled'])['map'](t=>t['name']);l={'active':q,'inactive':r['length']?r:undefined};}catch{}let m;if(!c)try{m=buildCustomerAdvice(b['operation_type'],b['data'],a,b['evaluation']??evaluationFromPayload(a));}catch{}return{'intent':e,'status':g,'summary':k,'events':i,'next_actions':h['length']?h:undefined,'warnings':f['length']?f:undefined,'service_status':l,'customer_advice':m};}
|
|
1
|
+
import{getExperienceFeedback,recordOperationOutcome}from'../../experience/index.js';import{isEnabled as a407a,listServices}from'../../config/index.js';import{dimensionLabel}from'../../evaluation/standards.js';import{getProfile}from'../../experience/user-profile.js';import{injectEvolutionContext,recordIndustrySignal}from'../../knowledge/flywheel-loop.js';import{WException,getMoveErrorDescription,WErrors}from'@wowok/wowok';import{GUARDQUERY}from'@wowok/wowok';import{getRiskSummary}from'../../knowledge/guard-risk.js';import{evaluateGuardDraft}from'../../knowledge/guard-eval.js';import{derivePuzzleFromCallData,getPuzzleStatusBooleans,getPendingQuestions,generateConfirmationText}from'../../knowledge/guard-puzzle.js';import{inferSceneFromAction}from'../../knowledge/guard-ledger.js';import{matchSemanticPattern}from'../../knowledge/guard-translation.js';import{formatShortAddress}from'../../persona/address-format.js';import{EVENT_SEMANTIC_REGISTRY}from'../../knowledge/event-semantics.js';function deriveAdviceRole(a,b){switch(a){case'order':case'personal':case'demand':return'customer';case'service':case'machine':case'permission':case'reward':case'repository':case'allocator':case'treasury':return'merchant';case'arbitration':if(b?.['vote']!==undefined)return'arbitrator';if(b?.['dispute']!==undefined)return'customer';return undefined;default:return undefined;}}const ERROR_RULES=[{'patterns':[/^(?:error\s*:\s*)?invalid\s+(?:parameter|argument(?:\s+type)?)\b/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements','detail_overrides':[{'patterns':[/\bis\s+paused\b/i,/\balready\s+published\b/i,/\bis\s+published\b/i,/\bnot\s+published\b/i,/\bis\s+frozen\b/i,/\block\s+duration\b/i,/\bstatus\s+(?:does\s+not\s+)?mismatch\b/i],'error_code':'state_conflict','recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation\x20—\x20the\x20parameters\x20are\x20not\x20the\x20problem.\x20Query\x20the\x20object\x27s\x20current\x20state\x20with\x20query_toolkit\x20(add\x20no_cache\x20if\x20it\x20was\x20recently\x20changed\x20by\x20another\x20party)\x20and\x20wait\x20for\x20the\x20state\x20to\x20change\x20or\x20adjust\x20the\x20operation'},{'patterns':[/already\s+unwrapped\b/i,/auto-claimed\s+during\s+settlement\b/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'The\x20object\x20no\x20longer\x20exists\x20—\x20its\x20funds\x20were\x20already\x20unwrapped/claimed\x20(verify\x20with\x20account_balance\x20/\x20query_toolkit\x20onchain_received).\x20This\x20is\x20the\x20EXPECTED\x20state\x20after\x20a\x20successful\x20claim,\x20not\x20a\x20caller\x20error;\x20do\x20NOT\x20retry\x20the\x20receive\x20and\x20do\x20not\x20edit\x20parameters'}]},{'patterns':[/no\s+valid\s+gas\s+coins?\s+found/i,/no\s+gas\s+coins?\s+(?:available|found)/i,/gas\s+coin\s+not\s+found/i],'error_code':'insufficient_balance','retryable':![],'recovery_hint':'The\x20signing\x20account\x20holds\x20no\x20spendable\x20gas\x20coin\x20of\x20the\x20required\x20token,\x20so\x20the\x20transaction\x20cannot\x20be\x20built\x20at\x20all\x20—\x20this\x20is\x20a\x20funding\x20problem,\x20not\x20a\x20parameter\x20problem.\x20Fund\x20the\x20account\x20first\x20(query\x20account_balance\x20for\x20the\x20exact\x20address\x20the\x20SDK\x20signs\x20with;\x20note\x20it\x20may\x20differ\x20from\x20the\x20default\x20account),\x20then\x20resubmit\x20the\x20SAME\x20call\x20unchanged.\x20On\x20a\x20freshly\x20started\x20localnet/testnet\x20this\x20is\x20expected\x20until\x20genesis\x20allocation\x20or\x20a\x20faucet\x20claim\x20has\x20run'},{'patterns':[/transaction\s+expired/i],'error_code':'transaction_expired','retryable':!![],'recovery_hint':'The\x20transaction\x20expired\x20before\x20it\x20could\x20be\x20executed\x20(epoch\x20boundary\x20or\x20validator/gateway\x20outage)\x20—\x20it\x20did\x20NOT\x20land\x20and\x20nothing\x20was\x20committed.\x20Wait\x20with\x20bounded\x20backoff\x20and\x20resubmit\x20the\x20SAME\x20call\x20unchanged;\x20if\x20unsure\x20whether\x20a\x20previous\x20attempt\x20landed,\x20check\x20onchain_events\x20/\x20recent\x20transactions\x20first.\x20A\x20dry_run\x20that\x20passes\x20while\x20the\x20real\x20call\x20keeps\x20failing\x20confirms\x20the\x20fault\x20is\x20chain-side'},{'patterns':[/InvalidPublicFunctionReturnType/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20batch\x20was\x20rejected\x20by\x20a\x20structural\x20check\x20on\x20the\x20transaction\x20itself,\x20not\x20by\x20your\x20parameters\x20and\x20not\x20by\x20a\x20signature\x20mismatch\x20—\x20the\x20deployed\x20function\x20signatures\x20were\x20verified\x20to\x20match.\x20The\x20usual\x20cause\x20is\x20a\x20long-running\x20server\x20process\x20that\x20is\x20older\x20than\x20the\x20on-disk\x20client\x20package:\x20client\x20packages\x20are\x20loaded\x20lazily\x20and\x20their\x20internal\x20files\x20are\x20renamed\x20on\x20every\x20rebuild,\x20so\x20a\x20process\x20that\x20outlives\x20a\x20rebuild\x20ends\x20up\x20mixing\x20two\x20versions\x20and\x20builds\x20a\x20batch\x20the\x20chain\x20cannot\x20accept.\x20FIX:\x20restart\x20the\x20MCP\x20server\x20so\x20it\x20loads\x20one\x20consistent\x20version,\x20then\x20retry\x20the\x20identical\x20call\x20unchanged.\x20Confirm\x20the\x20diagnosis\x20by\x20running\x20the\x20same\x20call\x20from\x20a\x20freshly\x20started\x20process\x20—\x20if\x20it\x20succeeds\x20there,\x20the\x20transaction\x20was\x20always\x20valid.\x20Do\x20NOT\x20\x27fix\x27\x20your\x20parameters\x20and\x20do\x20NOT\x20start\x20editing\x20the\x20framework\x20to\x20match\x20this\x20error'},{'patterns':[/MovePrimitiveRuntimeError\s+in\s+0x[0-9a-fA-F]+::[a-zA-Z0-9_]+::verify_guard/i],'error_code':'missing_data','retryable':![],'recovery_hint':'A\x20guard-internal\x20QUERY\x20fault\x20—\x20the\x20guard\x20verifier\x20called\x20a\x20native\x20query\x20and\x20the\x20query\x20returned\x20an\x20error,\x20re-raised\x20as\x20a\x20location-only\x20primitive\x20fault\x20(no\x20abort\x20code).\x20This\x20is\x20NOT\x20a\x20configuration\x20fault,\x20NOT\x20an\x20infrastructure\x20fault.\x20Dominant\x20family:\x20a\x20history-time\x20anchor\x20leg\x20(query_progress_history_time\x20/\x20progress.history.time\x20id\x201280,\x20next_node=\x27<anchor>\x27,\x20find=last)\x20whose\x20anchor\x20node\x20is\x20ABSENT\x20from\x20this\x20order\x27s\x20history\x20—\x20the\x20classic\x20case\x20is\x20an\x20anchor\x20on\x20a\x20renewal-only\x20node\x20(e.g.\x20charging)\x20while\x20this\x20order\x20is\x20in\x20the\x20FIRST\x20period,\x20whose\x20path\x20skips\x20it:\x20the\x20query\x20errors\x20(W_FIELD_NOT_FOUND)\x20and\x20aborts\x20the\x20whole\x20guard\x20instead\x20of\x20a\x20clean\x20predicate\x20false.\x20Fix:\x20(1)\x20export\x20the\x20failed\x20guard\x20(guard2file\x20/\x20analyze_guard_semantics)\x20and\x20list\x20its\x20history-time\x20legs\x20—\x20each\x20names\x20the\x20required\x20anchor\x20node\x20and\x20the\x20query;\x20(2)\x20read\x20the\x20order\x27s\x20progress\x20history\x20(object_panorama\x20/\x20query_toolkit)\x20and\x20check\x20which\x20anchor\x20node\x20is\x20missing\x20for\x20this\x20order\x27s\x20period/path\x20—\x20that\x20pair\x20(query,\x20missing\x20anchor,\x20period)\x20is\x20the\x20diagnosis;\x20(3)\x20fix\x20at\x20the\x20template/guard\x20layer:\x20re-anchor\x20the\x20history-time\x20leg\x20on\x20a\x20node\x20present\x20on\x20EVERY\x20path\x20class\x20reaching\x20the\x20guarded\x20edges,\x20or\x20split\x20per-path-class\x20guards\x20(the\x20PATH-CLASS-ANCHOR-01\x20scan\x20rule\x20catches\x20this\x20family\x20at\x20build\x20time).\x20Secondary\x20check\x20—\x20only\x20if\x20the\x20guard\x20has\x20NO\x20history-time\x20leg:\x20verify\x20the\x20signing\x20account\x20holds\x20the\x20guard\x27s\x20required\x20permission\x20index.\x20Do\x20NOT\x20switch\x20networks,\x20do\x20NOT\x20restart\x20the\x20MCP\x20server,\x20do\x20NOT\x20edit\x20unrelated\x20guard\x20config'},{'patterns':[/MovePrimitiveRuntimeError[\s\S]{0,400}passport\s*::/i,/passport\s*::[\s\S]{0,400}MovePrimitiveRuntimeError/i],'error_code':'permission_denied','retryable':![],'recovery_hint':'Guard\x20passport\x20authorization\x20DENIAL\x20—\x20the\x20signing\x20account\x20is\x20not\x20granted\x20the\x20permission\x20index\x20this\x20guard\x20'+'requires\x20on\x20its\x20Passport/Permission\x20object\x20(permission-table\x20miss\x20inside\x20the\x20guard\x20verifier).\x20This\x20is\x20a\x20normal\x20'+'authorization\x20result,\x20NOT\x20an\x20infrastructure\x20fault:\x20do\x20NOT\x20restart\x20the\x20MCP\x20server\x20and\x20do\x20NOT\x20rebuild\x20client\x20'+'packages\x20—\x20retrying\x20infra\x20changes\x20cannot\x20help.\x20Fix:\x20(1)\x20find\x20the\x20guard\x27s\x20required\x20permission\x20index\x20'+'(guard2file\x20/\x20analyze_guard_semantics,\x20or\x20the\x20forward\x27s\x20permission_index\x20in\x20the\x20machine\x20topology);\x20'+'(2)\x20check\x20the\x20signing\x20account\x20holds\x20that\x20index\x20on\x20the\x20Permission\x20object\x20(query_toolkit\x20permission\x20entity\x20table);\x20'+'(3)\x20switch\x20to\x20an\x20authorized\x20account,\x20or\x20have\x20the\x20Permission\x20owner/admin\x20grant\x20the\x20index\x20to\x20this\x20account\x27s\x20entity.\x20'+'Note:\x20the\x20object\x20owner/admin\x20always\x20passes\x20every\x20permission-index\x20check\x20by\x20definition\x20—\x20only\x20delegated\x20'+'non-admin\x20accounts\x20are\x20gated\x20by\x20the\x20entity\x20table'},{'patterns':[/MoveLocationOpt\s*\{[^}]{0,200}module\s*"passport"/i],'error_code':'missing_data','retryable':![],'recovery_hint':'A\x20guard\x20rule\x20read\x20a\x20keyed\x20table\x20row\x20that\x20does\x20NOT\x20exist\x20(repository.data\x20/\x20oracle\x20entry)\x20and\x20the\x20verifier\x20surfaced\x20it\x20as\x20a\x20location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20no\x20abort\x20code,\x20because\x20the\x20framework\x20cannot\x20express\x20\x27row\x20absent\x27\x20as\x20an\x20abort.\x20This\x20is\x20a\x20DATA\x20problem,\x20NOT\x20a\x20wrong-network\x20problem:\x20do\x20NOT\x20switch\x20networks,\x20do\x20NOT\x20restart\x20the\x20server.\x20Fix:\x20(1)\x20identify\x20the\x20repository\x20and\x20key\x20the\x20guard\x20rule\x20reads\x20(guard2file\x20/\x20analyze_guard_semantics\x20on\x20the\x20guard\x20source);\x20(2)\x20have\x20the\x20row\x27s\x20producer\x20write\x20it\x20(e.g.\x20an\x20oracle\x20timestamp\x20like\x20checkin_ts),\x20or\x20add\x20it\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name);\x20(3)\x20retry\x20the\x20SAME\x20call\x20unchanged\x20—\x20a\x20dry_run\x20that\x20turns\x20clean\x20after\x20the\x20row\x20exists\x20confirms\x20the\x20diagnosis'},{'patterns':[/\bInfo not found\b/i],'error_code':'state_not_visible','retryable':!![],'recovery_hint':'The\x20state\x20this\x20call\x20needs\x20was\x20JUST\x20written\x20and\x20is\x20not\x20yet\x20visible\x20to\x20reads\x20(write-to-visibility\x20window),\x20or\x20it\x20does\x20not\x20exist\x20at\x20all\x20—\x20the\x20text\x20alone\x20cannot\x20tell\x20them\x20apart.\x20Discriminate:\x20(1)\x20if\x20a\x20write\x20on\x20this\x20order/machine\x20committed\x20within\x20the\x20last\x20few\x20seconds,\x20WAIT\x20briefly\x20(500ms,\x20doubling,\x20max\x20~3\x20attempts)\x20and\x20replay\x20the\x20SAME\x20call\x20UNCHANGED\x20—\x20do\x20NOT\x20edit\x20parameters,\x20the\x20parameters\x20are\x20not\x20the\x20problem;\x20an\x20aborted\x20call\x20never\x20landed,\x20so\x20a\x20same-call\x20replay\x20cannot\x20double-spend.\x20(2)\x20If\x20the\x20fault\x20persists\x20beyond\x20a\x20few\x20seconds\x20(or\x20nothing\x20was\x20just\x20written),\x20the\x20row\x20is\x20deterministically\x20ABSENT\x20—\x20stop\x20retrying:\x20for\x20a\x20forward-info\x20miss\x20query\x20the\x20Machine\x27s\x20node\x20table\x20(onchain_table_data\x20onchain_table_item_machine_node)\x20and\x20use\x20an\x20existing\x20node/next_node/forward\x20triple;\x20for\x20a\x20guard-read\x20repository\x20row\x20follow\x20the\x20missing_data\x20path\x20(write\x20the\x20row)'},{'patterns':[/MoveLocation(?![\s\S]{0,400}(?:\babort\s*(?:code)?\s*[:=]?\s*\d|,\s*\d+\s*\)))/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20chain\x20rejected\x20the\x20call\x20with\x20a\x20location-only\x20fault\x20(no\x20abort\x20code,\x20no\x20module)\x20—\x20the\x20location\x20alone\x20does\x20NOT\x20identify\x20the\x20cause,\x20so\x20never\x20assume\x20a\x20wrong\x20network\x20from\x20it.\x20VERIFY\x20the\x20two\x20known\x20causes:\x20(1)\x20session/network\x20routing\x20drift\x20—\x20the\x20call\x20may\x20have\x20run\x20against\x20a\x20different\x20network\x27s\x20objects:\x20pass\x20env.network\x20explicitly\x20naming\x20the\x20network\x20the\x20target\x20objects\x20live\x20on\x20(the\x20network_source\x20echo\x20in\x20query\x20responses\x20shows\x20where\x20the\x20session\x20default\x20points),\x20and\x20re-run;\x20(2)\x20a\x20fault\x20inside\x20a\x20guard\x20verifier\x20reading\x20a\x20keyed\x20table\x20—\x20if\x20this\x20call\x20runs\x20a\x20guard,\x20check\x20the\x20repository\x20rows\x20the\x20guard\x20reads\x20and\x20add\x20any\x20missing\x20one\x20with\x20repository\x20data_add\x20(see\x20missing_data).\x20Only\x20if\x20BOTH\x20checks\x20pass\x20and\x20the\x20fault\x20persists,\x20treat\x20it\x20as\x20the\x20stale-process\x20class\x20and\x20restart\x20the\x20MCP\x20server\x20once'},{'patterns':[/Cannot use 'in' operator to search for 'coin' in undefined/],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20order\x20payment\x20reached\x20the\x20SDK\x20UNSET\x20(buy.total_pay\x20missing)\x20—\x20a\x20parameter\x20omission,\x20not\x20a\x20server\x20fault.\x20Pass\x20buy.total_pay.balance\x20=\x20Σ(price\x20×\x20quantity)\x20from\x20query_toolkit\x20service_quote,\x20or\x20rely\x20on\x20the\x20handler\x27s\x20auto-derivation\x20(omit\x20total_pay\x20with\x20NO\x20discount\x20and\x20a\x20resolvable\x20Service).\x20If\x20a\x20discount\x20is\x20attached,\x20total_pay\x20is\x20REQUIRED\x20explicitly\x20(the\x20final\x20total\x20depends\x20on\x20the\x20coupon\x27s\x20live\x20value)'},{'patterns':[/Cannot read properties of undefined \(reading 'startsWith'\)/],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard/submission\x20envelope\x20was\x20consumed\x20while\x20a\x20required\x20field\x20was\x20UNSET\x20—\x20a\x20missing\x20submission\x20payload,\x20not\x20a\x20server\x20fault.\x20Retry\x20with\x20the\x20submission\x20envelope\x20per\x20SubmissionCallSchema:\x20{type:\x27submission\x27,\x20guard:[{object:\x27<guard\x20id>\x27,\x20impack:true}],\x20submission:[{identifier:<n>,\x20value:\x27<value>\x27}]};\x20the\x20operation\x27s\x20SUBMISSION\x20REQUIRED\x20response\x20lists\x20every\x20required\x20identifier'},{'patterns':[/cannot derive total_pay: item .* is suspended/i],'error_code':'sale_suspended','retryable':![],'recovery_hint':'The\x20cart\x27s\x20item\x20is\x20SUSPENDED\x20by\x20the\x20merchant\x20(service:34\x20E_SALE_SUSPENDED)\x20—\x20the\x20derivation\x20refuses\x20to\x20price\x20a\x20suspended\x20item.\x20Stating\x20buy.total_pay\x20explicitly\x20does\x20NOT\x20help:\x20the\x20on-chain\x20buy\x20aborts\x20with\x20the\x20same\x20suspension.\x20Pick\x20a\x20non-suspended\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20resume\x20the\x20sale'},{'patterns':[/buy\.total_pay is REQUIRED when a discount is applied/i,/buy\.total_pay is omitted/i,/cannot derive total_pay/i,/derived total_pay would be 0/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'total_pay\x20could\x20not\x20be\x20auto-derived\x20(M-K17\x20derives\x20Σ\x20price×quantity\x20only\x20when\x20the\x20cart\x20has\x20items,\x20the\x20Service\x20resolves,\x20and\x20NO\x20discount\x20is\x20attached).\x20State\x20buy.total_pay.balance\x20explicitly\x20—\x20run\x20query_toolkit\x20query_type=\x27service_quote\x27\x20first\x20and\x20pass\x20its\x20final_total'},{'patterns':[/UnusedValueWithoutDrop/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Verifier-level\x20rejection:\x20a\x20command\x27s\x20return\x20value\x20is\x20unused\x20and\x20its\x20type\x20cannot\x20be\x20dropped\x20—\x20the\x20transaction\x20BATCH\x20itself\x20is\x20malformed.\x20This\x20is\x20a\x20client\x20batch-construction\x20defect,\x20NOT\x20a\x20user\x20parameter\x20error\x20and\x20NOT\x20a\x20network\x20problem:\x20do\x20NOT\x20switch\x20networks\x20and\x20do\x20NOT\x20restart\x20the\x20server.\x20Typical\x20case:\x20an\x20operation\x20that\x20accepts\x20multiple\x20items\x20but\x20internally\x20builds\x20a\x20single-item\x20call\x20(discount_send\x20with\x20several\x20coupons).\x20Fix:\x20send\x20ONE\x20item\x20per\x20call\x20(fan\x20out\x20over\x20the\x20items\x20explicitly)\x20and\x20report\x20the\x20defective\x20operation\x20so\x20it\x20grows\x20a\x20proper\x20fan-out\x20form'},{'patterns':[/\barity\s*mismatch\b/i,/transaction\s+resolution\s+failed(?![\s\S]{0,400}\bMoveAbort\b)/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20transaction\x20was\x20dry-run\x20to\x20compute\x20its\x20gas\x20budget\x20and\x20the\x20dry\x20run\x20was\x20rejected,\x20so\x20nothing\x20was\x20committed.\x20Two\x20very\x20different\x20causes\x20hide\x20behind\x20this\x20one\x20message.\x20(1)\x20MOST\x20COMMON:\x20a\x20stale\x20server\x20process\x20older\x20than\x20the\x20on-disk\x20client\x20package\x20—\x20restart\x20the\x20MCP\x20server\x20and\x20retry\x20the\x20identical\x20call\x20unchanged;\x20if\x20it\x20then\x20succeeds,\x20the\x20transaction\x20was\x20always\x20valid.\x20(2)\x20LESS\x20COMMON:\x20a\x20command\x27s\x20argument\x20count\x20or\x20shape\x20really\x20does\x20not\x20match\x20its\x20target\x20signature\x20—\x20this\x20is\x20a\x20client/chain\x20version\x20mismatch,\x20not\x20a\x20parameter\x20mistake,\x20and\x20no\x20retry\x20of\x20the\x20same\x20call\x20can\x20succeed;\x20rebuild\x20the\x20client\x20packages\x20to\x20match\x20the\x20deployed\x20framework,\x20and\x20to\x20audit,\x20fetch\x20the\x20target\x20signature\x20with\x20w_getMoveFunctionArgTypes(\x27<package>::<module>::<function>\x27)\x20and\x20compare\x20the\x20returned\x20arg-type\x20list\x20against\x20the\x20arguments\x20the\x20failing\x20command\x20built.\x20Read\x20the\x20specific\x20error\x20name\x20that\x20follows\x20this\x20prefix:\x20a\x20business\x20abort\x20(stock,\x20balance,\x20permission,\x20discount\x20window)\x20is\x20an\x20ordinary\x20execution\x20failure\x20and\x20its\x20own\x20message\x20is\x20authoritative'},{'patterns':[/DEPENDENCY RESOLUTION FAILED/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'A\x20referenced\x20object\x20could\x20not\x20be\x20resolved\x20—\x20read\x20the\x20\x27Original\x20error\x27\x20line\x20for\x20the\x20exact\x20name.\x20Check\x20the\x20spelling\x20in\x20local_mark_list,\x20create\x20the\x20dependency\x20first,\x20or\x20verify\x20env.network\x20matches\x20the\x20object\x27s\x20network'},{'patterns':[/Repository content not ready/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20Repository\x20must\x20already\x20exist\x20before\x20data_add\x20—\x20split\x20the\x20call:\x20first\x20create\x20the\x20Repository\x20(object\x20form,\x20no\x20data_add),\x20then\x20add\x20data\x20in\x20a\x20second\x20call.\x20data_add.name\x20must\x20also\x20match\x20a\x20policy\x20rule\x20name'},{'patterns':[/too\s*many\s*requests/i,/rate\s*limit/i,/\b429\b/,/throttl/i,/faucet.*rate/i,/request.*limit.*exceeded/i],'error_code':'rate_limit','retryable':!![],'recovery_hint':'Rate\x20limit\x20hit\x20(HTTP\x20429).\x20Wait\x20with\x20exponential\x20backoff\x20and\x20retry.\x20To\x20check\x20existing\x20balance,\x20use\x20account_balance\x20query.'},{'patterns':[/out\s*of\s*gas/i,/InsufficientGas/i,/GasBalanceTooLow/i,/gas\s+balance\s+(?:is\s+)?too\s+low/i,/insufficient\s*gas/i],'error_code':'insufficient_gas','retryable':![],'recovery_hint':'Gas\x20exhausted\x20—\x20the\x20transaction\x20FAILED\x20deterministically\x20and\x20did\x20NOT\x20commit\x20on-chain;\x20no\x20state\x20changed\x20and\x20'+'no\x20commit-state\x20verification\x20is\x20needed.\x20Do\x20NOT\x20retry\x20the\x20same\x20call\x20and\x20do\x20NOT\x20troubleshoot\x20the\x20network:\x20'+'a\x20deterministic\x20failure\x20replayed\x20byte-identical\x20fails\x20the\x20same\x20way.\x20Raise\x20the\x20gas_budget\x20parameter\x20above\x20the\x20'+'transaction\x27s\x20gas_used\x20(or\x20fund\x20the\x20signing\x20account\x20with\x20gas\x20tokens\x20if\x20the\x20balance\x20cannot\x20cover\x20any\x20budget),\x20'+'then\x20issue\x20a\x20FRESH\x20call'},{'patterns':[/gas.*budget.*exceeded/i,/gas\s*exceeded/i,/not\s*enough\s*gas/i,/could not automatically determine a budget/i,/dry run failed.*budget/i,/Maximum gas/i],'error_code':'gas_exceeded','retryable':!![],'recovery_hint':'Gas\x20budget\x20exceeded.\x20Increase\x20the\x20gas_budget\x20parameter\x20or\x20claim\x20more\x20gas\x20tokens,\x20then\x20retry'},{'patterns':[/stock\s*not\s*enough/i,/E_STOCK_NOT_ENOUGH/i],'error_code':'stock_exhausted','retryable':![],'recovery_hint':'Merchant-side\x20stock\x20exhausted\x20(NOT\x20a\x20balance\x20issue).\x20Reduce\x20the\x20quantity,\x20pick\x20another\x20sale\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20restock'},{'patterns':[/sale\s*(item\s*)?(is\s*)?suspended/i,/E_SALE_SUSPENDED/i],'error_code':'sale_suspended','retryable':![],'recovery_hint':'The\x20sale\x20item\x20is\x20suspended\x20by\x20the\x20merchant.\x20Pick\x20another\x20item\x20or\x20contact\x20the\x20merchant'},{'patterns':[/discount.*time.*(?:window|invalid)/i,/E_DISCOUNT_TIME_INVALID/i],'error_code':'discount_invalid','retryable':![],'recovery_hint':'Discount\x20is\x20outside\x20its\x20[time_start,\x20time_end]\x20validity\x20window.\x20Buy\x20without\x20the\x20discount\x20or\x20ask\x20the\x20merchant\x20for\x20a\x20fresh\x20one'},{'patterns':[/insufficient\s*(balance|coin|fund)/i,/insufficient\s*amount/i,/ENOTENOUGH/i,/not\s*enough\s*(coin|balance)/i,/balance\s*not\s*enough/i,/balance\s+insufficient/i,/balance\s+too\s+low/i,/not\s+enough\s+(coin|balance|fund|gas)/i,/no\s+coins/i,/Insufficient balance/i],'error_code':'insufficient_balance','retryable':!![],'recovery_hint':'The\x20signing\x20account\x27s\x20spendable\x20balance\x20is\x20short.\x20Testnet:\x20claim\x20faucet\x20tokens\x20via\x20account_operation\x20(faucet).\x20Mainnet:\x20fund\x20the\x20account\x20(cross-chain\x20bridge\x20or\x20a\x20transfer\x20from\x20another\x20wallet),\x20then\x20retry\x20the\x20call'},{'patterns':[/bcs.*(error|fail|invalid)/i,/BCS serialization/i,/serialization\s*(failure|error)/i,/deserialization\s*(failure|error)/i,/invalid bcs type/i,/Out of range.*bcs/i,/not\s+bool/i,/Length out of range/i,/parse object content failed/i],'error_code':'bcs_error','retryable':![],'recovery_hint':'BCS\x20serialization/deserialization\x20error.\x20Verify\x20data\x20types\x20and\x20structure\x20match\x20the\x20expected\x20schema'},{'patterns':[/signature.*(invalid|fail|error|verif)/i,/invalid\s*signature/i,/signature\s*verification\s*failed/i,/bad\s*signature/i,/signing\s*fail/i,/crypto.*signature/i,/ed25519.*(fail|error|invalid)/i,/secp256k1.*(fail|error|invalid)/i,/failed\s+to\s+recover\s+public\s+key/i],'error_code':'signature_error','retryable':![],'recovery_hint':'Signature\x20verification\x20failed.\x20Check\x20that\x20the\x20correct\x20private\x20key\x20and\x20network\x20configuration\x20are\x20correct'},{'patterns':[/config.*(not set|not found|invalid|missing)/i,/RPC\s*not\s*configured/i,/network.*not\s*specified/i,/protocol network not specified/i,/account persistent storage not set/i,/config persistent storage not set/i,/account persistent storage not found/i,/no\s*rpc\s*url/i],'error_code':'config_error','retryable':![],'recovery_hint':'Configuration\x20error.\x20Verify\x20that\x20network,\x20RPC\x20endpoints,\x20and\x20required\x20environment\x20variables\x20are\x20properly\x20configured'},{'patterns':[/wrong\s+network/i,/network\s+mismatch/i,/unsupported\s+network/i,/unrecognized\s+network/i,/invalid\s+network/i,/network\s+not\s+supported/i,/not\s+found\s+on\s+network/i],'error_code':'config_error','retryable':![],'recovery_hint':'The\x20requested\x20network\x20does\x20not\x20match\x20the\x20configured\x20one.\x20Switch\x20to\x20the\x20intended\x20network\x20(user\x20confirmation\x20required)\x20—\x20retrying\x20will\x20not\x20help'},{'patterns':[/fetch\s*failed/i],'error_code':'network_error','retryable':![],'recovery_hint':'The\x20request\x20failed\x20at\x20transport\x20level\x20(\x27fetch\x20failed\x27)\x20and\x20the\x20submission\x20state\x20is\x20UNKNOWN\x20—\x20'+'the\x20transaction\x20may\x20or\x20may\x20not\x20have\x20been\x20submitted.\x20Do\x20NOT\x20blindly\x20retry:\x20first\x20query\x20the\x20target\x20'+'object/order\x20on-chain\x20to\x20confirm\x20whether\x20the\x20operation\x20took\x20effect,\x20then\x20retry\x20only\x20if\x20it\x20did\x20not.\x20'+'Retrying\x20without\x20checking\x20risks\x20a\x20duplicate\x20transaction\x20(e.g.\x20double\x20fund\x20allocation)'},{'patterns':[/\b-32603\b/,/did\s+not\s+complete\b/i,/was submitted but not confirmed/i,/commit state could not be verified/i,/TransactionCommitUnknownError/],'error_code':'submission_unknown','retryable':![],'recovery_hint':'The\x20request\x20failed\x20at\x20transport\x20level\x20AFTER\x20the\x20transaction\x20may\x20have\x20been\x20'+'submitted\x20—\x20the\x20submission\x20state\x20is\x20UNKNOWN:\x20the\x20operation\x20may\x20already\x20be\x20committed\x20on-chain.\x20'+'Do\x20NOT\x20retry\x20blindly.\x20(1)\x20For\x20WRITES,\x20verify\x20commit\x20state\x20first\x20—\x20if\x20the\x20error\x20carries\x20a\x20transaction\x20'+'digest,\x20query\x20that\x20digest\x20directly\x20(onchain_transaction);\x20otherwise\x20query_toolkit\x20for\x20the\x20expected\x20derived\x20'+'object\x20(e.g.\x20the\x20order/progress/allocation\x20this\x20call\x20would\x20create\x20—\x20query\x20by\x20the\x20sender\x27s\x20recent\x20objects\x20'+'or\x20onchain_events),\x20and\x20check\x20the\x20sender\x27s\x20balance/stock\x20for\x20the\x20expected\x20side\x20effects.\x20'+'(2)\x20If\x20the\x20object\x20EXISTS:\x20adopt\x20it\x20—\x20the\x20operation\x20succeeded\x20despite\x20the\x20error;\x20continuing\x20with\x20a\x20retry\x20'+'creates\x20a\x20duplicate\x20(live\x20mainnet\x20incident:\x20a\x20ghost\x20order\x20with\x20a\x20second\x20full\x20escrow).\x20'+'(3)\x20If\x20confirmed\x20ABSENT,\x20resubmit\x20the\x20SAME\x20call\x20once\x20—\x20and\x20for\x20a\x20FIRST-EVER\x20transaction\x20on\x20a\x20fresh\x20account,\x20'+'make\x20that\x20resubmission\x20with\x20env.no_auto_register=true\x20and\x20SAY\x20SO\x20in\x20your\x20reply:\x20the\x20SDK\x20silently\x20appends\x20an\x20'+'entity\x20registration\x20to\x20a\x20first\x20business\x20call,\x20and\x20if\x20that\x20appended\x20leg\x20was\x20the\x20failing\x20leg\x20the\x20skip\x20lets\x20the\x20'+'call\x20through\x20(if\x20the\x20resubmission\x20then\x20aborts,\x20the\x20envelope\x20now\x20NAMES\x20the\x20abort\x20—\x20re-enable\x20auto\x20registration\x20'+'and\x20retry).\x20'+'(4)\x20If\x20the\x20reported\x20digest\x20does\x20not\x20resolve\x20or\x20the\x20failure\x20repeats,\x20do\x20NOT\x20loop\x20on\x20digest\x20verification\x20—\x20'+'re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true:\x20the\x20simulation\x20surfaces\x20the\x20REAL\x20failure\x20(exact\x20Move\x20abort,\x20no\x20'+'gas\x20spent,\x20nothing\x20committed),\x20turning\x20this\x20opaque\x20envelope\x20into\x20a\x20classified\x20one.\x20'+'(5)\x20READ\x20operations\x20are\x20idempotent\x20—\x20a\x20plain\x20retry\x20is\x20safe.\x20This\x20envelope\x20cannot\x20name\x20the\x20expected\x20object\x20'+'for\x20you\x20(the\x20failure\x20happened\x20before\x20the\x20response\x20returned);\x20resolve\x20it\x20from\x20the\x20call\x27s\x20own\x20arguments.\x20'+'M-K2\x20replay\x20discipline:\x20a\x20FAILED\x20receipt\x20is\x20final\x20—\x20its\x20digest\x20is\x20consumed\x20and\x20re-submitting\x20the\x20same\x20'+'bytes\x20returns\x20the\x20same\x20failure\x20forever\x20(the\x20same\x20digest\x20replayed\x20three\x20times\x20in\x20the\x20klook\x20P0-4\x20incident).\x20'+'Never\x20cache\x20and\x20replay\x20signed\x20bytes\x20or\x20digests\x20of\x20a\x20failed\x20submission;\x20fix\x20the\x20cause\x20(usually\x20funding)\x20'+'and\x20let\x20the\x20retry\x20build\x20a\x20FRESH\x20transaction'},{'patterns':[/unexpected\s+status\s+code:\s*5\d\d/i,/\bhttp\s*5\d\d\b/i,/\bbad\s+gateway\b/i,/\bgateway\s+time-?out\b/i],'error_code':'network_error','retryable':!![],'recovery_hint':'The\x20RPC\x20gateway/node\x20answered\x20HTTP\x205xx\x20—\x20a\x20transport\x20failure,\x20not\x20a\x20rejected\x20transaction.\x20'+'Reads:\x20retry\x20with\x20exponential\x20backoff\x20(or\x20switch\x20RPC\x20endpoint\x20if\x20it\x20persists).\x20'+'Fund-moving\x20writes:\x20the\x20request\x20may\x20or\x20may\x20not\x20have\x20reached\x20the\x20chain\x20—\x20verify\x20the\x20submission\x20'+'state\x20first\x20(query\x20the\x20digest\x20if\x20one\x20was\x20reported,\x20or\x20the\x20expected\x20object)\x20before\x20resubmitting'},{'patterns':[/timeout/i,/ECONNRESET/i,/ETIMEDOUT/i,/ECONNREFUSED/i,/EAI_AGAIN/i,/RPC\s*(error|failed|unreachable)/i,/socket\s*hang\s*up/i,/connection\s*(refused|reset|lost)/i,/dns\s*(error|fail)/i],'error_code':'network_error','retryable':!![],'recovery_hint':'Retry\x20the\x20call;\x20if\x20it\x20persists,\x20switch\x20RPC\x20endpoint\x20or\x20check\x20connectivity'},{'patterns':[/guard.*(reject|fail|denied|verif)/i,/verification\s*failed/i,/submission.*(invalid|fail|required)/i,/passport.*(invalid|fail|verif)/i,/passport\s+required/i,/move[._-]?abort.*guard/i,/Guard count exceeded limit/i,/Submission size exceeded limit/i,/Submission not found/i,/Guard not found/i,/Impact guard not found/i],'error_code':'guard_rejected','retryable':![],'recovery_hint':'If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20them\x20(see\x20the\x20\x27submission\x27\x20field)\x20and\x20resubmit\x20via\x20call_with_submission;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20check\x20the\x20rule\x27s\x20conditions\x20against\x20this\x20call:\x20a\x20TIME\x20WINDOW\x20(Clock\x20deadline/opening\x20—\x20the\x20call\x20may\x20sit\x20outside\x20the\x20window,\x20and\x20a\x20mis-oriented\x20comparison\x20inverts\x20it)\x20or\x20an\x20IDENTITY\x20condition\x20(signer/state\x20—\x20the\x20caller\x20may\x20not\x20be\x20the\x20expected\x20address)'},{'patterns':[/WIP file verification failed/i,/Failed to load WIP file/i,/WIP.*hash\s*mismatch/i,/wip.*hash.*not\s*match/i,/Invalid WIP file structure/i,/wip.*not\s*found/i,/wip.*unreachable/i,/wip_file.*error/i],'error_code':'wip_verification_failed','retryable':![],'recovery_hint':['WIP\x20file\x20must\x20be\x20publicly\x20accessible\x20via\x20HTTP(S)\x20URL\x20—\x20local\x20file\x20paths\x20cannot\x20be\x20stored\x20on-chain.','Deployment\x20options\x20(pick\x20one):','\x20\x201.\x20wip\x20storage\x20service\x20(easiest):\x20wip_file\x20{\x20type:\x20\x27upload\x27\x20}\x20—\x20official\x20free\x20store\x20wip.store.wowok.net\x20(10\x20files/account),','\x20\x20\x20\x20\x20or\x20storage=\x27custom\x27\x20with\x20your\x20own\x20/\x20a\x20third-party\x20wip\x20storage\x20service;\x20use\x20the\x20returned\x20public\x20URL\x20(base_url\x20+\x20/f/{hash}).','\x20\x202.\x20GitHub\x20Pages\x20(free,\x20stable):\x20upload\x20.wip\x20file\x20to\x20a\x20repo,\x20enable\x20Pages,\x20use\x20raw\x20URL.','\x20\x20\x20\x20\x20Example:\x20https://<user>.github.io/<repo>/<file>.wip','\x20\x20\x20\x20\x20Or\x20raw\x20URL:\x20https://raw.githubusercontent.com/<user>/<repo>/<branch>/<file>.wip','\x20\x203.\x20IPFS\x20(free,\x20decentralized):\x20upload\x20via\x20Pinata\x20(https://pinata.cloud)\x20or\x20nft.storage.','\x20\x20\x20\x20\x20Use\x20the\x20ipfs://<CID>\x20or\x20https://<gateway>/ipfs/<CID>\x20URL\x20form.','\x20\x20\x20\x20\x20Common\x20gateways:\x20https://ipfs.io/ipfs/,\x20https://cloudflare-ipfs.com/ipfs/,\x20https://dweb.link/ipfs/','\x20\x204.\x20User\x27s\x20own\x20website:\x20serve\x20the\x20.wip\x20file\x20from\x20your\x20static\x20site.','\x20\x205.\x20Generate\x20a\x20fresh\x20WIP\x20file\x20locally\x20first\x20via\x20wip_file\x20(type=\x27generate\x27),\x20upload\x20it,\x20then\x20re-submit\x20the\x20URL.','After\x20updating\x20the\x20sale\x27s\x20wip\x20URL,\x20re-run\x20the\x20operation.']['join']('\x0a')},{'patterns':[/WIP storage (?:upload|delete|list) failed \(4\d\d\):/i],'error_code':'wip_storage_rejected','retryable':![],'recovery_hint':['The\x20wip\x20storage\x20service\x20REJECTED\x20the\x20request\x20(HTTP\x204xx)\x20—\x20retrying\x20unchanged\x20will\x20fail\x20identically.','\x20\x20400:\x20malformed\x20body/JSON\x20or\x20failed\x20WIP\x20validation\x20—\x20re-generate\x20the\x20file\x20(wip_file\x20type=\x27generate\x27)\x20and\x20re-check\x20fields.','\x20\x20401:\x20missing/invalid\x20signature,\x20replayed\x20nonce,\x20or\x20timestamp\x20outside\x20the\x20accepted\x20window\x20(-300s..+60s)\x20—\x20re-sign\x20with\x20a\x20fresh\x20nonce/clock.','\x20\x20403:\x20forbidden\x20(admin\x20API\x20disabled\x20or\x20key\x20rejected)\x20—\x20check\x20the\x20storage\x20service\x20configuration.','\x20\x20404:\x20unknown\x20hash/content\x20—\x20the\x20file\x20does\x20not\x20exist;\x20verify\x20meta.hash\x20or\x20re-upload.','\x20\x20409:\x20quota\x20exceeded\x20—\x20delete\x20old\x20files\x20(wip_file\x20type=\x27list\x27\x20then\x20delete)\x20or\x20use\x20storage=\x27custom\x27.','\x20\x20413:\x20file\x20exceeds\x20the\x20transport\x20limit\x20—\x20compress\x20images\x20(each\x20<=\x202MB,\x20total\x20<=\x2010MB)\x20and\x20regenerate.']['join']('\x0a')},{'patterns':[/WIP storage request .* failed: network error/i,/WIP storage (upload|delete|list) failed/i],'error_code':'wip_storage_unavailable','retryable':!![],'recovery_hint':['The\x20wip\x20storage\x20request\x20failed\x20at\x20the\x20transport\x20layer\x20—\x20usually\x20a\x20transient\x20network\x20problem.','Large\x20WIP\x20files\x20(multi-MB,\x20image-heavy)\x20are\x20especially\x20network-sensitive:','\x20\x201.\x20Retry\x20the\x20same\x20request\x20once\x20or\x20twice\x20before\x20investigating\x20further.','\x20\x202.\x20Keep\x20files\x20small:\x20compress\x20images\x20before\x20wip_file\x20type=\x27generate\x27\x20(each\x20image\x20<=\x202MB,\x20total\x20<=\x2010MB).','\x20\x203.\x20If\x20it\x20keeps\x20failing,\x20check\x20connectivity\x20to\x20the\x20storage\x20base\x20URL\x20(e.g.\x20curl\x20-I\x20<base_url>/api/health).','\x20\x204.\x20For\x20heavy\x20media,\x20consider\x20storage=\x27custom\x27\x20with\x20a\x20CDN-backed\x20service\x20near\x20your\x20users.']['join']('\x0a')},{'patterns':[/setting lock duration not exceeded/i,/E_LOCKED_TIME_NOT_ENOUGH/i,/locked time not enough/i,/lock duration not (?:elapsed|exceeded|met)/i],'error_code':'time_lock_not_elapsed','retryable':!![],'recovery_hint':'Service\x20setting_lock_duration\x20has\x20not\x20elapsed\x20since\x20pause.\x20Pause\x20the\x20Service,\x20wait\x20until\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20current\x20time,\x20then\x20retry.'},{'patterns':[/already\s*publish/i,/object\s+is\s+immutable/i,/is\s+in\s+an?\s+immutable\s+state/i,/cannot\s*(modify|change|mutate)/i,/is\s*published/i,/Service already published/i,/Machine already published/i],'error_code':'immutable_violation','retryable':![],'recovery_hint':'Object\x20is\x20in\x20an\x20immutable\x20state\x20(e.g.\x20Service\x20already\x20published).\x20Recreate\x20the\x20object\x20if\x20a\x20different\x20config\x20is\x20needed'},{'patterns':[/unable\s+to\s+receive\s+object/i],'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20receipt\x20no\x20longer\x20matches\x20the\x20chain:\x20it\x20must\x20name\x20the\x20object\x27s\x20CURRENT\x20version\x20and\x20digest\x20and\x20the\x20exact\x20parent\x20it\x20is\x20held\x20under.\x20Re-read\x20the\x20parent\x20object\x20(version/digest)\x20and\x20rebuild\x20the\x20receipt\x20from\x20that\x20state\x20—\x20switching\x20accounts\x20cannot\x20help,\x20and\x20no\x20funds\x20moved\x20on\x20this\x20abort'},{'patterns':[/no\s+permission/i,/missing\s+permissions?\b/i,/admin\s+permission\s+required/i,/lacks?\s+(?:the\s+)?(?:required\s+)?permission/i,/unauthorized/i,/forbidden/i,/not\s*(the\s*)?owner/i,/access\s*denied/i,/Permission denied/i,/Not the builder/i,/Not admin/i,/No operation permission/i,/Not the holder/i,/not\s+(?:authorized|approved)\b/i,/not\s+allowed/i],'error_code':'permission_denied','retryable':![],'recovery_hint':'Use\x20an\x20account\x20with\x20the\x20required\x20permission,\x20or\x20pass\x20permission_guard\x20IDs\x20via\x20env.permission_guard'},{'patterns':[/not\s*found/i,/does\s*not\s*exist/i,/ENOTFOUND/i,/no\s*such\s*object/i,/unknown\s*object/i,/account not found/i,/address not found/i,/token not found/i,/Node not found/i,/Policy not found/i,/Reward not found/i],'error_code':'object_not_found','retryable':![],'recovery_hint':'Verify\x20the\x20object\x20ID/name\x20with\x20query_toolkit;\x20local_mark\x20names\x20are\x20case-sensitive'},{'patterns':[/state\s*(conflict|mismatch)/i,/already\s*exist/i,/conflict/i,/duplicate/i,/version\s*mismatch/i,/name exist/i,/Duplicate forward name/i,/Duplicate node previous/i,/already claimed/i,/already specified/i,/already accomplished/i,/already used/i,/Status does not match/i,/does not match/i,/\bnot\s+published\b/i,/\bis\s+paused\b/i,/global\s+pause/i,/\bis\s+listed\b/i,/not\s+listed\b/i,/\blocked\b/i,/\bmismatch\b/i,/already\s+(?:set|minted|listed|verified|authorized)\b/i,/\bnot\s+empty\b/i,/non-zero\s+balance/i,/\bnot\s+match\b/i,/not\s+set\s+for\s+epoch/i,/no\s+allocator\b/i,/not\s+satisfied/i,/invariant\s+violation/i],'error_code':'state_conflict','retryable':![],'recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation.\x20Query\x20the\x20current\x20state\x20with\x20query_toolkit\x20and\x20adjust\x20parameters'},{'patterns':[/\b(?:coin|fee)\s+not\s+enough\b/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20coin/fee\x20attached\x20to\x20the\x20call\x20is\x20below\x20the\x20required\x20minimum\x20—\x20query\x20the\x20target\x20object\x27s\x20amount/fee\x20requirement\x20and\x20raise\x20the\x20corresponding\x20parameter\x20(this\x20is\x20NOT\x20a\x20wallet-balance/faucet\x20issue)'},{'patterns':[/invalid/i,/missing\s*(field|param|required)/i,/required/i,/expected/i,/malformed/i,/parse\s*error/i,/type\s*mismatch/i,/invalid argument/i,/Invalid value/i,/Invalid data value/i,/Invalid string value/i,/Invalid argument/i,/IsValid/i,/type does not match/i,/value type/i,/exceeds\s*limit/i,/indemnity\s*(exceeds|too\s*large)/i,/max(?:imum)?\b[^\n]*\bexceeded/i,/\bexceeded\s+(?:the\s+)?(?:limit|count)\b/i,/length\s+exceeded/i,/count\s+exceeded/i,/\bsize\s+exceeded\b/i,/\btoo\s+(?:many|long)\b/i,/not\s+(?:address|u64|number)\s+type/i,/not\s+system\s+address/i,/\bempty\b/i,/\bnot\s+equal\b/i,/unequal\s+lengths/i,/index\s+out\s+of\s+bounds?\b/i,/(?:arithmetic\s+)?(?:overflow|underflow)/i,/division\s+by\s+zero/i,/modulo\s+by\s+zero/i,/rate\s+(?:not\s+10000|exceeds)/i,/amount\s+(?:below\s+threshold|exceeds)/i,/store\s+from\s+id\s+not\s+compatible/i,/not\s+supported/i,/bad\s+(?:witness|transaction\s+hash\s+length)/i,/wrong\s+(?:borrow|value|inner\s+version|kiosk)/i,/incorrect\s+amount/i,/input\s+too\s+long/i,/vector\s+not\s+enough/i,/unknown\s+(?:action|requirement)/i,/illegal\s+rule/i,/not\s+zero/i,/no\s+config/i,/not\s+installed/i,/not\s+wow/i],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'},{'patterns':[/transaction\s+resolution\s+failed[\s\S]{0,200}\bMoveAbort\b/i],'error_code':'move_abort_unmapped','retryable':![],'recovery_hint':'The\x20transaction\x20was\x20dry-run\x20for\x20its\x20gas\x20budget\x20and\x20the\x20business\x20logic\x20ABORTED\x20on-chain\x20—\x20nothing\x20was\x20committed,\x20and\x20the\x20wrapping\x20prefix\x20is\x20NOT\x20an\x20environment\x20fault:\x20do\x20NOT\x20restart\x20the\x20server\x20and\x20do\x20NOT\x20blind-edit\x20parameters\x20or\x20retry\x20the\x20identical\x20call\x20(it\x20aborts\x20deterministically).\x20The\x20module\x20name\x20and\x20abort\x20code\x20in\x20this\x20message\x20are\x20the\x20authoritative\x20truth\x20(read\x20as\x20\x27abort\x20(N)\x27\x20next\x20to\x20the\x20module):\x20resolve\x20their\x20meaning\x20via\x20the\x20wowok-tools\x20Skill\x20/\x20module\x20docs,\x20fix\x20the\x20business\x20cause,\x20and\x20re-verify\x20the\x20object\x20state\x20with\x20query_toolkit\x20before\x20issuing\x20a\x20NEW\x20call'}],WERROR_MAPPINGS=[{'codes':[WErrors['AccountNotFound'],WErrors['AddressNotFound'],WErrors['TokenNotFoundLocally']],'error_code':'object_not_found','retryable':![],'recovery_hint':'Verify\x20the\x20object\x20ID/name\x20with\x20query_toolkit;\x20local_mark\x20names\x20are\x20case-sensitive'},{'codes':[WErrors['NoPermission']],'error_code':'permission_denied','retryable':![],'recovery_hint':'Use\x20an\x20account\x20with\x20the\x20required\x20permission,\x20or\x20pass\x20permission_guard\x20IDs\x20via\x20env.permission_guard'},{'codes':[WErrors['IsValidDescription'],WErrors['IsValidName'],WErrors['IsValidName_AllowEmpty'],WErrors['IsValidEndpoint'],WErrors['IsValidAddress'],WErrors['IsValidArgType'],WErrors['IsValidTokenType'],WErrors['IsValidUint'],WErrors['IsValidInt'],WErrors['IsValidU8'],WErrors['IsValidU16'],WErrors['IsValidU32'],WErrors['IsValidU64'],WErrors['IsValidU128'],WErrors['IsValidU256'],WErrors['IsValidRate'],WErrors['IsValidArray'],WErrors['IsValidObjects'],WErrors['AllInvalid'],WErrors['InvalidParam'],WErrors['IsValidPermissionIndex'],WErrors['IsValidKey'],WErrors['IsValidIdentifier'],WErrors['IsValidHttpUrl'],WErrors['IsValidBizPermissionIndex'],WErrors['IsValidServiceItemName'],WErrors['IsValidCoinType'],WErrors['IsValidGuardIdentifier'],WErrors['IsValidValue'],WErrors['IsValidValueType'],WErrors['IsValidLocation'],WErrors['WitnessTypeInvalid']],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Check\x20parameter\x20format\x20against\x20the\x20tool\x20schema;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'},{'codes':[WErrors['NewGuardCheckFailed']],'error_code':'guard_rejected','retryable':![],'recovery_hint':'The\x20guard\x20would\x20fail\x20on-chain\x20—\x20the\x20SDK\x20pre-flight\x20simulation\x20blocked\x20the\x20commit\x20before\x20any\x20fee\x20was\x20spent.\x20The\x20message\x20names\x20the\x20abort\x20class\x20(GUARD_*\x20arithmetic/range/parse,\x20or\x20an\x20enriched\x20passport\x20E_*\x20abort).\x20Fix\x20the\x20guard\x20rule\x20or\x20the\x20submissions\x20it\x20expects,\x20re-validate\x20with\x20guard\x20validation\x20(local\x20evaluator\x20reports\x20leaf-level\x20defects),\x20then\x20rebuild\x20the\x20passport'},{'codes':[WErrors['BcsTypeInvalid'],WErrors['ParseObjectContentFailed']],'error_code':'bcs_error','retryable':![],'recovery_hint':'BCS\x20serialization/deserialization\x20error.\x20Verify\x20data\x20types\x20and\x20structure\x20match\x20the\x20expected\x20schema'},{'codes':[WErrors['NetworkInvalid']],'error_code':'config_error','retryable':![],'recovery_hint':'Configuration\x20error.\x20Verify\x20that\x20network,\x20RPC\x20endpoints,\x20and\x20required\x20environment\x20variables\x20are\x20properly\x20configured'},{'codes':[WErrors['AccountPersistentStorageNotSet'],WErrors['ConfigPersistentStorageNotSet'],WErrors['AccountPersistentStorageNotFound']],'error_code':'config_error','retryable':![],'recovery_hint':'Persistent\x20storage\x20not\x20configured.\x20Initialize\x20account\x20storage\x20before\x20performing\x20this\x20operation'},{'codes':[WErrors['AccountNameExist'],WErrors['LocalMarkNameExist']],'error_code':'state_conflict','retryable':![],'recovery_hint':'Object\x20state\x20conflicts\x20with\x20the\x20operation.\x20Query\x20the\x20current\x20state\x20with\x20query_toolkit\x20and\x20adjust\x20parameters'},{'codes':[WErrors['MaxObjectsPerQuery'],WErrors['ResourceTagCountExceeded'],WErrors['AddressCountExceeded'],WErrors['NumberCountExceeded']],'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Count\x20limit\x20exceeded.\x20Reduce\x20the\x20number\x20of\x20items\x20per\x20request\x20and\x20retry'}];function isWException(a){return a instanceof WException;}function classifyWException(a){const b=a['getErrorCode'](),c=WERROR_MAPPINGS['find'](e=>e['codes']['includes'](b));if(!c)return undefined;const d={'error_code':c['error_code'],'retryable':c['retryable'],'recovery_hint':c['recovery_hint']};return d;}export const MOVE_ABORT_ERROR_MAP={'common:1':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20short-text\x20field\x20exceeds\x20the\x2064-byte\x20limit\x20(UTF-8\x20bytes,\x20not\x20characters\x20—\x20CJK\x20chars\x20count\x20~3\x20each).\x20This\x20guards\x20object\x20names,\x20payment\x20remark,\x20and\x20similar\x20fields.\x20Shorten\x20the\x20offending\x20field\x20to\x20<=\x2064\x20bytes\x20and\x20resubmit'},'common:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20required\x20name\x20field\x20was\x20empty.\x20Provide\x20a\x20non-empty\x20value\x20(1..64\x20UTF-8\x20bytes)\x20and\x20resubmit'},'common:4':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20description\x20field\x20exceeds\x20the\x204000-byte\x20limit\x20(UTF-8).\x20Shorten\x20the\x20description\x20and\x20resubmit'},'service:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20coupon\x20was\x20minted\x20with\x20transferable:false\x20and\x20is\x20permanently\x20bound\x20to\x20its\x20current\x20owner\x20—\x20it\x20can\x20never\x20be\x20moved.\x20Grant\x20a\x20new\x20coupon\x20to\x20the\x20target\x20address\x20via\x20discount\x20(call\x20service)\x20instead.\x20Note:\x20coupons\x20minted\x20with\x20transferable:true\x20CAN\x20be\x20handed\x20over\x20via\x20the\x20discount_send\x20action\x20in\x20call\x20service'},'service:16':{'error_code':'stock_exhausted'},'service:18':{'error_code':'guard_rejected','recovery_hint':'This\x20Service\x20requires\x20buyers\x20to\x20present\x20a\x20Guard\x20passport\x20(buyer_guard\x20configured).\x20Attach\x20a\x20`submission`\x20object\x20(TOP\x20LEVEL\x20of\x20the\x20call,\x20sibling\x20of\x20data/env\x20—\x20NEVER\x20a\x20`passport`\x20key)\x20carrying\x20the\x20guard\x20address\x20and\x20its\x20slot\x20values,\x20verifying\x20the\x20required\x20guard,\x20and\x20resubmit'},'service:25':{'error_code':'state_conflict','recovery_hint':'This\x20operation\x20requires\x20the\x20Service\x20to\x20have\x20an\x20Arbitration\x20bound\x20together\x20with\x20a\x20compensation\x20fund.\x20Configure\x20arbitration\x20and\x20compensation\x20first'},'service:27':{'error_code':'state_conflict','recovery_hint':'The\x20ruled\x20compensation\x20exceeds\x20the\x20Service\x27s\x20compensation_fund\x20balance\x20—\x20the\x20pool\x20is\x20empty\x20or\x20underfunded.\x20The\x20claim\x20was\x20NOT\x20consumed\x20(the\x20abort\x20happens\x20before\x20any\x20transfer).\x20Merchant\x20must\x20top\x20up\x20via\x20service\x20compensation_fund_add\x20(>=\x20the\x20ruled\x20indemnity),\x20then\x20re-run\x20arb_claim_compensation'},'service:31':{'error_code':'invalid_parameter','recovery_hint':'The\x20submitted\x20wip_hash\x20does\x20not\x20match\x20the\x20Service\x27s\x20current\x20WIP\x20hash\x20—\x20the\x20merchant\x20may\x20have\x20updated\x20the\x20WIP.\x20Re-query\x20the\x20Service\x27s\x20sale\x20info\x20and\x20resubmit\x20with\x20the\x20current\x20wip_hash'},'service:33':{'error_code':'state_conflict','recovery_hint':'The\x20Service\x20cannot\x20bind\x20an\x20Arbitration\x20whose\x20permission\x20is\x20the\x20same\x20as\x20its\x20own\x20—\x20the\x20Service\x20owner\x20would\x20then\x20control\x20dispute\x20resolution,\x20breaking\x20fairness.\x20Use\x20a\x20different\x20Arbitration\x20or\x20change\x20the\x20Service\x27s\x20permission\x20first'},'service:34':{'error_code':'sale_suspended'},'service:35':{'error_code':'discount_invalid'},'service:36':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20legacy\x20quote/buy\x20entry\x20points\x20are\x20disabled\x20on\x20chain\x20(E_DEPRECATED_USE_V2\x20—\x20quote\x20used\x20to\x20decrement\x20stock\x20at\x20quote\x20time,\x20a\x20cost-free\x20stock-drain).\x20Rebuild\x20the\x20call\x20on\x20the\x20v2\x20quote/buy\x20pair\x20(quote2\x20/\x20buy2\x20—\x20with\x20the\x20discount-coupon\x20and\x20Passport-gated\x20variants)\x20(SDK:\x20onchain_operations\x20service\x20order_new\x20on\x20the\x20current\x20build).\x20A\x20stale\x20client\x20or\x20a\x20hand-built\x20transaction\x20targeting\x20the\x20old\x20entry\x20is\x20the\x20usual\x20cause'},'service:32':{'error_code':'invalid_parameter','recovery_hint':'No\x20sale\x20item\x20matches\x20that\x20reference\x20on\x20this\x20Service\x20(a\x20per-item\x20sale\x20op\x20on\x20an\x20unknown\x20sale_name\x20aborts\x20here\x20instead\x20of\x20silently\x20succeeding).\x20Query\x20the\x20Service\x27s\x20sale\x20list\x20and\x20use\x20an\x20existing\x20item\x20index\x20/\x20exact\x20sale_name\x20—\x20the\x20MCP\x20pre-checks\x20the\x20name\x20before\x20send\x20and\x20returns\x20the\x20available\x20names\x20on\x20a\x20miss'},'service:20':{'error_code':'invalid_parameter','recovery_hint':'The\x20payment\x20attached\x20to\x20this\x20order\x20(total_pay)\x20is\x20less\x20than\x20the\x20order\x27s\x20expected\x20amount\x20—\x20raise\x20total_pay\x20to\x20at\x20least\x20the\x20DISCOUNTED\x20amount\x20(item\x20price\x20×\x20quantity\x20MINUS\x20any\x20coupon/reduction\x20bound\x20to\x20the\x20order;\x20a\x20discount\x20makes\x20the\x20raw\x20price\x20×\x20quantity\x20a\x20ceiling,\x20not\x20the\x20floor).\x20If\x20total_pay\x20already\x20covers\x20the\x20discounted\x20amount,\x20check\x20the\x20discount\x20binding\x20via\x20account_balance\x20and\x20the\x20Service\x27s\x20discount\x20list\x20(this\x20is\x20NOT\x20a\x20faucet/rate\x20issue)'},'service:39':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20Arbitration\x20that\x20produced\x20this\x20award\x20is\x20not\x20on\x20the\x20merchant\x27s\x20allowlist,\x20so\x20its\x20ruling\x20cannot\x20be\x20paid\x20out\x20of\x20the\x20compensation\x20fund.\x20Buyers\x20cannot\x20self-add:\x20file\x20the\x20dispute\x20through\x20an\x20arbitrator\x20the\x20merchant\x20already\x20trusts\x20(query\x20the\x20Service\x27s\x20arbitration\x20list).\x20Do\x20NOT\x20attempt\x20to\x20create\x20a\x20new\x20Arbitration\x20to\x20work\x20around\x20this\x20—\x20that\x20is\x20exactly\x20the\x20path\x20the\x20chain\x20now\x20blocks'},'arb:9':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20ruled\x20compensation\x20exceeds\x20the\x20on-chain\x20award\x20cap\x20(MAX_INDEMNITY_MULTIPLE\x20=\x203x\x20the\x20order\x20amount)\x20—\x20the\x20claim\x20did\x20NOT\x20consume\x20(abort\x20before\x20any\x20transfer,\x20full\x20rollback).\x20No\x20retry\x20at\x20this\x20size\x20can\x20succeed:\x20the\x20ruling\x20must\x20be\x20re-ruled\x20within\x20the\x20cap.\x20Raising\x20the\x20compensation_fund\x20does\x20NOT\x20help\x20—\x20the\x20cap\x20is\x20absolute,\x20unlike\x20the\x20fund-sufficiency\x20check\x20(service:27)'},'arbitration:9':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20Arbitration\x27s\x20voting-guard\x20roster\x20is\x20full\x20(MAX_VOTING_GUARD_COUNT\x20=\x2050)\x20—\x20adding\x20another\x20voting\x20guard\x20aborts\x20with\x20full\x20rollback.\x20Remove\x20an\x20existing\x20voting\x20guard\x20first\x20or\x20use\x20a\x20different\x20Arbitration\x20venue'},'arbitration:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20dispute\x20has\x20a\x20voting_guard\x20configured,\x20so\x20a\x20plain\x20vote\x20is\x20rejected\x20—\x20votes\x20must\x20be\x20cast\x20THROUGH\x20the\x20registered\x20voting\x20guard.\x20Resubmit\x20with\x20data.vote.voting_guard\x20set\x20to\x20the\x20dispute\x27s\x20configured\x20voting-guard\x20address\x20and\x20include\x20the\x20matching\x20passport\x20submission\x20covering\x20it\x20(query\x20the\x20Arbitration\x27s\x20voting_guard\x20config\x20first).\x20A\x20plain-vote\x20retry\x20fails\x20identically'},'service:40':{'error_code':'config_error','retryable':![],'recovery_hint':'This\x20Service\x20has\x20no\x20Machine\x20configured,\x20so\x20it\x20cannot\x20run\x20the\x20multi-node\x20Progress\x20workflow.\x20This\x20is\x20a\x20supported\x20configuration\x20—\x20buying,\x20settlement\x20and\x20arbitration\x20all\x20work\x20without\x20it;\x20only\x20the\x20workflow\x20is\x20unavailable.\x20Do\x20NOT\x20add\x20a\x20Machine\x20as\x20a\x20workaround:\x20if\x20the\x20workflow\x20is\x20genuinely\x20required,\x20the\x20merchant\x20must\x20configure\x20one\x20and\x20republish.\x20Otherwise\x20omit\x20the\x20step\x20that\x20attaches\x20a\x20Progress\x20to\x20this\x20order'},'service:41':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20requested\x20price\x20reduction\x20exceeds\x20the\x20item\x27s\x20current\x20price,\x20which\x20used\x20to\x20silently\x20clamp\x20the\x20price\x20to\x20zero\x20and\x20is\x20now\x20rejected.\x20Query\x20the\x20current\x20price\x20first\x20and\x20reduce\x20by\x20at\x20most\x20that\x20amount\x20—\x20reducing\x20the\x20price\x20to\x20exactly\x20zero\x20remains\x20allowed.\x20Do\x20not\x20retry\x20with\x20the\x20same\x20oversized\x20value'},'service:42':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20discounted\x20order\x20total\x20is\x200,\x20so\x20the\x20buy\x20is\x20refused\x20—\x20a\x20zero-total\x20order\x20would\x20carry\x20an\x20empty\x20escrow\x20and\x20its\x20finalize\x20would\x20have\x20nothing\x20to\x20settle.\x20Zero-priced\x20ITEMS\x20stay\x20legal\x20at\x20quote\x20level;\x20to\x20buy,\x20make\x20the\x20total\x20positive\x20(raise\x20the\x20item\x20price,\x20drop\x20the\x20zero-priced\x20item,\x20or\x20reduce\x20the\x20coupon\x20so\x20at\x20least\x201\x20raw\x20unit\x20remains\x20payable)\x20and\x20retry'},'service:43':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20buy_guard\x20being\x20mounted\x20declares\x20identifier\x200\x20as\x20a\x20submission\x20slot\x20—\x20slot\x200\x20carries\x20the\x20transacted\x20Order\x20address,\x20which\x20does\x20not\x20exist\x20yet\x20when\x20the\x20passport\x20is\x20verified\x20at\x20buy\x20time,\x20so\x20this\x20buy\x20door\x20can\x20never\x20open.\x20The\x20mount\x20is\x20refused\x20so\x20the\x20store\x20cannot\x20look\x20open\x20while\x20being\x20unbuyable.\x20Rebuild\x20the\x20guard\x20consuming\x20OTHER\x20slots\x20for\x20submissions\x20(slot\x200\x20as\x20a\x20STATIC\x20row,\x20b_submission:false,\x20stays\x20legal)\x20and\x20re-mount'},'demand:5':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20Demand\x20has\x20recorded\x20its\x20maximum\x20of\x20200\x20distinct\x20presenters\x20(MAX_PRESENTER_COUNT)\x20and\x20the\x20201st\x20new\x20presenter\x20is\x20rejected.\x20Re-presenting\x20an\x20entry\x20you\x20already\x20hold\x20is\x20still\x20allowed,\x20and\x20stale\x20presenters\x20can\x20be\x20removed\x20—\x20ask\x20the\x20Demand\x20owner\x20to\x20clear\x20unused\x20entries,\x20or\x20to\x20split\x20the\x20Demand.\x20Do\x20NOT\x20loop\x20retries:\x20every\x20retry\x20with\x20a\x20fresh\x20address\x20fails\x20the\x20same\x20way'},'arb:10':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20ballot\x20is\x20invalid:\x20it\x20must\x20reference\x20at\x20most\x2020\x20proposition\x20indices\x20(MAX_PROPOSITION_COUNT)\x20with\x20no\x20repeats.\x20A\x20repeated\x20index\x20no\x20longer\x20adds\x20weight\x20—\x20a\x20voter\x27s\x20weight\x20is\x20applied\x20at\x20most\x20once\x20per\x20proposition,\x20so\x20cast\x20one\x20clean\x20ballot\x20instead\x20of\x20adding\x20entries\x20to\x20accumulate\x20weight.\x20This\x20bound\x20exists\x20because\x20repeat-weighting\x20let\x20one\x20low-cost\x20address\x20forge\x20the\x20on-chain\x20tally'},'option:262144':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20framework\x20hit\x20an\x20internal\x20\x27already\x20set\x27\x20invariant\x20—\x20this\x20is\x20a\x20framework-level\x20condition,\x20not\x20something\x20your\x20call\x20can\x20fix\x20by\x20changing\x20arguments,\x20and\x20retrying\x20will\x20fail\x20identically.\x20Report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'option:262145':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20framework\x20tried\x20to\x20read\x20a\x20value\x20it\x20expected\x20to\x20be\x20present\x20but\x20was\x20not\x20—\x20an\x20internal\x20invariant,\x20not\x20a\x20user\x20input\x20error.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'vector:131072':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20index\x20was\x20out\x20of\x20bounds\x20for\x20a\x20vector.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'bit_vector:131072':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20index\x20was\x20out\x20of\x20bounds\x20for\x20a\x20bit\x20vector.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'bit_vector:131073':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20internal\x20bit-vector\x20length\x20exceeded\x20its\x20limit.\x20Retrying\x20will\x20fail\x20identically;\x20report\x20it\x20with\x20the\x20operation\x20you\x20were\x20running'},'fixed_point32:65537':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20denominator\x20evaluated\x20to\x20zero.\x20The\x20numeric\x20inputs\x20to\x20this\x20calculation\x20were\x20invalid\x20—\x20check\x20any\x20rate,\x20amount\x20or\x20ratio\x20passed\x20into\x20the\x20operation'},'fixed_point32:65540':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20division\x20attempted\x20to\x20divide\x20by\x20zero.\x20The\x20divisor\x20was\x20zero\x20—\x20check\x20any\x20rate,\x20amount\x20or\x20ratio\x20passed\x20into\x20the\x20operation'},'fixed_point32:131074':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20division\x20overflowed\x20its\x20representable\x20range.\x20The\x20operands\x20were\x20too\x20large\x20for\x20the\x20calculation\x20—\x20reduce\x20the\x20amounts\x20or\x20rates\x20involved'},'fixed_point32:131075':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20multiplication\x20overflowed\x20its\x20representable\x20range.\x20The\x20operands\x20were\x20too\x20large\x20for\x20the\x20calculation\x20—\x20reduce\x20the\x20amounts\x20or\x20rates\x20involved'},'fixed_point32:131077':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20fixed-point\x20ratio\x20evaluated\x20outside\x20its\x20representable\x20range.\x20The\x20rate\x20or\x20ratio\x20is\x20outside\x20the\x20permitted\x20bounds\x20—\x20check\x20the\x20values\x20passed\x20into\x20the\x20operation'},'arbitration:5':{'error_code':'invalid_parameter','recovery_hint':'The\x20dispute\x20fee\x20attached\x20to\x20this\x20call\x20is\x20below\x20the\x20Arbitration\x27s\x20required\x20fee\x20—\x20query\x20the\x20Arbitration\x27s\x20fee\x20field\x20and\x20raise\x20the\x20fee\x20parameter\x20to\x20at\x20least\x20that\x20amount\x20(this\x20is\x20NOT\x20a\x20wallet-balance/faucet\x20issue)'},'arbitration:4':{'error_code':'state_conflict','recovery_hint':'This\x20Arbitration\x20is\x20paused\x20(new\x20Arbitrations\x20default\x20to\x20paused)\x20—\x20every\x20dispute\x20filing\x20aborts\x20until\x20it\x20is\x20un-paused.\x20The\x20arbitration\x20owner\x20must\x20issue\x20{\x20operation_type:\x27arbitration\x27,\x20data:{\x20object:\x27<arbitration>\x27,\x20pause:false\x20}\x20},\x20then\x20re-file\x20the\x20dispute.\x20Note:\x20un-pausing\x20itself\x20requires\x20permission\x20356\x20on\x20the\x20Arbitration\x27s\x20Permission'},'machine:7':{'error_code':'invalid_parameter','recovery_hint':'A\x20node\x20declares\x20the\x20same\x20prev_node\x20in\x20two\x20of\x20its\x20pairs\x20—\x20transitions\x20from\x20one\x20source\x20node\x20must\x20live\x20in\x20ONE\x20pair\x20as\x20multiple\x20forwards.\x20Merge\x20the\x20competing\x20forwards\x20into\x20a\x20single\x20pair\x20(or\x20use\x20different\x20source\x20nodes)\x20and\x20rebuild\x20the\x20Machine'},'machine:11':{'error_code':'state_conflict','recovery_hint':'This\x20Machine\x20is\x20paused\x20—\x20node\x20and\x20forward\x20mutations\x20are\x20blocked.\x20Un-pause\x20it\x20first\x20with\x20{\x20operation_type:\x27machine\x27,\x20data:{\x20object:\x27<machine>\x27,\x20pause:false\x20}\x20},\x20then\x20retry'},'machine:23':{'error_code':'guard_rejected','recovery_hint':'A\x20retained\x20submission\x20identifier\x20does\x20not\x20exist\x20in\x20the\x20Guard\x20at\x20all.\x20Query\x20the\x20Guard\x27s\x20submission\x20table\x20and\x20correct\x20the\x20retained_submission\x20list'},'machine:24':{'error_code':'guard_rejected','recovery_hint':'A\x20retained\x20submission\x20identifier\x20exists\x20in\x20the\x20Guard\x20but\x20is\x20not\x20marked\x20as\x20a\x20submission\x20slot\x20(retained).\x20Add\x20the\x20identifier\x20to\x20the\x20Guard\x27s\x20retained\x20slots,\x20or\x20drop\x20it\x20from\x20the\x20forward\x27s\x20retained_submission\x20list'},'machine:14':{'error_code':'invalid_parameter','recovery_hint':'A\x20Machine\x20forward\x20must\x20define\x20one\x20of\x20namedOperator\x20or\x20permissionIndex\x20—\x20a\x20Guard\x20does\x20NOT\x20satisfy\x20this\x20(it\x20is\x20a\x20post-verification\x20check,\x20not\x20an\x20identity;\x20use\x20namedOperator:\x27\x27\x20for\x20the\x20order\x20payer).\x20Set\x20one\x20of\x20them\x20for\x20the\x20forward'},'machine:8':{'error_code':'invalid_parameter','recovery_hint':'No\x20node\x20with\x20that\x20name\x20exists\x20in\x20this\x20Machine.\x20Export\x20the\x20node\x20set\x20via\x20machineNode2file\x20(or\x20query\x20the\x20node\x20table)\x20and\x20use\x20an\x20exact\x20existing\x20node\x20name'},'machine:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20node\x20name\x20does\x20not\x20exist\x20in\x20this\x20Machine.\x20Export\x20the\x20node\x20set\x20via\x20machineNode2file\x20(or\x20query\x20the\x20node\x20table)\x20and\x20use\x20exact\x20existing\x20node\x20names'},'machine:13':{'error_code':'state_not_visible','retryable':!![],'recovery_hint':'The\x20forward\x20info\x20row\x20(node/next_node/forward)\x20was\x20JUST\x20written\x20and\x20is\x20not\x20yet\x20visible,\x20or\x20the\x20triple\x20genuinely\x20does\x20not\x20exist.\x20If\x20a\x20write\x20on\x20this\x20order/machine\x20committed\x20within\x20the\x20last\x20few\x20seconds,\x20WAIT\x20briefly\x20(500ms,\x20doubling,\x20max\x20~3\x20attempts)\x20and\x20replay\x20the\x20SAME\x20call\x20UNCHANGED\x20—\x20do\x20NOT\x20edit\x20parameters.\x20If\x20the\x20fault\x20persists,\x20query\x20the\x20Machine\x27s\x20node\x20table\x20(onchain_table_data\x20onchain_table_item_machine_node)\x20and\x20use\x20an\x20existing\x20combination'},'machine:17':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20Machine\x20has\x20no\x20nodes,\x20so\x20it\x20cannot\x20be\x20published\x20(E_EMPTY_MACHINE).\x20A\x20Machine\x20must\x20carry\x20at\x20least\x20one\x20node,\x20and\x20the\x20first\x20node\x20must\x20hold\x20the\x20entry\x20pair\x20(prev_node:\x22\x22)\x20that\x20Progress\x20starts\x20from.\x20Add\x20the\x20nodes\x20—\x20send\x20them\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20with\x20bReplace:true,\x20since\x20the\x20chain\x20runs\x20its\x20structural\x20gate\x20(including\x20cycle\x20detection)\x20at\x20publish\x20and\x20freezes\x20the\x20graph\x20right\x20after\x20—\x20then\x20retry.\x20This\x20is\x20the\x20one\x20moment\x20the\x20graph\x20is\x20still\x20editable:\x20after\x20a\x20successful\x20publish\x20every\x20node/forward\x20change\x20is\x20frozen'},'machine:18':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'An\x20entry\x20pair\x20(prev_node:\x22\x22)\x20carries\x20no\x20forward\x20(E_EMPTY_ENTRY_PAIR).\x20Progress\x20starts\x20at\x20the\x20empty\x20state\x20\x22\x22\x20and\x20can\x20only\x20leave\x20it\x20through\x20an\x20entry\x20forward,\x20so\x20this\x20Machine\x20would\x20strand\x20every\x20order\x20at\x20the\x20start\x20forever.\x20Give\x20that\x20pair\x20at\x20least\x20one\x20forward\x20(a\x20Guard\x20alone\x20is\x20not\x20enough\x20—\x20every\x20forward\x20also\x20needs\x20namedOperator\x20or\x20permissionIndex)\x20and\x20republish.\x20Do\x20NOT\x20remove\x20the\x20entry\x20pair\x20to\x20silence\x20this:\x20a\x20Machine\x20with\x20no\x20entry\x20edge\x20fails\x20the\x20sibling\x20check\x20instead'},'machine:19':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'No\x20node\x20has\x20an\x20entry\x20pair,\x20i.e.\x20nothing\x20declares\x20prev_node:\x22\x22\x20(E_NO_ENTRY_EDGE)\x20—\x20Progress\x20starts\x20at\x20\x22\x22\x20and\x20has\x20no\x20edge\x20to\x20advance\x20on,\x20so\x20the\x20workflow\x20can\x20never\x20start.\x20Add\x20the\x20entry\x20edge\x20to\x20your\x20first\x20node:\x20pairs:[{prev_node:\x22\x22,\x20forwards:[{name:\x22start\x22,\x20weight:1,\x20namedOperator:\x22\x22}]}].\x20Note\x20this\x20pair\x20belongs\x20to\x20the\x20DESTINATION\x20node,\x20not\x20the\x20source;\x20export\x20the\x20current\x20graph\x20with\x20machineNode2file\x20first,\x20because\x20the\x20fix\x20must\x20land\x20before\x20publish\x20freezes\x20the\x20topology'},'machine:20':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20pair\x27s\x20prev_node\x20names\x20a\x20node\x20that\x20does\x20not\x20exist\x20in\x20this\x20Machine\x20(E_EDGE_SOURCE_NOT_FOUND)\x20—\x20that\x20edge\x20is\x20unreachable\x20and\x20its\x20source\x20node\x20can\x20never\x20be\x20entered.\x20Compare\x20the\x20pair\x27s\x20prev_node\x20against\x20the\x20actual\x20node\x20names:\x20export\x20the\x20node\x20set\x20with\x20machineNode2file\x20and\x20fix\x20the\x20typo,\x20or\x20add\x20the\x20missing\x20source\x20node.\x20Watch\x20the\x20direction\x20rule\x20too\x20—\x20the\x20pair\x20belongs\x20to\x20the\x20node\x20being\x20advanced\x20INTO,\x20with\x20prev_node\x20naming\x20the\x20node\x20it\x20comes\x20from,\x20so\x20an\x20entry\x20edge\x20is\x20the\x20one\x20with\x20the\x20EMPTY\x20prev_node'},'machine:21':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20forward\x20names\x20no\x20operator\x20—\x20it\x20has\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20(E_FORWARD_NO_IDENTITY),\x20so\x20no\x20one\x20can\x20be\x20authorized\x20to\x20execute\x20it\x20and\x20the\x20Machine\x20cannot\x20be\x20published.\x20Set\x20namedOperator\x20(use\x20the\x20empty\x20string\x20\x22\x22\x20for\x20the\x20order\x20payer,\x20or\x20a\x20Progress\x20operator\x20namespace)\x20or\x20permissionIndex\x20(a\x20USER_DEFINED\x20index\x20>=\x201000).\x20A\x20Guard\x20does\x20NOT\x20satisfy\x20this:\x20it\x20is\x20a\x20post-verification\x20check,\x20not\x20an\x20identity\x20—\x20both\x20constructors\x20reject\x20a\x20Guard-only\x20rail\x20at\x20construction\x20(the\x20guard-rail\x20constructor\x20aborts\x20with\x20this\x20same\x20code)\x20and\x20the\x20publish\x20gate\x20re-checks\x20every\x20forward'},'machine:22':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20pair\x27s\x20threshold\x20can\x20never\x20be\x20met\x20(E_UNREACHABLE_THRESHOLD):\x20the\x20threshold\x20is\x20greater\x20than\x20the\x20sum\x20of\x20that\x20pair\x27s\x20forward\x20weights.\x20Each\x20forward\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20—\x20it\x20is\x20locked\x20by\x20the\x20first\x20operator\x20who\x20accomplishes\x20it,\x20and\x20a\x20second\x20operator\x20re-running\x20it\x20aborts\x20E_NOT_THE_HOLDER\x20—\x20so\x20the\x20reachable\x20maximum\x20is\x20the\x20sum\x20of\x20DISTINCT\x20forward\x20weights.\x20Lower\x20the\x20threshold,\x20or\x20add\x20one\x20distinct\x20forward\x20per\x20contributing\x20operator\x20(threshold\x202\x20->\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201).\x20Never\x20try\x20to\x20satisfy\x20a\x20high\x20threshold\x20by\x20re-running\x20one\x20forward\x20more\x20times'},'progress:8':{'error_code':'permission_denied','retryable':![],'recovery_hint':'The\x20sender\x20matched\x20no\x20namedOperator\x20entry\x20and\x20this\x20forward\x20has\x20no\x20permissionIndex\x20—\x20the\x20signing\x20account\x20is\x20NOT\x20this\x20edge\x27s\x20operator.\x20Switch\x20to\x20the\x20account\x20that\x20owns\x20the\x20edge\x20(buyer-owned\x20edges:\x20the\x20order\x20owner/payer;\x20merchant\x20edges:\x20the\x20service\x20provider),\x20or\x20pass\x20the\x20edge\x27s\x20permissionIndex\x20via\x20env.permission_guard.\x20For\x20namedOperator=\x22\x22\x20(order\x20payer)\x20forwards\x20the\x20SDK\x20auto-routes\x20on\x20an\x20order-bound\x20Progress,\x20so\x20this\x20abort\x20means\x20the\x20current\x20account\x20is\x20not\x20the\x20payer/agent.\x20If\x20this\x20Progress\x20is\x20standalone\x20(no\x20task\x20binding),\x20empty-namedOperator\x20forwards\x20cannot\x20be\x20advanced\x20at\x20all:\x20use\x20a\x20non-empty\x20namedOperator\x20or\x20a\x20permissionIndex.\x20Authorization\x20refusal\x20—\x20no\x20funds\x20moved,\x20and\x20no\x20argument\x20change\x20can\x20help'},'order:3':{'error_code':'invalid_parameter','recovery_hint':'This\x20order\x20requires\x20progress\x20specification\x20(the\x20Service\x20is\x20machine-backed).\x20Supply\x20the\x20progress\x20parameters,\x20or\x20query\x20the\x20machine\x20node\x20info\x20for\x20the\x20expected\x20values'},'order:8':{'error_code':'invalid_parameter','recovery_hint':'This\x20order\x20requires\x20allocation\x20specification.\x20Supply\x20the\x20allocation\x20parameters\x20matching\x20the\x20Service\x27s\x20allocator\x20configuration'},'arb:3':{'error_code':'state_conflict','recovery_hint':'The\x20Arb\x20case\x20is\x20in\x20the\x20wrong\x20lifecycle\x20state\x20for\x20this\x20operation.\x20Query\x20the\x20Arb\x27s\x20current\x20status\x20first,\x20then\x20pick\x20the\x20matching\x20operation:\x20Voting(2)\x20→\x20vote\x20/\x20voting_deadline_change\x20/\x20ruling;\x20Arbitrator_confirming(1)\x20→\x20arbitrator\x20confirm;\x20Arbitrated(3)\x20→\x20claim\x20compensation\x20(closes\x20case)\x20OR\x20objection\x20(re-opens,\x20mutually\x20exclusive\x20with\x20claim);\x20Objectionable(4)/Arbitrator_confirming(1)\x20→\x20reset;\x20after\x20a\x20claim\x20(Finished(5))\x20or\x20withdraw\x20(Withdrawn(6))\x20the\x20case\x20is\x20terminal'},'arb:5':{'error_code':'invalid_parameter','recovery_hint':'votes\x20are\x200-based\x20indices\x20of\x20the\x20propositions\x20the\x20voter\x20agrees\x20with\x20—\x20each\x20value\x20must\x20be\x20<\x20the\x20Arb\x27s\x20proposition\x20count.\x20Query\x20the\x20Arb\x27s\x20propositions\x20and\x20resubmit\x20with\x20valid\x20indices\x20(0\x20…\x20N-1)'},'arb:4':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20voting\x20deadline\x20has\x20not\x20passed\x20yet.\x20Wait\x20until\x20the\x20deadline\x20elapses,\x20then\x20tally\x20the\x20votes'},'arb:7':{'error_code':'state_conflict','recovery_hint':'The\x20voting\x20deadline\x20has\x20passed\x20—\x20voting\x20is\x20closed.\x20Query\x20the\x20proposition\x20state\x20to\x20see\x20the\x20outcome'},'arb:8':{'error_code':'state_conflict','recovery_hint':'The\x2030-day\x20silence\x20window\x20after\x20the\x20ruling\x20has\x20not\x20passed\x20—\x20the\x20fee\x20unlocks\x20after\x20WITHDRAW_DURATION_TIME\x20(30d)\x20from\x20the\x20ruling\x20timestamp,\x20or\x20immediately\x20once\x20the\x20case\x20reaches\x20Finished(5).\x20Drive\x20the\x20case\x20to\x20Finished\x20via\x20finish()\x20to\x20withdraw\x20now'},'passport:2':{'error_code':'guard_rejected','recovery_hint':'Guards\x20relied\x20upon\x20by\x20this\x20Guard\x20must\x20be\x20added\x20to\x20the\x20Passport\x20first\x20(dependents-before-dependent\x20order).\x20Add\x20the\x20relied-upon\x20guards\x20to\x20the\x20passport,\x20then\x20add\x20this\x20one'},'passport:5':{'error_code':'guard_rejected','recovery_hint':'The\x20passport\x20lacks\x20the\x20required\x20verification\x20for\x20this\x20operation.\x20Complete\x20the\x20verification\x20scene\x20first'},'passport:6':{'error_code':'guard_rejected','recovery_hint':'The\x20guard\x20is\x20not\x20an\x20impact\x20guard\x20of\x20this\x20Passport\x20—\x20its\x20result\x20does\x20not\x20participate\x20in\x20the\x20passport\x20outcome.\x20Query\x20the\x20passport\x27s\x20guard\x20list\x20and\x20use\x20a\x20guard\x20registered\x20with\x20impack=true'},'passport:9':{'error_code':'guard_rejected','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20in\x20this\x20passport.\x20Add\x20the\x20guard\x20to\x20the\x20passport\x20(with\x20impack=true\x20if\x20its\x20result\x20must\x20participate\x20in\x20the\x20outcome),\x20then\x20retry'},'passport:7':{'error_code':'guard_rejected','recovery_hint':'Passport\x20verification\x20failed\x20—\x20the\x20passport\x27s\x20overall\x20result\x20is\x20false.\x20If\x20the\x20response\x20includes\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line,\x20it\x20names\x20the\x20first\x20failing\x20impact\x20guard:\x20complete\x20that\x20guard\x27s\x20submission\x20data\x20or\x20satisfy\x20its\x20rule,\x20then\x20regenerate\x20the\x20passport.\x20Otherwise\x20query\x20the\x20passport\x27s\x20guard[]\x20entries\x20and\x20each\x20clause\x27s\x20result\x20and\x20fix\x20the\x20failing\x20clause\x20(or\x20bisect\x20by\x20removing\x20guards)'},'passport:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20submission\x20identifier\x20does\x20not\x20exist\x20in\x20this\x20passport.\x20Query\x20the\x20passport\x27s\x20submission\x20table\x20and\x20use\x20a\x20registered\x20identifier'},'passport:11':{'error_code':'guard_rejected','recovery_hint':'Digest\x20mismatch\x20in\x20proof\x20verification.\x20The\x20proof\x20does\x20not\x20cover\x20the\x20expected\x20content\x20—\x20regenerate\x20the\x20proof\x20against\x20the\x20current\x20target'},'reward:1':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20guard-add\x20lock\x20(guard_not_added_expiration_time)\x20is\x20still\x20active\x20and\x20cannot\x20be\x20replaced\x20yet.\x20Wait\x20until\x20it\x20elapses,\x20then\x20set\x20the\x20new\x20lock\x20time'},'reward:2':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x27s\x20expiration_time\x20has\x20already\x20passed\x20and\x20it\x20can\x20no\x20longer\x20be\x20used.\x20Ask\x20the\x20reward\x20issuer\x20to\x20re-add\x20the\x20guard\x20with\x20a\x20later\x20expiration\x20(or\x20use\x20a\x20different\x20guard),\x20then\x20retry'},'reward:6':{'error_code':'pool_shortage','retryable':![],'recovery_hint':'The\x20REWARD\x20POOL\x20(an\x20on-chain\x20object)\x20cannot\x20cover\x20this\x20claim\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet\x20balance;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help.\x20Have\x20the\x20reward\x20issuer\x20top\x20up\x20the\x20pool\x20with\x20reward\x20coin_add\x20(permission\x20153),\x20then\x20retry\x20the\x20SAME\x20claim\x20unchanged:\x20the\x20claim\x20slot\x20is\x20written\x20before\x20the\x20balance\x20check\x20and\x20the\x20abort\x20rolls\x20it\x20back,\x20so\x20nothing\x20was\x20consumed\x20(mainnet-proven,\x20T14).\x20If\x20you\x20are\x20the\x20BUYER,\x20report\x20the\x20empty\x20pool\x20to\x20the\x20merchant\x20—\x20do\x20not\x20attempt\x20to\x20fund\x20it\x20yourself'},'reward:10':{'error_code':'time_lock_not_elapsed','recovery_hint':'The\x20declared\x20no-guard\x20window\x20(guard_not_added_expiration_time)\x20is\x20still\x20active\x20—\x20adding\x20guards\x20AND\x20withdrawing\x20balance\x20are\x20locked\x20until\x20it\x20elapses.\x20Wait\x20until\x20then,\x20then\x20retry'},'reward:11':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard-add\x20lock\x20time\x20must\x20be\x20strictly\x20later\x20than\x20the\x20current\x20clock\x20time.\x20Set\x20a\x20future\x20timestamp'},'reward:7':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20in\x20this\x20Reward.\x20Use\x20a\x20guard\x20registered\x20in\x20the\x20Reward\x27s\x20guard\x20table,\x20or\x20have\x20the\x20issuer\x20add\x20it\x20first'},'reward:13':{'error_code':'state_conflict','retryable':![],'recovery_hint':'This\x20claim\x20was\x20already\x20made\x20for\x20this\x20(recipient,\x20guard,\x20order)\x20combination\x20and\x20the\x20chain\x20refuses\x20replays.\x20A\x20different\x20order\x20(different\x20store_from\x20value)\x20earns\x20its\x20own\x20claim'},'reward:14':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20claim\x20recipient\x20must\x20be\x20the\x20transaction\x20sender.\x20Claim\x20with\x20the\x20account\x20the\x20reward\x20is\x20addressed\x20to\x20(the\x20SDK-submitted\x20Entity\x20value\x20or\x20your\x20own\x20address\x20as\x20the\x20GuardIdentifier\x20value)'},'repository:7':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20policy\x20does\x20not\x20exist\x20in\x20the\x20repository.\x20Query\x20the\x20repository\x20policies\x20and\x20use\x20a\x20valid\x20policy\x20ID'},'repository:8':{'error_code':'invalid_parameter','recovery_hint':'The\x20referenced\x20policy\x20does\x20not\x20exist\x20in\x20the\x20repository\x20(option\x20is\x20none).\x20Query\x20the\x20repository\x20policies\x20and\x20use\x20a\x20valid\x20policy\x20ID'},'repository:11':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x27s\x20guard\x20entry\x20expects\x20id/data\x20from\x20the\x20passport\x20submission\x20(id_from_submission/data_from_submission\x20is\x20set),\x20but\x20this\x20call\x20passes\x20explicit\x20values.\x20Use\x20the\x20submission-based\x20call\x20route,\x20or\x20fix\x20the\x20policy\x20entry'},'repository:12':{'error_code':'guard_rejected','recovery_hint':'The\x20write_guard\x20is\x20not\x20an\x20impact\x20guard\x20in\x20the\x20passport\x20—\x20the\x20passport\x20must\x20verify\x20this\x20guard\x20with\x20impack=true.\x20Rebuild\x20the\x20passport\x20including\x20the\x20write_guard\x20as\x20an\x20impact\x20guard'},'repository:13':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20in\x20the\x20repository\x20policy\x27s\x20guard\x20list.\x20Query\x20the\x20policy\x27s\x20guards\x20and\x20use\x20a\x20registered\x20one'},'repository:14':{'error_code':'invalid_parameter','recovery_hint':'The\x20ID\x20vector\x20is\x20shorter\x20than\x20required\x20—\x20a\x20vector\x20length\x20problem,\x20not\x20a\x20balance\x20problem.\x20Align\x20the\x20vector\x20lengths\x20with\x20the\x20operation\x27s\x20requirement'},'repository:15':{'error_code':'invalid_parameter','recovery_hint':'The\x20data\x20vector\x20is\x20shorter\x20than\x20required\x20—\x20a\x20vector\x20length\x20problem,\x20not\x20a\x20balance\x20problem.\x20Align\x20the\x20vector\x20lengths\x20with\x20the\x20operation\x27s\x20requirement'},'repository:20':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x20entry\x20requires\x20the\x20id\x20to\x20come\x20from\x20the\x20passport\x20submission\x20(id_from_submission\x20is\x20set).\x20Use\x20the\x20submission-based\x20call\x20route\x20that\x20supplies\x20the\x20passport'},'repository:21':{'error_code':'invalid_parameter','recovery_hint':'The\x20quote\x20guard\x20must\x20be\x20a\x20depended\x20guard\x20(no\x20relies\x20of\x20its\x20own,\x20immutable,\x20with\x20reputation).\x20Configure\x20the\x20guard\x20accordingly\x20before\x20setting\x20it\x20as\x20the\x20policy\x27s\x20quote\x20guard'},'repository:22':{'error_code':'invalid_parameter','recovery_hint':'The\x20policy\x20requires\x20a\x20write_guard\x20when\x20id_from\x20is\x20None.\x20Set\x20the\x20policy\x27s\x20write_guard\x20or\x20use\x20a\x20non-None\x20id_from'},'repository:23':{'error_code':'invalid_parameter','recovery_hint':'id_from_submission\x20is\x20forbidden\x20when\x20id_from\x20is\x20Clock\x20or\x20Signer\x20(the\x20id\x20is\x20auto-generated).\x20Remove\x20id_from_submission\x20from\x20the\x20policy\x20entry\x20or\x20change\x20id_from'},'repository:24':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20policy\x20is\x20write-once:\x20a\x20record\x20with\x20this\x20(id,\x20key)\x20already\x20exists\x20and\x20can\x20never\x20be\x20overwritten.\x20Read\x20the\x20existing\x20record\x20first\x20(query\x20the\x20repository\x20data)\x20—\x20use\x20a\x20different\x20key\x20for\x20a\x20new\x20row,\x20or\x20build\x20on\x20the\x20existing\x20immutable\x20row'},'permission:5':{'error_code':'permission_denied','recovery_hint':'The\x20signer\x20lacks\x20a\x20qualifying\x20entity\x20on\x20the\x20target\x20object\x27s\x20OWN\x20Permission.\x20Machines\x20have\x20their\x20own\x20Permission\x20independent\x20of\x20the\x20Service\x27s\x20(machine.move:324)\x20—\x20check\x20which\x20object\x20the\x20call\x20touches\x20and\x20authorize\x20against\x20ITS\x20Permission\x20(query\x20the\x20object\x27s\x20permission\x20field),\x20then\x20grant\x20the\x20signer\x20the\x20required\x20index\x20there\x20(permission\x20add\x20perm\x20by\x20index).\x20Authorizing\x20the\x20Service\x27s\x20Permission\x20does\x20NOT\x20cover\x20the\x20Machine\x27s'},'permission:7':{'error_code':'invalid_parameter','recovery_hint':'Use\x20a\x20USER_DEFINED\x20index\x20(≥1000)\x20—\x20custom\x20forward\x20permissions\x20work\x20out\x20of\x20the\x20box\x20for\x20the\x20Permission\x27s\x20admin\x20with\x20no\x20prior\x20grant;\x20low\x20indices\x20(0-999)\x20are\x20builtin/reserved\x20and\x20must\x20be\x20granted\x20first\x20(permission\x20add\x20perm\x20by\x20index)\x20before\x20use\x20—\x20audit\x20with\x20onchain_table_data\x20query_type=onchain_table_item_permission_perm'},'arbitration:8':{'error_code':'invalid_parameter','recovery_hint':'This\x20guard\x20is\x20not\x20registered\x20as\x20a\x20voting\x20guard\x20on\x20the\x20Arbitration.\x20Add\x20it\x20to\x20the\x20Arbitration\x27s\x20voting_guard\x20config\x20(with\x20its\x20vote_weight)\x20first,\x20or\x20use\x20an\x20already-registered\x20voting\x20guard'},'demand:4':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20on\x20this\x20Demand.\x20Use\x20a\x20guard\x20registered\x20on\x20the\x20Demand,\x20or\x20configure\x20it\x20first'},'treasury:3':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20as\x20an\x20external\x20deposit\x20guard\x20on\x20this\x20Treasury.\x20Register\x20it\x20in\x20the\x20Treasury\x27s\x20external\x20deposit\x20guard\x20list\x20first'},'treasury:4':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20is\x20not\x20registered\x20as\x20an\x20external\x20withdraw\x20guard\x20on\x20this\x20Treasury.\x20Register\x20it\x20in\x20the\x20Treasury\x27s\x20external\x20withdraw\x20guard\x20list\x20first'},'treasury:10':{'error_code':'invalid_parameter','recovery_hint':'An\x20external\x20withdraw\x20can\x20only\x20pay\x20the\x20transaction\x20sender.\x20Either\x20submit\x20the\x20transaction\x20as\x20the\x20recipient\x20address,\x20or\x20use\x20the\x20permissioned\x20withdraw\x20path\x20to\x20pay\x20another\x20address'},'guard:6':{'error_code':'invalid_parameter','recovery_hint':'The\x20guard\x20being\x20relied\x20upon\x20must\x20be\x20a\x20depended\x20guard\x20(no\x20relies\x20of\x20its\x20own,\x20immutable,\x20with\x20reputation).\x20Rely\x20on\x20a\x20terminal\x20guard,\x20not\x20one\x20with\x20its\x20own\x20dependencies'},'guard:7':{'error_code':'invalid_parameter','recovery_hint':'A\x20Guard\x20cannot\x20depend\x20on\x20itself.\x20Remove\x20the\x20self-reference\x20from\x20the\x20relies\x20list'},'guard:9':{'error_code':'invalid_parameter','recovery_hint':'The\x20submission\x20identifier\x27s\x20object\x20type\x20does\x20not\x20match\x20the\x20Guard\x20table\x20entry.\x20Check\x20each\x20identifier\x27s\x20type\x20against\x20the\x20Guard\x27s\x20table'},'guard:10':{'error_code':'invalid_parameter','recovery_hint':'The\x20identifiers\x20and\x20values\x20vectors\x20must\x20have\x20equal\x20lengths.\x20Align\x20the\x20counts'},'guard:11':{'error_code':'guard_rejected','recovery_hint':'The\x20submission\x20identifier\x20is\x20not\x20in\x20the\x20Guard\x27s\x20table.\x20Query\x20the\x20Guard\x27s\x20table\x20identifiers\x20and\x20submit\x20a\x20valid\x20one'},'guard:13':{'error_code':'invalid_parameter','recovery_hint':'The\x20Guard\x20table\x20uses\x20a\x20protocol-reserved\x20identifier\x20(221-253).\x20Move\x20the\x20entry\x20to\x20a\x20user\x20slot\x20(0-220);\x20identifiers\x20254/255\x20are\x20reserved\x20for\x20allocation\x20replay\x20protection'},'guard:14':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'A\x20Guard\x20table\x20item\x20was\x20submitted\x20with\x20an\x20EMPTY\x20value.\x20Every\x20table\x20item\x20must\x20carry\x20[type_tag,\x20bcs(value)]\x20bytes\x20—\x20e.g.\x20[1,\x20<32-byte\x20address>]\x20for\x20an\x20address\x20constant.\x20Rebuild\x20the\x20guard\x20with\x20non-empty\x20item\x20values'},'allocation:7':{'error_code':'pool_shortage','retryable':![],'recovery_hint':'The\x20ALLOCATION\x27s\x20pool\x20(an\x20on-chain\x20object)\x20cannot\x20cover\x20its\x20configured\x20split\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help,\x20and\x20re-sending\x20the\x20rail\x20changes\x20nothing.\x20If\x20this\x20rail\x20was\x20EXPECTED\x20to\x20pay\x20(settlement/refund),\x20the\x20payer\x20side\x20must\x20fund\x20the\x20order/allocation\x20first\x20(order\x20renew,\x20payment\x20create\x20into\x20the\x20allocation)\x20and\x20only\x20then\x20re-run\x20the\x20rail.\x20If\x20the\x20pool\x20is\x20drained\x20because\x20the\x20rail\x20ALREADY\x20paid\x20(once-slot\x20consumed,\x20balance\x200),\x20treat\x20the\x20rail\x20as\x20spent\x20and\x20verify\x20via\x20the\x20Payment\x20record\x20instead\x20of\x20retrying'},'allocation:5':{'error_code':'invalid_parameter','recovery_hint':'Multiple\x20surplus\x20entries\x20are\x20not\x20supported.\x20Provide\x20at\x20most\x20one\x20surplus\x20entry\x20in\x20the\x20allocation'},'allocation:8':{'error_code':'state_conflict','recovery_hint':'No\x20allocators\x20are\x20configured\x20for\x20this\x20order.\x20The\x20merchant\x20must\x20configure\x20the\x20Service\x27s\x20allocation\x20first'},'allocation:9':{'error_code':'invalid_parameter','recovery_hint':'Payment\x20info\x20is\x20missing\x20for\x20the\x20allocation.\x20Supply\x20the\x20payment\x20parameters\x20required\x20by\x20the\x20order'},'allocation:12':{'error_code':'invalid_parameter','recovery_hint':'The\x20split\x20amount\x20is\x20below\x20the\x20allocator\x27s\x20minimum\x20threshold.\x20Raise\x20the\x20amount\x20or\x20remove\x20the\x20split'},'allocation:14':{'error_code':'state_conflict','retryable':![],'recovery_hint':'The\x20allocation\x20distributed\x20zero\x20value:\x20its\x20pool\x20is\x20empty\x20(already\x20fully\x20distributed,\x20or\x20the\x20order\x20total\x20was\x20discounted\x20to\x20zero\x20—\x20e.g.\x20a\x20coupon\x20covering\x20the\x20full\x20amount).\x20This\x20is\x20a\x20legitimate\x20outcome\x20for\x20zero-total\x20orders;\x20do\x20NOT\x20retry\x20the\x20allocation,\x20it\x20cannot\x20change\x20this.\x20If\x20funds\x20WERE\x20expected,\x20check\x20upstream:\x20whether\x20the\x20order\x27s\x20payments\x20actually\x20funded\x20this\x20Allocation\x27s\x20pool\x20before\x20the\x20allocation\x20ran.\x20CAVEAT\x20(F-M10,\x20crsm-mn-261017\x20—\x20replayed\x20submissions):\x20if\x20this\x20abort\x20arrived\x20on\x20a\x20RETRIED\x20submission,\x20the\x20FIRST\x20attempt\x20may\x20have\x20ALREADY\x20LANDED\x20(a\x20zero\x20balance\x20is\x20exactly\x20what\x20a\x20completed\x20distribution\x20looks\x20like).\x20Verify\x20before\x20concluding\x20nothing\x20happened:\x20read\x20the\x20Allocation\x20balance\x20and\x20look\x20for\x20an\x20emitted\x20Payment\x20(onchain_received\x20/\x20onchain_objects)\x20—\x20never\x20re-send\x20or\x20rebuild\x20from\x20this\x20abort\x20alone'},'allocation:15':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20GuardIdentifier\x20recipient\x20address\x20submitted\x20via\x20the\x20passport\x20does\x20not\x20match\x20the\x20Allocation\x27s\x20payment_info.for_object\x20anchor.\x20Present\x20a\x20passport\x20whose\x20recipient\x20identifier\x20submits\x20exactly\x20the\x20anchored\x20object\x20address\x20(or\x20redesign\x20the\x20guard\x20so\x20its\x20submission\x20is\x20constrained\x20to\x20that\x20address);\x20the\x20anchor\x20itself\x20cannot\x20be\x20changed\x20after\x20create'},'allocation:16':{'error_code':'state_conflict','retryable':![],'recovery_hint':'A\x20once-trigger\x20key\x20has\x20already\x20been\x20consumed\x20on\x20this\x20Allocation.\x20TWO\x20slots\x20share\x20this\x20code\x20—\x20diagnose\x20by\x20the\x20guard\x27s\x20declared\x20submission:\x20identifier\x20255\x20(byte\x20key\x20=\x20raw\x20submission;\x20a\x20fresh\x20key,\x20e.g.\x20a\x20new\x20order\x20address,\x20makes\x20the\x20pass\x20distinct)\x20or\x20identifier\x20254\x20(chain-derived\x20key\x20=\x20bcs(payment_info.for_object);\x20the\x20submission\x20bytes\x20are\x20IGNORED,\x20so\x20a\x20new\x20key\x20is\x20impossible\x20—\x20on\x20a\x20refund-style\x20rail\x20this\x20254\x20replay\x20usually\x20surfaces\x20as\x20the\x20EMPTIED-POOL\x20abort\x2014\x20FIRST\x20(EZERO\x20precedes\x20once\x20bookkeeping\x20at\x20allocation.move:418),\x20with\x2016\x20only\x20visible\x20when\x20a\x20residual\x20balance\x20keeps\x20the\x20pool\x20alive).\x20A\x20REFUND\x20rail\x20must\x20not\x20arm\x20254\x20at\x20all:\x20pay\x20the\x20submitted\x20Order\x20through\x20user\x20slot\x200\x20(extracted\x20by\x20the\x20Order\x27s\x20owner-claim\x20entry)\x20and\x20let\x20once-ness\x20come\x20from\x20the\x20terminal\x20topology\x20(OFN\x20#P-04;\x20the\x20shipped\x20templates\x20were\x20swept\x20254\x20to\x200\x20in\x20v89).\x20If\x20this\x20allocator\x20is\x20meant\x20to\x20run\x20repeatedly,\x20omit\x20the\x20once\x20submission\x20from\x20the\x20guard'},'allocation:17':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'One\x20allocator\x20cannot\x20mix\x20net\x20Rate\x20and\x20RateGross\x20entries\x20(their\x20rate\x20bases\x20differ).\x20Split\x20the\x20rate\x20entries\x20into\x20separate\x20allocators\x20—\x20one\x20for\x20net\x20Rate\x20(basis:\x20pool\x20minus\x20fix)\x20and\x20one\x20for\x20RateGross\x20(basis:\x20full\x20pool)'},'allocation:18':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'This\x20allocator\x20has\x20a\x20fixed\x20Amount\x20total\x20together\x20with\x20RateGross\x20entries\x20but\x20no\x20max\x20cap,\x20so\x20its\x20payability\x20cannot\x20be\x20guaranteed\x20—\x20uncapped,\x20the\x20RateGross\x20base\x20is\x20the\x20runtime\x20order\x20total,\x20meaning\x20the\x20same\x20plan\x20succeeds\x20on\x20a\x20large\x20order\x20and\x20aborts\x20on\x20a\x20small\x20one.\x20Fix\x20by\x20setting\x20a\x20max\x20that\x20fits\x20(fix\x20x\x2010000\x20+\x20sum(rates)\x20x\x20max\x20<=\x20max\x20x\x2010000),\x20moving\x20the\x20RateGross\x20entries\x20into\x20their\x20own\x20allocator,\x20or\x20expressing\x20the\x20plan\x20as\x20Amount\x20+\x20Surplus.\x20Note\x20that\x20a\x20max\x20makes\x20the\x20plan\x20provable\x20at\x20configuration\x20time\x20but\x20does\x20not\x20fund\x20it\x20—\x20the\x20pool\x20must\x20still\x20hold\x20the\x20payout\x20when\x20the\x20allocation\x20runs'},'allocation:19':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x20passed\x20to\x20the\x20allocation\x20is\x20not\x20bound\x20to\x20any\x20of\x20its\x20allocators,\x20so\x20nothing\x20was\x20distributed.\x20Guards\x20are\x20per-Service,\x20so\x20a\x20guard\x20belonging\x20to\x20another\x20Service\x27s\x20Allocation\x20is\x20always\x20unbound\x20here\x20—\x20check\x20the\x20guard\x20against\x20this\x20specific\x20allocation\x27s\x20declared\x20allocators.\x20Do\x20NOT\x20retry\x20with\x20the\x20same\x20guard:\x20it\x20will\x20keep\x20matching\x20nothing.\x20Note\x20this\x20used\x20to\x20succeed\x20silently\x20with\x20no\x20funds\x20moved,\x20so\x20if\x20you\x20observed\x20an\x20earlier\x20\x27successful\x27\x20allocation\x20with\x20a\x20non-zero\x20receipt\x20expectation,\x20that\x20call\x20distributed\x20nothing'},'allocation:20':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'order_allocators_append\x20requires\x20the\x20new\x20Allocators\x20to\x20be\x20a\x20pure\x20extension:\x20same\x20threshold,\x20same\x20length-or-longer,\x20and\x20every\x20existing\x20allocator\x20preserved\x20verbatim\x20as\x20a\x20prefix.\x20Rewriting\x20an\x20existing\x20allocator\x20or\x20changing\x20the\x20threshold\x20would\x20rewrite\x20history\x20for\x20orders\x20already\x20in\x20flight\x20—\x20keep\x20the\x20existing\x20prefix\x20intact\x20and\x20only\x20append\x20new\x20allocators'},'allocation:21':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20guard\x20submitted\x20the\x20reserved\x20identifier\x20254\x20(once-per-bound-object),\x20but\x20this\x20Allocation\x27s\x20payment_info\x20has\x20no\x20for_object\x20binding,\x20so\x20the\x20chain\x20cannot\x20derive\x20the\x20once-key.\x20Either\x20recreate\x20the\x20Allocation\x20with\x20payment_info\x20bound\x20to\x20the\x20target\x20object\x20(e.g.\x20the\x20paying\x20order),\x20or\x20use\x20identifier\x20255\x20with\x20an\x20explicit\x20byte\x20key\x20instead\x20of\x20254'},'allocation:24':{'error_code':'invalid_parameter','retryable':![],'recovery_hint':'The\x20pricing\x20spec\x20could\x20not\x20be\x20bound:\x20the\x20selector\x20is\x20neither\x20record-count\x20(0)\x20nor\x20value-sum\x20(1),\x20the\x20allocator/slot\x20index\x20is\x20outside\x20the\x20declared\x20plan,\x20or\x20the\x20targeted\x20sharing\x20slot\x20is\x20not\x20a\x20Formula\x20leg.\x20Query\x20the\x20Allocation\x27s\x20allocator\x20list,\x20address\x20an\x20existing\x20Formula\x20slot\x20(indexes\x20from\x200),\x20and\x20retry\x20—\x20binding\x20replaces\x20any\x20previous\x20spec\x20for\x20that\x20slot'},'transfer:0':{'error_code':'invalid_parameter','recovery_hint':'A\x20shared\x20non-new\x20object\x20was\x20passed\x20where\x20only\x20newly-created\x20objects\x20are\x20allowed'},'transfer:3':{'error_code':'state_conflict','recovery_hint':'The\x20receipt\x20(Receiving)\x20does\x20not\x20match\x20the\x20chain:\x20it\x20must\x20carry\x20the\x20object\x27s\x20CURRENT\x20version\x20and\x20digest\x20and\x20the\x20exact\x20parent\x20it\x20is\x20held\x20under.\x20Re-read\x20the\x20parent\x20object\x20and\x20rebuild\x20the\x20receipt\x20—\x20switching\x20accounts\x20cannot\x20help,\x20and\x20no\x20funds\x20moved\x20on\x20this\x20abort'},'coin:3':{'error_code':'state_conflict','recovery_hint':'The\x20operation\x20is\x20disallowed\x20while\x20the\x20coin\x20is\x20globally\x20paused.\x20Wait\x20for\x20the\x20pause\x20to\x20be\x20lifted'},'kiosk:4':{'error_code':'state_conflict','recovery_hint':'The\x20item\x20is\x20listed\x20exclusively\x20on\x20another\x20marketplace.\x20Delist\x20it\x20there\x20before\x20this\x20operation'},'token:5':{'error_code':'insufficient_balance','recovery_hint':'The\x20token\x20balance\x20cannot\x20be\x20consumed\x20(a\x20locked\x20portion\x20exists).\x20Unlock\x20or\x20acquire\x20more\x20balance\x20first'},'package:0':{'error_code':'invalid_parameter','recovery_hint':'Not\x20a\x20one-time\x20witness\x20—\x20the\x20module\x20initializer\x20pattern\x20is\x20invalid'},'package:1':{'error_code':'invalid_parameter','recovery_hint':'The\x20witness\x20is\x20too\x20permissive\x20for\x20this\x20operation'},'package:4':{'error_code':'invalid_parameter','recovery_hint':'Wrong\x20upgrade\x20cap\x20for\x20this\x20package\x20upgrade'},'balance:2':{'error_code':'insufficient_balance'},'kiosk:2':{'error_code':'insufficient_balance'},'transfer_policy:5':{'error_code':'insufficient_balance'},'token:7':{'error_code':'immutable_violation','recovery_hint':'This\x20token\x20operation\x20requires\x20the\x20immutable\x20confirmation\x20flow\x20to\x20be\x20completed\x20first.\x20Run\x20the\x20token\x27s\x20immutable\x20confirm,\x20then\x20retry'},'u64:1':{'error_code':'invalid_parameter','recovery_hint':'Arithmetic\x20overflow\x20—\x20the\x20computed\x20value\x20exceeds\x20u64.\x20Reduce\x20the\x20amounts'},'u64:2':{'error_code':'invalid_parameter','recovery_hint':'Arithmetic\x20underflow\x20—\x20the\x20computed\x20value\x20goes\x20below\x20zero.\x20Check\x20the\x20subtraction\x20inputs'},'u64:3':{'error_code':'invalid_parameter','recovery_hint':'Division\x20by\x20zero\x20—\x20the\x20divisor\x20is\x20zero.\x20Guard\x20the\x20divisor\x20before\x20dividing'},'u64:4':{'error_code':'invalid_parameter','recovery_hint':'Modulo\x20by\x20zero\x20—\x20the\x20divisor\x20is\x20zero.\x20Guard\x20the\x20divisor\x20before\x20the\x20modulo'},'bcs:0':{'error_code':'bcs_error','recovery_hint':'BCS\x20value\x20out\x20of\x20range'},'bcs:1':{'error_code':'bcs_error','recovery_hint':'BCS\x20value\x20is\x20not\x20a\x20bool'},'bcs:2':{'error_code':'bcs_error','recovery_hint':'BCS\x20length\x20out\x20of\x20range'},'address:0':{'error_code':'invalid_parameter','recovery_hint':'Address\x20parse\x20error\x20—\x20the\x20byte\x20length\x20is\x20not\x2032'},'hex:0':{'error_code':'invalid_parameter','recovery_hint':'Invalid\x20hex\x20length'},'hex:1':{'error_code':'invalid_parameter','recovery_hint':'Not\x20a\x20valid\x20hex\x20character'}};function canonicalDefaultFor(a){const b=ERROR_RULES['find'](c=>c['error_code']===a);if(b)return{'retryable':b['retryable'],'recovery_hint':b['recovery_hint']};return{'retryable':![],'recovery_hint':'Inspect\x20the\x20full\x20error\x20message;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'};}function classifyMoveAbort(a){const b=MOVE_ABORT_ERROR_MAP[a['module']+':'+a['code']];if(!b)return undefined;const c=canonicalDefaultFor(b['error_code']),d=b['recovery_hint']??c['recovery_hint'],e={'error_code':b['error_code'],'retryable':b['retryable']??c['retryable'],'recovery_hint':a['description']&&!d['includes'](a['description'])?d+'.\x20Details:\x20'+a['description']:d,'move_abort_info':a};return e;}function isWowokSystemAddress(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['replace'](/^0+(?=.)/,'');return b==='1'||b==='2';}export function normalizeErrorMessage(a){if(typeof a==='string')return a;if(a&&typeof a==='object'){const b=a;if(typeof b['message']==='string'&&b['message'])return b['message'];if(typeof b['error']==='string'&&b['error'])return b['error'];try{return JSON['stringify'](a);}catch{return String(a);}}if(a===undefined||a===null)return'';return String(a);}function extractMoveAbortInfo(a){const b=normalizeErrorMessage(a);if(!b)return undefined;const c=b['match'](/MoveAbort\(.*,\s*(\d+)\s*\)/),d=b['match'](/name:\s*Identifier\("([^"]+)"\)/),e=b['match'](/address:\s*([0-9a-fA-Fx]+)/);if(c&&d&&e){const i=parseInt(c[0x1],0xa),j=d[0x1]['toLowerCase'](),k=e[0x1]['toLowerCase']();if(isWowokSystemAddress(k)){const l=getMoveErrorDescription(j,i)??undefined;return{'module':j,'code':i,'description':l};}}const f=b['match'](/abort code:\s*(\d+)/),g=b['match'](/'0x[0-9a-fA-F]+::([^:]+)::[^']+'/),h=b['match'](/'(0x[0-9a-fA-F]+)::/);if(f&&g&&h){const m=parseInt(f[0x1],0xa),n=g[0x1]['toLowerCase'](),o=h[0x1]['toLowerCase']();if(isWowokSystemAddress(o)){const p=getMoveErrorDescription(n,m)??undefined;return{'module':n,'code':m,'description':p};}}return undefined;}function collectCauseText(a){const b=[];let c=a;for(let d=0x0;d<0x3;d++){if(!c||typeof c!=='object')break;const e=c['cause'];if(!e)break;const f=normalizeErrorMessage(e);if(f&&!b['includes'](f))b['push'](f);c=e;}return b['length']>0x0?b['join']('\x20|\x20'):undefined;}export function classifyError(a,b){const c=normalizeErrorMessage(a),d=extractMoveAbortInfo(c),e=collectCauseText(a)??collectCauseText(b);if(d){const i=classifyMoveAbort(d);if(i)return i;}if(b!==undefined&&isWException(b)){const j=classifyWException(b);if(j){if(j['error_code']==='invalid_parameter'){const k=''+String(b['details']??''),l=ERROR_RULES[0x0],m=l['detail_overrides']?.['find'](n=>n['patterns']['some'](q=>q['test'](k)));m&&(j['error_code']=m['error_code'],j['retryable']=m['retryable']??j['retryable'],j['recovery_hint']=m['recovery_hint']??j['recovery_hint']);}return d&&(j['move_abort_info']=d,d['description']&&j['recovery_hint']&&!j['recovery_hint']['includes'](d['description'])&&(j['recovery_hint']=j['recovery_hint']+'.\x20Details:\x20'+d['description'])),j;}}if(!c)return{'error_code':'unknown','retryable':![]};const f=d?.['description']?c+'\x0a'+d['description']:c,g=e?f+'\x0a'+e:f;for(const n of ERROR_RULES){const o=n['patterns']['find'](u=>u['test'](g));if(!o)continue;let p=n['error_code'],q=n['retryable'],r=n['recovery_hint'];if(n['detail_overrides']){const u=f['match'](o),v=u?f['slice'](u['index']+u[0x0]['length']):'',w=n['detail_overrides']['find'](x=>x['patterns']['some'](y=>y['test'](v)));w&&(p=w['error_code'],q=w['retryable']??n['retryable'],r=w['recovery_hint']??n['recovery_hint']);}const s={'error_code':p,'retryable':q,'recovery_hint':r};let t=![];if(p==='submission_unknown'&&!d&&e){const x=extractMoveAbortInfo(e);x&&(s['move_abort_info']=x,t=!![]);}if(d)s['move_abort_info']=s['move_abort_info']??d;if(s['move_abort_info']){if(t){const y=s['move_abort_info'],z=y['description']?y['description']+'\x20('+y['module']+'\x20abort\x20'+y['code']+')':y['module']+'\x20abort\x20'+y['code'];s['recovery_hint']='ROOT\x20CAUSE\x20SURFACED:\x20the\x20transport\x20wrap\x20hid\x20a\x20Move\x20abort\x20—\x20'+z+'.\x20An\x20abort\x20means\x20the\x20'+'transaction\x20EXECUTED\x20and\x20its\x20effects\x20ROLLED\x20BACK\x20(nothing\x20was\x20committed):\x20skip\x20commit-state\x20'+'verification,\x20fix\x20the\x20abort\x20cause,\x20and\x20resubmit\x20as\x20a\x20FRESH\x20call.\x20'+s['recovery_hint'];}else{if(s['move_abort_info']['description']){const A=s['recovery_hint'];(A===undefined||!A['includes'](s['move_abort_info']['description']))&&(s['recovery_hint']=(A?A+'.\x20':'')+'Details:\x20'+s['move_abort_info']['description']);}}}return s;}const h={'error_code':'unknown','retryable':![],'recovery_hint':'Inspect\x20the\x20full\x20error\x20message;\x20consult\x20wowok-tools\x20Skill\x20for\x20the\x20operation\x27s\x20requirements'};return d&&(h['move_abort_info']=d,d['description']&&(h['recovery_hint']=d['description']+'.\x20'+h['recovery_hint'])),h;}const INTENT_RULES=[{'operation_type':'service','signals':a=>a?.['publish']===!![],'intent':'publish_service','confidence':0.95},{'operation_type':'service','signals':a=>a?.['name']&&a?.['publish']===undefined,'intent':'create_service','confidence':0.9},{'operation_type':'service','intent':'modify_service','confidence':0.7},{'operation_type':'machine','intent':'configure_machine','confidence':0.9},{'operation_type':'progress','intent':'update_progress','confidence':0.9},{'operation_type':'order','signals':a=>a?.['arb_confirm']!==undefined||a?.['arb_objection']!==undefined||a?.['arb_claim_compensation']!==undefined,'intent':'apply_arbitration','confidence':0.9},{'operation_type':'order','intent':'manage_order','confidence':0.85},{'operation_type':'payment','signals':a=>a?.['receive']===!![],'intent':'claim_escrow_payment','confidence':0.95},{'operation_type':'payment','intent':'send_payment','confidence':0.9},{'operation_type':'reward','intent':'manage_reward','confidence':0.9},{'operation_type':'demand','intent':'post_demand','confidence':0.9},{'operation_type':'treasury','intent':'manage_treasury','confidence':0.9},{'operation_type':'allocation','intent':'allocate_funds','confidence':0.9},{'operation_type':'permission','intent':'manage_permission','confidence':0.9},{'operation_type':'guard','intent':'configure_guard','confidence':0.9},{'operation_type':'arbitration','intent':'manage_arbitration','confidence':0.9},{'operation_type':'contact','intent':'manage_contact','confidence':0.9},{'operation_type':'repository','intent':'manage_repository','confidence':0.9},{'operation_type':'personal','intent':'manage_personal','confidence':0.9},{'operation_type':'gen_passport','intent':'generate_passport','confidence':0.95},{'operation_type':'proof','intent':'create_proof','confidence':0.9},{'operation_type':'gen_proof','intent':'generate_proof','confidence':0.95},{'operation_type':'bridge_cross_chain_wow_to_evm','intent':'cross_chain_wow_to_evm_deposit','confidence':0.95},{'operation_type':'bridge_cross_chain_evm_to_wow','intent':'cross_chain_evm_to_wow_deposit','confidence':0.95},{'operation_type':'bridge_claim_wow_to_evm','intent':'claim_wow_to_evm','confidence':0.95},{'operation_type':'bridge_withdraw','intent':'withdraw_from_evm_account','confidence':0.9},{'operation_type':'bridge_query_active_evm_account','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_supported_evm_chains','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_supported_tokens','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_transfer_list','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_query_transfer_status','intent':'query_bridge_status','confidence':0.85},{'operation_type':'bridge_manage_evm_rpc','intent':'manage_evm_rpc','confidence':0.9},{'operation_type':'account_new','intent':'create_account','confidence':0.95},{'operation_type':'account_faucet','intent':'claim_faucet','confidence':0.95},{'operation_type':'account_balance','intent':'query_balance','confidence':0.9},{'operation_type':'mark_add','intent':'create_local_mark','confidence':0.9},{'operation_type':'mark_remove','intent':'remove_local_mark','confidence':0.9},{'operation_type':'mark_query','intent':'query_local_marks','confidence':0.9},{'operation_type':'local_info','intent':'query_local_info','confidence':0.9},{'operation_type':'query_toolkit','intent':'query_objects','confidence':0.85},{'operation_type':'onchain_events','intent':'query_events','confidence':0.85},{'operation_type':'onchain_table_data','intent':'query_table_data','confidence':0.85}];export function inferIntent(a,b){const c=INTENT_RULES['filter'](f=>f['operation_type']===a),d=c['find'](f=>f['signals']&&f['signals'](b));if(d)return d['intent'];const e=c['find'](f=>!f['signals']);return e?.['intent']??a;}function inferStatus(a){if(a['kind']==='error')return'failed';if(a['kind']==='transaction')return a['executed']?'success':'failed';return'success';}const OBJECT_TYPE_TO_ROLE={'service':'Service','machine':'Machine','progress':'Progress','permission':'Permission','guard':'Guard','order':'Order','arb':'ArbCase','arbitration':'Arbitration','messenger':'Messenger','contact':'Contact','demand':'Demand','reward':'Reward','personal':'Personal','repository':'Repository','treasury':'Treasury','discount':'Discount','allocation':'Allocation','payment':'Payment','passport':'Passport','proof':'Proof'};export function objectTypeToRole(a){if(!a)return'Other';const b=a['replace'](/<.*>/,'')['trim'](),c=b['split']('::'),d=(c[c['length']-0x1]||'')['toLowerCase']();return OBJECT_TYPE_TO_ROLE[d]??'Other';}export function tagObjectRoles(a){if(!Array['isArray'](a))return[];return a['filter'](b=>b&&(b['objectId']||b['object']?.['objectId']))['map'](b=>{const d=b['objectId']||b['object']?.['objectId'],e=b['objectType']||b['object']?.['objectType']||'',f=b['type']||'';return{'id':d,'role':objectTypeToRole(e),'immutable':e['includes']('Service')&&f==='published'};});}const GAS_COIN_PATTERNS=[/::wow::WOW$/i],SMALL_AMOUNT_THRESHOLD=BigInt(0xf4240);function isNegative(a){return String(a??'0')['startsWith']('-');}function hasEventMatch(a,b){if(!Array['isArray'](a))return![];return a['some'](c=>b['test'](String(c?.['type']??c?.['event_type']??'')));}function isGasCoin(a){if(!a)return![];return GAS_COIN_PATTERNS['some'](b=>b['test'](a));}function absAmount(a){try{return BigInt(String(a)['replace']('-','')||'0');}catch{return BigInt(0x0);}}const FUND_ROLE_RULES=[{'when':a=>hasEventMatch(a['events'],/order::OrderPaidEvent/i),'role':'payment','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/order::OrderRefundedEvent|order::RefundEvent/i),'role':'refund','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/reward::RewardClaimedEvent|reward::ClaimedEvent/i),'role':'reward','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/arbitration::CompensationEvent|arbitration::RefundEvent/i),'role':'compensation','confidence':0.9},{'when':a=>hasEventMatch(a['events'],/treasury::DepositEvent/i),'role':'deposit','confidence':0.95},{'when':a=>hasEventMatch(a['events'],/treasury::WithdrawEvent|treasury::ReleaseEvent/i),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='payment'&&a['data']?.['receive']===!![],'role':'release','confidence':0.95},{'when':a=>a['operation_type']==='payment'&&isNegative(a['amount']),'role':'payment','confidence':0.95},{'when':a=>a['operation_type']==='payment'&&!isNegative(a['amount']),'role':'refund','confidence':0.9},{'when':a=>a['operation_type']==='reward'&&isNegative(a['amount']),'role':'reward','confidence':0.95},{'when':a=>a['operation_type']==='reward'&&!isNegative(a['amount']),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='treasury'&&isNegative(a['amount']),'role':'deposit','confidence':0.95},{'when':a=>a['operation_type']==='treasury'&&!isNegative(a['amount']),'role':'release','confidence':0.9},{'when':a=>a['operation_type']==='allocation'&&isNegative(a['amount']),'role':'payment','confidence':0.85},{'when':a=>a['operation_type']==='allocation'&&!isNegative(a['amount']),'role':'release','confidence':0.85},{'when':a=>a['operation_type']==='arbitration'&&(a['data']?.['compensation']!==undefined||a['data']?.['arb']===!![]),'role':'compensation','confidence':0.9},{'when':a=>a['operation_type']==='order'&&isNegative(a['amount'])&&a['data']?.['buy']!==undefined,'role':'payment','confidence':0.9},{'when':a=>a['operation_type']==='order'&&!isNegative(a['amount'])&&(a['data']?.['refund']!==undefined||a['data']?.['arb']!==undefined),'role':'refund','confidence':0.85},{'when':a=>{if(isNegative(a['amount']))return![];const b=absAmount(a['amount']);return isGasCoin(a['coinType'])&&b>BigInt(0x0)&&b<SMALL_AMOUNT_THRESHOLD;},'role':'gas','confidence':0.7},{'when':a=>{if(isNegative(a['amount']))return![];return a['sender']!==undefined&&a['recipient']!==undefined&&a['sender']===a['recipient']&&a['sender']!=='';},'role':'change','confidence':0.7},{'when':a=>isNegative(a['amount']),'role':'payment','confidence':0.7},{'when':a=>!isNegative(a['amount'])&&absAmount(a['amount'])===BigInt(0x0),'role':'other','confidence':0.5},{'when':a=>!isNegative(a['amount']),'role':'release','confidence':0.7},{'when':()=>!![],'role':'other','confidence':0.3}];export function tagFundRoles(a,b,c,d){if(!Array['isArray'](a))return[];return a['filter'](e=>e&&(e['amount']!==undefined||e['coinType']))['map'](e=>{const f={'operation_type':b,'amount':String(e['amount']??'0'),'coinType':e['coinType'],'data':c??{},'events':d,'sender':e['sender'],'recipient':e['recipient']},g=FUND_ROLE_RULES['find'](i=>i['when'](f)),h=g?.['role']??'other';return{'amount':f['amount'],'coinType':e['coinType']||'','role':h,'from':e['sender']??null,'to':e['recipient']??null};});}const EVENT_SEMANTIC_RULES=EVENT_SEMANTIC_REGISTRY['map'](a=>({'pattern':new RegExp(a['move_type']['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),'i'),'business_meaning':a['business_meaning'],'category':a['category'],'side_effect':a['side_effect']}));function extractRelatedObject(a){if(!a||typeof a!=='object')return undefined;const b=a['fields']??a['payload']??a;if(typeof b!=='object')return undefined;for(const c of['object','object_id','objectId','parent','demand','service','order','machine','payment','progress','arb','allocation','resource','id']){const d=b[c];if(typeof d==='string'&&d['startsWith']('0x')&&d['length']>=0x6)return d;}return undefined;}const BUILTIN_EVENT_TYPE_MAP=Object['fromEntries'](EVENT_SEMANTIC_REGISTRY['map'](a=>[a['name'],a['move_type']]));export function eventToSemantic(a){const b=String(a?.['type']??a?.['event_type']??''),c=String(a?.['type_raw']??''),d=[c,b,BUILTIN_EVENT_TYPE_MAP[b]??'']['filter'](Boolean),e=EVENT_SEMANTIC_RULES['find'](h=>d['some'](i=>h['pattern']['test'](i)));if(!e)return{'event_type':b,'business_meaning':'Unknown\x20event','category':'other'};const f=e['extractRelatedObject']?e['extractRelatedObject'](a):extractRelatedObject(a),g={'event_type':b,'business_meaning':e['business_meaning'],'category':e['category']};if(f)g['related_object']=f;if(e['side_effect'])g['side_effect']=e['side_effect'];return g;}export function annotateEvents(a){if(!Array['isArray'](a))return[];return a['map'](eventToSemantic);}export function referencesExistingObject(a){return typeof a?.['object']==='string';}function evidenceHolds(a,b,c){switch(a){case'receipt':return c?c['executed']:!![];case'chain_read':return!![];case'creation_only':return!referencesExistingObject(b);}}const NEXT_ACTION_RULES=[{'when':a=>a==='service','evidence':'creation_only','action':'publish\x20the\x20Service\x20when\x20configuration\x20is\x20complete','reason':'Service\x20must\x20be\x20published\x20before\x20customers\x20can\x20order','tool':'onchain_operations\x20(service\x20with\x20publish:true)','priority':'recommended'},{'when':a=>a==='service','evidence':'creation_only','action':'add\x20Machine\x20nodes\x20to\x20define\x20the\x20service\x20workflow','reason':'Machine\x20drives\x20order\x20state\x20transitions','tool':'onchain_operations\x20(machine)','priority':'recommended'},{'when':a=>a==='machine','evidence':'receipt','action':'bind\x20Progress\x20to\x20track\x20order\x20execution','reason':'Progress\x20provides\x20customer-visible\x20status\x20updates','tool':'onchain_operations\x20(progress)','priority':'recommended'},{'when':a=>a==='order','evidence':'receipt','action':'wait\x20for\x20customer\x20payment\x20or\x20proceed\x20to\x20allocation','reason':'Order\x20lifecycle:\x20payment\x20→\x20allocation\x20→\x20completion','priority':'optional'},{'when':(a,b)=>a==='order'&&b?.['transfer_to']!==undefined,'evidence':'receipt','action':'inform\x20the\x20end\x20customer\x20about\x20the\x20supplier/sub-contractor\x20who\x20will\x20fulfill\x20this\x20order','reason':'O-5\x20procurement\x20sub-order\x20transparency:\x20customers\x20have\x20the\x20right\x20to\x20know\x20who\x20fulfills\x20their\x20order','tool':'messenger_operation\x20(notify\x20customer)','priority':'recommended'},{'when':a=>a==='demand','evidence':'receipt','action':'wait\x20for\x20presenter\x20submissions\x20or\x20evaluate\x20existing\x20ones','reason':'Demand\x20lifecycle:\x20presenters\x20submit\x20solutions\x20for\x20reward','priority':'optional'},{'when':a=>a==='reward','evidence':'receipt','action':'deposit\x20funds\x20into\x20the\x20reward\x20pool','reason':'Reward\x20pool\x20must\x20be\x20funded\x20before\x20claimants\x20can\x20withdraw','tool':'onchain_operations\x20(treasury)','priority':'recommended'},{'when':a=>a==='bridge_cross_chain_wow_to_evm','evidence':'receipt','action':'poll\x20query_transfer_status\x20until\x20bridge\x20signs\x20(~1-5\x20min),\x20then\x20call\x20claim_wow_to_evm\x20to\x20complete','reason':'Cross-chain\x20WOW→EVM\x20is\x20a\x202-step\x20process:\x20deposit\x20first,\x20then\x20claim\x20after\x20bridge\x20confirmation','tool':'bridge_operation\x20(query_transfer_status,\x20then\x20claim_wow_to_evm)','priority':'required'},{'when':a=>a==='bridge_cross_chain_evm_to_wow','evidence':'receipt','action':'poll\x20query_transfer_status\x20to\x20monitor\x20auto-claim\x20progress\x20(~10-20\x20min)','reason':'EVM→WOW\x20cross-chain\x20auto-claims;\x20monitor\x20progress\x20but\x20no\x20manual\x20action\x20needed','tool':'bridge_operation\x20(query_transfer_status)','priority':'recommended'},{'when':a=>a==='bridge_claim_wow_to_evm','evidence':'receipt','action':'verify\x20recipient\x20EVM\x20balance\x20updated','reason':'Claim\x20completes\x20the\x20cross-chain\x20transfer;\x20verify\x20funds\x20arrived\x20on\x20EVM\x20side','tool':'bridge_operation\x20(query_active_evm_account)','priority':'recommended'},{'when':a=>a==='bridge_withdraw','evidence':'receipt','action':'verify\x20WOW\x20balance\x20updated','reason':'Withdrawal\x20moves\x20funds\x20from\x20active\x20EVM\x20account\x20to\x20WOW;\x20verify\x20balance','tool':'account_operation\x20(balance)','priority':'recommended'},{'when':a=>a==='account_new','evidence':'receipt','action':'claim\x20faucet\x20tokens\x20for\x20gas\x20if\x20on\x20testnet,\x20then\x20proceed\x20to\x20create\x20Service','reason':'New\x20account\x20needs\x20gas\x20tokens\x20before\x20on-chain\x20operations','tool':'account_operation\x20(faucet)','priority':'recommended'},{'when':a=>a==='account_faucet','evidence':'receipt','action':'proceed\x20to\x20create\x20Permission\x20and\x20Service\x20objects','reason':'Account\x20is\x20now\x20funded;\x20start\x20building\x20your\x20service','tool':'onchain_operations\x20(permission,\x20service)','priority':'recommended'},{'when':a=>a==='query_toolkit','evidence':'chain_read','action':'use\x20the\x20queried\x20object\x20data\x20to\x20plan\x20next\x20operations','reason':'Query\x20results\x20reveal\x20current\x20object\x20states\x20for\x20decision-making','priority':'optional'}];function inferNextActions(a,b,c,d){return NEXT_ACTION_RULES['filter'](e=>e['when'](a,b,c)&&evidenceHolds(e['evidence'],b,d))['map'](e=>({'action':e['action'],'reason':e['reason'],'tool':e['tool'],'priority':e['priority']}));}const WARNING_RULES=[{'when':(a,b)=>a==='service'&&b?.['order_allocators']===undefined,'evidence':'creation_only','message':'order_allocators\x20not\x20configured;\x20order\x20funds\x20cannot\x20be\x20distributed\x20automatically'},{'when':(a,b)=>a==='reward'&&(b?.['balance']==='0'||b?.['balance']===0x0),'evidence':'receipt','message':'Reward\x20pool\x20balance\x20is\x20zero;\x20claimants\x20cannot\x20withdraw'},{'when':(a,b)=>a==='order'&&b?.['transfer_to']!==undefined,'evidence':'receipt','message':'[TRANSPARENCY]\x20Order\x20ownership\x20is\x20being\x20transferred\x20(likely\x20to\x20a\x20supplier/sub-contractor).\x20'+'Ensure\x20the\x20end\x20customer\x20is\x20informed\x20about\x20who\x20fulfills\x20their\x20order\x20—\x20this\x20builds\x20trust\x20and\x20is\x20required\x20for\x20procurement\x20sub-orders.'}];function inferWarnings(a,b,c){return WARNING_RULES['filter'](d=>d['when'](a,b)&&evidenceHolds(d['evidence'],b,c))['map'](d=>d['message']);}function composeSummary(a,b,c,d,e){const f=a['replace'](/_/g,'\x20');if(b==='failed')return'Failed\x20to\x20'+f;if(b==='pending_input')return f+'\x20requires\x20Guard\x20submission\x20to\x20proceed';const g=[];if(c['length'])g['push']('created\x20'+c['length']+'\x20object(s)');if(d['length'])g['push']('modified\x20'+d['length']+'\x20object(s)');if(e['length']){if(a==='allocate_funds'){const h=e['map'](i=>{const j=i['amount'],k=shortCoinType(i['coinType']),l=i['to']?shortAddr(i['to']):null,m=i['from']?shortAddr(i['from']):null;if(l)return j+'\x20'+k+'\x20→\x20'+l;if(m)return j+'\x20'+k+'\x20from\x20'+m;return j+'\x20'+k;})['join'](';\x20');g['push']('distributed:\x20'+h);}else g['push'](e['length']+'\x20fund\x20movement(s)');}return'Successfully\x20'+f+(g['length']?'\x20('+g['join'](',\x20')+')':'');}function shortAddr(a){return formatShortAddress(a);}function shortCoinType(a){if(!a)return'coin';const b=a['split']('::');return b[b['length']-0x1]||a;}const ADVICE_PRIORITY_RANK={'required':0x0,'recommended':0x1,'info':0x2,'reminder':0x3};function evaluationFromPayload(a){const b=a?.['evaluation']??a?.['result']?.['evaluation'];return b&&typeof b==='object'&&b['trust']&&b['risk']&&Array['isArray'](b['coverage'])?b:undefined;}function dimensionEvidence(a){const c=[dimensionLabel(a['rule_id'])+'\x20'+a['score']+'/100'];if(a['reason'])c['push'](a['reason']);if(a['mismatched']&&a['mismatched']['length']>0x0)c['push']('missing/unmet:\x20'+a['mismatched']['join'](',\x20'));return a['reason']&&/\d+ further finding\(s\) on NEIGHBOR objects/i['test'](a['reason'])&&c['push']('SCOPE:\x20the\x20findings\x20listed\x20are\x20the\x20quoted\x20Service\x27s\x20own\x20structure\x20—\x20the\x20neighbor-object\x20findings\x20mentioned\x20are\x20a\x20folded\x20count\x20only\x20and\x20are\x20excluded\x20from\x20this\x20score'),c['join']('\x20—\x20');}function buildCustomerAdvice(a,c,d,e,f){if(!a407a('customer_intelligence'))return undefined;let g;if(a==='service'&&c?.['order_new'])g='preorder';else{if(a==='query_toolkit'||a==='onchain_table_data'||a==='onchain_events')g='browse';else return undefined;}const h=e??evaluationFromPayload(d);if(!h)return undefined;const i=[],j=(s,t,u,v)=>{i['push']({'id':s,'stage':g,'priority':t,'message':u,...v?{'action':v}:{}});},k=[...new Set([...h['trust']['red_flags']??[],...h['risk']['red_flags']??[]])];k['length']>0x0&&(f?j('advice_red_flags','required','Advisory\x20—\x20the\x20order\x20already\x20executed,\x20so\x20this\x20could\x20not\x20prevent\x20payment\x20('+k['length']+'\x20structural\x20red\x20flag(s)):\x20'+k['join'](';\x20')+'.\x20Raise\x20them\x20with\x20the\x20merchant\x20before\x20relying\x20on\x20the\x20order','Discuss\x20the\x20red\x20flags\x20with\x20the\x20merchant\x20via\x20Messenger;\x20for\x20future\x20orders\x20pick\x20another\x20service\x20if\x20unresolved'):j('advice_red_flags','required','Pre-payment\x20advisory\x20(the\x20gate\x20does\x20not\x20stop\x20the\x20payment)\x20—\x20'+k['length']+'\x20structural\x20red\x20flag(s):\x20'+k['join'](';\x20'),'Resolve\x20the\x20red\x20flags\x20with\x20the\x20merchant\x20or\x20pick\x20another\x20service\x20before\x20paying'));const l=(h['trust']['breakdown']??[])['filter'](s=>!s['red_flag']&&s['score']<0x46)['sort']((s,t)=>s['score']-t['score'])['slice'](0x0,0x2);for(const s of l){j('advice_trust_'+s['rule_id'],'recommended',dimensionEvidence(s),'Discuss\x20this\x20evidence\x20with\x20the\x20merchant\x20via\x20Messenger\x20before\x20ordering');}const m=(h['risk']['breakdown']??[])['filter'](t=>!t['red_flag']&&t['score']<0x64)['sort']((t,u)=>t['score']-u['score'])['slice'](0x0,0x2);for(const t of m){j('advice_risk_'+t['rule_id'],'recommended',dimensionEvidence(t),'Require\x20the\x20merchant\x20to\x20address\x20the\x20structural\x20findings\x20or\x20accept\x20the\x20stated\x20risk');}h['unverified']&&h['unverified']['length']>0x0&&j('advice_unverified','info','Unverifiable\x20dimensions\x20(excluded\x20from\x20the\x20score\x20due\x20to\x20fetch\x20gaps):\x20'+h['unverified']['map'](dimensionLabel)['join'](',\x20')+'\x20—\x20treat\x20them\x20as\x20unknown,\x20not\x20as\x20passed','Request\x20the\x20missing\x20material\x20from\x20the\x20merchant\x20or\x20verify\x20it\x20on-chain');for(const u of h['coverage']??[]){u['required']&&u['state']==='gap'&&j('advice_coverage_'+u['slot'],'info','Coverage\x20gap:\x20required\x20material\x20\x22'+u['slot']+'\x22\x20could\x20not\x20be\x20fetched\x20—\x20the\x20corresponding\x20evaluation\x20input\x20is\x20unknown');}i['length']===0x0&&j('advice_clean','info','No\x20adverse\x20findings\x20in\x20the\x20graph\x20evaluation\x20—\x20'+h['trust']['summary']+'\x20—\x20'+h['risk']['summary']);const n=[...i]['sort']((v,w)=>(ADVICE_PRIORITY_RANK[v['priority']]??0x9)-(ADVICE_PRIORITY_RANK[w['priority']]??0x9))['slice'](0x0,0x8),o=[];for(const v of n){if(v['action']&&!o['includes'](v['action']))o['push'](v['action']);}const p=getProfile(),q=p['risk_appetite']==='conservative'?0x46:p['risk_appetite']==='aggressive'?0x1e:0x32;return h['trust']['total']<q&&!o['some'](w=>w['includes']('below\x20your\x20risk\x20appetite'))&&o['push']('Trust\x20'+h['trust']['total']+'/100\x20is\x20below\x20your\x20risk\x20appetite\x20('+q+')\x20—\x20'+h['trust']['summary']),{'risk_score':h['risk']['total'],'risk_level':h['risk']['level'],'recommendations':o,'reminders':n};}function buildGuardAdvice(a,b,c,d){try{if(a==='guard')return buildGuardCreateAdvice(b);if(a==='gen_passport'){const f=d?.['passport_test'];if(f&&typeof f['result']==='boolean'){const i=f['result']===!![],j=(f['info']??[])['filter'](k=>k['impack']!==![]&&k['result']===![])['map'](k=>k['guard']);return{'current_round':'R8','test_result':{'status':i?'pass':'fail','passport_id':f['passport_id'],'failure_node':i?undefined:j['length']?'Guard\x20evaluated\x20false:\x20'+j['slice'](0x0,0x3)['join'](',\x20')+(j['length']>0x3?'\x20(+'+(j['length']-0x3)+'\x20more)':''):'Passport\x20result\x20is\x20false\x20on-chain','guard_results':f['info']?.['map'](k=>({'guard':k['guard'],'result':k['result']===!![],...k['impack']!==undefined?{'impack':k['impack']}:{}}))}};}const g=typeof c?.['error']==='string'?c['error']:undefined,h=g?'fail':'not_tested';return{'current_round':'R8','test_result':{'status':h,'passport_id':h==='fail'?undefined:c?.['passport'],'failure_node':g?g['slice'](0x0,0x78):'Guard\x20outcome\x20unknown\x20—\x20the\x20Passport\x20could\x20not\x20be\x20read\x20back\x20(dry-run\x20or\x20read\x20failure).\x20Query\x20the\x20Passport\x20object\x20or\x20re-run\x20without\x20dry_run\x20to\x20learn\x20the\x20real\x20result'}};}const e=typeof c?.['error']==='string'?c['error']:'';if(e['includes']('GUARD')||e['includes']('Guard')||e['includes']('guard'))return{'risk_warnings':['Guard\x20verification\x20failed:\x20'+e['slice'](0x0,0xc8),'Suggestion:\x20if\x20the\x20Guard\x20defines\x20submission\x20items,\x20check\x20that\x20the\x20submitted\x20data\x20matches\x20the\x20Guard\x20table\x20declaration\x20and\x20resubmit\x20via\x20call_with_submission;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20inspect\x20the\x20rule\x27s\x20conditions\x20(signer/query/state)\x20against\x20this\x20call,\x20or\x20query\x20the\x20Guard\x20definition\x20(guard2file)\x20to\x20see\x20which\x20condition\x20failed']};return undefined;}catch{return undefined;}}function trimGuardAdviceForCompact(a){const b={};if(a['current_round']!==undefined)b['current_round']=a['current_round'];if(a['puzzle_status']!==undefined)b['puzzle_status']=a['puzzle_status'];if(a['matched_scene']!==undefined)b['matched_scene']=a['matched_scene'];if(a['scene_description']!==undefined)b['scene_description']=a['scene_description'];if(a['suggested_patterns']!==undefined)b['suggested_patterns']=a['suggested_patterns']['slice'](0x0,0x5);if(a['risk_warnings']!==undefined)b['risk_warnings']=a['risk_warnings']['slice'](0x0,0xa);if(a['pending_questions']!==undefined)b['pending_questions']=a['pending_questions']['slice'](0x0,0x5);if(a['confirmation_text']!==undefined)b['confirmation_text']=a['confirmation_text']['slice'](0x0,0x190);if(a['risk_assessment']!==undefined){const {stakeholder_advice:c,...d}=a['risk_assessment'];b['risk_assessment']=d;}if(a['test_result']!==undefined){const {guard_results:e,...f}=a['test_result'];b['test_result']=f;}return b;}function buildGuardCreateAdvice(a){if(!a)return undefined;const b=convertCallDataToPuzzleInput(a),c=derivePuzzleFromCallData(b),d=getPuzzleStatusBooleans(c);let e,f,g;a['binding_hint']?.['action']&&(e=inferSceneFromAction(a['binding_hint']['action']),e&&(f=e['name'],g=e['special_constraints']));let h;const i=a['binding_hint']?.['rule_sentence']||a['binding_hint']?.['action']||'';if(i){const r=matchSemanticPattern(i);r['length']>0x0&&(h=r['map'](s=>s['id']+':\x20'+s['pattern_name']));}let j;try{const s=generateConfirmationText(c);!s['startsWith']('[Puzzle\x20incomplete]')&&(j=s);}catch{}let k;const l=getPendingQuestions(c);l['length']>0x0&&(k=l);let m;if(e){const t=mapSceneToObjectType(e);if(t){const u=GUARDQUERY['filter'](v=>v['objectType']===t)['slice'](0x0,0xa)['map'](v=>({'id':v['id'],'name':v['name'],'objectType':String(v['objectType']),'returnType':String(v['return']),'description':v['description']}));u['length']>0x0&&(m=u);}}const n=evaluateGuardDraft({'table':a['table']??[],'root':a['root'],'rely':a['rely']})['assessment'];let o,p;if(n){const v=getRiskSummary(n);o={'overall_risk':v['risk_count']>0x0?n['overall_risk']:'info','risk_count':v['risk_count'],'critical_count':v['critical_count'],'high_count':v['high_count'],'needs_human_review':v['needs_human_review'],'top_risks':v['top_risks'],'stakeholder_advice':n['stakeholder_advice']};const w=n['risks']['map'](x=>'['+x['level']['toUpperCase']()+']\x20'+x['title']+':\x20'+x['description']);w['length']>0x0&&(p=w);}const q={'current_round':'R7','puzzle_status':d};if(e)q['matched_scene']=e['id'];if(f)q['scene_description']=f;if(g)q['scene_constraints']=g;if(h)q['suggested_patterns']=h;if(m)q['available_queries']=m;if(p)q['risk_warnings']=p;if(k)q['pending_questions']=k;if(j)q['confirmation_text']=j;if(o)q['risk_assessment']=o;return q;}function convertCallDataToPuzzleInput(a){const b={};Array['isArray'](a['table'])&&(b['table']=a['table']['map'](c=>({'identifier':c['identifier'],'b_submission':c['b_submission'],'value_type':typeof c['value_type']==='string'?c['value_type']:String(c['value_type']),'value':convertValueSnapshot(c['value']),'name':c['name']??'','object_type':c['object_type']})));if(a['root']&&typeof a['root']==='object'){const c=a['root'];if(c['type']!=='file'&&c['type']!=='node')b['root']=convertNodeToSnapshot(a['root']);else c['type']==='node'&&a['root']['node']&&(b['root']=convertNodeToSnapshot(a['root']['node']));}a['rely']&&Array['isArray'](a['rely']['guards'])&&(b['rely']={'guards':a['rely']['guards']['map'](d=>typeof d==='string'?d:String(d)),'logic_or':a['rely']['logic_or']});if(a['binding_hint']){const d=a['binding_hint'],e={'action':d['action'],'host_object':d['host_object'],'binding_field':d['binding_field']};if(d['rule_sentence']!==undefined)e['rule_sentence']=d['rule_sentence'];if(d['failure_conditions']!==undefined)e['failure_conditions']=d['failure_conditions'];if(d['circular_reference']!==undefined)e['circular_reference']=d['circular_reference'];b['binding_hint']=e;}return b;}function convertNodeToSnapshot(a){if(!a||typeof a!=='object')return{'type':'unknown'};const b={'type':String(a['type']??'unknown')};typeof a['identifier']==='number'&&(b['identifier']=a['identifier']);a['query']!==undefined&&(b['query']=typeof a['query']==='number'?a['query']:String(a['query']));if(a['object']&&typeof a['object']==='object'){const c={'identifier':Number(a['object']['identifier'])};typeof a['object']['convert_witness']==='number'&&(c['convert_witness']=a['object']['convert_witness']),b['object']=c;}Array['isArray'](a['parameters'])&&(b['parameters']=a['parameters']['map'](d=>convertNodeToSnapshot(d)));if(typeof a['context']==='string'){const d=a['context'];(d==='Clock'||d==='Guard'||d==='Signer')&&(b['context']=d);}return Array['isArray'](a['nodes'])&&(b['nodes']=a['nodes']['map'](e=>convertNodeToSnapshot(e))),a['node']&&(b['node']=convertNodeToSnapshot(a['node'])),a['nodeLeft']&&(b['nodeLeft']=convertNodeToSnapshot(a['nodeLeft'])),a['nodeRight']&&(b['nodeRight']=convertNodeToSnapshot(a['nodeRight'])),b;}function convertValueSnapshot(a){if(a===undefined||a===null)return undefined;if(typeof a==='string'||typeof a==='number'||typeof a==='boolean')return a;if(Array['isArray'](a)){const b=a['every'](e=>typeof e==='string');if(b)return a;const c=a['every'](e=>typeof e==='number');if(c)return a;const d=a['every'](e=>typeof e==='boolean');if(d)return a;return JSON['stringify'](a);}return JSON['stringify'](a);}function mapSceneToObjectType(a){const b=a['host_object'];if(b==='Standalone')return undefined;return b;}export function buildSemantic(a,b){if(!b)return undefined;const c=inferIntent(b['operation_type'],b['data']),d=inferStatus(a),e=tagObjectRoles(a['created']),f=tagObjectRoles(a['modified']),g=tagFundRoles(a['balanceChanges'],b['operation_type'],b['data'],a['events']),h=annotateEvents(a['events']),i=inferNextActions(b['operation_type'],b['data'],d,a),j=inferWarnings(b['operation_type'],b['data'],a);b['pre_warnings']&&b['pre_warnings']['length']>0x0&&j['push'](...b['pre_warnings']);b['operation_type']==='gen_passport'&&b['passport_test']?.['result']===![]&&j['push']('PASSPORT\x20VERIFICATION\x20FAILED:\x20the\x20Passport\x20object\x20EXISTS\x20on-chain\x20'+('(existence\x20checks\x20and\x20has_verified\x20see\x20it:\x20'+(b['passport_test']['passport_id']??'id\x20unreadable')+')\x20')+'but\x20its\x20guard\x20evaluation\x20is\x20FALSE\x20—\x20it\x20is\x20NOT\x20a\x20valid\x20credential.\x20Do\x20NOT\x20use\x20it\x20for\x20'+'existence-based\x20authorization;\x20re-issue\x20it\x20with\x20submissions\x20that\x20satisfy\x20the\x20guard\x20rules.');let k;const l=a407a('experience_layer');if(l)try{const q=getExperienceFeedback(b['operation_type'],b['data'],c);q&&(k=q);const r=d==='success'?'success':d==='failed'?'failed':'partial',s=[...e,...f]['map'](u=>u['id'])['filter'](Boolean),t=inferErrorCodeForSignal(a);recordOperationOutcome(b['operation_type'],b['data'],c,r,t,s);}catch{}let m;if(a407a('industry_evolution'))try{const u=typeof b['data']?.['industry']==='string'&&b['data']['industry']['trim']()?b['data']['industry']['trim']():undefined;if(u&&!l){const v=d==='success'?{'success':!![]}:{'success':![],'error_code':inferErrorCodeForSignal(a)};recordIndustrySignal(u,{'type':b['operation_type'],'data':b['data']},v);}if(u){const w=injectEvolutionContext(undefined,u,deriveAdviceRole(b['operation_type'],b['data']));w&&(w['industry_signal']||w['evolution_advice']||w['confidence']>0x0)&&(m=w);}}catch{}let n;if(a407a('semantic_rich'))try{const x=listServices(),y=x['filter'](A=>A['enabled'])['map'](A=>A['name']),z=x['filter'](A=>!A['enabled'])['map'](A=>A['name']);n={'active':y,'inactive':z['length']?z:undefined};}catch{}let o;try{o=buildCustomerAdvice(b['operation_type'],b['data'],a['raw'],b['evaluation']??evaluationFromPayload(a['raw']),a['executed']);}catch{}let p;try{p=buildGuardAdvice(b['operation_type'],b['data'],a['raw'],b),p&&b['response_level']==='compact'&&(p=trimGuardAdviceForCompact(p));}catch{}return{'intent':c,'status':d,'summary':composeSummary(c,d,e,f,g),'created':e['length']?e:undefined,'modified':f['length']?f:undefined,'released':g['length']?g:undefined,'events':h['length']?h:undefined,'next_actions':i['length']?i:undefined,'warnings':j['length']?j:undefined,'experience':k,'service_status':n,'customer_advice':o,'evolution_context':m,'guard_advice':p};}function inferErrorCodeForSignal(a){if(a['error'])return a['error']['slice'](0x0,0x40);return undefined;}export function buildDataSemantic(a,b,c,d){if(!b)return undefined;const e=inferIntent(b['operation_type'],b['data']),f=[];b['pre_warnings']&&b['pre_warnings']['length']>0x0&&f['push'](...b['pre_warnings']);let g;if(c)g='failed';else{g='success';if(Array['isArray'](a)&&a['length']===0x0)g='partial',f['push']('no\x20results\x20found');else{if(a===null||a===undefined)g='partial',f['push']('no\x20results\x20found');else{if(typeof a==='object'&&!Array['isArray'](a)){const n=Object['values'](a);n['length']>0x0&&n['every'](o=>Array['isArray'](o)?o['length']===0x0:o===null||o===undefined)&&(g='partial',f['push']('no\x20results\x20found'));}}}}const h=inferNextActions(b['operation_type'],b['data'],g);let i;if(!c&&b['operation_type']==='onchain_events'){const o=Array['isArray'](a)?a:a?.['data']&&Array['isArray'](a['data'])?a['data']:null;if(o){i=annotateEvents(o);if(i['length']===0x0)i=undefined;}}const j=e['replace'](/_/g,'\x20');let k;if(g==='failed')k=d?'Failed\x20to\x20'+j+':\x20'+d:'Failed\x20to\x20'+j;else g==='partial'?k=j+'\x20completed\x20with\x20no\x20results':k='Successfully\x20'+j;let l;if(a407a('semantic_rich'))try{const p=listServices(),q=p['filter'](t=>t['enabled'])['map'](t=>t['name']),r=p['filter'](t=>!t['enabled'])['map'](t=>t['name']);l={'active':q,'inactive':r['length']?r:undefined};}catch{}let m;if(!c)try{m=buildCustomerAdvice(b['operation_type'],b['data'],a,b['evaluation']??evaluationFromPayload(a));}catch{}return{'intent':e,'status':g,'summary':k,'events':i,'next_actions':h['length']?h:undefined,'warnings':f['length']?f:undefined,'service_status':l,'customer_advice':m};}
|