@wowok/agent-mcp 3.2.1 → 3.2.3
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/chain-semantics/field-capability.d.ts +11 -0
- package/dist/chain-semantics/field-capability.js +1 -0
- package/dist/chain-semantics/freeze-map.d.ts +11 -0
- package/dist/chain-semantics/freeze-map.js +1 -0
- package/dist/chain-semantics/fund-flow.d.ts +10 -0
- package/dist/chain-semantics/fund-flow.js +1 -0
- package/dist/chain-semantics/guard-verbs.d.ts +22 -0
- package/dist/chain-semantics/guard-verbs.js +1 -0
- package/dist/chain-semantics/index.d.ts +10 -0
- package/dist/chain-semantics/index.js +1 -0
- package/dist/chain-semantics/object-graph.d.ts +18 -0
- package/dist/chain-semantics/object-graph.js +1 -0
- package/dist/communication/wts-attestation.d.ts +34 -0
- package/dist/communication/wts-attestation.js +1 -0
- package/dist/composition/audit.d.ts +10 -0
- package/dist/composition/audit.js +1 -0
- package/dist/composition/compile.d.ts +38 -0
- package/dist/composition/compile.js +1 -0
- package/dist/composition/materialize.d.ts +64 -0
- package/dist/composition/materialize.js +1 -0
- package/dist/composition/plan.d.ts +92 -0
- package/dist/composition/plan.js +1 -0
- package/dist/composition/reflux.d.ts +28 -0
- package/dist/composition/reflux.js +1 -0
- package/dist/config/judgment.d.ts +25 -0
- package/dist/config/rule-engine.d.ts +10 -0
- package/dist/config/rule-engine.js +1 -1
- package/dist/evaluation/builtins/graph-service.spec.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/business-modules.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/facts.js +1 -1
- package/dist/keeper/detectors.d.ts +7 -0
- package/dist/keeper/detectors.js +1 -1
- package/dist/keeper/types.d.ts +1 -1
- package/dist/keeper/types.js +1 -1
- package/dist/knowledge/allocation-ledger.js +1 -1
- package/dist/knowledge/allocation-puzzle.js +1 -1
- package/dist/knowledge/allocation-risk.d.ts +2 -1
- package/dist/knowledge/allocation-risk.js +1 -1
- package/dist/knowledge/allocation-templates.js +1 -1
- package/dist/knowledge/arb-fund-facts.d.ts +31 -0
- package/dist/knowledge/arb-fund-facts.js +1 -0
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/allocation.json +75 -16
- package/dist/knowledge/baselines/rules/guard.json +27 -8
- package/dist/knowledge/baselines/rules/plan.json +161 -0
- package/dist/knowledge/baselines/semantic-facts.d.ts +12 -0
- package/dist/knowledge/baselines/semantic-facts.js +1 -0
- package/dist/knowledge/builtin-templates.d.ts +3 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/entity-recipient-guard.d.ts +21 -0
- package/dist/knowledge/entity-recipient-guard.js +1 -0
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-ledger.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-topology.d.ts +34 -0
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/onchain-constants.d.ts +2 -2
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +13 -0
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/service-allocation-semantics.js +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/service-templates.js +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-loader.d.ts +37 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tool-constraints.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +4 -0
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/radar-core.d.ts +6 -0
- package/dist/participation/radar-core.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/index.d.ts +1 -0
- package/dist/playbooks/service-build/intent-analyzer.d.ts +1 -0
- package/dist/playbooks/service-build/intent-analyzer.js +1 -1
- package/dist/playbooks/service-build/machine-nodes.d.ts +1 -1
- package/dist/playbooks/service-build/machine-nodes.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/object-panorama.d.ts +27 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/pipeline-actions.d.ts +4 -0
- package/dist/playbooks/service-build/pipeline-actions.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/semantic-graph.d.ts +1 -0
- package/dist/playbooks/service-build/semantic-graph.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/machine.d.ts +1 -0
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +60 -0
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +56 -0
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/planning.d.ts +7 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +26 -0
- package/dist/schema/industry-pack/index.js +1 -1
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +20 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +50 -0
- package/dist/schema/persona/index.d.ts +110 -0
- package/dist/schema/query/bi.d.ts +2 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/service-clone/index.d.ts +46 -0
- package/dist/schema/service-clone/index.js +1 -0
- package/dist/schema/utils/node-parser.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/index.json +7 -1
- package/dist/schemas/industry_pack_operation.output.json +113 -0
- package/dist/schemas/industry_pack_operation.schema.json +7 -1
- package/dist/schemas/messenger_operation.output.json +42 -4
- package/dist/schemas/onchain_operations.output.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +409 -98
- package/dist/schemas/onchain_operations_allocation.schema.json +5 -5
- package/dist/schemas/onchain_operations_arbitration.schema.json +2 -2
- package/dist/schemas/onchain_operations_contact.schema.json +1 -1
- package/dist/schemas/onchain_operations_demand.schema.json +3 -3
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +59 -59
- package/dist/schemas/onchain_operations_machine.schema.json +3 -3
- package/dist/schemas/onchain_operations_order.schema.json +133 -1
- package/dist/schemas/onchain_operations_progress.schema.json +1 -1
- package/dist/schemas/onchain_operations_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_repository.schema.json +1 -1
- package/dist/schemas/onchain_operations_reward.schema.json +4 -4
- package/dist/schemas/onchain_operations_service.schema.json +188 -9
- package/dist/schemas/onchain_operations_treasury.schema.json +7 -7
- package/dist/schemas/onchain_table_data.output.json +5 -1
- package/dist/schemas/persona_operation.output.json +266 -0
- package/dist/schemas/persona_operation.schema.json +42 -0
- package/dist/schemas/query_toolkit.output.json +46 -46
- package/dist/schemas/query_toolkit.schema.json +5 -1
- package/dist/schemas/service_clone_operation.output.json +168 -0
- package/dist/schemas/service_clone_operation.schema.json +49 -0
- package/dist/schemas/workflow_operation.schema.json +1 -1
- package/dist/tools/handlers/benchmark-migration.d.ts +17 -0
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/service-clone.d.ts +2 -0
- package/dist/tools/handlers/service-clone.js +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/wrap.d.ts +6 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readFileSync,writeFileSync,existsSync,mkdirSync}from'fs';import{resolve,dirname,join}from'path';import{getWowMcpDir}from'@wowok/wowok';import{diagnose_passport_failure,CallService,CallMachine,CallProgress,CallGuard,CallArbitration,CallRepository,CallContact,CallTreasury,CallReward,CallAllocation,CallPersonal,CallPayment,CallDemand,CallOrder,gen_passport,CallProof,gen_proof,ResponseData,LocalMark,query_objects,query_table,parseGuardFile,formatGuardParseErrors,transformRewardInput,transformPersonalInput,GetAccountOrMark_Address}from'@wowok/wowok';import{OnchainOperationsSchema,strictParse,getEnvConfig,handleCallResult,checkClientSchemaCompatibility,parseMachineNodesFromText,formatNodeErrors as a442a,transformSubmission}from'../../schema/index.js';import{handlePermissionOperations}from'../../schema/call/permission-handler.js';import{resolveNetwork}from'./network.js';import{collectPermissionIndexes,checkPermissionAuthorization,formatPermissionWarning}from'../../schema/utils/permission-machine-check.js';import{getSkillsHintForOnchain}from'../../schema/utils/skills-recommendation.js';import{prepareFundOperation,parseAmount,generateSkillsHint as a442b}from'../../knowledge/fund-layer.js';import{generateGuardSubmissionPrompt,formatSubmissionPrompt}from'../../knowledge/guard-submission-prompt.js';import{classifyRecipient}from'../../knowledge/recipient-constraint.js';import{auditService}from'../../knowledge/audit-rules.js';import{assessAllocationRisks}from'../../knowledge/allocation-risk.js';import{checkDiscountThresholdBeforeBuy,describeBenchmarkIssueRisk}from'../../knowledge/discount-threshold.js';import{evaluateServiceFromGraph}from'../../playbooks/service-build/topology-query.js';import{isEnabled as a442c}from'../../config/index.js';import{buildSubmissionConfirmation,OPERATION_GUARD_ACTION}from'../../knowledge/guard-submission-brief.js';import{enrichWorkflowGuidance,mergeGuidanceIntoOutput,resolveHoldableEdges}from'../../knowledge/workflow-guidance.js';import{parseGuardTimeBounds,recordGuardTimeProfile,checkGuardAnchorReachability,formatGuardAnchorWarnings}from'../../knowledge/guard-anchor-reach.js';import{batchQueryObjectsByIds}from'../../graph/onchain/sdk-batch.js';import{classifyWipPath}from'../wip-deploy-assist.js';import{declareDispatchExpectation,stableOperationId}from'./dispatch-expectations.js';import{collectOnChainNamedObjectRequests,registerLocalMarksForCreatedObjects}from'./onchain-name-registration.js';import{goalEngine}from'../../goal/GoalEngine.js';async function buildGuardSubmissionPrompt(a,b,c){if(!a||typeof a!=='object'||!('submission'in a))return undefined;const d=a['submission'];if(!Array['isArray'](d)||d['length']===0x0)return undefined;const e=d[0x0]?.['guard'];if(!e)return undefined;const f=await generateGuardSubmissionPrompt(e,{'operation':b,...c});return f?formatSubmissionPrompt(f):undefined;}function chainForwardGuardRef(a){const b=a?.['guard'];return typeof b==='string'?b:typeof b?.['guard']==='string'?b['guard']:'';}async function fetchChainAnchorContext(a,b){try{if(typeof a!=='string'||a['trim']()==='')return undefined;let c=a['trim']();if(!c['startsWith']('0x')){const j=await LocalMark['Instance']()['get'](c);if(!j?.['address'])return undefined;c=j['address'];}const d=await query_table({'parent':c,'network':b?.['network']}),e=(d?.['items']??[])['map'](k=>k?.['object'])['filter'](k=>typeof k==='string'&&k['length']>0x0);if(e['length']===0x0)return undefined;const f=await query_objects({'objects':e,'network':b?.['network']}),g=(f?.['objects']??[])['filter'](k=>k?.['type']==='TableItem_MachineNode')['map'](k=>({'name':k['name'],'pairs':k['value']}));if(g['length']===0x0)return undefined;const h=new Set();for(const k of g){for(const l of k['pairs']??[]){for(const m of l?.['forwards']??[]){const o=chainForwardGuardRef(m);if(o)h['add'](o);}}}const i=new Map();for(const q of h){try{let r=q;if(!r['startsWith']('0x')){const v=await LocalMark['Instance']()['get'](r);if(!v?.['address'])continue;r=v['address'];}const s=await query_objects({'objects':[r],'network':b?.['network']}),t=s?.['objects']?.[0x0];if(!t||t['type']!=='Guard')continue;const u=parseGuardTimeBounds(t['root'],t['table']);if(!u)continue;i['set'](r['toLowerCase'](),u),i['set'](q['trim']()['toLowerCase'](),u);}catch{}}return{'nodes':g,'profiles':i};}catch{return undefined;}}async function maybeGuardSubmissionConfirmation(a,b){const d=[],e=a['submission'];if(e&&typeof e==='object'&&Array['isArray'](e['submission']))for(const l of e['submission']){l?.['guard']&&Array['isArray'](l['submission'])&&l['submission']['length']>0x0&&d['push']({'guardRef':String(l['guard']),'items':l['submission']});}const f=a['info'];if(f&&typeof f==='object'&&Array['isArray'](f['submission'])&&f['submission']['length']>0x0){const m=Array['isArray'](f['guard'])?f['guard']['map'](o=>o?.['object'])['filter'](Boolean):[],n=m[0x0]?String(m[0x0]):a['guard'];if(n)d['push']({'guardRef':String(n),'items':f['submission']});}if(d['length']===0x0)return undefined;const g=OPERATION_GUARD_ACTION[a['operation_type']],h=[];for(const o of d){const q=await buildSubmissionConfirmation({'guard_ref':o['guardRef'],'submission':o['items'],...g?{'action':g}:{},'network':b['network']});if(q)h['push'](q);}if(h['length']===0x0)return undefined;const i=h['map'](r=>r['confirmation_text'])['join']('\x0a\x0a'),j=[];for(const r of h){r['missing_identifiers']['length']>0x0&&j['push']('Guard\x20'+(r['guard_name']??r['guard'])+':\x20missing\x20required\x20identifier(s)\x20'+r['missing_identifiers']['join'](',\x20'));for(const s of r['items']){for(const t of s['issues']){j['push']('Guard\x20'+(r['guard_name']??r['guard'])+'\x20['+(s['identifier']??'?')+']:\x20'+t);}}}const k={'message':i,'result':{'type':'pending_confirmation','preview':{'level':'standard','operation':a['operation_type'],'object':h[0x0]['guard_name']??h[0x0]['guard'],'network':b['network'],...j['length']>0x0?{'warnings':j}:{}},'rule_id':'guard_submission_confirm'},'semantic':{'intent':a['operation_type']+'_guard_submission_awaiting_confirmation','status':'pending_input','summary':'Guard\x20submission\x20composed-confirmation\x20(G1):\x20the\x20complete\x20semantics\x20of\x20your\x20submission\x20'+'(guard\x20rules\x20+\x20your\x20values\x20+\x20pass/fail\x20consequences)\x20are\x20shown\x20in\x20the\x20message.\x20'+'The\x20operation\x20was\x20NOT\x20executed.\x20Re-call\x20with\x20env.confirmed=true\x20to\x20proceed.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'Guard\x20submission\x20confirmation\x20—\x20'+h['length']+'\x20guard(s),\x20'+d['reduce']((u,v)=>u+v['items']['length'],0x0)+'\x20submitted\x20item(s).','tool':'onchain_operations','priority':'required'}],...j['length']>0x0?{'warnings':j}:{}}};return{'content':[{'type':'text','text':i}],'structuredContent':k};}const REFERRER_FILE=join(getWowMcpDir(),'referrer');function readStoredReferrer(){try{if(!existsSync(REFERRER_FILE))return null;const a=readFileSync(REFERRER_FILE,'utf8')['trim']();return a||null;}catch{return null;}}const PROJECT_SKILL_DIRS=['.claude/skills','.agents/skills','.cursor/rules','.github/prompts','.windsurf/skills','.codex/skills','.qoder/skills','.roo/skills','.codebuddy/skills'],PROJECT_SKILL_MARKERS=['wowok-provider','wowok-supplier','wowok-collaborator','wowok-arbitrator','wowok-order','wowok-messenger','wowok-machine','wowok-output','wowok-onboard','wowok-planner','wowok-auditor','wowok-governance'],SKILLS_HINT_FILE=join(getWowMcpDir(),'skills-hint-asked.json');function projectHasSkills(a){for(const b of PROJECT_SKILL_DIRS){for(const c of PROJECT_SKILL_MARKERS){if(existsSync(join(a,b,c)))return!![];}}return![];}function loadSkillsAsked(){try{if(!existsSync(SKILLS_HINT_FILE))return{};return JSON['parse'](readFileSync(SKILLS_HINT_FILE,'utf8'))??{};}catch{return{};}}function persistSkillsAsked(a){try{const b=loadSkillsAsked();b[a]=!![],mkdirSync(dirname(SKILLS_HINT_FILE),{'recursive':!![]}),writeFileSync(SKILLS_HINT_FILE,JSON['stringify'](b,null,0x2),'utf8');}catch{}}function getProjectSkillsHint(){try{const a=process['cwd']();if(!a||projectHasSkills(a))return null;const b=loadSkillsAsked();if(b[a])return null;return persistSkillsAsked(a),'WoWok\x20skills\x20are\x20not\x20installed\x20in\x20this\x20project.\x20Run\x20`wowok-skills\x20init`\x20'+'here\x20to\x20install\x20them\x20(the\x20MCP\x20works\x20regardless;\x20skills\x20improve\x20AI\x20orchestration).';}catch{return null;}}function formatRecipientLabel(a){if(!a)return'unknown';if(typeof a==='string')return a;const b=classifyRecipient(a);if(!b)return JSON['stringify'](a);if(b['kind']==='submission')return'submitted\x20object\x20slot\x20'+b['identifier']+'\x20(object\x20receipt\x20=\x20owner\x20receipt)';if(b['kind']==='signer')return'Signer\x20(caller\x20of\x20the\x20guard-gated\x20alloc)';const c=b['address'];if(c['length']>0x10)return'Entity('+c['slice'](0x0,0x8)+'...'+c['slice'](-0x4)+')';return'Entity('+c+')';}function formatMistAmount(a){const b=Number(a)/0x3b9aca00;if(b===0x0)return'0\x20WOW';const c=b['toFixed'](0x9)['replace'](/\.?0+$/,'');return c+'\x20WOW\x20('+a['toString']()+'\x20MIST)';}function extractNodesForCheck(a){if(!a?.['node'])return[];if(a['node']['nodes']&&Array['isArray'](a['node']['nodes']))return a['node']['nodes'];return[];}function resolvePermissionRef(a){if(!a?.['object'])return null;if(typeof a['object']==='string')return null;const b=a['object'];if(b['permission']){if(typeof b['permission']==='string')return b['permission'];return null;}return null;}async function resolveStringRef(a){if(typeof a!=='string')return undefined;const b=a['trim']();if(!b)return undefined;if(/^0x[0-9a-fA-F]{1,64}$/['test'](b))return b['toLowerCase']();try{return await GetAccountOrMark_Address(b)??undefined;}catch{return undefined;}}const ADDR_RE=/^0x[0-9a-fA-F]{1,64}$/;async function assertReferencesResolve(a,b){const c=a?.['data'];if(!c||typeof c!=='object')return;const d=b?.['network']?'\x20(network:\x20'+b['network']+')':'';if(typeof c['object']==='string'&&c['object']['trim']()&&!ADDR_RE['test'](c['object']['trim']())){const g=await resolveStringRef(c['object']);if(!g)throw new Error('invalid\x20parameter:object\x20\x27'+c['object']+'\x27\x20not\x20found\x20locally'+d+'\x20—\x20check\x20local_mark_list\x20/\x20account_list,\x20or\x20pass\x20the\x20on-chain\x20object\x20ID');}const e=typeof c['object']==='object'&&c['object']!==null?c['object']:undefined,f=e?.['permission'];if(typeof f==='string'&&f['trim']()&&!ADDR_RE['test'](f['trim']())){const h=await resolveStringRef(f);if(!h)throw new Error('invalid\x20parameter:permission\x20\x27'+f+'\x27\x20not\x20found\x20locally'+d+'\x20—\x20pass\x20the\x20Permission\x27s\x20object\x20ID,\x20register\x20the\x20mark\x20first,\x20or\x20use\x20the\x20object\x20form\x20permission:{name:\x22'+f+'\x22}\x20to\x20CREATE\x20a\x20new\x20Permission');}}async function checkMachinePermissionBeforePublish(a,b){if(a?.['publish']!==!![])return'';const c=extractNodesForCheck(a);if(c['length']===0x0)return'';const d=collectPermissionIndexes(c);if(d['requiredIndexes']['length']===0x0)return'';let e='';if(d['missingRefs']['length']>0x0){e+='WARNING:\x20Some\x20forwards\x20have\x20NEITHER\x20permissionIndex\x20nor\x20namedOperator.\x20'+'These\x20forwards\x20cannot\x20be\x20executed.\x20Add\x20one\x20or\x20the\x20other:\x0a';for(const k of d['missingRefs']){e+='\x20\x20-\x20Node\x20\x22'+k['nodeName']+'\x22,\x20pair\x20prev_node=\x22'+k['prevNode']+'\x22,\x20forward\x20\x22'+k['forwardName']+'\x22\x0a';}e+='\x0a';}const f=resolvePermissionRef(a);if(!f)return d['requiredIndexes']['length']>0x0&&(e+='PRE-PUBLISH\x20REMINDER:\x20This\x20Machine\x20uses\x20'+d['requiredIndexes']['length']+'\x20custom\x20permission\x20index(es):\x20['+d['requiredIndexes']['join'](',\x20')+'].\x20'+'After\x20creating\x20the\x20Permission\x20object,\x20grant\x20entities\x20for\x20each\x20index\x20via\x20'+'permission.op=\x22add\x20perm\x20by\x20index\x22\x20BEFORE\x20publishing\x20the\x20Machine.\x20'+'Otherwise,\x20forwards\x20using\x20these\x20indexes\x20will\x20be\x20un-executable.\x0a'),e;let g=f;if(!f['startsWith']('0x'))try{const l=await LocalMark['Instance']()['get'](f);if(l?.['address'])g=l['address'];else return e+'PRE-PUBLISH:\x20Could\x20not\x20resolve\x20Permission\x20name\x20\x27'+f+'\x27\x20to\x20an\x20address.\x20Ensure\x20the\x20Permission\x20object\x20exists\x20and\x20is\x20marked.\x20'+'Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}catch{return e+'PRE-PUBLISH:\x20Failed\x20to\x20lookup\x20Permission\x20name\x20\x27'+f+'\x27.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}const h=await resolveNetwork(b?.['network']);let i=null;try{const m=await query_objects({'objects':[g],'network':h}),n=m?.['objects']?.[0x0];n&&(i={'address':g,'entity_count':n['entity_count'],'perm_remark':n['perm_remark'],'owner':n['owner']??n['builder'],'admin':n['admin']});}catch{return e+'PRE-PUBLISH:\x20Failed\x20to\x20query\x20Permission\x20object\x20'+g+'.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}if(!i)return e+'PRE-PUBLISH:\x20Permission\x20object\x20'+g+'\x20not\x20found\x20on-chain.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';const j=checkPermissionAuthorization(d['requiredIndexes'],i);return!j['allAuthorized']&&(e+=formatPermissionWarning(j)+'\x0a'),e;}async function detectServiceGuardCircularDependency(a){if(!a||typeof a['object']!=='object'||a['object']===null)return null;const b=a['order_allocators'];if(!b||typeof b!=='object')return null;const c=Array['isArray'](b['allocators'])?b['allocators']:[];if(c['length']===0x0)return null;const d=[],e=new Set();for(const k of c){const l=k?.['guard'];if(typeof l==='string'&&!l['startsWith']('0x')){if(e['has'](l))continue;e['add'](l);try{const m=await LocalMark['Instance']()['get_address'](l);!m&&d['push'](l);}catch{d['push'](l);}}}if(d['length']===0x0)return null;const f=d['map'](n=>'\x27'+n+'\x27')['join'](',\x20'),g=a['object'],h=g['name']??'<service_name>',i=[{'step':0x1,'action':'onchain_operations','operation_type':'service','params':{...a,'order_allocators':null,'publish':![]},'purpose':'Create\x20Service\x20\x27'+h+'\x27\x20WITHOUT\x20order_allocators\x20to\x20establish\x20'+('its\x20LocalMark\x20entry.\x20After\x20this\x20step,\x20the\x20name\x20\x27'+h+'\x27\x20resolves\x20')+'to\x20an\x20on-chain\x20address.'},{'step':0x2,'action':'onchain_operations','operation_type':'guard','params':d['map'](n=>({'object':{'name':n,'type':'Guard'},'_hint':'Table\x20items\x20may\x20reference\x20Service\x20\x27'+h+'\x27\x20by\x20name'})),'purpose':'Create\x20Guard(s)\x20'+f+'.\x20Their\x20table\x20items\x20can\x20now\x20resolve\x20'+('Service\x20\x27'+h+'\x27\x20by\x20name\x20(LocalMark\x20entry\x20from\x20step\x201).')},{'step':0x3,'action':'onchain_operations','operation_type':'service','params':{'object':h,'order_allocators':b,'publish':a['publish']??!![]},'purpose':'Update\x20Service\x20with\x20order_allocators\x20(referencing\x20Guards\x20created\x20in\x20'+'step\x202)\x20and\x20publish.\x20After\x20publish,\x20order_allocators\x20becomes\x20SDK-LOCKED.'}],j='⚠️\x20Circular\x20dependency\x20detected:\x20Service\x20↔\x20Guard\x0a\x0a'+('Cannot\x20create\x20Service\x20with\x20order_allocators\x20referencing\x20non-existent\x20Guard(s):\x20'+f+'.\x0a\x0a')+'Explanation:\x20Guard\x20table\x20items\x20may\x20reference\x20the\x20Service\x20by\x20name,\x20creating\x20a\x20circular\x20'+'dependency:\x20the\x20Service\x20must\x20exist\x20as\x20a\x20LocalMark\x20before\x20the\x20Guard\x20can\x20resolve\x20it,\x20'+'but\x20the\x20Guard\x20must\x20exist\x20before\x20the\x20Service\x20can\x20reference\x20it\x20in\x20order_allocators.\x20'+'The\x20SDK\x20would\x20fail\x20with\x20a\x20BCS\x20serialization\x20error:\x20\x22Expected\x20valid\x20Address\x20for\x20'+'ValueType.Address,\x20but\x20failed\x20to\x20resolve\x20string:\x20<name>\x22.\x0a\x0a'+'Recommended\x20steps:\x0a'+i['map'](n=>'\x20\x20Step\x20'+n['step']+'\x20('+n['operation_type']+'):\x20'+n['purpose'])['join']('\x0a')+'\x0a\x0aHint:\x20This\x20is\x20the\x20canonical\x20Service↔Guard\x20circular\x20dependency.\x20The\x203-step\x20'+'pattern\x20above\x20is\x20the\x20documented\x20solution\x20(see\x20SCHEMA-03\x20/\x20P0-01\x20fix\x20in\x20'+'schema/call/service.ts\x20publish\x20field\x20description).';return{'content':[{'type':'text','text':j}],'structuredContent':{'result':{'type':'error','error':'Cannot\x20create\x20Service\x20with\x20order_allocators\x20referencing\x20non-existent\x20Guard(s):\x20'+f+'.\x20Circular\x20dependency:\x20Service↔Guard.','error_code':'circular_dependency_detected','retryable':!![],'recovery_hint':JSON['stringify'](i),'related_object':h},'message':'Circular\x20dependency\x20detected:\x20Service\x20↔\x20Guard.\x20See\x20recovery_hint\x20for\x20the\x203-step\x20creation\x20pattern.'}};}function buildFundBlockResult(a,b){const c=a['matchErrors']['length']>0x0,d=a['errors']['length']>0x0,e=a['blockingErrors']['some'](k=>k['includes']('TOKEN\x20CHOICE\x20REQUIRED')),f=c&&d?'FUND\x20OPERATION\x20BLOCKED':c?'TOKEN\x20TYPE\x20MISMATCH\x20—\x20operation\x20blocked':e?'TOKEN\x20CHOICE\x20REQUIRED\x20—\x20operation\x20blocked,\x20awaiting\x20user\x20selection':'FUND\x20INPUT\x20BLOCKED\x20—\x20operation\x20blocked',g=c&&d?'fund_blocked':c?'token_type_mismatch':e?'token_choice_required':'fund_input_error',h=c?'\x0a\x0aThe\x20token\x20type\x20of\x20a\x20generic\x20on-chain\x20object\x20(e.g.\x20Treasury<T>,\x20Service<T>)\x20is\x20'+'determined\x20at\x20creation\x20and\x20can\x20NEVER\x20be\x20changed,\x20and\x20monetary\x20input\x20is\x20never\x20'+('processed\x20with\x20unknown\x20token\x20precision.\x20This\x20'+b+'\x20operation\x20was\x20')+'NOT\x20executed.\x20Fix\x20the\x20errors\x20above\x20and\x20re-issue\x20the\x20operation'+(a['objectTokenType']?'\x20(object\x20token\x20type:\x20'+a['objectTokenType']+')':'')+'.':e?'\x0a\x0aMultiple\x20on-chain\x20tokens\x20may\x20legally\x20share\x20the\x20same\x20symbol\x20(several\x20'+'issuers\x20can\x20each\x20publish\x20a\x20\x22USDT\x22),\x20so\x20a\x20bare\x20symbol\x20can\x20never\x20identify\x20'+('the\x20issuer.\x20This\x20'+b+'\x20operation\x20was\x20NOT\x20executed\x20and\x20no\x20')+'on-chain\x20action\x20was\x20taken.\x20Present\x20the\x20numbered\x20candidate\x20list\x20above\x20to\x20'+'the\x20USER,\x20wait\x20for\x20their\x20choice,\x20then\x20re-issue\x20with\x20the\x20chosen\x20token\x27s\x20'+'full\x20type.':'\x0a\x0aMonetary\x20input\x20is\x20never\x20processed\x20with\x20unknown\x20token\x20precision\x20or\x20an\x20'+('unparseable\x20amount.\x20This\x20'+b+'\x20operation\x20was\x20NOT\x20executed\x20and\x20')+'no\x20on-chain\x20action\x20was\x20taken.\x20Follow\x20the\x20recovery\x20steps\x20in\x20the\x20error\x20'+'above\x20and\x20re-issue\x20the\x20operation.',i='⛔\x20'+f+'\x0a\x0a'+a['blockingErrors']['map'](k=>'\x20\x20•\x20'+k)['join']('\x0a')+h,j=e?'Present\x20the\x20numbered\x20token\x20candidate\x20list\x20from\x20the\x20error\x20message\x20to\x20the\x20USER\x20'+'(full\x20type,\x20name,\x20decimals,\x20verified\x20tag\x20are\x20all\x20shown)\x20—\x20do\x20NOT\x20pick\x20an\x20'+'issuer\x20yourself.\x20After\x20the\x20user\x20chooses\x20(by\x20number\x20or\x20by\x20pasting\x20the\x20full\x20'+('type),\x20re-issue\x20this\x20'+b+'\x20operation\x20with\x20that\x20token\x27s\x20FULL\x20type\x20')+'string\x20(package::module::Name)\x20in\x20type_parameter\x20(object.type_parameter\x20for\x20'+'service\x20creation;\x20root\x20type_parameter\x20for\x20payment\x20receive).\x20Also\x20verify\x20the\x20'+'WOW\x20network\x20selection\x20is\x20correct.':'Use\x20token\x20type\x20'+(a['objectTokenType']??'<the\x20object\x27s\x20generic\x20token\x20type>')+'\x20for\x20all\x20'+('amounts,\x20coins,\x20and\x20receive\x20records\x20in\x20this\x20'+b+'\x20operation.\x20')+'Query\x20the\x20object\x20via\x20query_toolkit\x20onchain_objects\x20to\x20confirm\x20its\x20generic\x20'+'token\x20type\x20(type_raw,\x20e.g.\x20\x220x2::treasury::Treasury<0x2::wow::WOW>\x22).\x20'+'For\x20precision-unavailable\x20tokens,\x20retry\x20the\x20operation\x20—\x20the\x20on-chain\x20'+'metadata\x20lookup\x20may\x20have\x20been\x20transient.';return{'content':[{'type':'text','text':i}],'structuredContent':{'result':{'type':'error','error':a['blockingErrors']['join']('\x20|\x20'),'error_code':g,'retryable':!![],'recovery_hint':j},'message':'Fund\x20operation\x20blocked\x20before\x20execution.'}};}function checkSalesWipNetworkDeployment(a,b,c){const d=a?.['sales'];if(!d||typeof d!=='object')return null;if(d['op']!=='add'&&d['op']!=='set')return null;const e=Array['isArray'](d['sales'])?d['sales']:[];if(e['length']===0x0)return null;const f=b?.['network']==='localnet';for(const g of e){const h=g?.['wip'];if(typeof h!=='string'||h==='')continue;const i=classifyWipPath(h);if(!i['is_local'])continue;if(i['type']==='local_http'){if(f){c['push']('WIP\x20INTERNAL-TEST-ONLY\x20REMINDER\x20(sale\x20\x22'+g['name']+'\x22):\x20wip\x20=\x20\x22'+h+'\x22\x20is\x20a\x20'+('local-network\x20URL\x20('+i['description']+').\x20It\x20is\x20reachable\x20ONLY\x20on\x20the\x20')+'local\x20machine\x20/\x20LAN\x20where\x20a\x20local\x20WIP\x20server\x20runs.\x20This\x20is\x20acceptable\x20for\x20LOCALNET\x20'+'internal\x20testing,\x20but\x20customers\x20and\x20on-chain\x20verifiers\x20on\x20OTHER\x20machines\x20CANNOT\x20'+'reach\x20it\x20—\x20on\x20testnet/mainnet,\x20every\x20customer\x20order_new\x20would\x20fail\x20100%\x20because\x20the\x20'+'WIP\x20file\x20cannot\x20be\x20verified.\x20For\x20any\x20non-localnet\x20deployment,\x20replace\x20this\x20URL\x20with\x20'+'a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20or\x20leave\x20sale.wip\x20empty.');continue;}const l='a\x20local-network\x20URL\x20('+i['description']+')',m='⛔\x20WIP\x20IS\x20NOT\x20NETWORK-DEPLOYABLE\x20—\x20sales\x20NOT\x20submitted\x0a\x0a'+('Sale\x20\x22'+g['name']+'\x22\x20has\x20wip\x20=\x20\x22'+h+'\x22,\x20which\x20is\x20'+l+'.\x0a\x0a')+'INTERNAL\x20TEST\x20USE\x20ONLY:\x20this\x20URL\x20is\x20reachable\x20only\x20from\x20the\x20merchant\x27s\x20own\x20machine/LAN.\x20'+'Customers\x20on\x20other\x20machines\x20cannot\x20reach\x20it,\x20so\x20verifying\x20the\x20WIP\x20file\x20at\x20order\x20time\x20'+'fails\x20and\x20order_new\x20aborts\x20100%.\x20Local-network\x20WIP\x20URLs\x20are\x20allowed\x20ONLY\x20for\x20'+('localnet\x20internal\x20testing\x20(env.network\x20=\x20\x22localnet\x22);\x20on\x20'+(b?.['network']??'this\x20network')+'\x20')+'they\x20must\x20never\x20be\x20stored\x20on-chain.\x0a\x0a'+'Fix:\x20deploy\x20the\x20.wip\x20file\x20to\x20a\x20publicly\x20reachable\x20endpoint,\x20then\x20re-run\x20with\x20'+'sale.wip\x20=\x20\x22<public\x20URL>\x22\x20(e.g.\x20GitHub\x20Pages,\x20IPFS\x20gateway,\x20or\x20your\x20own\x20website).\x0a'+'\x20\x20•\x20GitHub\x20Pages:\x20https://<user>.github.io/<repo>/<file>.wip\x0a'+'\x20\x20•\x20IPFS:\x20\x20\x20\x20\x20\x20\x20\x20https://ipfs.io/ipfs/<CID>\x20\x20(or\x20ipfs://<CID>)\x0a'+'\x20\x20•\x20Your\x20site:\x20\x20\x20https://<your-domain>/<path>/<file>.wip\x0a'+'Alternatively,\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20SKIP\x20WIP\x20verification\x20—\x20'+'TESTING\x20ONLY,\x20not\x20recommended\x20for\x20production.';return{'content':[{'type':'text','text':m}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+l+':\x20'+h+'.\x20Local-network\x20URLs\x20are\x20INTERNAL\x20TEST\x20USE\x20ONLY\x20—\x20customers\x20cannot\x20verify\x20them,\x20aborting\x20order_new\x20100%.','error_code':'wip_not_network_deployed','retryable':!![],'recovery_hint':'Deploy\x20the\x20.wip\x20file\x20to\x20a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20'+'and\x20set\x20sale.wip\x20to\x20the\x20public\x20URL;\x20or\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20'+'verification\x20(TESTING\x20ONLY).','related_object':g['name']},'message':'WIP\x20is\x20a\x20local-network\x20URL\x20(INTERNAL\x20TEST\x20USE\x20ONLY)\x20—\x20sales\x20not\x20submitted.\x20See\x20recovery_hint.'}};}const j='a\x20LOCAL\x20'+i['type']+'\x20path',k='⛔\x20WIP\x20IS\x20NOT\x20NETWORK-DEPLOYABLE\x20—\x20sales\x20NOT\x20submitted\x0a\x0a'+('Sale\x20\x22'+g['name']+'\x22\x20has\x20wip\x20=\x20\x22'+h+'\x22,\x20which\x20is\x20'+j+'.\x0a\x0a')+'Why\x20this\x20is\x20fatal:\x20the\x20WIP\x20path\x20is\x20stored\x20ON-CHAIN\x20and\x20every\x20customer\x20'+'(on\x20a\x20different\x20machine)\x20fetches\x20it\x20when\x20placing\x20an\x20order.\x20A\x20local\x20path\x20/\x20'+'localhost\x20/\x20LAN\x20URL\x20is\x20reachable\x20only\x20from\x20YOUR\x20machine\x20—\x20it\x20passes\x20the\x20'+'merchant-side\x20set-time\x20verification\x20but\x20makes\x20order_new\x20abort\x20100%\x20for\x20customers.\x0a\x0a'+'Fix:\x20deploy\x20the\x20.wip\x20file\x20to\x20a\x20publicly\x20reachable\x20endpoint,\x20then\x20re-run\x20with\x20'+'sale.wip\x20=\x20\x22<public\x20URL>\x22\x20(e.g.\x20GitHub\x20Pages,\x20IPFS\x20gateway,\x20or\x20your\x20own\x20website).\x0a'+'\x20\x20•\x20GitHub\x20Pages:\x20https://<user>.github.io/<repo>/<file>.wip\x0a'+'\x20\x20•\x20IPFS:\x20\x20\x20\x20\x20\x20\x20\x20https://ipfs.io/ipfs/<CID>\x20\x20(or\x20ipfs://<CID>)\x0a'+'\x20\x20•\x20Your\x20site:\x20\x20\x20https://<your-domain>/<path>/<file>.wip\x0a'+'Alternatively,\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20SKIP\x20WIP\x20verification\x20—\x20'+'TESTING\x20ONLY,\x20not\x20recommended\x20for\x20production.';return{'content':[{'type':'text','text':k}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+j+':\x20'+h+'.\x20Local\x20WIP\x20paths\x20are\x20unreachable\x20by\x20customers\x20and\x20abort\x20order_new\x20100%.','error_code':'wip_not_network_deployed','retryable':!![],'recovery_hint':'Deploy\x20the\x20.wip\x20file\x20to\x20a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20'+'and\x20set\x20sale.wip\x20to\x20the\x20public\x20URL;\x20or\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20'+'verification\x20(TESTING\x20ONLY).','related_object':g['name']},'message':'WIP\x20is\x20not\x20network-deployable\x20—\x20sales\x20not\x20submitted.\x20See\x20recovery_hint.'}};}return null;}function extractObjectOnlyRef(a){const b=a;if(b['submission'])return undefined;const c=b['data'];if(!c||typeof c!=='object'||Array['isArray'](c))return undefined;const d=c,e=Object['keys'](d);if(e['length']!==0x1||e[0x0]!=='object')return undefined;const f=d['object'];return typeof f==='string'&&f['trim']()['length']>0x0?f['trim']():undefined;}async function queryObjectOnlyResult(a,b,c){let d=[],f;try{const j=await query_objects({'objects':[b],'network':c?.['network'],'no_cache':!![]});d=j['objects']??[],d['length']===0x0&&(f='Object\x20\x27'+b+'\x27\x20not\x20found\x20on-chain.\x20It\x20may\x20never\x20have\x20been\x20created,\x20'+'its\x20local\x20mark\x20may\x20be\x20missing\x20(register\x20it\x20via\x20local_mark_operation),\x20'+'or\x20it\x20may\x20live\x20on\x20a\x20different\x20network.');}catch(k){const l=k?.['message']??String(k);f='Query\x20failed\x20for\x20\x27'+b+'\x27:\x20'+l;}const g=d['map'](m=>({...m,'change':'queried'})),h=f?'Object-only\x20payload\x20for\x20'+a+'\x20—\x20nothing\x20to\x20mutate,\x20no\x20transaction\x20was\x20sent\x20(no\x20gas\x20used).\x20'+f:'Object-only\x20payload\x20for\x20'+a+'\x20—\x20nothing\x20to\x20mutate,\x20no\x20transaction\x20was\x20sent\x20(no\x20gas\x20used).\x20Current\x20on-chain\x20state\x20of\x20\x27'+b+'\x27:',i={'message':h,'result':f?{'type':'error','error':f,'error_code':'object_not_found','retryable':![],'recovery_hint':'Check\x20the\x20name\x20spelling\x20(local_mark_operation\x20list),\x20the\x20env.network\x20value,\x20or\x20create\x20the\x20object\x20first.'}:{'type':'data','data':g},'semantic':{'intent':a+'_read','status':f?'failed':'success','summary':h,'next_actions':[{'action':'Use\x20query_toolkit\x20(onchain_objects)\x20for\x20richer\x20inspection\x20—\x20content\x20fields,\x20ownership,\x20dynamic\x20tables.','reason':'Object-only\x20onchain_operations\x20payloads\x20are\x20answered\x20by\x20a\x20pure\x20query;\x20they\x20never\x20mutate\x20on-chain\x20state.','tool':'query_toolkit','priority':'recommended'}],'warnings':['Payload\x20contained\x20only\x20data.object\x20—\x20interpreted\x20as\x20a\x20READ\x20request,\x20not\x20a\x20transaction.']}};return{'content':[{'type':'text','text':h}],'structuredContent':i};}function checkOrderAllocatorsPrePublish(b,c){if(!b||typeof b!=='object')return null;let d,f;try{const h=assessAllocationRisks({'allocators_config':b,'operation_type':'create','trigger_source':'service_order_allocators'}),j=new Set(['R-A-1-01','R-A-1-02','R-A-1-03','R-A-2-03']);d=h['risks']['filter'](k=>j['has'](k['id']))['map'](k=>({'id':k['id'],'title':k['title'],'mitigation':k['mitigation']})),f=h['risks']['filter'](k=>!j['has'](k['id'])&&(k['level']==='critical'||k['level']==='high'))['map'](k=>({'id':k['id'],'title':k['title'],'mitigation':k['mitigation']}));}catch(k){return c['push']('pre-publish\x20allocators\x20risk\x20scan\x20failed\x20(non-blocking):\x20'+(k instanceof Error?k['message']:String(k))+'\x20—\x20'+'run\x20the\x20recipient\x20constraint\x20audit\x20via\x20query_toolkit\x20service_panorama\x20before\x20publish.'),null;}for(const l of f){c['push']('ALLOCATOR\x20RISK\x20'+l['id']+'\x20(advisory\x20—\x20needs\x20full-evidence\x20review\x20before\x20publish):\x20'+l['title']+'\x20—\x20'+l['mitigation']);}try{const m=Array['isArray'](b?.['allocators'])?b['allocators']:[];for(let n=0x0;n<m['length'];n++){const o=Array['isArray'](m[n]?.['sharing'])?m[n]['sharing']:[],p=o['some'](q=>q?.['who']&&typeof q['who']==='object'&&'Entity'in q['who']&&q['who']['Entity']==='');p&&c['push']('EMPTY\x20ENTITY\x20RECIPIENT\x20(advisory):\x20Allocator['+n+']\x20pays\x20Entity(\x22\x22)\x20—\x20this\x20resolves\x20to\x20the\x20'+'MCP\x20default\x20local\x20signer\x20account,\x20so\x20any\x20commission\x20routed\x20here\x20lands\x20in\x20the\x20builder\x27s\x20'+'local\x20wallet\x20instead\x20of\x20the\x20intended\x20platform\x20treasury.\x20If\x20this\x20is\x20a\x20platform\x20revenue\x20'+'share,\x20replace\x20it\x20with\x20an\x20explicit\x20platform\x20address\x20{who:{Entity:\x220x...\x22}}\x20BEFORE\x20publish\x20'+'(order_allocators\x20is\x20permanently\x20immutable\x20after\x20publish).');}}catch{}try{const q=Array['isArray'](b?.['allocators'])?b['allocators']:[],r=q['map']((s,t)=>{const u=Array['isArray'](s?.['sharing'])?s['sharing']:[];return u['some'](v=>v?.['who']&&typeof v['who']==='object'&&'GuardIdentifier'in v['who'])?t:-0x1;})['filter'](s=>s>=0x0);r['length']>0x0&&c['push']('REFUND\x20TRACK\x20GUARD\x20GATING\x20(advisory):\x20Allocator(s)\x20['+r['join'](',\x20')+']\x20pay\x20a\x20'+'GuardIdentifier\x20recipient\x20—\x20the\x20order-anchored\x20refund\x20track.\x20Verify\x20the\x20bound\x20guard\x20is\x20'+'NODE-GATED:\x20AND[signer==order.owner,\x20progress.node==<X>]\x20per\x20refundable\x20node\x20(expand\x20one\x20track\x20'+'per\x20node\x20—\x20AND-of-OR\x20is\x20inexpressible\x20on-chain).\x20A\x20signer-only\x20refund\x20guard\x20still\x20lets\x20the\x20'+'subscriber\x20claim\x20the\x20escrow\x20after\x20the\x20order\x20reached\x20a\x20no-refund\x20terminal\x20—\x20cases\x20already\x20paid\x20'+'by\x20a\x20ruling\x20are\x20closed\x20on-chain\x20(the\x20order\x20seals\x20after\x20the\x20claim),\x20but\x20terminal/expiry\x20shapes\x20'+'are\x20guard-level\x20business\x20rules.\x20Declare\x20the\x20identifier-255\x20once\x20slot\x20on\x20the\x20'+'refund\x20guard\x20so\x20a\x20consumed\x20claim\x20cannot\x20re-split\x20the\x20residual.');}catch{}if(d['length']===0x0)return null;const g='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20order_allocators\x20fails\x20the\x20pre-publish\x20risk\x20scan\x20'+'(the\x20allocation\x20rule\x20kernel,\x20same\x20rules\x20as\x20the\x20template\x20scan).\x0a\x0a'+d['map'](s=>'\x20\x20•\x20'+s['id']+':\x20'+s['title']+'\x0a\x20\x20\x20\x20Fix:\x20'+s['mitigation'])['join']('\x0a')+'\x0a\x0aorder_allocators\x20is\x20PERMANENTLY\x20IMMUTABLE\x20after\x20publish\x20(E_ALREADY_PUBLISHED,\x20'+'no\x20pause+lock\x20exception)\x20—\x20a\x20published\x20misconfiguration\x20locks\x20order\x20funds\x20or\x20aborts\x20'+'every\x20alloc()\x20transaction\x20for\x20the\x20lifetime\x20of\x20this\x20Service.\x20Fix\x20the\x20allocator\x20table\x20'+'and\x20re-issue\x20this\x20operation.\x20This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':g}],'structuredContent':{'result':{'type':'error','error':d['map'](s=>s['id']+':\x20'+s['title'])['join']('\x20|\x20'),'error_code':'allocators_risk_blocked','retryable':!![],'recovery_hint':JSON['stringify'](d)},'message':'Service\x20publish\x20blocked\x20by\x20the\x20pre-publish\x20allocators\x20risk\x20scan.'}};}function warnAmountEscrowDeadlock(a,b,c){try{const d=Array['isArray'](a?.['allocators'])?a['allocators']:[],e=d['map'](k=>(Array['isArray'](k?.['sharing'])?k['sharing']:[])['filter'](l=>l?.['mode']==='Amount')['reduce']((l,m)=>l+(Number(m?.['sharing']?.['balance'])||0x0),0x0)),f=e['some'](k=>k>0x0);if(!f)return;const g=Array['isArray'](b?.['sales'])?b['sales']:[],h=g['map'](k=>Number(k?.['price']?.['balance']))['filter'](k=>Number['isFinite'](k)&&k>0x0);if(h['length']===0x0)return;const j=h['reduce']((k,l)=>k+l,0x0);for(let k=0x0;k<e['length'];k++){e[k]>j&&c['push']('FIXED-AMOUNT\x20DEADLOCK\x20RISK\x20(advisory):\x20Allocator['+k+']\x20Amount\x20sum='+e[k]+'\x20exceeds\x20the\x20'+('minimum\x20single-order\x20escrow\x20Σ(price×1)='+j+'\x20(sales\x20configured\x20in\x20this\x20call;\x20quantity\x20fixed\x20at\x20buy\x20time).\x20')+'An\x20order\x20smaller\x20than\x20the\x20Amount\x20aborts\x20alloc()\x20with\x20Insufficient\x20balance\x20—\x20if\x20this\x20allocator\x20is\x20the\x20only\x20'+'match\x20on\x20a\x20terminal\x20forward,\x20that\x20order\x27s\x20balance\x20is\x20permanently\x20stranded.\x20Use\x20Rate\x20sharing\x20for\x20'+'penalty/proportional\x20rules\x20(scales\x20with\x20the\x20order),\x20or\x20bound\x20the\x20Amount\x20below\x20the\x20smallest\x20expected\x20order.');}}catch{}}async function checkArbitrationsBeforePublish(a,b,c){if(!Array['isArray'](a)||a['length']===0x0)return null;const d=await resolveNetwork(b?.['network']),e=[],f=[],g=[];for(const h of a){let i;if(typeof h==='string')i=h['startsWith']('0x')?h:await LocalMark['Instance']()['get_address'](h)['catch'](()=>undefined)??undefined;else{if(h&&typeof h==='object'){const j=h['name']??h['object']??h['address'];typeof j==='string'&&(i=j['startsWith']('0x')?j:await LocalMark['Instance']()['get_address'](j)['catch'](()=>undefined)??undefined);}}if(!i){g['push'](typeof h==='string'?h:JSON['stringify'](h));continue;}try{const k=await query_objects({'objects':[i],'network':d,'no_cache':!![]}),l=k?.['objects']?.[0x0];if(!l||l['type']!=='Arbitration'){g['push'](i);continue;}const m=l['data']??l;if(m['bPaused']===!![])e['push'](i);const n=Array['isArray'](m['voting_guard'])?m['voting_guard']['length']:0x0;if(n===0x0)f['push'](i);}catch{g['push'](i);}}g['length']>0x0&&c['push']('PRE-PUBLISH:\x20Could\x20not\x20resolve/query\x20bound\x20Arbitration(s)\x20['+g['join'](',\x20')+']\x20—\x20'+'verify\x20each\x20is\x20UNPAUSED\x20(new\x20Arbitrations\x20default\x20to\x20bPaused=true;\x20disputes\x20abort\x20with\x20E_PAUSED)\x20'+'and\x20that\x20voting\x20can\x20actually\x20happen:\x20an\x20empty\x20voting_guard\x20means\x20EQUAL\x20vote\x20weight\x20(1\x20person\x201\x20vote),\x20'+'but\x20vote()\x20still\x20requires\x20permission\x20358,\x20which\x20NO\x20ONE\x20holds\x20on\x20a\x20fresh\x20Arbitration\x20—\x20grant\x20358\x20to\x20the\x20'+'disputing\x20parties\x20or\x20configure\x20a\x20voting_guard\x20before\x20relying\x20on\x20open\x20voting.');f['length']>0x0&&c['push']('C7\x20RISK\x20(open\x20voting):\x20Arbitration(s)\x20['+f['join'](',\x20')+']\x20have\x20an\x20EMPTY\x20voting_guard\x20—\x20'+'this\x20means\x20EQUAL\x20vote\x20weight\x20(1\x20person\x201\x20vote),\x20NOT\x20permissionless.\x20vote()\x20unconditionally\x20asserts\x20'+'permission\x20358\x20(arbitration.move),\x20and\x20a\x20freshly\x20created\x20Arbitration\x20has\x20NO\x20permission\x20grants,\x20so\x20'+'without\x20explicit\x20grants\x20NOBODY\x20can\x20vote\x20and\x20every\x20dispute\x20dead-ends\x20at\x20the\x20voting\x20stage.\x20Fix:\x20'+'(1)\x20grant\x20permission\x20358\x20to\x20each\x20disputing\x20party\x20(equal-weight\x20open\x20vote),\x20AND\x20initialize\x20the\x20'+'management\x20grants\x20—\x20356/357/362-366\x20to\x20the\x20owner,\x20359\x20(ruling)\x20+\x20361\x20(confirm\x20materials)\x20to\x20the\x20'+'arbitrator;\x20or\x20(2)\x20for\x20weighted\x20voting,\x20set\x20voting_guard\x20via\x20arbitration\x20voting_guard\x20op=\x22add\x22\x20with\x20'+'a\x20verifier\x20Guard\x20+\x20vote_weight\x20(GuardIdentifier\x20for\x20submitted\x20weights,\x20or\x20FixedValue)\x20—\x20weighted\x20'+'voters\x20then\x20call\x20vote\x20WITH\x20data.vote.voting_guard\x20(plain\x20vote\x20aborts\x20E_VOTING_GUARD_USED\x20once\x20a\x20'+'voting_guard\x20exists).');if(e['length']>0x0){const o='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20bound\x20Arbitration(s)\x20['+e['join'](',\x20')+']\x20are\x20PAUSED.\x0a\x0a'+'A\x20newly\x20created\x20Arbitration\x20defaults\x20to\x20bPaused=true;\x20while\x20paused,\x20EVERY\x20dispute\x20filing\x20aborts\x20'+'with\x20E_PAUSED\x20—\x20the\x20arbitration\x20mounted\x20on\x20this\x20Service\x20would\x20be\x20decorative\x20(buyers\x20have\x20no\x20'+'working\x20dispute\x20path,\x20and\x20compensation_fund\x20payouts\x20could\x20never\x20be\x20triggered).\x20The\x20on-chain\x20'+'publish\x20check\x20only\x20verifies\x20the\x20arbitrations\x20list\x20is\x20non-empty,\x20NOT\x20that\x20each\x20Arbitration\x20is\x20'+'active\x20—\x20this\x20scan\x20closes\x20that\x20gap.\x0a'+'Fix:\x20issue\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20pause:false}}\x20for\x20each\x20paused\x20'+'Arbitration\x20above,\x20then\x20retry\x20publish=true.\x20This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':o}],'structuredContent':{'result':{'type':'error','error':'arbitration_paused:\x20'+e['join'](',\x20'),'error_code':'arbitrations_paused','retryable':!![],'recovery_hint':JSON['stringify']({'paused':e,'unpaused_hint':'arbitration\x20data:{object,\x20pause:false}'})},'message':'Service\x20publish\x20blocked:\x20bound\x20Arbitration(s)\x20are\x20paused.'}};}return null;}async function checkRefundRecipientSatisfiability(a,b,c){if(!a||typeof a!=='object')return null;const d=Array['isArray'](a?.['allocators'])?a['allocators']:[],e=[];for(let l=0x0;l<d['length'];l++){const m=Array['isArray'](d[l]?.['sharing'])?d[l]['sharing']:[],n=d[l]?.['guard'];if(typeof n!=='string'||n['length']===0x0)continue;for(const o of m){const p=o?.['who'];p&&typeof p==='object'&&'GuardIdentifier'in p&&e['push']({'allocIdx':l,'guardRef':n,'identifier':p['GuardIdentifier']});}}if(e['length']===0x0)return null;const f=await resolveNetwork(b?.['network']),g=[],h=[],j=new Map();for(const r of e){try{let u=j['get'](r['guardRef']);if(u===undefined){let w=r['guardRef'];!w['startsWith']('0x')&&(w=await LocalMark['Instance']()['get_address'](w)['catch'](()=>undefined)??'');if(!w['startsWith']('0x')){h['push'](r['guardRef']);continue;}const x=await query_objects({'objects':[w],'network':f,'no_cache':!![]}),y=x?.['objects']?.[0x0];if(!y||y['type']!=='Guard'){h['push'](r['guardRef']);continue;}u=y['data']??y,j['set'](r['guardRef'],u);}const v=Array['isArray'](u['table'])?u['table']['find'](z=>z?.['identifier']===r['identifier']):undefined;if(!v||v['b_submission']!==!![])continue;pinsIdentifierToSigner(u['root'],r['identifier'])&&g['push']('Allocator['+r['allocIdx']+']\x20guard\x20'+r['guardRef']+'\x20pins\x20recipient\x20identifier\x20'+r['identifier']+'\x20to\x20context(Signer)');}catch{h['push'](r['guardRef']);}}h['length']>0x0&&c['push']('PRE-PUBLISH:\x20could\x20not\x20fetch\x20Guard(s)\x20['+h['join'](',\x20')+']\x20referenced\x20by\x20GuardIdentifier\x20'+'recipient\x20rows\x20—\x20manually\x20verify\x20each\x20refund\x20guard\x20does\x20NOT\x20pin\x20its\x20recipient\x20identifier\x20to\x20'+'context(Signer)\x20(unsatisfiable\x20against\x20the\x20order-anchored\x20escrow:\x20the\x20submission\x20must\x20equal\x20the\x20'+'Order\x20address,\x20never\x20the\x20signer\x20EOA).');if(g['length']===0x0)return null;const k='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20refund\x20recipient\x20unsatisfiable\x20(GuardIdentifier\x20x\x20for_object\x20x\x20Guard\x20equality).\x0a\x0a'+g['map'](z=>'\x20\x20•\x20'+z)['join']('\x0a')+'\x0a\x0aThe\x20framework-created\x20order\x20escrow\x20anchors\x20PaymentInfo.for_object\x20to\x20the\x20ORDER\x20object\x20address\x20and\x20'+'the\x20chain\x20asserts\x20every\x20GuardIdentifier\x20recipient\x20submission\x20==\x20that\x20address\x20(ERECIPIENT_NOT_FOR_OBJECT,\x20'+'code\x2015).\x20The\x20guard(s)\x20above\x20ALSO\x20require\x20the\x20same\x20submitted\x20value\x20==\x20context(Signer)\x20—\x20an\x20Order\x20address\x20'+'is\x20never\x20the\x20signer\x20EOA,\x20so\x20the\x20allocator\x20can\x20NEVER\x20execute\x20and\x20order\x20funds\x20strand\x20permanently\x20'+'(order_allocators\x20is\x20immutable\x20after\x20publish;\x20test/10\x20T10-10/T10-18\x20stranded\x200.79\x20WOW\x20this\x20way).\x0a'+'Fix\x20(verified\x20ORDER\x20PATTERN,\x20test/10\x20T10-17):\x20keep\x20the\x20recipient\x20GuardIdentifier(n)\x20as-is,\x20and\x20in\x20the\x20'+'GUARD\x20replace\x20logic_equal(context(Signer),\x20identifier[n])\x20with\x20an\x20ORDER\x20FIELD\x20query\x20binding\x20—\x20'+'logic_equal(order.owner,\x20context(Signer))\x20—\x20then\x20submit\x20the\x20ORDER\x20ADDRESS\x20for\x20identifier\x20n.\x20Funds\x20land\x20'+'in\x20the\x20Order\x20object\x20and\x20the\x20buyer\x20withdraws\x20via\x20order\x20receive:\x27recently\x27.\x0a'+'This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':k}],'structuredContent':{'result':{'type':'error','error':'refund_recipient_unsatisfiable:\x20'+g['join'](';\x20'),'error_code':'refund_recipient_unsatisfiable','retryable':!![],'recovery_hint':'Rebuild\x20the\x20refund\x20Guard\x20with\x20order.owner==context(Signer)\x20identity\x20binding\x20and\x20submit\x20the\x20Order\x20address\x20for\x20the\x20recipient\x20identifier;\x20then\x20re-issue\x20service\x20publish'},'message':'Service\x20publish\x20blocked:\x20refund\x20recipient\x20guard\x20contradicts\x20the\x20order-anchored\x20escrow\x20binding.'}};}function pinsIdentifierToSigner(a,b){const c=f=>f?.['type']==='context'&&f?.['context']==='Signer',d=f=>f?.['type']==='identifier'&&f?.['identifier']===b,e=f=>{if(!f||typeof f!=='object')return![];if(f['type']==='logic_equal'||f['type']==='logic_as_u256_equal'){const g=Array['isArray'](f['nodes'])?f['nodes']:[];for(let h=0x0;h<g['length'];h++){for(let k=h+0x1;k<g['length'];k++){if(c(g[h])&&d(g[k]))return!![];if(d(g[h])&&c(g[k]))return!![];}}}if(Array['isArray'](f['nodes'])&&f['nodes']['some'](e))return!![];if(f['node']&&e(f['node']))return!![];if(Array['isArray'](f['parameters'])&&f['parameters']['some'](e))return!![];return![];};return e(a);}function describeArbitrationPayload(a){if(Array['isArray'](a))return a['length']+'\x20item(s)';if(a&&typeof a==='object'&&Array['isArray'](a['objects']))return a['objects']['length']+'\x20item(s)';return'<none>';}function readRawOnchainAmount(a){if(typeof a==='number'&&Number['isFinite'](a))return a;if(typeof a==='string'&&/^\d+$/['test'](a['trim']()))return Number(a['trim']());if(a&&typeof a==='object')for(const b of['value','balance','amount']){const c=a[b];if(typeof c==='number'&&Number['isFinite'](c))return c;if(typeof c==='string'&&/^\d+$/['test'](c['trim']()))return Number(c['trim']());}return undefined;}const resolvedNameCache=new Map();export function invalidateResolvedNameCache(){resolvedNameCache['clear']();}async function resolveNamedObjectsInPlace(a){if(!a||typeof a!=='object')return;const b=['object','machine','arb','arbitration_object','permission','contact','um','required_info'],c=['objects','repositories','allocators','guards','items','entities','agents'],d=async e=>{if(typeof e!=='string')return e;const f=e['trim']();if(f===''||f['startsWith']('0x'))return e;const g=resolvedNameCache['get'](f);if(g)return g;try{const h=await LocalMark['Instance']()['get_address'](f);if(h)return resolvedNameCache['set'](f,h),h;return e;}catch{return e;}};for(const e of b){if(!(e in a))continue;a[e]=await d(a[e]);}for(const f of c){const g=a[f];if(!Array['isArray'](g))continue;for(let h=0x0;h<g['length'];h++){const j=g[h];if(j&&typeof j==='object'){for(const k of b){if(k in j)j[k]=await d(j[k]);}if(typeof j['name']==='string'&&!('type_parameter'in j)&&!('permission'in j)){const l=await d(j['name']);if(l!==j['name'])g[h]=l;}}else g[h]=await d(j);}}}async function collectArbitrationRefsForPublish(a,b){const c=a?.['arbitrations'];if(c&&typeof c==='object'&&(c['op']==='add'||c['op']==='set')&&Array['isArray'](c['objects'])&&c['objects']['length']>0x0)return c['objects'];const d=typeof a?.['object']==='string'?a['object']:undefined;if(d)try{const e=d['startsWith']('0x')?d:await LocalMark['Instance']()['get_address'](d)['catch'](()=>undefined)??undefined;if(e){const f=await resolveNetwork(b?.['network']),g=await query_objects({'objects':[e],'network':f,'no_cache':!![]}),h=g?.['objects']?.[0x0];if(h&&h['type']==='Service'){const i=h['data']??h;if(Array['isArray'](i['arbitrations']))return i['arbitrations'];}}}catch{}return[];}async function checkMachineBindingForPublish(a,b){const c=a?.['machine']??undefined,d=typeof c==='string'&&c['trim']()!==''?c['trim']():c&&typeof c==='object'&&typeof c['name']==='string'&&c['name']?c['name']:undefined,e=async h=>{const i=h['startsWith']('0x')?h:await LocalMark['Instance']()['get_address'](h)['catch'](()=>undefined)??undefined;if(!i)return undefined;const j=await resolveNetwork(b?.['network']),k=await query_objects({'objects':[i],'network':j,'no_cache':!![]}),l=k?.['objects']?.[0x0];return l?l['data']??l:undefined;};if(d){const h=await e(d)['catch'](()=>undefined);if(h&&h['bPublished']===![])return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Machine\x20\x22'+d+'\x22\x20is\x20NOT\x20published.\x20'+'Binding\x20an\x20unpublished\x20Machine\x20into\x20a\x20Service\x20aborts\x20on-chain\x20(the\x20binding\x20requires\x20a\x20'+'published\x20machine\x20—\x20machine\x20E_NOT_PUBLISHED=2).\x20'+'Fix:\x20publish\x20the\x20Machine\x20first\x20(onchain_operations\x20machine\x20with\x20publish:true),\x20then\x20bind\x20it.'};if(!h)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Machine\x20\x22'+d+'\x22\x20could\x20not\x20be\x20resolved\x20on-chain.\x20'+'Check\x20the\x20name/id\x20and\x20network\x20(env.network)\x20—\x20publishing\x20locks\x20the\x20reference.'};return{'ok':!![]};}const f=a?.['object']!=null&&typeof a['object']==='object';if(f)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20a\x20NEW\x20Service\x20cannot\x20be\x20published\x20without\x20a\x20Machine.\x20'+'On-chain\x20publish\x20itself\x20does\x20not\x20check\x20this\x20(F-004),\x20but\x20the\x20result\x20is\x20a\x20dead\x20store:\x20'+'orders\x20cannot\x20progress\x20without\x20a\x20bound\x20machine,\x20and\x20the\x20machine\x20binding\x20is\x20frozen\x20after\x20'+'publish\x20(E_ALREADY_PUBLISHED=6)\x20—\x20the\x20Service\x20can\x20never\x20take\x20an\x20order\x20and\x20can\x20never\x20be\x20fixed.\x20'+'Fix:\x20create\x20+\x20publish\x20the\x20Machine\x20first,\x20then\x20bind\x20it\x20in\x20this\x20call\x20(machine:<name_or_id>).'};const g=typeof a?.['object']==='string'?a['object']:undefined;if(g){const i=await e(g)['catch'](()=>undefined);if(i&&(i['type']===undefined||i['type']==='Service')){const j=i['machine'];if(!j)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Service\x20\x22'+g+'\x22\x20has\x20NO\x20Machine\x20bound\x20on-chain\x20and\x20none\x20is\x20'+'provided\x20in\x20this\x20patch.\x20The\x20machine\x20binding\x20is\x20frozen\x20after\x20publish\x20'+'(E_ALREADY_PUBLISHED=6)\x20—\x20if\x20it\x20publishes\x20now,\x20it\x20can\x20never\x20take\x20an\x20order\x20(F-004\x20dead\x20store).\x20'+'Fix:\x20create\x20+\x20publish\x20a\x20Machine,\x20then\x20bind\x20it\x20in\x20this\x20same\x20call\x20(machine:<name_or_id>).'};}}return{'ok':!![]};}function isPassportVerifyFailure(a){if(/Identifier\("passport"\)/['test'](a)&&/MoveAbort\([\s\S]*,\s*7\s*\)/['test'](a))return!![];if(/::passport::/['test'](a)&&/abort code:\s*7\b/['test'](a))return!![];return![];}function pickSubmissionCallForDiagnosis(a){for(const b of[a?.['submission'],a?.['info']]){if(b&&typeof b==='object'&&Array['isArray'](b['guard'])&&Array['isArray'](b['submission']))return b;}return undefined;}async function diagnoseGuardFailure(a,b){if(!isPassportVerifyFailure(b))return undefined;const c=pickSubmissionCallForDiagnosis(a);if(!c)return undefined;const e=getEnvConfig(a?.['env']),f=await diagnose_passport_failure(e,c);if(f['failed_index']===null||f['failed_guard']===null)return'Guard\x20diagnosis\x20(dry-run):\x20'+f['hint'];return'Guard\x20diagnosis\x20(dry-run):\x20the\x20first\x20failing\x20impact\x20guard\x20is\x20#'+f['failed_index']+'\x20'+('('+f['failed_guard']+').\x20'+f['hint']);}async function autoHoldAfterClaim(a,b,c){if(typeof c!=='string'||!c)return undefined;const d=await resolveHoldableEdges({'progressRef':c,'accountName':a?.['account']??'','network':a?.['network'],'noCache':!![]});if(!d||d['edges']['length']===0x0)return undefined;const f=[],g=[],h=[];for(const i of d['edges']){const j=i['forward']+'\x20->\x20'+i['next_node'];if(!i['holdable']){h['push'](j);continue;}try{const k=new CallOrder({'object':b,'progress':{'op':'hold','operation':{'next_node_name':i['next_node'],'forward':i['forward']},'message':'arbitration\x20claimed\x20-\x20settlement\x20held\x20(E-17a)'}}),l=await k['call'](a);if(l&&typeof l==='object'&&!('error'in l))f['push'](j);else g['push'](j);}catch{g['push'](j);}}return{'held':f,'failed':g,'notHoldable':h};}export async function handleOnchainOperations(a){let b,c=[];async function d(g,h,k,l,m){const p=new Set(['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','demand','order','proof']);if(!p['has'](k))return;if(!l||typeof l!=='object'||'error'in l)return;if(!l['digest'])return;if(m!==undefined)try{const r=collectOnChainNamedObjectRequests(m);if(r['length']>0x0){const t=await registerLocalMarksForCreatedObjects(r,ResponseData(l),k,{'getAddress':u=>LocalMark['Instance']()['get_address'](u),'put':u=>LocalMark['Instance']()['put'](u)});t['failed']['length']>0x0&&console['warn']('[nameRegistration]\x20'+t['failed']['length']+'\x20name(s)\x20could\x20not\x20be\x20registered\x20locally:\x20'+t['failed']['map'](u=>u['name']+'\x20('+u['error']+')')['join'](',\x20'));}}catch{}if(!g)return;try{const u=ResponseData(l),w=u['filter'](x=>x['change']==='created'&&x['object']);if(g&&w['length']>0x0){const x=w['filter'](y=>typeof y['type_raw']==='string'&&y['type_raw']['includes']('::'))['map'](y=>({'type':y['type_raw']['split']('::')['pop'](),'object':y['object']}));if(x['length']>0x0){const y=await goalEngine['registerActObjects'](g,x,h??'default');y>0x0&&console['warn']('[autoRegisterResults]\x20'+y+'\x20created\x20object(s)\x20registered\x20to\x20goal\x20'+g+'\x20(ACT\x20station)');}}}catch{}}try{if(typeof a==='object'&&a!==null&&'description'in a&&!('operation_type'in a)){const y=a['description'],z=typeof y==='string'&&(y['includes']('operation_type')||y['includes']('data'));if(z)throw new Error('Invalid\x20parameter\x20structure.\x20Parameters\x20should\x20NOT\x20be\x20wrapped\x20in\x20\x27description\x27\x20field.\x0a'+'Correct\x20format:\x20{\x20operation_type:\x20\x27...\x27,\x20data:\x20{...}\x20}\x0a'+'Incorrect\x20format:\x20{\x20description:\x20\x27{\x20operation_type:\x20...\x20}\x27\x20}');}b=strictParse(OnchainOperationsSchema,a,'onchain_operations\x20input');const g=getEnvConfig(b['env']),h=extractObjectOnlyRef(b);if(h!==undefined)return await queryObjectOnlyResult(b['operation_type'],h,g);try{const A=b['data']?.['object'];if(A&&typeof A==='object'&&A['replaceExistName']===!![]&&typeof A['name']==='string'&&A['name']['trim']()['length']>0x0){const B=await LocalMark['Instance']()['get'](A['name']['trim']());B?.['address']&&c['push']('NAME\x20REBIND:\x20local\x20name\x20\x27'+A['name']+'\x27\x20is\x20currently\x20bound\x20to\x20'+B['address']+'.\x20'+'replaceExistName=true\x20will\x20unbind\x20it\x20and\x20rebind\x20the\x20name\x20to\x20the\x20object\x20created/updated\x20by\x20this\x20'+('call\x20—\x20references\x20resolving\x20\x27'+A['name']+'\x27\x20will\x20point\x20to\x20the\x20NEW\x20object.\x20')+'If\x20this\x20is\x20unintentional,\x20drop\x20replaceExistName\x20or\x20choose\x20another\x20name.');}}catch{}if(!g['referrer']){const C=readStoredReferrer();if(C)g['referrer']=C;}const k=g['client_schema_version'],l=g['schema_strict_mode'],m=k?checkClientSchemaCompatibility(k,{'mode':l?'strict':'warn'}):undefined,n=(D,E,F)=>({'operation_type':b['operation_type'],'data':D,'expected':declareDispatchExpectation(b['operation_type'],D),'operation_id':stableOperationId(b['operation_type'],D),'pre_warnings':c['length']?c:undefined,'schema_check':m,'response_level':t,...E?{'evaluation':E}:{},...F?{'passport_test':F}:{}}),p=g['plan_approval'],r=g['network'],t=g['response_level'];if(g['confirmed']!==!![]){const D=await maybeGuardSubmissionConfirmation(b,g);if(D)return D;}delete g['confirmed'],delete g['user_intent_phrases'],delete g['client_schema_version'],delete g['response_level'],delete g['schema_strict_mode'],await resolveNamedObjectsInPlace(b['data']);const u=getSkillsHintForOnchain(b['operation_type'],b['data']);u&&c['push'](u);const w=getProjectSkillsHint();w&&c['push'](w);await assertReferencesResolve(b,g);switch(b['operation_type']){case'service':{const E=b['data'],F=await detectServiceGuardCircularDependency(E);if(F)return F;const G=checkSalesWipNetworkDeployment(E,g,c);if(G)return G;const H=describeBenchmarkIssueRisk(E?.['discount']?.['benchmark']);H&&c['push'](H);const I=await prepareFundOperation(E,'service',g?.['network']);if(I['blockingErrors']['length']>0x0)return buildFundBlockResult(I,'service');c['push'](...I['warnings']);if(I['confirmation']){c['push'](I['confirmation']['message']);const W=a442b(I['confirmation']);if(W)c['push'](W);}const J=E?.['order_allocators'];if(J&&typeof J==='object'){const X=Array['isArray'](J['allocators'])?J['allocators']:[];for(let Y=0x0;Y<X['length'];Y++){const Z=X[Y],a0=Array['isArray'](Z?.['sharing'])?Z['sharing']:[];if(a0['length']<=0x1)continue;const a1=new Map();for(let a2=0x0;a2<a0['length'];a2++){const a3=a0[a2]?.['who'];let a4=typeof a3==='string'?a3:'';if(!a4){const a6=classifyRecipient(a3);if(a6?.['kind']==='entity')a4='Entity:'+a6['address'];else{if(a6?.['kind']==='signer')a4='Signer';else{if(a6?.['kind']==='submission')a4='Guard:'+a6['identifier'];else{if(a3)a4=JSON['stringify'](a3);}}}}if(!a4)continue;const a5=a1['get'](a4)??0x0;a1['set'](a4,a5+0x1);}for(const [a7,a8]of a1){a8>0x1&&c['push']('DUPLICATE\x20SHARING\x20ENTITY:\x20Allocator['+Y+']\x20has\x20entity\x20\x22'+a7+'\x22\x20appearing\x20'+a8+'\x20times\x20'+'in\x20the\x20sharing\x20array.\x20This\x20is\x20likely\x20a\x20configuration\x20error\x20—\x20each\x20entity\x20should\x20appear\x20'+('at\x20most\x20once\x20per\x20allocator.\x20Total\x20sharing:\x20'+a8*0x64+'%\x20to\x20the\x20same\x20entity.\x20')+'If\x20intentional,\x20ignore\x20this\x20warning.');}}}if(J){const a9=checkOrderAllocatorsPrePublish(J,c);if(a9)return a9;warnAmountEscrowDeadlock(J,E?.['sales'],c);}const K=b['data']?.['order_new']?.['buy']?.['items'];if(Array['isArray'](K))for(const aa of K){aa&&typeof aa==='object'&&'quantity'in aa&&!('stock'in aa)&&(aa['stock']=aa['quantity'],delete aa['quantity']);}const L=await checkDiscountThresholdBeforeBuy(b['data']??E,g?.['network'],{'resolveAddress':async ab=>LocalMark['Instance']()['get_address'](ab)['catch'](()=>undefined)??undefined,'fetchObjects':async(ab,ac)=>{const ad=await query_objects({'objects':ab,'network':ac});return ad?.['objects']??[];}});if(L)return{'content':[{'type':'text','text':L}],'structuredContent':{'result':{'type':'error','error':L,'error_code':'discount_benchmark_unmet','retryable':![],'recovery_hint':'The\x20coupon\x20would\x20be\x20consumed\x20with\x20no\x20discount\x20because\x20this\x20order\x27s\x20total\x20is\x20'+'below\x20the\x20coupon\x27s\x20threshold.\x20Raise\x20the\x20order\x20total\x20above\x20the\x20threshold,\x20omit\x20'+'\x27discount\x27\x20to\x20pay\x20the\x20list\x20price\x20and\x20keep\x20the\x20coupon,\x20or\x20use\x20a\x20coupon\x20issued\x20'+'without\x20a\x20threshold.'},'message':L}};let M=[];if(E?.['publish']===!![]){M=await collectArbitrationRefsForPublish(E,g);const ab=await checkArbitrationsBeforePublish(M,g,c);if(ab)return ab;if(J){const ac=await checkRefundRecipientSatisfiability(J,g,c);if(ac)return ac;}}const N=new CallService(b['data']);let O;try{O=b['submission']?await N['call_with_submission'](g,await transformSubmission(b['submission'])):await N['call'](g);}catch(ad){const ae=ad['message']??String(ad);if((E?.['order_new']?.['buy']?.['items']?.['length']??0x0)>0x0&&/coin not enough|E_COIN_NOT_ENOUGH|abort.*\b20\b/i['test'](ae))throw new Error('PURCHASE\x20ABORTED\x20(E_COIN_NOT_ENOUGH\x20/\x20abort\x2020):\x20the\x20payment\x20'+'total_pay\x20is\x20LESS\x20THAN\x20the\x20order\x20total.\x20On-chain\x20order\x20total\x20=\x20'+'sale.price\x20x\x20per-item\x20QUANTITY.\x20Common\x20cause:\x20the\x20inventory\x20number\x20'+'was\x20passed\x20as\x20the\x20purchase\x20quantity\x20(the\x20buy\x20item\x20field\x20is\x20the\x20'+'number\x20of\x20units\x20to\x20buy,\x20NOT\x20the\x20product\x27s\x20available\x20stock).\x20'+'Check\x20each\x20item\x27s\x20quantity\x20and\x20ensure\x20total_pay\x20>=\x20sum(price\x20x\x20quantity).\x20'+('Original\x20error:\x20'+ae));if(/not found|GetObjectExisted|resolve|LocalMark|failed to resolve/i['test'](ae)){const af=typeof E?.['object']==='object'&&E?.['object']!==null?E['object']['permission']:undefined;throw new Error('DEPENDENCY\x20RESOLUTION\x20FAILED:\x20One\x20or\x20more\x20referenced\x20objects\x20could\x20not\x20be\x20resolved.\x0a'+('Original\x20error:\x20'+ae+'\x0a')+'Common\x20causes:\x0a'+'\x20\x201.\x20Object\x20name\x20typo\x20—\x20check\x20spelling\x20in\x20LocalMark\x0a'+'\x20\x202.\x20Object\x20not\x20yet\x20created\x20—\x20create\x20dependencies\x20first\x0a'+'\x20\x203.\x20Object\x20on\x20different\x20network\x20—\x20check\x20env.network\x0a'+('Referenced\x20objects\x20in\x20this\x20call:\x20machine='+(E?.['machine']??'<none>')+',\x20')+('buy_guard='+(E?.['buy_guard']??'<none>')+',\x20')+('permission='+(af??'<inline/new>')+',\x20')+('arbitrations='+describeArbitrationPayload(E?.['arbitrations'])));}throw ad;}const P=E?.['object']!=null&&typeof E['object']==='object',Q=E?.['compensation_fund_add']!=null;P&&!Q&&c['push']('Service.compensation_fund\x20balance\x20is\x200\x20—\x20no\x20refund\x20protection\x20for\x20buyers.\x20'+'If\x20buyers\x20need\x20refund\x20protection,\x20call\x20service.compensation_fund_add\x20with\x20a\x20Coin<T>\x20'+'to\x20deposit.\x20Without\x20deposit,\x20arbitration\x20rulings\x20cannot\x20withdraw\x20compensation\x20'+'from\x20this\x20Service.\x20(Note:\x20some\x20industries\x20like\x20freelance\x20do\x20not\x20require\x20this;\x20'+'the\x20evaluation\x20engine\x20will\x20check\x20industry-specific\x20requirements.)');if(P&&Q&&E?.['compensation_fund_add']?.['balance']!=null){const ag=E['compensation_fund_add']['balance'],ah=Array['isArray'](E?.['sales'])?E['sales']:Array['isArray'](E?.['sales']?.['sales'])?E['sales']['sales']:[],ai=av=>{if(typeof av==='number'&&Number['isFinite'](av))return av;if(typeof av==='string'&&/^\d+$/['test'](av['trim']()))return Number(av['trim']());return undefined;},aj=av=>typeof av==='string'&&/^\d*\.?\d+\s*[A-Za-z]{2,10}$/['test'](av['trim']())?Number['parseFloat'](av['trim']()):undefined,ak=ah['map'](av=>av?.['price'])['filter'](av=>av!=null),al=ai(ag),am=aj(ag),an=ak['map'](ai),ao=ak['map'](aj),ap=ak['length']>0x0&&an['every'](av=>av!==undefined)&&al!==undefined,aq=ak['length']>0x0&&ao['every'](av=>av!==undefined)&&am!==undefined,ar=ap?al:aq?am:undefined,as=ap?an:aq?ao:[],at=as['length']>0x0?Math['max'](...as):undefined,au=0x3;ar!==undefined&&at!==undefined&&at>0x0&&ar<au*at&&c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20deposit\x20('+ar+')\x20is\x20less\x20than\x20'+(au+'x\x20the\x20highest\x20SKU\x20price\x20('+at+').\x20The\x20chain\x20caps\x20any\x20award\x20at\x20')+(au+'x\x20the\x20order\x20amount\x20(arb.move\x20MAX_INDEMNITY_MULTIPLE,\x20enforced\x20at\x20')+'ruling\x20time),\x20so\x20a\x20ruling\x20at\x20the\x20ceiling\x20would\x20abort\x20the\x20buyer\x27s\x20payout\x20with\x20code\x2027\x20'+'(E_COMPENSATION_NOT_MATCH)\x20even\x20though\x20the\x20ruling\x20is\x20valid.\x20'+('Recommend\x20depositing\x20>=\x20'+au+'x\x20the\x20highest\x20price\x20via\x20compensation_fund_add.\x20')+'Above\x203x\x20is\x20optional\x20(it\x20only\x20buys\x20headroom\x20for\x20several\x20CONCURRENT\x20claims\x20against\x20the\x20same\x20'+'per-Service\x20pool,\x20which\x20is\x20empty\x20of\x20any\x20on-chain\x20concurrency\x20limit).');}const R=E?.['publish']===!![];if(R){const av=new Set(['audit_compensation_fund','audit_arbitrations']),aw=auditService(E)['filter'](ax=>!av['has'](ax['rule_id']));for(const ax of aw){const ay=ax['severity']==='error'?'[AUDIT\x20ERROR]\x20':ax['severity']==='warning'?'[AUDIT]\x20':'[INFO]\x20';c['push'](ay+ax['message']+(ax['recommendation']?'\x20—\x20'+ax['recommendation']:''));}}let S=R&&M['length']>0x0;if(!R&&!S&&Q){const az=await collectArbitrationRefsForPublish(E,g);S=az['length']>0x0;}if(R&&!S&&Q)throw new Error('HARD\x20PRE-CHECK\x20FAILED:\x20Cannot\x20publish\x20Service\x20with\x20compensation_fund\x20>\x200\x20but\x20no\x20Arbitration\x20bound.\x0a'+'On-chain\x20rule:\x20assert!(arbitration_count\x20>\x200,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND).\x0a'+'The\x20transaction\x20WILL\x20ABORT\x20on-chain\x20if\x20you\x20proceed.\x0a'+'Fix:\x20(1)\x20Create\x20an\x20Arbitration\x20object\x20first\x20(onchain_operations\x20with\x20operation_type=\x27arbitration\x27).\x0a'+'\x20\x20\x20\x20\x20(2)\x20Bind\x20it\x20in\x20this\x20same\x20call:\x20data.arbitrations={op:\x27add\x27,\x20objects:[<arbitration_name_or_id>]}\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20(array\x20shorthand\x20data.arbitrations=[...]\x20is\x20also\x20accepted),\x20or\x20bind\x20it\x20in\x20a\x20prior\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20call\x20—\x20arbitrations\x20already\x20bound\x20on\x20an\x20existing\x20Service\x20are\x20detected\x20automatically.\x0a'+'\x20\x20\x20\x20\x20(3)\x20Then\x20call\x20publish=true.\x0a'+'Note:\x20After\x20publish,\x20arbitrations\x20can\x20still\x20be\x20ADDED\x20(but\x20not\x20removed\x20without\x20pause+lock).');R&&!S&&!Q&&c['push']('WARNING:\x20Publishing\x20Service\x20without\x20arbitrations.\x20If\x20compensation_fund\x20was\x20'+'deposited\x20in\x20a\x20prior\x20call,\x20the\x20contract\x20WILL\x20ABORT\x20with\x20'+'E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND.\x20If\x20compensation_fund\x20is\x200,\x20'+'publish\x20will\x20succeed\x20but\x20buyers\x20have\x20no\x20dispute\x20resolution\x20path.\x20'+'Recommended:\x20bind\x20arbitrations\x20before\x20publish.');!R&&Q&&!S&&c['push']('WARNING:\x20Depositing\x20compensation_fund\x20on\x20a\x20Service\x20without\x20arbitrations\x20bound.\x20'+'If\x20this\x20Service\x20is\x20already\x20published,\x20arbitration\x20rulings\x20will\x20not\x20be\x20able\x20to\x20'+'withdraw\x20compensation\x20from\x20this\x20Service.\x20Recommended:\x20bind\x20arbitrations\x20first,\x20'+'then\x20deposit\x20compensation_fund.');const T=await buildGuardSubmissionPrompt(O,'service',{'network':g?.['network'],'signer':g?.['account'],'service_address':typeof E?.['object']==='string'?E['object']:undefined});if(T)c['push'](T);let U;if(E?.['order_new']&&typeof E?.['object']==='string'&&a442c('customer_intelligence'))try{U=await evaluateServiceFromGraph(E['object'],{'context_network':g?.['network']});}catch{}const V=handleCallResult(O,n(E,U));return d(p,r,b['operation_type'],O,b['data'])['catch'](()=>{}),V;}case'machine':{if(b['data']['node']&&typeof b['data']['node']==='object'&&'json_or_markdown_file'in b['data']['node']){const aH=b['data']['node']['json_or_markdown_file'];let aI;try{const aK=resolve(aH);aI=readFileSync(aK,'utf-8');}catch(aL){throw new Error('Failed\x20to\x20read\x20file\x20\x27'+aH+'\x27:\x20'+aL['message']);}const aJ=parseMachineNodesFromText(aI);if(!aJ['success']){const aM=a442a(aJ['errors']);throw new Error('Machine\x20node\x20validation\x20failed\x20for\x20file\x20\x27'+aH+'\x27:\x0a\x0a'+aM);}if(!aJ['data'])throw new Error('No\x20nodes\x20found\x20in\x20file\x20\x27'+aH+'\x27');b['data']['node']={'op':'set','nodes':aJ['data'],'bReplace':!![]};}const aA=b['data'],aB=await checkMachinePermissionBeforePublish(aA,g);aB&&c['push'](aB);const aC=aA?.['node']?.['nodes']??aA?.['node'];if(Array['isArray'](aC)){const aN=/^(dispute|disputed|arbitration|arb_|arb\.|resolve_dispute|start_arbitration|open_dispute)/i;for(const aO of aC){const aP=typeof aO==='object'?aO?.['name']:'';typeof aP==='string'&&aN['test'](aP)&&c['push']('ARBITRATION\x20SEPARATION\x20WARNING:\x20Machine\x20node\x20\x22'+aP+'\x22\x20appears\x20to\x20be\x20an\x20arbitration-related\x20node.\x0a'+'CORE\x20PRINCIPLE:\x20A\x20merchant\x20cannot\x20handle\x20disputes\x20fairly\x20—\x20they\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27.\x0a'+'The\x20WoWok\x20smart\x20contract\x20design\x20makes\x20Arbitration\x20a\x20completely\x20separate\x20object:\x0a'+'\x20\x20-\x20Arbitration\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance\x0a'+'\x20\x20-\x20Arb\x20instances\x20have\x20a\x207-state\x20lifecycle\x20managed\x20by\x20Arbitration,\x20not\x20by\x20Machine\x0a'+'\x20\x20-\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20\x27progress\x27\x20(Machine)\x20and\x20\x27dispute\x27\x20(Arb\x20list)\x20fields\x0a'+'\x20\x20-\x20When\x20Arb\x20rules,\x20the\x20Order\x20executes\x20the\x20compensation\x20—\x20the\x20ONLY\x20connection\x20to\x20the\x20business\x20flow\x0a\x0a'+'CORRECT\x20PATTERN:\x0a'+'\x20\x20-\x20Machine:\x20business\x20states\x20only\x20(ordered\x20->\x20shipped\x20->\x20delivered\x20->\x20completed)\x0a'+'\x20\x20-\x20Arbitration:\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20(NOT\x20shared\x20with\x20Service)\x0a'+'\x20\x20-\x20Arb:\x207-state\x20lifecycle\x20(Principal_confirming\x20->\x20Arbitrator_confirming\x20->\x20Voting\x20->\x20Arbitrated\x20->\x20Objectionable\x20->\x20Finished\x20->\x20Withdrawn)\x0a'+'\x20\x20-\x20R-M1-11:\x20NEVER\x20name\x20nodes\x20\x27refunded\x27/\x27disputed\x27/\x27arb\x27/\x27refund\x27\x20—\x20use\x20business\x20states\x20(\x27cancelled\x27/\x27returned\x27)\x20for\x20dispute\x20OUTCOMES;\x20refunds\x20route\x20via\x20Allocator\x20triggered\x20by\x20those\x20states,\x20disputes\x20via\x20the\x20separate\x20Arbitration\x20object\x0a\x0a'+'If\x20this\x20node\x20name\x20is\x20a\x20legitimate\x20business\x20state\x20(not\x20arbitration),\x20ignore\x20this\x20warning.');}}if(Array['isArray'](aC)){const aQ=aC['map'](aR=>aR&&typeof aR==='object'&&aR['role']?aR['name']+'='+aR['role']:null)['filter'](Boolean);aQ['length']>0x0&&c['push']('NODE\x20ROLES\x20(metadata):\x20'+aQ['join'](',\x20')+'.\x20Roles\x20are\x20display-layer\x20semantics\x20'+'(draft/active/delivered/final/cancelled)\x20—\x20they\x20are\x20NOT\x20stored\x20on-chain\x20(nodes\x20carry\x20'+'name+pairs\x20only).\x20Consumers:\x20render\x20state\x20icons/colors\x20from\x20roles;\x20nodes\x20tagged\x20'+'\x27final\x27/\x27cancelled\x27\x20are\x20settlement\x20endpoints\x20—\x20advancing\x20to\x20them\x20should\x20trigger\x20the\x20'+'fund-release\x20reminder\x20(Allocation\x20trigger),\x20not\x20further\x20business\x20steps.');}try{let aR=Array['isArray'](aC)?aC:undefined,aS;if(!aR&&aA?.['publish']===!![]){const aT=await fetchChainAnchorContext(aA?.['object'],g);aT&&(aR=aT['nodes'],aS=aT['profiles']);}if(aR){const aU=checkGuardAnchorReachability(aR,aS),aV=formatGuardAnchorWarnings(aU);if(aV)c['push'](aV);}}catch{}const aD=new CallMachine(b['data']),aE=b['submission']?await aD['call_with_submission'](g,await transformSubmission(b['submission'])):await aD['call'](g),aF=await buildGuardSubmissionPrompt(aE,'machine',{'network':g?.['network'],'signer':g?.['account'],'machine_address':b['data']?.['object']});if(aF)c['push'](aF);const aG=handleCallResult(aE,n(b['data']));return d(p,r,b['operation_type'],aE,b['data'])['catch'](()=>{}),aG;}case'progress':{b['data']?.['operate']&&c['push']('Progress\x20routing\x20hint:\x20if\x20this\x20Progress\x20is\x20bound\x20to\x20an\x20Order\x20and\x20the\x20target\x20'+'Forward\x20uses\x20namedOperator=\x22\x22\x20(empty\x20string\x20=\x20OrderHolder),\x20use\x20'+'order.progress\x20(NOT\x20progress.operate).\x20Direct\x20Progress\x20execution\x20fails\x20with\x20'+'Permission\x20denied\x20for\x20OrderHolder\x20forwards.\x20Use\x20progress.operate\x20only\x20for\x20'+'non-empty\x20namedOperator\x20or\x20permissionIndex-only\x20forwards.');const aW=new CallProgress(b['data']),aX=b['submission']?await aW['call_with_submission'](g,await transformSubmission(b['submission'])):await aW['call'](g);if(!b['submission']&&aX&&typeof aX==='object'&&'submission'in aX){const aZ=aX['submission'];if(Array['isArray'](aZ)&&aZ['length']>0x0){const b0=aZ[0x0]?.['guard'];if(b0){const b1={'operation':'progress_next','network':g?.['network'],'signer':g?.['account'],'progress_address':b['data']?.['object'],'order_address':b['data']?.['task']},b2=await generateGuardSubmissionPrompt(b0,b1);b2&&c['push'](formatSubmissionPrompt(b2));}}}const aY=handleCallResult(aX,n(b['data']));if(aX&&typeof aX==='object'&&'digest'in aX&&aX?.['effects']?.['status']?.['status']==='success'&&typeof b['data']?.['object']==='string'){const b3=b['data']?.['operate'],b4=b3?.['operation'],b5=await enrichWorkflowGuidance({'progressRef':b['data']['object'],'network':g?.['network'],'accountName':g?.['account'],'noCache':!![],'txResult':aX,'dryRun':g?.['dry_run']===!![],'operate':b4?.['forward']&&b4?.['next_node_name']?{'forward':b4['forward'],'next_node_name':b4['next_node_name'],'op':b3?.['op']}:undefined});mergeGuidanceIntoOutput(aY,b5);}return d(p,r,b['operation_type'],aX,b['data'])['catch'](()=>{}),aY;}case'repository':{const b6=new CallRepository(b['data']),b7=b['submission']?await b6['call_with_submission'](g,await transformSubmission(b['submission'])):await b6['call'](g),b8=await buildGuardSubmissionPrompt(b7,'repository',{'network':g?.['network'],'signer':g?.['account'],'extra':{'repository':b['data']?.['object']}});if(b8)c['push'](b8);const b9=handleCallResult(b7,n(b['data']));return d(p,r,b['operation_type'],b7,b['data'])['catch'](()=>{}),b9;}case'arbitration':{const ba=await prepareFundOperation(b['data'],'arbitration',g?.['network']);if(ba['blockingErrors']['length']>0x0)return buildFundBlockResult(ba,'arbitration');c['push'](...ba['warnings']);if(ba['confirmation']){c['push'](ba['confirmation']['message']);const bj=a442b(ba['confirmation']);if(bj)c['push'](bj);}const bb=new CallArbitration(b['data']),bc=b['submission']?await bb['call_with_submission'](g,await transformSubmission(b['submission'])):await bb['call'](g),bd=await buildGuardSubmissionPrompt(bc,'arbitration',{'network':g?.['network'],'signer':g?.['account'],'extra':{'arbitration':b['data']?.['object']}});if(bd)c['push'](bd);const be=b['data']?.['object'],bf=be!==null&&typeof be==='object';bf&&b['data']?.['pause']!==![]&&(c['push']('ARBITRATION\x20ACTIVATION\x20REQUIRED:\x20a\x20newly\x20created\x20Arbitration\x20defaults\x20to\x20bPaused=true\x20—\x20'+'dispute\x20filing\x20aborts\x20with\x20E_PAUSED\x20until\x20unpaused.\x20Issue\x20'+'{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20pause:false}}\x20before\x20binding\x20it\x20'+'to\x20a\x20Service\x20or\x20accepting\x20disputes.\x20NOTE:\x20unpausing\x20itself\x20requires\x20permission\x20356,\x20which\x20'+'the\x20Arbitration\x20creator\x20does\x20NOT\x20hold\x20by\x20default\x20—\x20grant\x20it\x20first\x20(usually\x20to\x20the\x20Service\x20'+'owner\x20/\x20authorizer).'),c['push']('PERMISSION\x20INITIALIZATION\x20REQUIRED:\x20a\x20freshly\x20created\x20Arbitration\x20has\x20NO\x20permissions\x20'+'granted\x20(350-368\x20all\x20unassigned)\x20—\x20every\x20operation\x20aborts\x20with\x20\x27Missing\x20permission\x27\x20(code\x205).\x20'+'Recommended\x20grants\x20via\x20the\x20Arbitration\x27s\x20Permission\x20object\x20(permission_index_add):\x20'+'owner/admin:\x20356\x20(pause/unpause),\x20357\x20(fee),\x20362\x20(voting\x20deadline),\x20363\x20(reset),\x20364-366\x20'+'(withdraw/fees\x20alloc/transfer),\x20367-368\x20(owner\x20receive/UM);\x20'+'arbitrator:\x20361\x20(confirm\x20materials,\x20starts\x20voting)\x20+\x20359\x20(issue\x20ruling);\x20'+'open\x20voting\x20(empty\x20voting_guard):\x20BOTH\x20disputing\x20parties\x20need\x20358\x20—\x20an\x20empty\x20voting_guard\x20'+'means\x20equal\x20weight\x20(1\x20person\x201\x20vote),\x20NOT\x20permissionless;\x20vote()\x20asserts\x20358\x20unconditionally.\x20'+'Without\x20358\x20grants\x20ordinary\x20users\x20can\x20never\x20vote\x20(\x27everybody\x27\x20in\x20code\x20comments\x20means\x20equal\x20'+'weight,\x20not\x20free\x20access).'));const bg=b['data'],bh=be!==null&&typeof be==='string'&&bg?.['pause']===![];if(bh){const bk=bb['content']?.['fee'],bl=bg?.['fee']??bk,bm=bl===0x0||bl==='0'||bl==='0.0'||bl==='0WOW';bl!=null&&bm&&c['push']('FREE\x20ARBITRATION:\x20this\x20Arbitration\x20activates\x20with\x20fee\x20=\x200\x20—\x20dispute\x20filers\x20pay\x20nothing\x20'+'(any\x20coin\x20they\x20send\x20is\x20refunded\x20on\x20filing;\x20only\x20self.fee\x20is\x20escrowed\x20for\x20the\x20arbitrator).\x20'+'The\x20arbitrator\x20earns\x20no\x20per-case\x20income\x20from\x20this\x20service.\x20If\x20this\x20is\x20intentional\x20'+'(e.g.\x20a\x20free-dispute\x20commercial\x20model),\x20ignore\x20this\x20warning;\x20to\x20charge\x20per\x20case,\x20set\x20'+'a\x20fee:\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20fee:<amount>}}.');}b['data']?.['arbitration']&&(c['push']('RULING\x20DOES\x20NOT\x20SETTLE\x20ESCROW:\x20this\x20ruling\x20records\x20the\x20feedback\x20+\x20indemnity\x20on\x20the\x20Arb\x20case\x20'+'object\x20ONLY\x20—\x20it\x20moves\x20no\x20funds\x20and\x20does\x20NOT\x20adjust\x20the\x20order\x27s\x20escrow\x20(the\x20Machine\x20workflow\x20'+'and\x20its\x20Allocation\x20are\x20independent\x20of\x20arbitration;\x20there\x20is\x20no\x20on-chain\x20linkage).\x20To\x20actually\x20'+'pay\x20the\x20buyer,\x20the\x20dispute\x20must\x20be\x20confirmed\x20and\x20then\x20claimed\x20via\x20'+'{operation_type:\x27order\x27,\x20data:{object:\x27<order>\x27,\x20arb_claim_compensation:{...}}}\x20—\x20the\x20indemnity\x20'+'is\x20paid\x20from\x20the\x20Service\x27s\x20merchant-prepaid\x20compensation_fund\x20(NOT\x20from\x20escrow),\x20capped\x20at\x203x\x20the\x20'+'order\x20amount,\x20and\x20it\x20does\x20NOT\x20re-split\x20the\x20allocator\x20ratios\x20(partial\x20/\x20proportional\x20refunds\x20via\x20a\x20'+'verdict\x20are\x20not\x20expressible\x20on-chain).\x20Because\x20the\x20two\x20tracks\x20are\x20independent,\x20the\x20buyer\x20can\x20still\x20'+'be\x20paid\x20the\x20FULL\x20escrow\x20AND\x20the\x20indemnity:\x20to\x20prevent\x20the\x20dual\x20payout,\x20freeze\x20the\x20settlement\x20by\x20'+'holding\x20the\x20order\x27s\x20edge\x20to\x20\x27completed\x27\x20before\x20it\x20settles\x20(hold\x20permission\x20=\x20the\x20forward\x27s\x20execute\x20'+'permission;\x20a\x20merchant-only\x20edge\x20needs\x20the\x20merchant/keeper\x20to\x20hold\x20it),\x20or\x20explicitly\x20accept\x20both\x20payouts.'),c['push']('ESCROW\x20FORENSICS\x20(refund-then-claim):\x20the\x20reverse\x20ordering\x20—\x20escrow\x20refund\x20first,\x20indemnity\x20'+'claim\x20second\x20—\x20is\x20NOT\x20on-chain\x20blocked,\x20but\x20it\x20IS\x20on-chain\x20distinguishable.\x20Before\x20finalizing\x20'+'the\x20indemnity,\x20check\x20the\x20order\x27s\x20escrow\x20forensics:\x20(1)\x20refund/alloc\x20event\x20timestamps\x20vs\x20this\x20'+'case\x27s\x20creation\x20time\x20—\x20the\x20decisive\x20ordering\x20signal;\x20(2)\x20escrow\x20balance\x20vs\x20order\x20amount\x20(the\x20'+'deficit);\x20(3)\x20the\x20order\x27s\x20progress\x20path\x20for\x20visited\x20refund\x20terminals;\x20(4)\x20the\x20owner\x20receive\x20'+'history.\x20If\x20the\x20escrow\x20was\x20already\x20released\x20to\x20the\x20buyer\x20before\x20filing,\x20net\x20the\x20award\x20against\x20'+'the\x20refunded\x20principal\x20—\x20compensate\x20the\x20delta,\x20not\x20the\x20full\x20loss;\x20the\x20defendant\x20can\x20attach\x20the\x20'+'same\x20forensics\x20to\x20the\x20case\x20statement.'));const bi=handleCallResult(bc,n(b['data']));return d(p,r,b['operation_type'],bc,b['data'])['catch'](()=>{}),bi;}case'contact':{const bn=new CallContact(b['data']),bo=b['submission']?await bn['call_with_submission'](g,await transformSubmission(b['submission'])):await bn['call'](g),bp=await buildGuardSubmissionPrompt(bo,'contact',{'network':g?.['network'],'signer':g?.['account']});if(bp)c['push'](bp);const bq=handleCallResult(bo,n(b['data']));return d(p,r,b['operation_type'],bo,b['data'])['catch'](()=>{}),bq;}case'treasury':{const br=await prepareFundOperation(b['data'],'treasury',g?.['network']);if(br['blockingErrors']['length']>0x0)return buildFundBlockResult(br,'treasury');c['push'](...br['warnings']);if(br['confirmation']){c['push'](br['confirmation']['message']);const bw=a442b(br['confirmation']);if(bw)c['push'](bw);}const bs=new CallTreasury(b['data']),bt=b['submission']?await bs['call_with_submission'](g,await transformSubmission(b['submission'])):await bs['call'](g),bu=await buildGuardSubmissionPrompt(bt,'treasury',{'network':g?.['network'],'signer':g?.['account'],'extra':{'treasury':b['data']?.['object']}});if(bu)c['push'](bu);const bv=handleCallResult(bt,n(b['data']));return d(p,r,b['operation_type'],bt,b['data'])['catch'](()=>{}),bv;}case'reward':{const bx=await prepareFundOperation(b['data'],'reward',g?.['network']);if(bx['blockingErrors']['length']>0x0)return buildFundBlockResult(bx,'reward');c['push'](...bx['warnings']);if(bx['confirmation']){c['push'](bx['confirmation']['message']);const bD=a442b(bx['confirmation']);if(bD)c['push'](bD);}const by=transformRewardInput(b['data']),bz=new CallReward(by),bA=b['submission']?await bz['call_with_submission'](g,await transformSubmission(b['submission'])):await bz['call'](g),bB=await buildGuardSubmissionPrompt(bA,'reward',{'network':g?.['network'],'signer':g?.['account'],'extra':{'reward':b['data']?.['object']}});if(bB)c['push'](bB);const bC=handleCallResult(bA,n(b['data']));return d(p,r,b['operation_type'],bA,b['data'])['catch'](()=>{}),bC;}case'allocation':{const bE=await prepareFundOperation(b['data'],'allocation',g?.['network']);if(bE['blockingErrors']['length']>0x0)return buildFundBlockResult(bE,'allocation');c['push'](...bE['warnings']);if(bE['confirmation']){c['push'](bE['confirmation']['message']);const bK=a442b(bE['confirmation']);if(bK)c['push'](bK);}if(b['data']?.['alloc_by_guard']&&b['submission']){const bL=new Set();for(const bM of b['submission']['submission']||[]){for(const bN of bM?.['submission']||[]){const bO=typeof bN?.['value']==='string'?bN['value']:'';if(/^0x[0-9a-fA-F]{64}$/['test'](bO))bL['add'](bO);}}if(bL['size']>0x0)try{const bP=(await batchQueryObjectsByIds([...bL],g?.['network'],!![]))['filter'](bQ=>bQ?.['type']==='Order');for(const bQ of bP){typeof bQ['claimed_by']==='string'&&bQ['claimed_by']['startsWith']('0x')&&c['push']('⚠\x20MUTUAL-EXCLUSION:\x20Order\x20'+bQ['object']+'\x20already\x20received\x20arbitration\x20'+('compensation\x20(claimed_by='+bQ['claimed_by']+').\x20Releasing\x20escrow\x20on\x20top\x20of\x20a\x20paid\x20')+'ruling\x20double-pays\x20the\x20buyer\x20(refund\x20+\x20compensation)\x20—\x20the\x20two\x20payout\x20paths\x20are\x20'+'independent\x20systems\x20and\x20the\x20protocol\x20does\x20not\x20block\x20this\x20combination.\x20'+'Abort\x20unless\x20this\x20distribution\x20is\x20NOT\x20a\x20buyer\x20refund.');}}catch{}}const bF=new CallAllocation(b['data']),bG=b['submission']?await bF['call_with_submission'](g,await transformSubmission(b['submission'])):await bF['call'](g),bH=await buildGuardSubmissionPrompt(bG,'allocation',{'network':g?.['network'],'signer':g?.['account'],'allocation_address':b['data']?.['object']});if(bH)c['push'](bH);const bI=b['data'];if(bI?.['alloc_by_guard']){const bR=ResponseData(bG)['filter'](bS=>bS?.['type']==='Payment'&&bS?.['change']==='created');if(bR['length']>0x0){const bS=bR['map'](bT=>bT['object'])['join'](',\x20');try{const bT=await batchQueryObjectsByIds(bR['map'](bW=>bW['object']),g?.['network'],!![]),bU=[];let bV=BigInt(0x0);for(const bW of bT){if(bW?.['type']==='Payment'&&bW?.['record']){for(const bX of bW['record']){const bY=formatRecipientLabel(bX['recipient']),bZ=typeof bX['amount']==='string'?bX['amount']:String(bX['amount']),c0=BigInt(bZ);bV+=c0,bU['push']('\x20\x20•\x20'+bY+':\x20'+formatMistAmount(c0));}bW['object']&&bU['push']('\x20\x20•\x20Payment\x20object:\x20'+bW['object']);}}if(bU['length']>0x0){bU['unshift']('DISTRIBUTION\x20DETAILS\x20(alloc_by_guard):'),bU['push']('\x20\x20─────────────────','\x20\x20•\x20Total\x20distributed:\x20'+formatMistAmount(bV));const c1=bT['some'](c2=>c2?.['type']==='Payment'&&c2?.['info']?.['for_object']);c1&&(bV===BigInt(0x0)?bU['push']('','ESCROW\x20MODE\x20(nothing\x20owed):\x20total\x20distributed\x20is\x200\x20—\x20'+'nothing\x20is\x20being\x20held\x20for\x20claiming\x20and\x20no\x20distribution\x20is\x20pending.'):bU['push']('','ESCROW\x20MODE:\x20Funds\x20are\x20held\x20in\x20escrow\x20(Payment.for_object\x20points\x20to\x20an\x20Order).\x20'+'The\x20Order\x20owner\x20must\x20call\x20order_claim\x20(or\x20service_order_claim)\x20to\x20actually\x20receive\x20the\x20funds.\x20'+'This\x20is\x20the\x20order\x20submission\x20pattern:\x20Recipient::GuardIdentifier(0)\x20resolves\x20'+'to\x20the\x20submitted\x20order,\x20whose\x20owner\x20receives\x20the\x20funds\x20(object\x20receipt\x20=\x20owner\x20receipt).')),c['push'](bU['join']('\x0a'));}}catch{c['push']('alloc_by_guard\x20created\x20Payment\x20object(s)\x20['+bS+'].\x20'+'Query\x20these\x20Payment\x20objects\x20to\x20see\x20the\x20distribution\x20details\x20and\x20check\x20for_object\x20for\x20escrow\x20mode.');}}else c['push']('NOTHING\x20DISTRIBUTED\x20(alloc_by_guard\x20'+bI['alloc_by_guard']+'):\x20the\x20transaction\x20'+'succeeded\x20but\x20created\x20NO\x20Payment\x20object,\x20so\x20no\x20funds\x20moved.\x20'+'The\x20guard\x20is\x20bound\x20to\x20this\x20allocation,\x20so\x20this\x20is\x20not\x20a\x20wrong-guard\x20mistake\x20—\x20the\x20'+'distribution\x20evaluated\x20to\x20zero.\x20Usual\x20causes:\x20the\x20sharing\x20plan\x20computes\x200\x20for\x20the\x20'+'remaining\x20balance,\x20the\x20pool\x20is\x20already\x20fully\x20distributed,\x20or\x20the\x20guard\x27s\x20once-slot\x20'+'was\x20already\x20consumed.\x20Do\x20NOT\x20report\x20this\x20allocation\x20as\x20executed.');}const bJ=handleCallResult(bG,n(b['data']));return d(p,r,b['operation_type'],bG,b['data'])['catch'](()=>{}),bJ;}case'permission':{const c2=b['operation_type'],c3=handlePermissionOperations(b['data'],g,n,c);return c3&&typeof c3==='object'&&'then'in c3&&c3['then'](c4=>{c4?.['structuredContent']?.['result']&&d(p,r,c2,c4['structuredContent']['result'],b['data'])['catch'](()=>{});})['catch'](()=>{}),c3;}case'guard':{const c4=b['data'],c5=c4['root'];if(c5?.['type']==='file'){const c9=c5,ca=resolve(c9['file_path']);let cb;try{cb=readFileSync(ca,'utf-8');}catch(ce){throw new Error('Failed\x20to\x20read\x20Guard\x20definition\x20file\x20\x27'+c9['file_path']+'\x27:\x20'+ce['message']);}const cc=parseGuardFile(cb,c9['format']);if(!cc['success']){const cf=formatGuardParseErrors(cc['errors']);throw new Error('Guard\x20validation\x20failed\x20for\x20file\x20\x27'+c9['file_path']+'\x27:\x0a\x0a'+cf);}const cd=cc['data'];c4['root']={'type':'node','node':cd['root']},cd['table']!==undefined&&c4['table']===undefined&&(c4['table']=cd['table']),cd['description']!==undefined&&c4['description']===undefined&&(c4['description']=cd['description']),cd['rely']!==undefined&&c4['rely']===undefined&&(c4['rely']=cd['rely']),cd['namedNew']!==undefined&&c4['namedNew']===undefined&&(c4['namedNew']=cd['namedNew']);}if(c4['root']&&typeof c4['root']==='object'){const cg=c4['root'];cg['type']==='node'&&cg['node']&&(c4['root']=cg['node']);}if(!c4['table']||c4['table']['length']===0x0)throw new Error('Guard\x20\x27table\x27\x20field\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(!c4['root'])throw new Error('Guard\x20\x27root\x27\x20field\x20is\x20required');const c6=new CallGuard(c4),c7=await c6['call'](g);if(c7&&typeof c7==='object'&&'digest'in c7&&c7?.['effects']?.['status']?.['status']==='success'){try{const ch=c4['root']?.['type']??'<unknown>',ci=Array['isArray'](c4['table'])?c4['table']:[],cj=ci['length'],ck=ci['filter'](cq=>cq?.['b_submission']===!![])['length'],cl=c4['rely']?.['guards'],cm=Array['isArray'](cl)?cl['length']:0x0,cn=c4['rely']?.['logic_or']===!![]?'OR':c4['rely']?.['logic_or']===![]?'AND':'none',co=['GUARD\x20LOGIC\x20SUMMARY:','\x20\x20•\x20root\x20type:\x20'+ch,'\x20\x20•\x20table\x20entries:\x20'+cj+'\x20('+ck+'\x20require\x20runtime\x20submission)'],cp=ci['filter'](cq=>cq?.['b_submission']===!![]);for(const cq of cp){const cr=typeof cq?.['value_type']==='string'?cq['value_type']:String(cq?.['value_type']??'?');co['push']('\x20\x20•\x20submission\x20slot\x20'+cq?.['identifier']+':\x20value_type='+cr+'\x20—\x20forwards\x20bound\x20to\x20this\x20Guard\x20'+('must\x20advance\x20with\x20submissions:[{identifier:'+cq?.['identifier']+',\x20value_type:\x22'+cr+'\x22}]\x20')+'(Address\x20slots:\x20pass\x20the\x20Order\x20object\x20address)');}cm>0x0&&co['push']('\x20\x20•\x20relies\x20on:\x20'+cm+'\x20guard(s)\x20(mode:\x20'+cn+')');if(c4['description']){const cs=String(c4['description'])['slice'](0x0,0x50);co['push']('\x20\x20•\x20description:\x20\x22'+cs+'\x22');}c['push'](co['join']('\x0a'));}catch{}try{const ct=parseGuardTimeBounds(c4['root'],c4['table']);if(ct){const cu=[],cv=c4['namedNew']?.['name'];typeof cv==='string'&&cv['trim']()&&cu['push'](cv['trim']());try{const cx=ResponseData(c7)['filter'](cy=>cy['change']==='created'&&cy['object']&&typeof cy['type_raw']==='string'&&cy['type_raw']['includes']('::guard::'))['map'](cy=>String(cy['object']));cu['push'](...cx);}catch{}if(cu['length']>0x0)recordGuardTimeProfile(cu,ct);const cw=ct['upperWindowMs']!==undefined?'Clock\x20<=\x20'+ct['anchor']+'\x20+\x20'+ct['upperWindowMs']+'ms':'Clock\x20>=\x20'+ct['anchor']+'\x20+\x20'+ct['lowerOffsetMs']+'ms';c['push']('TIME\x20ANCHOR:\x20this\x20Guard\x20uses\x20'+cw+'.\x20'+(ct['anchor']==='order.time'?'order.time\x20anchor\x20=\x20ORDER\x20CREATION\x20time\x20—\x20upper\x20windows\x20on\x20POST-checkout\x20branches\x20must\x20instead\x20anchor\x20progress.current_time\x20(query\x201272,\x20OrderProgress\x20witness),\x20otherwise\x20the\x20window\x20may\x20expire\x20before\x20the\x20branch\x20is\x20reachable\x20(§5.5\x20dead\x20branch).\x20':'witness-derived\x20anchor\x20—\x20the\x20window\x20counts\x20from\x20entering\x20the\x20source\x20node\x20(serves\x20all\x20orders).\x20')+'The\x20Machine-side\x20reachability\x20check\x20will\x20cross-verify\x20when\x20these\x20Guards\x20are\x20bound\x20to\x20forwards.');}}catch{}}const c8=handleCallResult(c7,n(b['data']));return d(p,r,b['operation_type'],c7,b['data'])['catch'](()=>{}),c8;}case'personal':{const cy=transformPersonalInput(b['data']),cz=new CallPersonal(cy),cA=await cz['call'](g),cB=handleCallResult(cA,n(b['data']));return d(p,r,b['operation_type'],cA,b['data'])['catch'](()=>{}),cB;}case'payment':{const cC=await prepareFundOperation(b['data'],'payment',g?.['network']);if(cC['blockingErrors']['length']>0x0)return buildFundBlockResult(cC,'payment');c['push'](...cC['warnings']);if(cC['confirmation']){c['push'](cC['confirmation']['message']);const cH=a442b(cC['confirmation']);if(cH)c['push'](cH);}const cD=b['data'];if(cD?.['receive']===!![]){const cI=typeof cD?.['object']==='string'&&cD['object']['length']>0x0;c['push']('RECEIVE\x20MODE\x20(order_claim):\x20You\x20are\x20unwrapping\x20CoinWrapper(s)\x20to\x20your\x20wallet.\x20'+'This\x20is\x20the\x20final\x20step\x20of\x20the\x20escrow\x20flow:\x0a'+'\x20\x201.\x20Allocation\x27s\x20alloc_by_guard\x20created\x20a\x20Payment\x20object\x20with\x20your\x20address\x20as\x20a\x20recipient\x0a'+'\x20\x202.\x20The\x20Payment\x27s\x20revenue\x20split\x20transferred\x20CoinWrapper(s)\x20to\x20your\x20wallet\x20(owned\x20but\x20not\x20spendable)\x0a'+'\x20\x203.\x20'+(cI?'THIS\x20operation\x20unwraps\x20the\x20specified\x20CoinWrapper\x20to\x20your\x20wallet':'AUTO-RECEIVE:\x20this\x20operation\x20unwraps\x20EVERY\x20CoinWrapper\x20currently\x20owned\x20by\x20you\x20in\x20a\x20single\x20transaction')+',\x20deleting\x20the\x20CoinWrapper(s)\x20and\x20transferring\x20the\x20underlying\x20coin\x20to\x20tx_context::sender\x0a'+'Requirements:\x0a'+'\x20\x20-\x20You\x20MUST\x20be\x20the\x20CoinWrapper\x27s\x20owner\x20(the\x20recipient\x20specified\x20in\x20the\x20Allocation)\x0a'+'\x20\x20-\x20type_parameter\x20is\x20OPTIONAL:\x20when\x20omitted\x20it\x20is\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20'+'own\x20on-chain\x20type\x20(the\x20inner\x20T\x20of\x20CoinWrapper<T>)\x0a'+(cI?'\x20\x20-\x20object\x20can\x20be\x20a\x20CoinWrapper\x20ID\x20(0x...)\x20or\x20a\x20local\x20mark\x20name\x0a':'\x20\x20-\x20When\x20\x27object\x27\x20is\x20omitted,\x20no\x20wrapper\x20lookup\x20is\x20needed\x20—\x20all\x20your\x20CoinWrappers\x20are\x20unwrapped\x20at\x20once\x0a')+'To\x20find\x20received\x20CoinWrappers:\x20call\x20query_toolkit\x20with\x20query_type=\x27onchain_received\x27\x20'+'and\x20type=\x27CoinWrapper\x27\x20for\x20your\x20account.\x0a'+'After\x20success:\x20verify\x20your\x20balance\x20increased\x20via\x20account_balance\x20query.');}else{if(cD?.['revenue']){c['push']('CREATE\x20MODE:\x20Creating\x20a\x20new\x20Payment\x20object.\x20Payments\x20are\x20IMMUTABLE\x20after\x20creation\x20—\x20'+'they\x20cannot\x20be\x20modified.\x20The\x20\x27revenue\x27\x20array\x20defines\x20the\x20recipients\x20and\x20amounts;\x20'+'ensure\x20correctness\x20before\x20submitting.\x20The\x20\x27info.for_guard\x27\x20field\x20(if\x20set)\x20binds\x20this\x20'+'Payment\x20to\x20a\x20Guard\x20for\x20conditional\x20release\x20(common\x20in\x20escrow\x20workflows).');const cJ=cD?.['object']?.['type_parameter']??'0x2::wow::WOW';for(const cK of cD['revenue']){const cL=cK?.['amount'];if(cL&&typeof cL==='object'&&typeof cL['balance']==='string'){const cM=await parseAmount(cL['balance'],cJ,g?.['network']);cM?.['smallestUnit']!=null&&(cL['balance']=cM['smallestUnit']<=BigInt(Number['MAX_SAFE_INTEGER'])?Number(cM['smallestUnit']):cM['smallestUnit']['toString']());}}}}const cE=new CallPayment(b['data']),cF=await cE['call'](g),cG=handleCallResult(cF,n(b['data']));return d(p,r,b['operation_type'],cF,b['data'])['catch'](()=>{}),cG;}case'demand':{const cN=new CallDemand(b['data']),cO=b['submission']?await cN['call_with_submission'](g,await transformSubmission(b['submission'])):await cN['call'](g),cP=await buildGuardSubmissionPrompt(cO,'demand',{'network':g?.['network'],'signer':g?.['account'],'extra':{'demand':b['data']?.['object']}});if(cP)c['push'](cP);const cQ=handleCallResult(cO,n(b['data']));return d(p,r,b['operation_type'],cO,b['data'])['catch'](()=>{}),cQ;}case'order':{b['data']?.['progress']&&(c['push']('Order\x20routing\x20hint:\x20order.progress\x20works\x20only\x20for\x20Forwards\x20with\x20'+'namedOperator=\x22\x22\x20(OrderHolder).\x20If\x20the\x20target\x20Forward\x20uses\x20a\x20'+'non-empty\x20namedOperator\x20or\x20permissionIndex-only,\x20use\x20progress.operate\x20'+'on\x20the\x20Progress\x20object\x20directly\x20instead.'),c['push']('Allocation\x20hint:\x20if\x20this\x20operation\x20advances\x20the\x20order\x20to\x20a\x20terminal\x20'+'state\x20(e.g.\x20Completed/Cancelled/Refunded),\x20funds\x20remain\x20in\x20the\x20'+'Allocation\x20object\x20and\x20are\x20NOT\x20auto-distributed.\x20To\x20release\x20funds,\x20'+'trigger\x20the\x20corresponding\x20Guard\x20verification\x20via\x20allocation\x20operation\x20'+'(the\x20Guard\x20bound\x20to\x20the\x20matching\x20Allocator\x20will\x20verify\x20and\x20distribute).\x20'+'Refunds\x20are\x20TWO-STEP\x20(E-4):\x20the\x20refund\x20alloc\x20pays\x20into\x20the\x20ORDER\x20object\x20'+'(only\x20the\x20order\x20owner\x20can\x20extract)\x20—\x20after\x20the\x20alloc,\x20the\x20order\x20owner\x20'+'must\x20run\x20order\x20receive\x20(e.g.\x20receive:\x27recently\x27)\x20to\x20unwrap\x20to\x20the\x20wallet;\x20'+'treat\x20\x27cancelled/refunded\x20+\x20unclaimed\x20balance\x27\x20as\x20a\x20standard\x20pending\x20task.'));const cR=b['data']?.['arb_claim_compensation'];if(cR&&typeof b['data']?.['object']==='string')try{const cW=b['data']['object'],cX=cW['startsWith']('0x')?cW:await LocalMark['Instance']()['get_address'](cW)??undefined;if(cX){const cY=await query_objects({'objects':[cX],'no_cache':!![],'network':g?.['network']}),cZ=cY?.['objects']?.[0x0],d0=cZ?.['data']??cZ,d1=d0?.['service'],d2=readRawOnchainAmount(d0?.['amount']);let d3;if(d1){const d6=await query_objects({'objects':[d1],'no_cache':!![],'network':g?.['network']}),d7=d6?.['objects']?.[0x0];d3=readRawOnchainAmount((d7?.['data']??d7)?.['compensation_fund']);}let d4;const d5=cR?.['arb'];if(typeof d5==='string'){const d8=d5['startsWith']('0x')?d5:await LocalMark['Instance']()['get_address'](d5)??undefined;if(d8){const d9=await query_objects({'objects':[d8],'no_cache':!![],'network':g?.['network']});d4=readRawOnchainAmount(d9?.['objects']?.[0x0]?.['data']?.['indemnity']);}}if(d3===0x0&&d4!==0x0)c['push']('COMPENSATION\x20POOL\x20EMPTY:\x20the\x20Service\x27s\x20compensation_fund\x20is\x200\x20—\x20this\x20claim\x20will\x20'+'abort\x20with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH).\x20The\x20abort\x20does\x20NOT\x20consume\x20the\x20claim\x20'+'(the\x20Arb\x20stays\x20Arbitrated):\x20the\x20merchant\x20must\x20top\x20up\x20via\x20service\x20'+'compensation_fund_add\x20(>=\x20the\x20ruled\x20indemnity),\x20then\x20re-run\x20arb_claim_compensation.');else{if(d3!==undefined&&d4!==undefined&&d3<d4)c['push']('COMPENSATION\x20POOL\x20UNDERFUNDED:\x20compensation_fund\x20('+d3+'\x20raw\x20units)\x20is\x20less\x20than\x20'+('the\x20ruled\x20indemnity\x20('+d4+'\x20raw\x20units)\x20—\x20the\x20claim\x20will\x20abort\x20with\x20code\x2027.\x20')+'Merchant\x20must\x20top\x20up\x20via\x20service\x20compensation_fund_add,\x20then\x20retry\x20(the\x20abort\x20does\x20'+'not\x20consume\x20the\x20claim).');else{if(d3!==undefined&&d2!==undefined&&d2>0x0&&d3<0x3*d2)c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20('+d3+')\x20is\x20less\x20than\x20'+('3x\x20the\x20order\x20amount\x20('+d2+')\x20—\x20the\x20chain\x20caps\x20any\x20award\x20at\x203x\x20')+'(MAX_INDEMNITY_MULTIPLE,\x20arb.move),\x20so\x20a\x20ruling\x20at\x20the\x20ceiling\x20would\x20abort\x20this\x20'+'buyer\x27s\x20payout.\x20Recommend\x20the\x20merchant\x20top\x20up\x20the\x20pool\x20via\x20service\x20'+'compensation_fund_add.\x20(Above\x203x\x20only\x20buys\x20headroom\x20for\x20concurrent\x20claims\x20—\x20'+'the\x20pool\x20is\x20per-Service\x20and\x20has\x20no\x20on-chain\x20concurrency\x20limit.)');else d3!==undefined&&d3>0x0&&c['push']('Reminder:\x20this\x20claim\x20pays\x20from\x20the\x20Service\x27s\x20merchant-prepaid\x20compensation_fund\x20pool\x20'+'(not\x20the\x20order\x20escrow).\x20Pool\x20balance\x20is\x20sufficient\x20for\x20now.\x20Once\x20this\x20claim\x20settles,\x20'+'the\x20order\x20seals\x20itself:\x20a\x20later\x20refund-track\x20alloc\x20may\x20still\x20split\x20the\x20escrow,\x20but\x20'+'its\x20payout\x20can\x20no\x20longer\x20be\x20claimed\x20by\x20anyone\x20(the\x20order\x20rejects\x20the\x20claim)\x20—\x20the\x20'+'provider\x20release\x20track\x20(direct\x20transfer)\x20stays\x20usable.');}}}}catch{}const cS=new CallOrder(b['data']),cT=b['submission']?await cS['call_with_submission'](g,await transformSubmission(b['submission'])):await cS['call'](g);if(cR){const da=!!cT&&typeof cT==='object'&&cT?.['effects']?.['status']?.['status']==='success';let db;if(da&&typeof b['data']?.['object']==='string')try{const dd=b['data']['object'],de=dd['startsWith']('0x')?dd:await LocalMark['Instance']()['get_address'](dd)??undefined;let df;if(de){const dg=await query_objects({'objects':[de],'no_cache':!![],'network':g?.['network']}),dh=dg?.['objects']?.[0x0];df=(dh?.['data']??dh)?.['progress'];}db=await autoHoldAfterClaim(g,dd,df);}catch{}const dc=['DUAL-TRACK\x20NOTICE:\x20claiming\x20compensation\x20does\x20NOT\x20adjust\x20the\x20allocation\x20—\x20compensation\x20'+'(Service\x20compensation_fund)\x20and\x20escrow\x20settlement\x20(Allocation)\x20are\x20independent\x20tracks,\x20and\x20'+'claim/objection\x20remain\x20mutually\x20exclusive\x20(claim\x20closes\x20the\x20case).'];if(db&&(db['held']['length']||db['notHoldable']['length']||db['failed']['length']))db['held']['length']&&dc['push']('Settlement\x20frozen\x20—\x20auto-hold\x20applied\x20to:\x20'+db['held']['join'](',\x20')+'.'),db['notHoldable']['length']&&dc['push']('NOT\x20holdable\x20by\x20this\x20account\x20(needs\x20merchant/keeper\x20to\x20run\x20order\x20hold):\x20'+db['notHoldable']['join'](',\x20')+'.'),db['failed']['length']&&dc['push']('Hold\x20attempted\x20but\x20failed\x20(retry,\x20or\x20have\x20merchant/keeper\x20hold\x20manually):\x20'+db['failed']['join'](',\x20')+'.'),db['held']['length']===0x0&&dc['push']('No\x20outgoing\x20edge\x20could\x20be\x20auto-held\x20—\x20the\x20escrow\x20settlement\x20track\x20is\x20STILL\x20OPEN;\x20'+'have\x20the\x20merchant/keeper\x20hold\x20the\x20edge(s)\x20above\x20before\x20the\x20order\x20reaches\x20completed.');else da?dc['push']('No\x20outgoing\x20edge\x20to\x20freeze\x20at\x20the\x20current\x20node\x20(order\x20likely\x20at\x20a\x20terminal\x20node),\x20or\x20'+'edge\x20resolution\x20was\x20unavailable\x20—\x20verify\x20the\x20settlement\x20state\x20manually.'):dc['push']('The\x20claim\x20did\x20not\x20succeed,\x20so\x20no\x20hold\x20was\x20attempted;\x20rerun\x20after\x20fixing\x20the\x20cause\x20above.');c['push'](dc['join']('\x20'));}const cU=await buildGuardSubmissionPrompt(cT,'order',{'network':g?.['network'],'signer':g?.['account'],'order_address':b['data']?.['object']});if(cU)c['push'](cU);const cV=handleCallResult(cT,n(b['data']));if(cT&&typeof cT==='object'&&'digest'in cT&&cT?.['effects']?.['status']?.['status']==='success'&&b['data']?.['progress']&&typeof b['data']?.['object']==='string')try{const di=b['data']['object'],dj=di['startsWith']('0x')?di:await LocalMark['Instance']()['get_address'](di)??undefined;let dk;if(dj){const dl=await query_objects({'objects':[dj],'no_cache':!![],'network':g?.['network']}),dm=dl?.['objects']?.[0x0];dk=(dm?.['data']??dm)?.['progress'];}if(dk){const dn=b['data']['progress']?.['operation'],dp=await enrichWorkflowGuidance({'progressRef':dk,'network':g?.['network'],'accountName':g?.['account'],'noCache':!![],'txResult':cT,'dryRun':g?.['dry_run']===!![],'operate':dn?.['forward']&&dn?.['next_node_name']?{'forward':dn['forward'],'next_node_name':dn['next_node_name'],'op':b['data']['progress']?.['op']}:undefined});mergeGuidanceIntoOutput(cV,dp);}}catch{}return d(p,r,b['operation_type'],cT,b['data'])['catch'](()=>{}),cV;}case'gen_passport':{const dq=await gen_passport(g,b['guard'],b['info']);let dr;try{const dt=Array['isArray'](dq?.['objectChanges'])?dq['objectChanges']:[],du=dt['find'](dw=>dw?.['type']==='created'&&typeof dw?.['objectType']==='string'&&/::passport::Passport$/['test'](dw['objectType'])),dv=du?.['objectId'];if(dv){const dw=await query_objects({'objects':[dv],'no_cache':!![],'network':g?.['network']}),dx=dw?.['objects']?.[0x0],dy=dx?.['data']??dx;dy&&typeof dy==='object'&&typeof dy['result']==='boolean'&&(dr={'passport_id':dv,'result':dy['result']===!![],'has_verified':dy['has_verified']===!![],'info':Array['isArray'](dy['guard'])?dy['guard']['map'](dz=>({'guard':String(dz?.['guard']??dz??''),'result':dz?.['result']===!![],...typeof dz?.['impack']==='boolean'?{'impack':dz['impack']}:{}})):undefined});}}catch{}const ds=handleCallResult(dq,n(b['data'],undefined,dr));return d(p,r,b['operation_type'],dq,b['data'])['catch'](()=>{}),ds;}case'proof':{const dz=new CallProof(b['data']),dA=b['submission']?await dz['call_with_submission'](g,await transformSubmission(b['submission'])):await dz['call'](g),dB=await buildGuardSubmissionPrompt(dA,'proof',{'network':g?.['network'],'signer':g?.['account']});if(dB)c['push'](dB);const dC=handleCallResult(dA,n(b['data']));return d(p,r,b['operation_type'],dA,b['data'])['catch'](()=>{}),dC;}case'gen_proof':{const dD=await gen_proof(g,b['proof'],b['server_pubkey'],b['server_signature'],b['proof_type'],b['description'],b['item_count'],b['about_address']),dE=handleCallResult(dD,n(b['data']));return d(p,r,b['operation_type'],dD,b['data'])['catch'](()=>{}),dE;}}const x=b;throw new Error('Unknown\x20on-chain\x20operation\x20type:\x20'+String(x['operation_type']));}catch(dF){let dG=dF instanceof Error?dF['message']:String(dF);const dH=b?.['operation_type'],dI=b&&'data'in b?b['data']:undefined;try{const dJ=await diagnoseGuardFailure(b,dG);if(dJ)dG=dG+'\x0a'+dJ;}catch{}return handleCallResult({'error':dG},dH?{'operation_type':dH,'data':dI}:undefined);}}
|
|
1
|
+
import{readFileSync,writeFileSync,existsSync,mkdirSync}from'fs';import{resolve,dirname,join}from'path';import{getWowMcpDir}from'@wowok/wowok';import{diagnose_passport_failure,CallService,CallMachine,CallProgress,CallGuard,CallArbitration,CallRepository,CallContact,CallTreasury,CallReward,CallAllocation,CallPersonal,CallPayment,CallDemand,CallOrder,gen_passport,CallProof,gen_proof,ResponseData,LocalMark,query_objects,query_table,parseGuardFile,formatGuardParseErrors,transformRewardInput,transformPersonalInput,GetAccountOrMark_Address}from'@wowok/wowok';import{buildOrderFundFacts}from'../../knowledge/arb-fund-facts.js';import{OnchainOperationsSchema,strictParse,getEnvConfig,handleCallResult,checkClientSchemaCompatibility,parseMachineNodesFromText,formatNodeErrors as a458a,machinePublishGateViolation,transformSubmission}from'../../schema/index.js';import{handlePermissionOperations}from'../../schema/call/permission-handler.js';import{resolveNetwork}from'./network.js';import{collectPermissionIndexes,checkPermissionAuthorization,formatPermissionWarning}from'../../schema/utils/permission-machine-check.js';import{getSkillsHintForOnchain}from'../../schema/utils/skills-recommendation.js';import{prepareFundOperation,parseAmount,generateSkillsHint as a458b}from'../../knowledge/fund-layer.js';import{generateGuardSubmissionPrompt,formatSubmissionPrompt}from'../../knowledge/guard-submission-prompt.js';import{classifyRecipient}from'../../knowledge/recipient-constraint.js';import{auditService}from'../../knowledge/audit-rules.js';import{assessAllocationRisks}from'../../knowledge/allocation-risk.js';import{ENTITY_RECIPIENT_RULE_ID,checkEntityRecipients,describeEntityRecipients,formatEntityRecipientViolation}from'../../knowledge/entity-recipient-guard.js';import{checkDiscountThresholdBeforeBuy,describeBenchmarkIssueRisk}from'../../knowledge/discount-threshold.js';import{evaluateServiceFromGraph}from'../../playbooks/service-build/topology-query.js';import{isEnabled as a458c}from'../../config/index.js';import{buildSubmissionConfirmation,OPERATION_GUARD_ACTION}from'../../knowledge/guard-submission-brief.js';import{enrichWorkflowGuidance,mergeGuidanceIntoOutput,resolveHoldableEdges}from'../../knowledge/workflow-guidance.js';import{parseGuardTimeBounds,recordGuardTimeProfile,checkGuardAnchorReachability,formatGuardAnchorWarnings}from'../../knowledge/guard-anchor-reach.js';import{batchQueryObjectsByIds}from'../../graph/onchain/sdk-batch.js';import{classifyWipPath}from'../wip-deploy-assist.js';import{declareDispatchExpectation,stableOperationId}from'./dispatch-expectations.js';import{collectOnChainNamedObjectRequests,registerLocalMarksForCreatedObjects}from'./onchain-name-registration.js';import{goalEngine}from'../../goal/GoalEngine.js';async function buildGuardSubmissionPrompt(a,b,c){if(!a||typeof a!=='object'||!('submission'in a))return undefined;const d=a['submission'];if(!Array['isArray'](d)||d['length']===0x0)return undefined;const e=d[0x0]?.['guard'];if(!e)return undefined;const f=await generateGuardSubmissionPrompt(e,{'operation':b,...c});return f?formatSubmissionPrompt(f):undefined;}function chainForwardGuardRef(a){const b=a?.['guard'];return typeof b==='string'?b:typeof b?.['guard']==='string'?b['guard']:'';}async function fetchChainAnchorContext(a,b){try{if(typeof a!=='string'||a['trim']()==='')return undefined;let c=a['trim']();if(!c['startsWith']('0x')){const j=await LocalMark['Instance']()['get'](c);if(!j?.['address'])return undefined;c=j['address'];}const d=await query_table({'parent':c,'network':b?.['network']}),e=(d?.['items']??[])['map'](k=>k?.['object'])['filter'](k=>typeof k==='string'&&k['length']>0x0);if(e['length']===0x0)return undefined;const f=await query_objects({'objects':e,'network':b?.['network']}),g=(f?.['objects']??[])['filter'](k=>k?.['type']==='TableItem_MachineNode')['map'](k=>({'name':k['name'],'pairs':k['value']}));if(g['length']===0x0)return undefined;const h=new Set();for(const k of g){for(const l of k['pairs']??[]){for(const m of l?.['forwards']??[]){const o=chainForwardGuardRef(m);if(o)h['add'](o);}}}const i=new Map();for(const q of h){try{let r=q;if(!r['startsWith']('0x')){const v=await LocalMark['Instance']()['get'](r);if(!v?.['address'])continue;r=v['address'];}const s=await query_objects({'objects':[r],'network':b?.['network']}),t=s?.['objects']?.[0x0];if(!t||t['type']!=='Guard')continue;const u=parseGuardTimeBounds(t['root'],t['table']);if(!u)continue;i['set'](r['toLowerCase'](),u),i['set'](q['trim']()['toLowerCase'](),u);}catch{}}return{'nodes':g,'profiles':i};}catch{return undefined;}}async function maybeGuardSubmissionConfirmation(a,b){const d=[],e=a['submission'];if(e&&typeof e==='object'&&Array['isArray'](e['submission']))for(const l of e['submission']){l?.['guard']&&Array['isArray'](l['submission'])&&l['submission']['length']>0x0&&d['push']({'guardRef':String(l['guard']),'items':l['submission']});}const f=a['info'];if(f&&typeof f==='object'&&Array['isArray'](f['submission'])&&f['submission']['length']>0x0){const m=Array['isArray'](f['guard'])?f['guard']['map'](o=>o?.['object'])['filter'](Boolean):[],n=m[0x0]?String(m[0x0]):a['guard'];if(n)d['push']({'guardRef':String(n),'items':f['submission']});}if(d['length']===0x0)return undefined;const g=OPERATION_GUARD_ACTION[a['operation_type']],h=[];for(const o of d){const q=await buildSubmissionConfirmation({'guard_ref':o['guardRef'],'submission':o['items'],...g?{'action':g}:{},'network':b['network']});if(q)h['push'](q);}if(h['length']===0x0)return undefined;const i=h['map'](r=>r['confirmation_text'])['join']('\x0a\x0a'),j=[];for(const r of h){r['missing_identifiers']['length']>0x0&&j['push']('Guard\x20'+(r['guard_name']??r['guard'])+':\x20missing\x20required\x20identifier(s)\x20'+r['missing_identifiers']['join'](',\x20'));for(const s of r['items']){for(const t of s['issues']){j['push']('Guard\x20'+(r['guard_name']??r['guard'])+'\x20['+(s['identifier']??'?')+']:\x20'+t);}}}const k={'message':i,'result':{'type':'pending_confirmation','preview':{'level':'standard','operation':a['operation_type'],'object':h[0x0]['guard_name']??h[0x0]['guard'],'network':b['network'],...j['length']>0x0?{'warnings':j}:{}},'rule_id':'guard_submission_confirm'},'semantic':{'intent':a['operation_type']+'_guard_submission_awaiting_confirmation','status':'pending_input','summary':'Guard\x20submission\x20composed-confirmation\x20(G1):\x20the\x20complete\x20semantics\x20of\x20your\x20submission\x20'+'(guard\x20rules\x20+\x20your\x20values\x20+\x20pass/fail\x20consequences)\x20are\x20shown\x20in\x20the\x20message.\x20'+'The\x20operation\x20was\x20NOT\x20executed.\x20Re-call\x20with\x20env.confirmed=true\x20to\x20proceed.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'Guard\x20submission\x20confirmation\x20—\x20'+h['length']+'\x20guard(s),\x20'+d['reduce']((u,v)=>u+v['items']['length'],0x0)+'\x20submitted\x20item(s).','tool':'onchain_operations','priority':'required'}],...j['length']>0x0?{'warnings':j}:{}}};return{'content':[{'type':'text','text':i}],'structuredContent':k};}const REFERRER_FILE=join(getWowMcpDir(),'referrer');function readStoredReferrer(){try{if(!existsSync(REFERRER_FILE))return null;const a=readFileSync(REFERRER_FILE,'utf8')['trim']();return a||null;}catch{return null;}}const PROJECT_SKILL_DIRS=['.claude/skills','.agents/skills','.cursor/rules','.github/prompts','.windsurf/skills','.codex/skills','.qoder/skills','.roo/skills','.codebuddy/skills'],PROJECT_SKILL_MARKERS=['wowok-provider','wowok-supplier','wowok-collaborator','wowok-arbitrator','wowok-order','wowok-messenger','wowok-machine','wowok-output','wowok-onboard','wowok-planner','wowok-auditor','wowok-governance'],SKILLS_HINT_FILE=join(getWowMcpDir(),'skills-hint-asked.json');function projectHasSkills(a){for(const b of PROJECT_SKILL_DIRS){for(const c of PROJECT_SKILL_MARKERS){if(existsSync(join(a,b,c)))return!![];}}return![];}function loadSkillsAsked(){try{if(!existsSync(SKILLS_HINT_FILE))return{};return JSON['parse'](readFileSync(SKILLS_HINT_FILE,'utf8'))??{};}catch{return{};}}function persistSkillsAsked(a){try{const b=loadSkillsAsked();b[a]=!![],mkdirSync(dirname(SKILLS_HINT_FILE),{'recursive':!![]}),writeFileSync(SKILLS_HINT_FILE,JSON['stringify'](b,null,0x2),'utf8');}catch{}}function getProjectSkillsHint(){try{const a=process['cwd']();if(!a||projectHasSkills(a))return null;const b=loadSkillsAsked();if(b[a])return null;return persistSkillsAsked(a),'WoWok\x20skills\x20are\x20not\x20installed\x20in\x20this\x20project.\x20Run\x20`wowok-skills\x20init`\x20'+'here\x20to\x20install\x20them\x20(the\x20MCP\x20works\x20regardless;\x20skills\x20improve\x20AI\x20orchestration).';}catch{return null;}}function formatRecipientLabel(a){if(!a)return'unknown';if(typeof a==='string')return a;const b=classifyRecipient(a);if(!b)return JSON['stringify'](a);if(b['kind']==='submission')return'submitted\x20object\x20slot\x20'+b['identifier']+'\x20(object\x20receipt\x20=\x20owner\x20receipt)';if(b['kind']==='signer')return'Signer\x20(caller\x20of\x20the\x20guard-gated\x20alloc)';const c=b['address'];if(c['length']>0x10)return'Entity('+c['slice'](0x0,0x8)+'...'+c['slice'](-0x4)+')';return'Entity('+c+')';}function formatMistAmount(a){const b=Number(a)/0x3b9aca00;if(b===0x0)return'0\x20WOW';const c=b['toFixed'](0x9)['replace'](/\.?0+$/,'');return c+'\x20WOW\x20('+a['toString']()+'\x20MIST)';}function extractNodesForCheck(a){if(!a?.['node'])return[];if(a['node']['nodes']&&Array['isArray'](a['node']['nodes']))return a['node']['nodes'];return[];}function resolvePermissionRef(a){if(!a?.['object'])return null;if(typeof a['object']==='string')return null;const b=a['object'];if(b['permission']){if(typeof b['permission']==='string')return b['permission'];return null;}return null;}function warnPermissionAutoCreation(a,b,c){const d=a?.['object'];d!==null&&typeof d==='object'&&d['permission']===undefined&&c['push']('PERMISSION\x20AUTO-CREATION:\x20no\x20\x27permission\x27\x20specified\x20in\x20the\x20'+b+'\x20creation\x20payload\x20—\x20a\x20NEW\x20Permission\x20object\x20is\x20created\x20automatically.\x20'+'To\x20reuse\x20an\x20existing\x20Permission\x20(recommended\x20when\x20one\x20owner\x20governs\x20several\x20objects),\x20set\x20object.permission\x20to\x20its\x20address\x20or\x20LocalMark\x20name.');}async function resolveStringRef(a){if(typeof a!=='string')return undefined;const b=a['trim']();if(!b)return undefined;if(/^0x[0-9a-fA-F]{1,64}$/['test'](b))return b['toLowerCase']();try{return await GetAccountOrMark_Address(b)??undefined;}catch{return undefined;}}const ADDR_RE=/^0x[0-9a-fA-F]{1,64}$/;async function assertReferencesResolve(a,b){const c=a?.['data'];if(!c||typeof c!=='object')return;const d=b?.['network']?'\x20(network:\x20'+b['network']+')':'';if(typeof c['object']==='string'&&c['object']['trim']()&&!ADDR_RE['test'](c['object']['trim']())){const g=await resolveStringRef(c['object']);if(!g)throw new Error('invalid\x20parameter:object\x20\x27'+c['object']+'\x27\x20not\x20found\x20locally'+d+'\x20—\x20check\x20local_mark_list\x20/\x20account_list,\x20or\x20pass\x20the\x20on-chain\x20object\x20ID');}const e=typeof c['object']==='object'&&c['object']!==null?c['object']:undefined,f=e?.['permission'];if(typeof f==='string'&&f['trim']()&&!ADDR_RE['test'](f['trim']())){const h=await resolveStringRef(f);if(!h)throw new Error('invalid\x20parameter:permission\x20\x27'+f+'\x27\x20not\x20found\x20locally'+d+'\x20—\x20pass\x20the\x20Permission\x27s\x20object\x20ID,\x20register\x20the\x20mark\x20first,\x20or\x20use\x20the\x20object\x20form\x20permission:{name:\x22'+f+'\x22}\x20to\x20CREATE\x20a\x20new\x20Permission');}}async function checkMachinePermissionBeforePublish(a,b){if(a?.['publish']!==!![])return'';const c=extractNodesForCheck(a);if(c['length']===0x0)return'';const d=collectPermissionIndexes(c);if(d['requiredIndexes']['length']===0x0)return'';let e='';if(d['missingRefs']['length']>0x0){e+='WARNING:\x20Some\x20forwards\x20have\x20NEITHER\x20permissionIndex\x20nor\x20namedOperator.\x20'+'These\x20forwards\x20cannot\x20be\x20executed.\x20Add\x20one\x20or\x20the\x20other:\x0a';for(const k of d['missingRefs']){e+='\x20\x20-\x20Node\x20\x22'+k['nodeName']+'\x22,\x20pair\x20prev_node=\x22'+k['prevNode']+'\x22,\x20forward\x20\x22'+k['forwardName']+'\x22\x0a';}e+='\x0a';}const f=resolvePermissionRef(a);if(!f)return d['requiredIndexes']['length']>0x0&&(e+='PRE-PUBLISH\x20REMINDER:\x20This\x20Machine\x20uses\x20'+d['requiredIndexes']['length']+'\x20custom\x20permission\x20index(es):\x20['+d['requiredIndexes']['join'](',\x20')+'].\x20'+'After\x20creating\x20the\x20Permission\x20object,\x20grant\x20entities\x20for\x20each\x20index\x20via\x20'+'permission.op=\x22add\x20perm\x20by\x20index\x22\x20BEFORE\x20publishing\x20the\x20Machine.\x20'+'Otherwise,\x20forwards\x20using\x20these\x20indexes\x20will\x20be\x20un-executable.\x0a'),e;let g=f;if(!f['startsWith']('0x'))try{const l=await LocalMark['Instance']()['get'](f);if(l?.['address'])g=l['address'];else return e+'PRE-PUBLISH:\x20Could\x20not\x20resolve\x20Permission\x20name\x20\x27'+f+'\x27\x20to\x20an\x20address.\x20Ensure\x20the\x20Permission\x20object\x20exists\x20and\x20is\x20marked.\x20'+'Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}catch{return e+'PRE-PUBLISH:\x20Failed\x20to\x20lookup\x20Permission\x20name\x20\x27'+f+'\x27.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}const h=await resolveNetwork(b?.['network']);let i=null;try{const m=await query_objects({'objects':[g],'network':h}),n=m?.['objects']?.[0x0];n&&(i={'address':g,'entity_count':n['entity_count'],'perm_remark':n['perm_remark'],'owner':n['owner']??n['builder'],'admin':n['admin']});}catch{return e+'PRE-PUBLISH:\x20Failed\x20to\x20query\x20Permission\x20object\x20'+g+'.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';}if(!i)return e+'PRE-PUBLISH:\x20Permission\x20object\x20'+g+'\x20not\x20found\x20on-chain.\x20Required\x20indexes:\x20['+d['requiredIndexes']['join'](',\x20')+']\x0a';const j=checkPermissionAuthorization(d['requiredIndexes'],i);return!j['allAuthorized']&&(e+=formatPermissionWarning(j)+'\x0a'),e;}async function detectServiceGuardCircularDependency(a){if(!a||typeof a['object']!=='object'||a['object']===null)return null;const b=a['order_allocators'];if(!b||typeof b!=='object')return null;const c=Array['isArray'](b['allocators'])?b['allocators']:[];if(c['length']===0x0)return null;const d=[],e=new Set();for(const k of c){const l=k?.['guard'];if(typeof l==='string'&&!l['startsWith']('0x')){if(e['has'](l))continue;e['add'](l);try{const m=await LocalMark['Instance']()['get_address'](l);!m&&d['push'](l);}catch{d['push'](l);}}}if(d['length']===0x0)return null;const f=d['map'](n=>'\x27'+n+'\x27')['join'](',\x20'),g=a['object'],h=g['name']??'<service_name>',i=[{'step':0x1,'action':'onchain_operations','operation_type':'service','params':{...a,'order_allocators':null,'publish':![]},'purpose':'Create\x20Service\x20\x27'+h+'\x27\x20WITHOUT\x20order_allocators\x20to\x20establish\x20'+('its\x20LocalMark\x20entry.\x20After\x20this\x20step,\x20the\x20name\x20\x27'+h+'\x27\x20resolves\x20')+'to\x20an\x20on-chain\x20address.'},{'step':0x2,'action':'onchain_operations','operation_type':'guard','params':d['map'](n=>({'object':{'name':n,'type':'Guard'},'_hint':'Table\x20items\x20may\x20reference\x20Service\x20\x27'+h+'\x27\x20by\x20name'})),'purpose':'Create\x20Guard(s)\x20'+f+'.\x20Their\x20table\x20items\x20can\x20now\x20resolve\x20'+('Service\x20\x27'+h+'\x27\x20by\x20name\x20(LocalMark\x20entry\x20from\x20step\x201).')},{'step':0x3,'action':'onchain_operations','operation_type':'service','params':{'object':h,'order_allocators':b,'publish':a['publish']??!![]},'purpose':'Update\x20Service\x20with\x20order_allocators\x20(referencing\x20Guards\x20created\x20in\x20'+'step\x202)\x20and\x20publish.\x20After\x20publish,\x20order_allocators\x20becomes\x20SDK-LOCKED.'}],j='⚠️\x20Circular\x20dependency\x20detected:\x20Service\x20↔\x20Guard\x0a\x0a'+('Cannot\x20create\x20Service\x20with\x20order_allocators\x20referencing\x20non-existent\x20Guard(s):\x20'+f+'.\x0a\x0a')+'Explanation:\x20Guard\x20table\x20items\x20may\x20reference\x20the\x20Service\x20by\x20name,\x20creating\x20a\x20circular\x20'+'dependency:\x20the\x20Service\x20must\x20exist\x20as\x20a\x20LocalMark\x20before\x20the\x20Guard\x20can\x20resolve\x20it,\x20'+'but\x20the\x20Guard\x20must\x20exist\x20before\x20the\x20Service\x20can\x20reference\x20it\x20in\x20order_allocators.\x20'+'The\x20SDK\x20would\x20fail\x20with\x20a\x20BCS\x20serialization\x20error:\x20\x22Expected\x20valid\x20Address\x20for\x20'+'ValueType.Address,\x20but\x20failed\x20to\x20resolve\x20string:\x20<name>\x22.\x0a\x0a'+'Recommended\x20steps:\x0a'+i['map'](n=>'\x20\x20Step\x20'+n['step']+'\x20('+n['operation_type']+'):\x20'+n['purpose'])['join']('\x0a')+'\x0a\x0aHint:\x20This\x20is\x20the\x20canonical\x20Service↔Guard\x20circular\x20dependency.\x20The\x203-step\x20'+'pattern\x20above\x20is\x20the\x20documented\x20solution\x20(see\x20SCHEMA-03\x20/\x20P0-01\x20fix\x20in\x20'+'schema/call/service.ts\x20publish\x20field\x20description).';return{'content':[{'type':'text','text':j}],'structuredContent':{'result':{'type':'error','error':'Cannot\x20create\x20Service\x20with\x20order_allocators\x20referencing\x20non-existent\x20Guard(s):\x20'+f+'.\x20Circular\x20dependency:\x20Service↔Guard.','error_code':'circular_dependency_detected','retryable':!![],'recovery_hint':JSON['stringify'](i),'related_object':h},'message':'Circular\x20dependency\x20detected:\x20Service\x20↔\x20Guard.\x20See\x20recovery_hint\x20for\x20the\x203-step\x20creation\x20pattern.'}};}function buildFundBlockResult(a,b){const c=a['matchErrors']['length']>0x0,d=a['errors']['length']>0x0,e=a['blockingErrors']['some'](k=>k['includes']('TOKEN\x20CHOICE\x20REQUIRED')),f=c&&d?'FUND\x20OPERATION\x20BLOCKED':c?'TOKEN\x20TYPE\x20MISMATCH\x20—\x20operation\x20blocked':e?'TOKEN\x20CHOICE\x20REQUIRED\x20—\x20operation\x20blocked,\x20awaiting\x20user\x20selection':'FUND\x20INPUT\x20BLOCKED\x20—\x20operation\x20blocked',g=c&&d?'fund_blocked':c?'token_type_mismatch':e?'token_choice_required':'fund_input_error',h=c?'\x0a\x0aThe\x20token\x20type\x20of\x20a\x20generic\x20on-chain\x20object\x20(e.g.\x20Treasury<T>,\x20Service<T>)\x20is\x20'+'determined\x20at\x20creation\x20and\x20can\x20NEVER\x20be\x20changed,\x20and\x20monetary\x20input\x20is\x20never\x20'+('processed\x20with\x20unknown\x20token\x20precision.\x20This\x20'+b+'\x20operation\x20was\x20')+'NOT\x20executed.\x20Fix\x20the\x20errors\x20above\x20and\x20re-issue\x20the\x20operation'+(a['objectTokenType']?'\x20(object\x20token\x20type:\x20'+a['objectTokenType']+')':'')+'.':e?'\x0a\x0aMultiple\x20on-chain\x20tokens\x20may\x20legally\x20share\x20the\x20same\x20symbol\x20(several\x20'+'issuers\x20can\x20each\x20publish\x20a\x20\x22USDT\x22),\x20so\x20a\x20bare\x20symbol\x20can\x20never\x20identify\x20'+('the\x20issuer.\x20This\x20'+b+'\x20operation\x20was\x20NOT\x20executed\x20and\x20no\x20')+'on-chain\x20action\x20was\x20taken.\x20Present\x20the\x20numbered\x20candidate\x20list\x20above\x20to\x20'+'the\x20USER,\x20wait\x20for\x20their\x20choice,\x20then\x20re-issue\x20with\x20the\x20chosen\x20token\x27s\x20'+'full\x20type.':'\x0a\x0aMonetary\x20input\x20is\x20never\x20processed\x20with\x20unknown\x20token\x20precision\x20or\x20an\x20'+('unparseable\x20amount.\x20This\x20'+b+'\x20operation\x20was\x20NOT\x20executed\x20and\x20')+'no\x20on-chain\x20action\x20was\x20taken.\x20Follow\x20the\x20recovery\x20steps\x20in\x20the\x20error\x20'+'above\x20and\x20re-issue\x20the\x20operation.',i='⛔\x20'+f+'\x0a\x0a'+a['blockingErrors']['map'](k=>'\x20\x20•\x20'+k)['join']('\x0a')+h,j=e?'Present\x20the\x20numbered\x20token\x20candidate\x20list\x20from\x20the\x20error\x20message\x20to\x20the\x20USER\x20'+'(full\x20type,\x20name,\x20decimals,\x20verified\x20tag\x20are\x20all\x20shown)\x20—\x20do\x20NOT\x20pick\x20an\x20'+'issuer\x20yourself.\x20After\x20the\x20user\x20chooses\x20(by\x20number\x20or\x20by\x20pasting\x20the\x20full\x20'+('type),\x20re-issue\x20this\x20'+b+'\x20operation\x20with\x20that\x20token\x27s\x20FULL\x20type\x20')+'string\x20(package::module::Name)\x20in\x20type_parameter\x20(object.type_parameter\x20for\x20'+'service\x20creation;\x20root\x20type_parameter\x20for\x20payment\x20receive).\x20Also\x20verify\x20the\x20'+'WOW\x20network\x20selection\x20is\x20correct.':'Use\x20token\x20type\x20'+(a['objectTokenType']??'<the\x20object\x27s\x20generic\x20token\x20type>')+'\x20for\x20all\x20'+('amounts,\x20coins,\x20and\x20receive\x20records\x20in\x20this\x20'+b+'\x20operation.\x20')+'Query\x20the\x20object\x20via\x20query_toolkit\x20onchain_objects\x20to\x20confirm\x20its\x20generic\x20'+'token\x20type\x20(type_raw,\x20e.g.\x20\x220x2::treasury::Treasury<0x2::wow::WOW>\x22).\x20'+'For\x20precision-unavailable\x20tokens,\x20retry\x20the\x20operation\x20—\x20the\x20on-chain\x20'+'metadata\x20lookup\x20may\x20have\x20been\x20transient.';return{'content':[{'type':'text','text':i}],'structuredContent':{'result':{'type':'error','error':a['blockingErrors']['join']('\x20|\x20'),'error_code':g,'retryable':!![],'recovery_hint':j},'message':'Fund\x20operation\x20blocked\x20before\x20execution.'}};}function checkSalesWipNetworkDeployment(a,b,c){const d=a?.['sales'];if(!d||typeof d!=='object')return null;if(d['op']!=='add'&&d['op']!=='set')return null;const e=Array['isArray'](d['sales'])?d['sales']:[];if(e['length']===0x0)return null;const f=b?.['network']==='localnet';for(const g of e){const h=g?.['wip'];if(typeof h!=='string'||h==='')continue;const i=classifyWipPath(h);if(!i['is_local'])continue;if(i['type']==='local_http'){if(f){c['push']('WIP\x20INTERNAL-TEST-ONLY\x20REMINDER\x20(sale\x20\x22'+g['name']+'\x22):\x20wip\x20=\x20\x22'+h+'\x22\x20is\x20a\x20'+('local-network\x20URL\x20('+i['description']+').\x20It\x20is\x20reachable\x20ONLY\x20on\x20the\x20')+'local\x20machine\x20/\x20LAN\x20where\x20a\x20local\x20WIP\x20server\x20runs.\x20This\x20is\x20acceptable\x20for\x20LOCALNET\x20'+'internal\x20testing,\x20but\x20customers\x20and\x20on-chain\x20verifiers\x20on\x20OTHER\x20machines\x20CANNOT\x20'+'reach\x20it\x20—\x20on\x20testnet/mainnet,\x20every\x20customer\x20order_new\x20would\x20fail\x20100%\x20because\x20the\x20'+'WIP\x20file\x20cannot\x20be\x20verified.\x20For\x20any\x20non-localnet\x20deployment,\x20replace\x20this\x20URL\x20with\x20'+'a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20or\x20leave\x20sale.wip\x20empty.');continue;}const l='a\x20local-network\x20URL\x20('+i['description']+')',m='⛔\x20WIP\x20IS\x20NOT\x20NETWORK-DEPLOYABLE\x20—\x20sales\x20NOT\x20submitted\x0a\x0a'+('Sale\x20\x22'+g['name']+'\x22\x20has\x20wip\x20=\x20\x22'+h+'\x22,\x20which\x20is\x20'+l+'.\x0a\x0a')+'INTERNAL\x20TEST\x20USE\x20ONLY:\x20this\x20URL\x20is\x20reachable\x20only\x20from\x20the\x20merchant\x27s\x20own\x20machine/LAN.\x20'+'Customers\x20on\x20other\x20machines\x20cannot\x20reach\x20it,\x20so\x20verifying\x20the\x20WIP\x20file\x20at\x20order\x20time\x20'+'fails\x20and\x20order_new\x20aborts\x20100%.\x20Local-network\x20WIP\x20URLs\x20are\x20allowed\x20ONLY\x20for\x20'+('localnet\x20internal\x20testing\x20(env.network\x20=\x20\x22localnet\x22);\x20on\x20'+(b?.['network']??'this\x20network')+'\x20')+'they\x20must\x20never\x20be\x20stored\x20on-chain.\x0a\x0a'+'Fix:\x20deploy\x20the\x20.wip\x20file\x20to\x20a\x20publicly\x20reachable\x20endpoint,\x20then\x20re-run\x20with\x20'+'sale.wip\x20=\x20\x22<public\x20URL>\x22\x20(e.g.\x20GitHub\x20Pages,\x20IPFS\x20gateway,\x20or\x20your\x20own\x20website).\x0a'+'\x20\x20•\x20GitHub\x20Pages:\x20https://<user>.github.io/<repo>/<file>.wip\x0a'+'\x20\x20•\x20IPFS:\x20\x20\x20\x20\x20\x20\x20\x20https://ipfs.io/ipfs/<CID>\x20\x20(or\x20ipfs://<CID>)\x0a'+'\x20\x20•\x20Your\x20site:\x20\x20\x20https://<your-domain>/<path>/<file>.wip\x0a'+'Alternatively,\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20SKIP\x20WIP\x20verification\x20—\x20'+'TESTING\x20ONLY,\x20not\x20recommended\x20for\x20production.';return{'content':[{'type':'text','text':m}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+l+':\x20'+h+'.\x20Local-network\x20URLs\x20are\x20INTERNAL\x20TEST\x20USE\x20ONLY\x20—\x20customers\x20cannot\x20verify\x20them,\x20aborting\x20order_new\x20100%.','error_code':'wip_not_network_deployed','retryable':!![],'recovery_hint':'Deploy\x20the\x20.wip\x20file\x20to\x20a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20'+'and\x20set\x20sale.wip\x20to\x20the\x20public\x20URL;\x20or\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20'+'verification\x20(TESTING\x20ONLY).','related_object':g['name']},'message':'WIP\x20is\x20a\x20local-network\x20URL\x20(INTERNAL\x20TEST\x20USE\x20ONLY)\x20—\x20sales\x20not\x20submitted.\x20See\x20recovery_hint.'}};}const j='a\x20LOCAL\x20'+i['type']+'\x20path',k='⛔\x20WIP\x20IS\x20NOT\x20NETWORK-DEPLOYABLE\x20—\x20sales\x20NOT\x20submitted\x0a\x0a'+('Sale\x20\x22'+g['name']+'\x22\x20has\x20wip\x20=\x20\x22'+h+'\x22,\x20which\x20is\x20'+j+'.\x0a\x0a')+'Why\x20this\x20is\x20fatal:\x20the\x20WIP\x20path\x20is\x20stored\x20ON-CHAIN\x20and\x20every\x20customer\x20'+'(on\x20a\x20different\x20machine)\x20fetches\x20it\x20when\x20placing\x20an\x20order.\x20A\x20local\x20path\x20/\x20'+'localhost\x20/\x20LAN\x20URL\x20is\x20reachable\x20only\x20from\x20YOUR\x20machine\x20—\x20it\x20passes\x20the\x20'+'merchant-side\x20set-time\x20verification\x20but\x20makes\x20order_new\x20abort\x20100%\x20for\x20customers.\x0a\x0a'+'Fix:\x20deploy\x20the\x20.wip\x20file\x20to\x20a\x20publicly\x20reachable\x20endpoint,\x20then\x20re-run\x20with\x20'+'sale.wip\x20=\x20\x22<public\x20URL>\x22\x20(e.g.\x20GitHub\x20Pages,\x20IPFS\x20gateway,\x20or\x20your\x20own\x20website).\x0a'+'\x20\x20•\x20GitHub\x20Pages:\x20https://<user>.github.io/<repo>/<file>.wip\x0a'+'\x20\x20•\x20IPFS:\x20\x20\x20\x20\x20\x20\x20\x20https://ipfs.io/ipfs/<CID>\x20\x20(or\x20ipfs://<CID>)\x0a'+'\x20\x20•\x20Your\x20site:\x20\x20\x20https://<your-domain>/<path>/<file>.wip\x0a'+'Alternatively,\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20SKIP\x20WIP\x20verification\x20—\x20'+'TESTING\x20ONLY,\x20not\x20recommended\x20for\x20production.';return{'content':[{'type':'text','text':k}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+j+':\x20'+h+'.\x20Local\x20WIP\x20paths\x20are\x20unreachable\x20by\x20customers\x20and\x20abort\x20order_new\x20100%.','error_code':'wip_not_network_deployed','retryable':!![],'recovery_hint':'Deploy\x20the\x20.wip\x20file\x20to\x20a\x20public\x20endpoint\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20'+'and\x20set\x20sale.wip\x20to\x20the\x20public\x20URL;\x20or\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20'+'verification\x20(TESTING\x20ONLY).','related_object':g['name']},'message':'WIP\x20is\x20not\x20network-deployable\x20—\x20sales\x20not\x20submitted.\x20See\x20recovery_hint.'}};}return null;}function extractObjectOnlyRef(a){const b=a;if(b['submission'])return undefined;const c=b['data'];if(!c||typeof c!=='object'||Array['isArray'](c))return undefined;const d=c,e=Object['keys'](d);if(e['length']!==0x1||e[0x0]!=='object')return undefined;const f=d['object'];return typeof f==='string'&&f['trim']()['length']>0x0?f['trim']():undefined;}async function queryObjectOnlyResult(a,b,c){let d=[],f;try{const j=await query_objects({'objects':[b],'network':c?.['network'],'no_cache':!![]});d=j['objects']??[],d['length']===0x0&&(f='Object\x20\x27'+b+'\x27\x20not\x20found\x20on-chain.\x20It\x20may\x20never\x20have\x20been\x20created,\x20'+'its\x20local\x20mark\x20may\x20be\x20missing\x20(register\x20it\x20via\x20local_mark_operation),\x20'+'or\x20it\x20may\x20live\x20on\x20a\x20different\x20network.');}catch(k){const l=k?.['message']??String(k);f='Query\x20failed\x20for\x20\x27'+b+'\x27:\x20'+l;}const g=d['map'](m=>({...m,'change':'queried'})),h=f?'Object-only\x20payload\x20for\x20'+a+'\x20—\x20nothing\x20to\x20mutate,\x20no\x20transaction\x20was\x20sent\x20(no\x20gas\x20used).\x20'+f:'Object-only\x20payload\x20for\x20'+a+'\x20—\x20nothing\x20to\x20mutate,\x20no\x20transaction\x20was\x20sent\x20(no\x20gas\x20used).\x20Current\x20on-chain\x20state\x20of\x20\x27'+b+'\x27:',i={'message':h,'result':f?{'type':'error','error':f,'error_code':'object_not_found','retryable':![],'recovery_hint':'Check\x20the\x20name\x20spelling\x20(local_mark_operation\x20list),\x20the\x20env.network\x20value,\x20or\x20create\x20the\x20object\x20first.'}:{'type':'data','data':g},'semantic':{'intent':a+'_read','status':f?'failed':'success','summary':h,'next_actions':[{'action':'Use\x20query_toolkit\x20(onchain_objects)\x20for\x20richer\x20inspection\x20—\x20content\x20fields,\x20ownership,\x20dynamic\x20tables.','reason':'Object-only\x20onchain_operations\x20payloads\x20are\x20answered\x20by\x20a\x20pure\x20query;\x20they\x20never\x20mutate\x20on-chain\x20state.','tool':'query_toolkit','priority':'recommended'}],'warnings':['Payload\x20contained\x20only\x20data.object\x20—\x20interpreted\x20as\x20a\x20READ\x20request,\x20not\x20a\x20transaction.']}};return{'content':[{'type':'text','text':h}],'structuredContent':i};}function checkOrderAllocatorsPrePublish(b,c){if(!b||typeof b!=='object')return null;let d,f;try{const h=assessAllocationRisks({'allocators_config':b,'operation_type':'create','trigger_source':'service_order_allocators'}),i=new Set(['R-A-1-01','R-A-1-02','R-A-1-03','R-A-2-03']);d=h['risks']['filter'](j=>i['has'](j['id']))['map'](j=>({'id':j['id'],'title':j['title'],'mitigation':j['mitigation']})),f=h['risks']['filter'](j=>!i['has'](j['id'])&&(j['level']==='critical'||j['level']==='high'))['map'](j=>({'id':j['id'],'title':j['title'],'mitigation':j['mitigation']}));}catch(j){return c['push']('pre-publish\x20allocators\x20risk\x20scan\x20failed\x20(non-blocking):\x20'+(j instanceof Error?j['message']:String(j))+'\x20—\x20'+'run\x20the\x20recipient\x20constraint\x20audit\x20via\x20query_toolkit\x20service_panorama\x20before\x20publish.'),null;}for(const k of f){c['push']('ALLOCATOR\x20RISK\x20'+k['id']+'\x20(advisory\x20—\x20needs\x20full-evidence\x20review\x20before\x20publish):\x20'+k['title']+'\x20—\x20'+k['mitigation']);}try{const l=Array['isArray'](b?.['allocators'])?b['allocators']:[],m=l['map']((n,o)=>{const p=Array['isArray'](n?.['sharing'])?n['sharing']:[];return p['some'](q=>q?.['who']&&typeof q['who']==='object'&&'GuardIdentifier'in q['who'])?o:-0x1;})['filter'](n=>n>=0x0);m['length']>0x0&&c['push']('REFUND\x20TRACK\x20GUARD\x20GATING\x20(advisory):\x20Allocator(s)\x20['+m['join'](',\x20')+']\x20pay\x20a\x20'+'GuardIdentifier\x20recipient\x20—\x20the\x20order-anchored\x20refund\x20track.\x20Verify\x20the\x20bound\x20guard\x20is\x20'+'NODE-GATED:\x20AND[signer==order.owner,\x20progress.node==<X>]\x20per\x20refundable\x20node\x20(expand\x20one\x20track\x20'+'per\x20node\x20—\x20AND-of-OR\x20is\x20inexpressible\x20on-chain).\x20A\x20signer-only\x20refund\x20guard\x20still\x20lets\x20the\x20'+'subscriber\x20claim\x20the\x20escrow\x20after\x20the\x20order\x20reached\x20a\x20no-refund\x20terminal\x20—\x20cases\x20already\x20paid\x20'+'by\x20a\x20ruling\x20are\x20closed\x20on-chain\x20(the\x20order\x20seals\x20after\x20the\x20claim),\x20but\x20terminal/expiry\x20shapes\x20'+'are\x20guard-level\x20business\x20rules.\x20Declare\x20the\x20identifier-255\x20once\x20slot\x20on\x20the\x20'+'refund\x20guard\x20so\x20a\x20consumed\x20claim\x20cannot\x20re-split\x20the\x20residual.');}catch{}if(d['length']===0x0)return null;const g='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20order_allocators\x20fails\x20the\x20pre-publish\x20risk\x20scan\x20'+'(the\x20allocation\x20rule\x20kernel,\x20same\x20rules\x20as\x20the\x20template\x20scan).\x0a\x0a'+d['map'](n=>'\x20\x20•\x20'+n['id']+':\x20'+n['title']+'\x0a\x20\x20\x20\x20Fix:\x20'+n['mitigation'])['join']('\x0a')+'\x0a\x0aorder_allocators\x20is\x20PERMANENTLY\x20IMMUTABLE\x20after\x20publish\x20(E_ALREADY_PUBLISHED,\x20'+'no\x20pause+lock\x20exception)\x20—\x20a\x20published\x20misconfiguration\x20locks\x20order\x20funds\x20or\x20aborts\x20'+'every\x20alloc()\x20transaction\x20for\x20the\x20lifetime\x20of\x20this\x20Service.\x20Fix\x20the\x20allocator\x20table\x20'+'and\x20re-issue\x20this\x20operation.\x20This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':g}],'structuredContent':{'result':{'type':'error','error':d['map'](n=>n['id']+':\x20'+n['title'])['join']('\x20|\x20'),'error_code':'allocators_risk_blocked','retryable':!![],'recovery_hint':JSON['stringify'](d)},'message':'Service\x20publish\x20blocked\x20by\x20the\x20pre-publish\x20allocators\x20risk\x20scan.'}};}async function checkEntityRecipientGate(a,b,c){let d;try{d=await checkEntityRecipients(a);}catch(i){return c?.['push']('R-RECIPIENT-03\x20recipient\x20gate\x20failed\x20(non-blocking):\x20'+(i instanceof Error?i['message']:String(i))),null;}if(d['length']===0x0)return null;const f=d['filter'](j=>j['severity']==='critical'),g=d['filter'](j=>j['severity']!=='critical');for(const j of g){c?.['push'](formatEntityRecipientViolation(j)+'\x20—\x20fix\x20before\x20committing\x20this\x20allocator\x20table.');}if(f['length']===0x0)return null;const h='⛔\x20OPERATION\x20BLOCKED\x20—\x20'+b+'\x20violates\x20'+ENTITY_RECIPIENT_RULE_ID+'\x20'+'(direct-sales\x20Entity\x20recipient\x20rule).\x0a\x0a'+f['map'](k=>'\x20\x20•\x20'+formatEntityRecipientViolation(k))['join']('\x0a')+(g['length']>0x0?'\x0a\x0aAlso\x20reported\x20(non-blocking):\x0a'+g['map'](k=>'\x20\x20•\x20'+formatEntityRecipientViolation(k))['join']('\x0a'):'')+('\x0a\x0a'+describeEntityRecipients(f)+'\x0a\x0a')+'order_allocators\x20is\x20PERMANENTLY\x20IMMUTABLE\x20after\x20publish\x20(no\x20pause+lock\x20escape)\x20—\x20'+'an\x20empty\x20Entity\x20recipient\x20published\x20now\x20silently\x20pays\x20the\x20builder\x20forever.\x20Fix\x20the\x20'+'recipient\x20table\x20and\x20re-issue\x20this\x20operation.\x20This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20'+'action\x20was\x20taken.';return{'content':[{'type':'text','text':h}],'structuredContent':{'result':{'type':'error','error':f['map'](k=>k['rule_id']+'\x20allocator['+k['allocator_index']+'].sharing['+k['sharing_index']+']:\x20'+k['reason'])['join']('\x20|\x20'),'error_code':'entity_recipient_invalid','retryable':!![],'recovery_hint':describeEntityRecipients(f)},'message':'Operation\x20blocked\x20by\x20'+ENTITY_RECIPIENT_RULE_ID+':\x20an\x20Entity\x20recipient\x20is\x20empty,\x20omitted,\x20or\x20resolves\x20to\x20the\x20deploying\x20account.'}};}function warnAmountEscrowDeadlock(a,b,c){try{const d=Array['isArray'](a?.['allocators'])?a['allocators']:[],e=d['map'](k=>(Array['isArray'](k?.['sharing'])?k['sharing']:[])['filter'](l=>l?.['mode']==='Amount')['reduce']((l,m)=>l+(Number(m?.['sharing']?.['balance'])||0x0),0x0)),f=e['some'](k=>k>0x0);if(!f)return;const g=Array['isArray'](b?.['sales'])?b['sales']:[],h=g['map'](k=>Number(k?.['price']?.['balance']))['filter'](k=>Number['isFinite'](k)&&k>0x0);if(h['length']===0x0)return;const j=h['reduce']((k,l)=>k+l,0x0);for(let k=0x0;k<e['length'];k++){e[k]>j&&c['push']('FIXED-AMOUNT\x20DEADLOCK\x20RISK\x20(advisory):\x20Allocator['+k+']\x20Amount\x20sum='+e[k]+'\x20exceeds\x20the\x20'+('minimum\x20single-order\x20escrow\x20Σ(price×1)='+j+'\x20(sales\x20configured\x20in\x20this\x20call;\x20quantity\x20fixed\x20at\x20buy\x20time).\x20')+'An\x20order\x20smaller\x20than\x20the\x20Amount\x20aborts\x20alloc()\x20with\x20Insufficient\x20balance\x20—\x20if\x20this\x20allocator\x20is\x20the\x20only\x20'+'match\x20on\x20a\x20terminal\x20forward,\x20that\x20order\x27s\x20balance\x20is\x20permanently\x20stranded.\x20Use\x20Rate\x20sharing\x20for\x20'+'penalty/proportional\x20rules\x20(scales\x20with\x20the\x20order),\x20or\x20bound\x20the\x20Amount\x20below\x20the\x20smallest\x20expected\x20order.');}}catch{}}async function checkArbitrationsBeforePublish(a,b,c){if(!Array['isArray'](a)||a['length']===0x0)return null;const d=await resolveNetwork(b?.['network']),e=[],f=[],g=[];for(const h of a){let i;if(typeof h==='string')i=h['startsWith']('0x')?h:await LocalMark['Instance']()['get_address'](h)['catch'](()=>undefined)??undefined;else{if(h&&typeof h==='object'){const j=h['name']??h['object']??h['address'];typeof j==='string'&&(i=j['startsWith']('0x')?j:await LocalMark['Instance']()['get_address'](j)['catch'](()=>undefined)??undefined);}}if(!i){g['push'](typeof h==='string'?h:JSON['stringify'](h));continue;}try{const k=await query_objects({'objects':[i],'network':d,'no_cache':!![]}),l=k?.['objects']?.[0x0];if(!l||l['type']!=='Arbitration'){g['push'](i);continue;}const m=l['data']??l;if(m['bPaused']===!![])e['push'](i);const n=Array['isArray'](m['voting_guard'])?m['voting_guard']['length']:0x0;if(n===0x0)f['push'](i);}catch{g['push'](i);}}g['length']>0x0&&c['push']('PRE-PUBLISH:\x20Could\x20not\x20resolve/query\x20bound\x20Arbitration(s)\x20['+g['join'](',\x20')+']\x20—\x20'+'verify\x20each\x20is\x20UNPAUSED\x20(new\x20Arbitrations\x20default\x20to\x20bPaused=true;\x20disputes\x20abort\x20with\x20E_PAUSED)\x20'+'and\x20that\x20voting\x20can\x20actually\x20happen:\x20an\x20empty\x20voting_guard\x20means\x20EQUAL\x20vote\x20weight\x20(1\x20person\x201\x20vote),\x20'+'but\x20vote()\x20still\x20requires\x20permission\x20358,\x20which\x20NO\x20ONE\x20holds\x20on\x20a\x20fresh\x20Arbitration\x20—\x20grant\x20358\x20to\x20the\x20'+'disputing\x20parties\x20or\x20configure\x20a\x20voting_guard\x20before\x20relying\x20on\x20open\x20voting.');f['length']>0x0&&c['push']('C7\x20RISK\x20(open\x20voting):\x20Arbitration(s)\x20['+f['join'](',\x20')+']\x20have\x20an\x20EMPTY\x20voting_guard\x20—\x20'+'this\x20means\x20EQUAL\x20vote\x20weight\x20(1\x20person\x201\x20vote),\x20NOT\x20permissionless.\x20vote()\x20unconditionally\x20asserts\x20'+'permission\x20358\x20(arbitration.move),\x20and\x20a\x20freshly\x20created\x20Arbitration\x20has\x20NO\x20permission\x20grants,\x20so\x20'+'without\x20explicit\x20grants\x20NOBODY\x20can\x20vote\x20and\x20every\x20dispute\x20dead-ends\x20at\x20the\x20voting\x20stage.\x20Fix:\x20'+'(1)\x20grant\x20permission\x20358\x20to\x20each\x20disputing\x20party\x20(equal-weight\x20open\x20vote),\x20AND\x20initialize\x20the\x20'+'management\x20grants\x20—\x20356/357/362-366\x20to\x20the\x20owner,\x20359\x20(ruling)\x20+\x20361\x20(confirm\x20materials)\x20to\x20the\x20'+'arbitrator;\x20or\x20(2)\x20for\x20weighted\x20voting,\x20set\x20voting_guard\x20via\x20arbitration\x20voting_guard\x20op=\x22add\x22\x20with\x20'+'a\x20verifier\x20Guard\x20+\x20vote_weight\x20(GuardIdentifier\x20for\x20submitted\x20weights,\x20or\x20FixedValue)\x20—\x20weighted\x20'+'voters\x20then\x20call\x20vote\x20WITH\x20data.vote.voting_guard\x20(plain\x20vote\x20aborts\x20E_VOTING_GUARD_USED\x20once\x20a\x20'+'voting_guard\x20exists).');if(e['length']>0x0){const o='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20bound\x20Arbitration(s)\x20['+e['join'](',\x20')+']\x20are\x20PAUSED.\x0a\x0a'+'A\x20newly\x20created\x20Arbitration\x20defaults\x20to\x20bPaused=true;\x20while\x20paused,\x20EVERY\x20dispute\x20filing\x20aborts\x20'+'with\x20E_PAUSED\x20—\x20the\x20arbitration\x20mounted\x20on\x20this\x20Service\x20would\x20be\x20decorative\x20(buyers\x20have\x20no\x20'+'working\x20dispute\x20path,\x20and\x20compensation_fund\x20payouts\x20could\x20never\x20be\x20triggered).\x20The\x20on-chain\x20'+'publish\x20check\x20only\x20verifies\x20the\x20arbitrations\x20list\x20is\x20non-empty,\x20NOT\x20that\x20each\x20Arbitration\x20is\x20'+'active\x20—\x20this\x20scan\x20closes\x20that\x20gap.\x0a'+'Fix:\x20issue\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20pause:false}}\x20for\x20each\x20paused\x20'+'Arbitration\x20above,\x20then\x20retry\x20publish=true.\x20This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':o}],'structuredContent':{'result':{'type':'error','error':'arbitration_paused:\x20'+e['join'](',\x20'),'error_code':'arbitrations_paused','retryable':!![],'recovery_hint':JSON['stringify']({'paused':e,'unpaused_hint':'arbitration\x20data:{object,\x20pause:false}'})},'message':'Service\x20publish\x20blocked:\x20bound\x20Arbitration(s)\x20are\x20paused.'}};}return null;}async function checkRefundRecipientSatisfiability(a,b,c){if(!a||typeof a!=='object')return null;const d=Array['isArray'](a?.['allocators'])?a['allocators']:[],e=[];for(let l=0x0;l<d['length'];l++){const m=Array['isArray'](d[l]?.['sharing'])?d[l]['sharing']:[],n=d[l]?.['guard'];if(typeof n!=='string'||n['length']===0x0)continue;for(const o of m){const p=o?.['who'];p&&typeof p==='object'&&'GuardIdentifier'in p&&e['push']({'allocIdx':l,'guardRef':n,'identifier':p['GuardIdentifier']});}}if(e['length']===0x0)return null;const f=await resolveNetwork(b?.['network']),g=[],h=[],j=new Map();for(const r of e){try{let u=j['get'](r['guardRef']);if(u===undefined){let w=r['guardRef'];!w['startsWith']('0x')&&(w=await LocalMark['Instance']()['get_address'](w)['catch'](()=>undefined)??'');if(!w['startsWith']('0x')){h['push'](r['guardRef']);continue;}const x=await query_objects({'objects':[w],'network':f,'no_cache':!![]}),y=x?.['objects']?.[0x0];if(!y||y['type']!=='Guard'){h['push'](r['guardRef']);continue;}u=y['data']??y,j['set'](r['guardRef'],u);}const v=Array['isArray'](u['table'])?u['table']['find'](z=>z?.['identifier']===r['identifier']):undefined;if(!v||v['b_submission']!==!![])continue;pinsIdentifierToSigner(u['root'],r['identifier'])&&g['push']('Allocator['+r['allocIdx']+']\x20guard\x20'+r['guardRef']+'\x20pins\x20recipient\x20identifier\x20'+r['identifier']+'\x20to\x20context(Signer)');}catch{h['push'](r['guardRef']);}}h['length']>0x0&&c['push']('PRE-PUBLISH:\x20could\x20not\x20fetch\x20Guard(s)\x20['+h['join'](',\x20')+']\x20referenced\x20by\x20GuardIdentifier\x20'+'recipient\x20rows\x20—\x20manually\x20verify\x20each\x20refund\x20guard\x20does\x20NOT\x20pin\x20its\x20recipient\x20identifier\x20to\x20'+'context(Signer)\x20(unsatisfiable\x20against\x20the\x20order-anchored\x20escrow:\x20the\x20submission\x20must\x20equal\x20the\x20'+'Order\x20address,\x20never\x20the\x20signer\x20EOA).');if(g['length']===0x0)return null;const k='⛔\x20SERVICE\x20PUBLISH\x20BLOCKED\x20—\x20refund\x20recipient\x20unsatisfiable\x20(GuardIdentifier\x20x\x20for_object\x20x\x20Guard\x20equality).\x0a\x0a'+g['map'](z=>'\x20\x20•\x20'+z)['join']('\x0a')+'\x0a\x0aThe\x20framework-created\x20order\x20escrow\x20anchors\x20PaymentInfo.for_object\x20to\x20the\x20ORDER\x20object\x20address\x20and\x20'+'the\x20chain\x20asserts\x20every\x20GuardIdentifier\x20recipient\x20submission\x20==\x20that\x20address\x20(ERECIPIENT_NOT_FOR_OBJECT,\x20'+'code\x2015).\x20The\x20guard(s)\x20above\x20ALSO\x20require\x20the\x20same\x20submitted\x20value\x20==\x20context(Signer)\x20—\x20an\x20Order\x20address\x20'+'is\x20never\x20the\x20signer\x20EOA,\x20so\x20the\x20allocator\x20can\x20NEVER\x20execute\x20and\x20order\x20funds\x20strand\x20permanently\x20'+'(order_allocators\x20is\x20immutable\x20after\x20publish;\x20test/10\x20T10-10/T10-18\x20stranded\x200.79\x20WOW\x20this\x20way).\x0a'+'Fix\x20(verified\x20ORDER\x20PATTERN,\x20test/10\x20T10-17):\x20keep\x20the\x20recipient\x20GuardIdentifier(n)\x20as-is,\x20and\x20in\x20the\x20'+'GUARD\x20replace\x20logic_equal(context(Signer),\x20identifier[n])\x20with\x20an\x20ORDER\x20FIELD\x20query\x20binding\x20—\x20'+'logic_equal(order.owner,\x20context(Signer))\x20—\x20then\x20submit\x20the\x20ORDER\x20ADDRESS\x20for\x20identifier\x20n.\x20Funds\x20land\x20'+'in\x20the\x20Order\x20object\x20and\x20the\x20buyer\x20withdraws\x20via\x20order\x20receive:\x27recently\x27.\x0a'+'This\x20call\x20was\x20NOT\x20executed\x20and\x20no\x20on-chain\x20action\x20was\x20taken.';return{'content':[{'type':'text','text':k}],'structuredContent':{'result':{'type':'error','error':'refund_recipient_unsatisfiable:\x20'+g['join'](';\x20'),'error_code':'refund_recipient_unsatisfiable','retryable':!![],'recovery_hint':'Rebuild\x20the\x20refund\x20Guard\x20with\x20order.owner==context(Signer)\x20identity\x20binding\x20and\x20submit\x20the\x20Order\x20address\x20for\x20the\x20recipient\x20identifier;\x20then\x20re-issue\x20service\x20publish'},'message':'Service\x20publish\x20blocked:\x20refund\x20recipient\x20guard\x20contradicts\x20the\x20order-anchored\x20escrow\x20binding.'}};}function pinsIdentifierToSigner(a,b){const c=f=>f?.['type']==='context'&&f?.['context']==='Signer',d=f=>f?.['type']==='identifier'&&f?.['identifier']===b,e=f=>{if(!f||typeof f!=='object')return![];if(f['type']==='logic_equal'||f['type']==='logic_as_u256_equal'){const g=Array['isArray'](f['nodes'])?f['nodes']:[];for(let h=0x0;h<g['length'];h++){for(let k=h+0x1;k<g['length'];k++){if(c(g[h])&&d(g[k]))return!![];if(d(g[h])&&c(g[k]))return!![];}}}if(Array['isArray'](f['nodes'])&&f['nodes']['some'](e))return!![];if(f['node']&&e(f['node']))return!![];if(Array['isArray'](f['parameters'])&&f['parameters']['some'](e))return!![];return![];};return e(a);}function describeArbitrationPayload(a){if(Array['isArray'](a))return a['length']+'\x20item(s)';if(a&&typeof a==='object'&&Array['isArray'](a['objects']))return a['objects']['length']+'\x20item(s)';return'<none>';}function readRawOnchainAmount(a){if(typeof a==='number'&&Number['isFinite'](a))return a;if(typeof a==='string'&&/^\d+$/['test'](a['trim']()))return Number(a['trim']());if(a&&typeof a==='object')for(const b of['value','balance','amount']){const c=a[b];if(typeof c==='number'&&Number['isFinite'](c))return c;if(typeof c==='string'&&/^\d+$/['test'](c['trim']()))return Number(c['trim']());}return undefined;}const resolvedNameCache=new Map();export function invalidateResolvedNameCache(){resolvedNameCache['clear']();}async function resolveNamedObjectsInPlace(a){if(!a||typeof a!=='object')return;const b=['object','machine','arb','arbitration_object','permission','contact','um','required_info'],c=['objects','repositories','allocators','guards','items','entities','agents'],d=async e=>{if(typeof e!=='string')return e;const f=e['trim']();if(f===''||f['startsWith']('0x'))return e;const g=resolvedNameCache['get'](f);if(g)return g;try{const h=await LocalMark['Instance']()['get_address'](f);if(h)return resolvedNameCache['set'](f,h),h;return e;}catch{return e;}};for(const e of b){if(!(e in a))continue;a[e]=await d(a[e]);}for(const f of c){const g=a[f];if(!Array['isArray'](g))continue;for(let h=0x0;h<g['length'];h++){const j=g[h];if(j&&typeof j==='object'){for(const k of b){if(k in j)j[k]=await d(j[k]);}if(typeof j['name']==='string'&&!('type_parameter'in j)&&!('permission'in j)){const l=await d(j['name']);if(l!==j['name'])g[h]=l;}}else g[h]=await d(j);}}}async function collectArbitrationRefsForPublish(a,b){const c=a?.['arbitrations'];if(c&&typeof c==='object'&&(c['op']==='add'||c['op']==='set')&&Array['isArray'](c['objects'])&&c['objects']['length']>0x0)return c['objects'];const d=typeof a?.['object']==='string'?a['object']:undefined;if(d)try{const e=d['startsWith']('0x')?d:await LocalMark['Instance']()['get_address'](d)['catch'](()=>undefined)??undefined;if(e){const f=await resolveNetwork(b?.['network']),g=await query_objects({'objects':[e],'network':f,'no_cache':!![]}),h=g?.['objects']?.[0x0];if(h&&h['type']==='Service'){const i=h['data']??h;if(Array['isArray'](i['arbitrations']))return i['arbitrations'];}}}catch{}return[];}async function checkMachineBindingForPublish(a,b){const c=a?.['machine']??undefined,d=typeof c==='string'&&c['trim']()!==''?c['trim']():c&&typeof c==='object'&&typeof c['name']==='string'&&c['name']?c['name']:undefined,e=async h=>{const i=h['startsWith']('0x')?h:await LocalMark['Instance']()['get_address'](h)['catch'](()=>undefined)??undefined;if(!i)return undefined;const j=await resolveNetwork(b?.['network']),k=await query_objects({'objects':[i],'network':j,'no_cache':!![]}),l=k?.['objects']?.[0x0];return l?l['data']??l:undefined;};if(d){const h=await e(d)['catch'](()=>undefined);if(h&&h['bPublished']===![])return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Machine\x20\x22'+d+'\x22\x20is\x20NOT\x20published.\x20'+'Binding\x20an\x20unpublished\x20Machine\x20into\x20a\x20Service\x20aborts\x20on-chain\x20(the\x20binding\x20requires\x20a\x20'+'published\x20machine\x20—\x20machine\x20E_NOT_PUBLISHED=2).\x20'+'Fix:\x20publish\x20the\x20Machine\x20first\x20(onchain_operations\x20machine\x20with\x20publish:true),\x20then\x20bind\x20it.'};if(!h)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Machine\x20\x22'+d+'\x22\x20could\x20not\x20be\x20resolved\x20on-chain.\x20'+'Check\x20the\x20name/id\x20and\x20network\x20(env.network)\x20—\x20publishing\x20locks\x20the\x20reference.'};return{'ok':!![]};}const f=a?.['object']!=null&&typeof a['object']==='object';if(f)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20a\x20NEW\x20Service\x20cannot\x20be\x20published\x20without\x20a\x20Machine.\x20'+'On-chain\x20publish\x20itself\x20does\x20not\x20check\x20this\x20(F-004),\x20but\x20the\x20result\x20is\x20a\x20dead\x20store:\x20'+'orders\x20cannot\x20progress\x20without\x20a\x20bound\x20machine,\x20and\x20the\x20machine\x20binding\x20is\x20frozen\x20after\x20'+'publish\x20(E_ALREADY_PUBLISHED=6)\x20—\x20the\x20Service\x20can\x20never\x20take\x20an\x20order\x20and\x20can\x20never\x20be\x20fixed.\x20'+'Fix:\x20create\x20+\x20publish\x20the\x20Machine\x20first,\x20then\x20bind\x20it\x20in\x20this\x20call\x20(machine:<name_or_id>).'};const g=typeof a?.['object']==='string'?a['object']:undefined;if(g){const i=await e(g)['catch'](()=>undefined);if(i&&(i['type']===undefined||i['type']==='Service')){const j=i['machine'];if(!j)return{'ok':![],'reason':'HARD\x20PRE-CHECK\x20FAILED:\x20Service\x20\x22'+g+'\x22\x20has\x20NO\x20Machine\x20bound\x20on-chain\x20and\x20none\x20is\x20'+'provided\x20in\x20this\x20patch.\x20The\x20machine\x20binding\x20is\x20frozen\x20after\x20publish\x20'+'(E_ALREADY_PUBLISHED=6)\x20—\x20if\x20it\x20publishes\x20now,\x20it\x20can\x20never\x20take\x20an\x20order\x20(F-004\x20dead\x20store).\x20'+'Fix:\x20create\x20+\x20publish\x20a\x20Machine,\x20then\x20bind\x20it\x20in\x20this\x20same\x20call\x20(machine:<name_or_id>).'};}}return{'ok':!![]};}function isPassportVerifyFailure(a){if(/Identifier\("passport"\)/['test'](a)&&/MoveAbort\([\s\S]*,\s*7\s*\)/['test'](a))return!![];if(/::passport::/['test'](a)&&/abort code:\s*7\b/['test'](a))return!![];return![];}function pickSubmissionCallForDiagnosis(a){for(const b of[a?.['submission'],a?.['info']]){if(b&&typeof b==='object'&&Array['isArray'](b['guard'])&&Array['isArray'](b['submission']))return b;}return undefined;}async function diagnoseGuardFailure(a,b){if(!isPassportVerifyFailure(b))return undefined;const c=pickSubmissionCallForDiagnosis(a);if(!c)return undefined;const e=getEnvConfig(a?.['env']),f=await diagnose_passport_failure(e,c);if(f['failed_index']===null||f['failed_guard']===null)return'Guard\x20diagnosis\x20(dry-run):\x20'+f['hint'];return'Guard\x20diagnosis\x20(dry-run):\x20the\x20first\x20failing\x20impact\x20guard\x20is\x20#'+f['failed_index']+'\x20'+('('+f['failed_guard']+').\x20'+f['hint']);}async function autoHoldAfterClaim(a,b,c){if(typeof c!=='string'||!c)return undefined;const d=await resolveHoldableEdges({'progressRef':c,'accountName':a?.['account']??'','network':a?.['network'],'noCache':!![]});if(!d||d['edges']['length']===0x0)return undefined;const f=[],g=[],h=[];for(const i of d['edges']){const j=i['forward']+'\x20->\x20'+i['next_node'];if(!i['holdable']){h['push'](j);continue;}try{const k=new CallOrder({'object':b,'progress':{'op':'hold','operation':{'next_node_name':i['next_node'],'forward':i['forward']},'message':'arbitration\x20claimed\x20-\x20settlement\x20held\x20(E-17a)'}}),l=await k['call'](a);if(l&&typeof l==='object'&&!('error'in l))f['push'](j);else g['push'](j);}catch{g['push'](j);}}return{'held':f,'failed':g,'notHoldable':h};}export async function handleOnchainOperations(a){let b,c=[];async function d(g,h,k,l,m){const p=new Set(['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','demand','order','proof']);if(!p['has'](k))return;if(!l||typeof l!=='object'||'error'in l)return;if(!l['digest'])return;if(m!==undefined)try{const r=collectOnChainNamedObjectRequests(m);if(r['length']>0x0){const t=await registerLocalMarksForCreatedObjects(r,ResponseData(l),k,{'getAddress':u=>LocalMark['Instance']()['get_address'](u),'put':u=>LocalMark['Instance']()['put'](u)});t['failed']['length']>0x0&&console['warn']('[nameRegistration]\x20'+t['failed']['length']+'\x20name(s)\x20could\x20not\x20be\x20registered\x20locally:\x20'+t['failed']['map'](u=>u['name']+'\x20('+u['error']+')')['join'](',\x20'));}}catch{}if(!g)return;try{const u=ResponseData(l),w=u['filter'](x=>x['change']==='created'&&x['object']);if(g&&w['length']>0x0){const x=w['filter'](y=>typeof y['type_raw']==='string'&&y['type_raw']['includes']('::'))['map'](y=>({'type':y['type_raw']['split']('::')['pop'](),'object':y['object']}));if(x['length']>0x0){const y=await goalEngine['registerActObjects'](g,x,h??'default');y>0x0&&console['warn']('[autoRegisterResults]\x20'+y+'\x20created\x20object(s)\x20registered\x20to\x20goal\x20'+g+'\x20(ACT\x20station)');}}}catch{}}try{if(typeof a==='object'&&a!==null&&'description'in a&&!('operation_type'in a)){const y=a['description'],z=typeof y==='string'&&(y['includes']('operation_type')||y['includes']('data'));if(z)throw new Error('Invalid\x20parameter\x20structure.\x20Parameters\x20should\x20NOT\x20be\x20wrapped\x20in\x20\x27description\x27\x20field.\x0a'+'Correct\x20format:\x20{\x20operation_type:\x20\x27...\x27,\x20data:\x20{...}\x20}\x0a'+'Incorrect\x20format:\x20{\x20description:\x20\x27{\x20operation_type:\x20...\x20}\x27\x20}');}b=strictParse(OnchainOperationsSchema,a,'onchain_operations\x20input');const g=getEnvConfig(b['env']),h=extractObjectOnlyRef(b);if(h!==undefined)return await queryObjectOnlyResult(b['operation_type'],h,g);try{const A=b['data']?.['object'];if(A&&typeof A==='object'&&A['replaceExistName']===!![]&&typeof A['name']==='string'&&A['name']['trim']()['length']>0x0){const B=await LocalMark['Instance']()['get'](A['name']['trim']());B?.['address']&&c['push']('NAME\x20REBIND:\x20local\x20name\x20\x27'+A['name']+'\x27\x20is\x20currently\x20bound\x20to\x20'+B['address']+'.\x20'+'replaceExistName=true\x20will\x20unbind\x20it\x20and\x20rebind\x20the\x20name\x20to\x20the\x20object\x20created/updated\x20by\x20this\x20'+('call\x20—\x20references\x20resolving\x20\x27'+A['name']+'\x27\x20will\x20point\x20to\x20the\x20NEW\x20object.\x20')+'If\x20this\x20is\x20unintentional,\x20drop\x20replaceExistName\x20or\x20choose\x20another\x20name.');}}catch{}if(!g['referrer']){const C=readStoredReferrer();if(C)g['referrer']=C;}const k=g['client_schema_version'],l=g['schema_strict_mode'],m=k?checkClientSchemaCompatibility(k,{'mode':l?'strict':'warn'}):undefined,n=(D,E,F)=>({'operation_type':b['operation_type'],'data':D,'expected':declareDispatchExpectation(b['operation_type'],D),'operation_id':stableOperationId(b['operation_type'],D),'pre_warnings':c['length']?c:undefined,'schema_check':m,'response_level':t,...E?{'evaluation':E}:{},...F?{'passport_test':F}:{}}),p=g['plan_approval'],r=g['network'],t=g['response_level'];if(g['confirmed']!==!![]){const D=await maybeGuardSubmissionConfirmation(b,g);if(D)return D;}delete g['confirmed'],delete g['user_intent_phrases'],delete g['client_schema_version'],delete g['response_level'],delete g['schema_strict_mode'],await resolveNamedObjectsInPlace(b['data']);const u=getSkillsHintForOnchain(b['operation_type'],b['data']);u&&c['push'](u);const w=getProjectSkillsHint();w&&c['push'](w);await assertReferencesResolve(b,g);switch(b['operation_type']){case'service':{const E=b['data'],F=await detectServiceGuardCircularDependency(E);if(F)return F;const G=checkSalesWipNetworkDeployment(E,g,c);if(G)return G;const H=describeBenchmarkIssueRisk(E?.['discount']?.['benchmark']);H&&c['push'](H);const I=await prepareFundOperation(E,'service',g?.['network']);if(I['blockingErrors']['length']>0x0)return buildFundBlockResult(I,'service');c['push'](...I['warnings']);if(I['confirmation']){c['push'](I['confirmation']['message']);const W=a458b(I['confirmation']);if(W)c['push'](W);}const J=E?.['order_allocators'];if(J&&typeof J==='object'){const X=Array['isArray'](J['allocators'])?J['allocators']:[];for(let Y=0x0;Y<X['length'];Y++){const Z=X[Y],a0=Array['isArray'](Z?.['sharing'])?Z['sharing']:[];if(a0['length']<=0x1)continue;const a1=new Map();for(let a2=0x0;a2<a0['length'];a2++){const a3=a0[a2]?.['who'];let a4=typeof a3==='string'?a3:'';if(!a4){const a6=classifyRecipient(a3);if(a6?.['kind']==='entity')a4='Entity:'+a6['address'];else{if(a6?.['kind']==='signer')a4='Signer';else{if(a6?.['kind']==='submission')a4='Guard:'+a6['identifier'];else{if(a3)a4=JSON['stringify'](a3);}}}}if(!a4)continue;const a5=a1['get'](a4)??0x0;a1['set'](a4,a5+0x1);}for(const [a7,a8]of a1){a8>0x1&&c['push']('DUPLICATE\x20SHARING\x20ENTITY:\x20Allocator['+Y+']\x20has\x20entity\x20\x22'+a7+'\x22\x20appearing\x20'+a8+'\x20times\x20'+'in\x20the\x20sharing\x20array.\x20This\x20is\x20likely\x20a\x20configuration\x20error\x20—\x20each\x20entity\x20should\x20appear\x20'+('at\x20most\x20once\x20per\x20allocator.\x20Total\x20sharing:\x20'+a8*0x64+'%\x20to\x20the\x20same\x20entity.\x20')+'If\x20intentional,\x20ignore\x20this\x20warning.');}}}if(J){const a9=checkOrderAllocatorsPrePublish(J,c);if(a9)return a9;const aa=await checkEntityRecipientGate(J,'service.order_allocators',c);if(aa)return aa;warnAmountEscrowDeadlock(J,E?.['sales'],c);}const K=b['data']?.['order_new']?.['buy']?.['items'];if(Array['isArray'](K))for(const ab of K){ab&&typeof ab==='object'&&'quantity'in ab&&!('stock'in ab)&&(ab['stock']=ab['quantity'],delete ab['quantity']);}const L=await checkDiscountThresholdBeforeBuy(b['data']??E,g?.['network'],{'resolveAddress':async ac=>LocalMark['Instance']()['get_address'](ac)['catch'](()=>undefined)??undefined,'fetchObjects':async(ac,ad)=>{const ae=await query_objects({'objects':ac,'network':ad});return ae?.['objects']??[];}});if(L)return{'content':[{'type':'text','text':L}],'structuredContent':{'result':{'type':'error','error':L,'error_code':'discount_benchmark_unmet','retryable':![],'recovery_hint':'The\x20coupon\x20would\x20be\x20consumed\x20with\x20no\x20discount\x20because\x20this\x20order\x27s\x20total\x20is\x20'+'below\x20the\x20coupon\x27s\x20threshold.\x20Raise\x20the\x20order\x20total\x20above\x20the\x20threshold,\x20omit\x20'+'\x27discount\x27\x20to\x20pay\x20the\x20list\x20price\x20and\x20keep\x20the\x20coupon,\x20or\x20use\x20a\x20coupon\x20issued\x20'+'without\x20a\x20threshold.'},'message':L}};let M=[];if(E?.['publish']===!![]){M=await collectArbitrationRefsForPublish(E,g);const ac=await checkArbitrationsBeforePublish(M,g,c);if(ac)return ac;if(J){const ad=await checkRefundRecipientSatisfiability(J,g,c);if(ad)return ad;}}warnPermissionAutoCreation(b['data'],'Service',c);const N=new CallService(b['data']);let O;try{O=b['submission']?await N['call_with_submission'](g,await transformSubmission(b['submission'])):await N['call'](g);}catch(ae){const af=ae['message']??String(ae);if((E?.['order_new']?.['buy']?.['items']?.['length']??0x0)>0x0&&/coin not enough|E_COIN_NOT_ENOUGH|abort.*\b20\b/i['test'](af))throw new Error('PURCHASE\x20ABORTED\x20(E_COIN_NOT_ENOUGH\x20/\x20abort\x2020):\x20the\x20payment\x20'+'total_pay\x20is\x20LESS\x20THAN\x20the\x20order\x20total.\x20On-chain\x20order\x20total\x20=\x20'+'sale.price\x20x\x20per-item\x20QUANTITY.\x20Common\x20cause:\x20the\x20inventory\x20number\x20'+'was\x20passed\x20as\x20the\x20purchase\x20quantity\x20(the\x20buy\x20item\x20field\x20is\x20the\x20'+'number\x20of\x20units\x20to\x20buy,\x20NOT\x20the\x20product\x27s\x20available\x20stock).\x20'+'Check\x20each\x20item\x27s\x20quantity\x20and\x20ensure\x20total_pay\x20>=\x20sum(price\x20x\x20quantity).\x20'+('Original\x20error:\x20'+af));if(/not found|GetObjectExisted|resolve|LocalMark|failed to resolve/i['test'](af)){const ag=typeof E?.['object']==='object'&&E?.['object']!==null?E['object']['permission']:undefined;throw new Error('DEPENDENCY\x20RESOLUTION\x20FAILED:\x20One\x20or\x20more\x20referenced\x20objects\x20could\x20not\x20be\x20resolved.\x0a'+('Original\x20error:\x20'+af+'\x0a')+'Common\x20causes:\x0a'+'\x20\x201.\x20Object\x20name\x20typo\x20—\x20check\x20spelling\x20in\x20LocalMark\x0a'+'\x20\x202.\x20Object\x20not\x20yet\x20created\x20—\x20create\x20dependencies\x20first\x0a'+'\x20\x203.\x20Object\x20on\x20different\x20network\x20—\x20check\x20env.network\x0a'+('Referenced\x20objects\x20in\x20this\x20call:\x20machine='+(E?.['machine']??'<none>')+',\x20')+('buy_guard='+(E?.['buy_guard']??'<none>')+',\x20')+('permission='+(ag??'<inline/new>')+',\x20')+('arbitrations='+describeArbitrationPayload(E?.['arbitrations'])));}throw ae;}const P=E?.['object']!=null&&typeof E['object']==='object',Q=E?.['compensation_fund_add']!=null;P&&!Q&&c['push']('Service.compensation_fund\x20balance\x20is\x200\x20—\x20no\x20refund\x20protection\x20for\x20buyers.\x20'+'If\x20buyers\x20need\x20refund\x20protection,\x20call\x20service.compensation_fund_add\x20with\x20a\x20Coin<T>\x20'+'to\x20deposit.\x20Without\x20deposit,\x20arbitration\x20rulings\x20cannot\x20withdraw\x20compensation\x20'+'from\x20this\x20Service.\x20(Note:\x20some\x20industries\x20like\x20freelance\x20do\x20not\x20require\x20this;\x20'+'the\x20evaluation\x20engine\x20will\x20check\x20industry-specific\x20requirements.)');if(P&&Q&&E?.['compensation_fund_add']?.['balance']!=null){const ah=E['compensation_fund_add']['balance'],ai=Array['isArray'](E?.['sales'])?E['sales']:Array['isArray'](E?.['sales']?.['sales'])?E['sales']['sales']:[],aj=aw=>{if(typeof aw==='number'&&Number['isFinite'](aw))return aw;if(typeof aw==='string'&&/^\d+$/['test'](aw['trim']()))return Number(aw['trim']());return undefined;},ak=aw=>typeof aw==='string'&&/^\d*\.?\d+\s*[A-Za-z]{2,10}$/['test'](aw['trim']())?Number['parseFloat'](aw['trim']()):undefined,al=ai['map'](aw=>aw?.['price'])['filter'](aw=>aw!=null),am=aj(ah),an=ak(ah),ao=al['map'](aj),ap=al['map'](ak),aq=al['length']>0x0&&ao['every'](aw=>aw!==undefined)&&am!==undefined,ar=al['length']>0x0&&ap['every'](aw=>aw!==undefined)&&an!==undefined,as=aq?am:ar?an:undefined,at=aq?ao:ar?ap:[],au=at['length']>0x0?Math['max'](...at):undefined,av=0x3;as!==undefined&&au!==undefined&&au>0x0&&as<av*au&&c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20deposit\x20('+as+')\x20is\x20less\x20than\x20'+(av+'x\x20the\x20highest\x20SKU\x20price\x20('+au+').\x20The\x20chain\x20caps\x20any\x20award\x20at\x20')+(av+'x\x20the\x20order\x20amount\x20(arb.move\x20MAX_INDEMNITY_MULTIPLE,\x20enforced\x20at\x20')+'ruling\x20time),\x20so\x20a\x20ruling\x20at\x20the\x20ceiling\x20would\x20abort\x20the\x20buyer\x27s\x20payout\x20with\x20code\x2027\x20'+'(E_COMPENSATION_NOT_MATCH)\x20even\x20though\x20the\x20ruling\x20is\x20valid.\x20'+('Recommend\x20depositing\x20>=\x20'+av+'x\x20the\x20highest\x20price\x20via\x20compensation_fund_add.\x20')+'Above\x203x\x20is\x20optional\x20(it\x20only\x20buys\x20headroom\x20for\x20several\x20CONCURRENT\x20claims\x20against\x20the\x20same\x20'+'per-Service\x20pool,\x20which\x20is\x20empty\x20of\x20any\x20on-chain\x20concurrency\x20limit).');}const R=E?.['publish']===!![];if(R){const aw=new Set(['audit_compensation_fund','audit_arbitrations']),ax=auditService(E)['filter'](ay=>!aw['has'](ay['rule_id']));for(const ay of ax){const az=ay['severity']==='error'?'[AUDIT\x20ERROR]\x20':ay['severity']==='warning'?'[AUDIT]\x20':'[INFO]\x20';c['push'](az+ay['message']+(ay['recommendation']?'\x20—\x20'+ay['recommendation']:''));}}let S=R&&M['length']>0x0;if(!R&&!S&&Q){const aA=await collectArbitrationRefsForPublish(E,g);S=aA['length']>0x0;}if(R&&!S&&Q)throw new Error('HARD\x20PRE-CHECK\x20FAILED:\x20Cannot\x20publish\x20Service\x20with\x20compensation_fund\x20>\x200\x20but\x20no\x20Arbitration\x20bound.\x0a'+'On-chain\x20rule:\x20assert!(arbitration_count\x20>\x200,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND).\x0a'+'The\x20transaction\x20WILL\x20ABORT\x20on-chain\x20if\x20you\x20proceed.\x0a'+'Fix:\x20(1)\x20Create\x20an\x20Arbitration\x20object\x20first\x20(onchain_operations\x20with\x20operation_type=\x27arbitration\x27).\x0a'+'\x20\x20\x20\x20\x20(2)\x20Bind\x20it\x20in\x20this\x20same\x20call:\x20data.arbitrations={op:\x27add\x27,\x20objects:[<arbitration_name_or_id>]}\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20(array\x20shorthand\x20data.arbitrations=[...]\x20is\x20also\x20accepted),\x20or\x20bind\x20it\x20in\x20a\x20prior\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20call\x20—\x20arbitrations\x20already\x20bound\x20on\x20an\x20existing\x20Service\x20are\x20detected\x20automatically.\x0a'+'\x20\x20\x20\x20\x20(3)\x20Then\x20call\x20publish=true.\x0a'+'Note:\x20After\x20publish,\x20arbitrations\x20can\x20still\x20be\x20ADDED\x20(but\x20not\x20removed\x20without\x20pause+lock).');R&&!S&&!Q&&c['push']('WARNING:\x20Publishing\x20Service\x20without\x20arbitrations.\x20If\x20compensation_fund\x20was\x20'+'deposited\x20in\x20a\x20prior\x20call,\x20the\x20contract\x20WILL\x20ABORT\x20with\x20'+'E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND.\x20If\x20compensation_fund\x20is\x200,\x20'+'publish\x20will\x20succeed\x20but\x20buyers\x20have\x20no\x20dispute\x20resolution\x20path.\x20'+'Recommended:\x20bind\x20arbitrations\x20before\x20publish.');!R&&Q&&!S&&c['push']('WARNING:\x20Depositing\x20compensation_fund\x20on\x20a\x20Service\x20without\x20arbitrations\x20bound.\x20'+'If\x20this\x20Service\x20is\x20already\x20published,\x20arbitration\x20rulings\x20will\x20not\x20be\x20able\x20to\x20'+'withdraw\x20compensation\x20from\x20this\x20Service.\x20Recommended:\x20bind\x20arbitrations\x20first,\x20'+'then\x20deposit\x20compensation_fund.');const T=await buildGuardSubmissionPrompt(O,'service',{'network':g?.['network'],'signer':g?.['account'],'service_address':typeof E?.['object']==='string'?E['object']:undefined});if(T)c['push'](T);let U;if(E?.['order_new']&&typeof E?.['object']==='string'&&a458c('customer_intelligence'))try{U=await evaluateServiceFromGraph(E['object'],{'context_network':g?.['network']});}catch{}const V=handleCallResult(O,n(E,U));return d(p,r,b['operation_type'],O,b['data'])['catch'](()=>{}),V;}case'machine':{if(b['data']['node']&&typeof b['data']['node']==='object'&&'json_or_markdown_file'in b['data']['node']){const aI=b['data']['node']['json_or_markdown_file'];let aJ;try{const aL=resolve(aI);aJ=readFileSync(aL,'utf-8');}catch(aM){throw new Error('Failed\x20to\x20read\x20file\x20\x27'+aI+'\x27:\x20'+aM['message']);}const aK=parseMachineNodesFromText(aJ);if(!aK['success']){const aN=a458a(aK['errors']);throw new Error('Machine\x20node\x20validation\x20failed\x20for\x20file\x20\x27'+aI+'\x27:\x0a\x0a'+aN);}if(!aK['data'])throw new Error('No\x20nodes\x20found\x20in\x20file\x20\x27'+aI+'\x27');b['data']['node']={'op':'set','nodes':aK['data'],'bReplace':!![]};if(b['data']?.['publish']===!![]){const aO=machinePublishGateViolation(aK['data']);if(aO)throw new Error('Machine\x20publish\x20pre-check\x20failed\x20for\x20file\x20\x27'+aI+'\x27:\x0a\x0a'+aO);}}const aB=b['data'],aC=await checkMachinePermissionBeforePublish(aB,g);aC&&c['push'](aC);const aD=aB?.['node']?.['nodes']??aB?.['node'];if(Array['isArray'](aD)){const aP=/^(dispute|disputed|arbitration|arb_|arb\.|resolve_dispute|start_arbitration|open_dispute)/i;for(const aQ of aD){const aR=typeof aQ==='object'?aQ?.['name']:'';typeof aR==='string'&&aP['test'](aR)&&c['push']('ARBITRATION\x20SEPARATION\x20WARNING:\x20Machine\x20node\x20\x22'+aR+'\x22\x20appears\x20to\x20be\x20an\x20arbitration-related\x20node.\x0a'+'CORE\x20PRINCIPLE:\x20A\x20merchant\x20cannot\x20handle\x20disputes\x20fairly\x20—\x20they\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27.\x0a'+'The\x20WoWok\x20smart\x20contract\x20design\x20makes\x20Arbitration\x20a\x20completely\x20separate\x20object:\x0a'+'\x20\x20-\x20Arbitration\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance\x0a'+'\x20\x20-\x20Arb\x20instances\x20have\x20a\x207-state\x20lifecycle\x20managed\x20by\x20Arbitration,\x20not\x20by\x20Machine\x0a'+'\x20\x20-\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20\x27progress\x27\x20(Machine)\x20and\x20\x27dispute\x27\x20(Arb\x20list)\x20fields\x0a'+'\x20\x20-\x20When\x20Arb\x20rules,\x20the\x20Order\x20executes\x20the\x20compensation\x20—\x20the\x20ONLY\x20connection\x20to\x20the\x20business\x20flow\x0a\x0a'+'CORRECT\x20PATTERN:\x0a'+'\x20\x20-\x20Machine:\x20business\x20states\x20only\x20(ordered\x20->\x20shipped\x20->\x20delivered\x20->\x20completed)\x0a'+'\x20\x20-\x20Arbitration:\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20(NOT\x20shared\x20with\x20Service)\x0a'+'\x20\x20-\x20Arb:\x207-state\x20lifecycle\x20(Principal_confirming\x20->\x20Arbitrator_confirming\x20->\x20Voting\x20->\x20Arbitrated\x20->\x20Objectionable\x20->\x20Finished\x20->\x20Withdrawn)\x0a'+'\x20\x20-\x20R-M1-11:\x20NEVER\x20name\x20nodes\x20\x27refunded\x27/\x27disputed\x27/\x27arb\x27/\x27refund\x27\x20—\x20use\x20business\x20states\x20(\x27cancelled\x27/\x27returned\x27)\x20for\x20dispute\x20OUTCOMES;\x20refunds\x20route\x20via\x20Allocator\x20triggered\x20by\x20those\x20states,\x20disputes\x20via\x20the\x20separate\x20Arbitration\x20object\x0a\x0a'+'If\x20this\x20node\x20name\x20is\x20a\x20legitimate\x20business\x20state\x20(not\x20arbitration),\x20ignore\x20this\x20warning.');}}if(Array['isArray'](aD)){const aS=aD['map'](aT=>aT&&typeof aT==='object'&&aT['role']?aT['name']+'='+aT['role']:null)['filter'](Boolean);aS['length']>0x0&&c['push']('NODE\x20ROLES\x20(metadata):\x20'+aS['join'](',\x20')+'.\x20Roles\x20are\x20display-layer\x20semantics\x20'+'(draft/active/delivered/final/cancelled)\x20—\x20they\x20are\x20NOT\x20stored\x20on-chain\x20(nodes\x20carry\x20'+'name+pairs\x20only).\x20Consumers:\x20render\x20state\x20icons/colors\x20from\x20roles;\x20nodes\x20tagged\x20'+'\x27final\x27/\x27cancelled\x27\x20are\x20settlement\x20endpoints\x20—\x20advancing\x20to\x20them\x20should\x20trigger\x20the\x20'+'fund-release\x20reminder\x20(Allocation\x20trigger),\x20not\x20further\x20business\x20steps.');}try{let aT=Array['isArray'](aD)?aD:undefined,aU;if(!aT&&aB?.['publish']===!![]){const aV=await fetchChainAnchorContext(aB?.['object'],g);aV&&(aT=aV['nodes'],aU=aV['profiles']);}if(!aD&&aB?.['publish']===!![]&&aT){const aW=machinePublishGateViolation(aT);aW&&c['push']('PUBLISH\x20GATE\x20(machine::assert_publishable):\x20'+aW);}if(aT){const aX=checkGuardAnchorReachability(aT,aU),aY=formatGuardAnchorWarnings(aX);if(aY)c['push'](aY);}}catch{}warnPermissionAutoCreation(b['data'],'Machine',c);const aE=new CallMachine(b['data']),aF=b['submission']?await aE['call_with_submission'](g,await transformSubmission(b['submission'])):await aE['call'](g),aG=await buildGuardSubmissionPrompt(aF,'machine',{'network':g?.['network'],'signer':g?.['account'],'machine_address':b['data']?.['object']});if(aG)c['push'](aG);const aH=handleCallResult(aF,n(b['data']));return d(p,r,b['operation_type'],aF,b['data'])['catch'](()=>{}),aH;}case'progress':{b['data']?.['operate']&&c['push']('Progress\x20routing\x20hint:\x20if\x20this\x20Progress\x20is\x20bound\x20to\x20an\x20Order\x20and\x20the\x20target\x20'+'Forward\x20uses\x20namedOperator=\x22\x22\x20(empty\x20string\x20=\x20OrderHolder),\x20use\x20'+'order.progress\x20(NOT\x20progress.operate).\x20Direct\x20Progress\x20execution\x20fails\x20with\x20'+'Permission\x20denied\x20for\x20OrderHolder\x20forwards.\x20Use\x20progress.operate\x20only\x20for\x20'+'non-empty\x20namedOperator\x20or\x20permissionIndex-only\x20forwards.');const aZ=new CallProgress(b['data']),b0=b['submission']?await aZ['call_with_submission'](g,await transformSubmission(b['submission'])):await aZ['call'](g);if(!b['submission']&&b0&&typeof b0==='object'&&'submission'in b0){const b2=b0['submission'];if(Array['isArray'](b2)&&b2['length']>0x0){const b3=b2[0x0]?.['guard'];if(b3){const b4={'operation':'progress_next','network':g?.['network'],'signer':g?.['account'],'progress_address':b['data']?.['object'],'order_address':b['data']?.['task']},b5=await generateGuardSubmissionPrompt(b3,b4);b5&&c['push'](formatSubmissionPrompt(b5));}}}const b1=handleCallResult(b0,n(b['data']));if(b0&&typeof b0==='object'&&'digest'in b0&&b0?.['effects']?.['status']?.['status']==='success'&&typeof b['data']?.['object']==='string'){const b6=b['data']?.['operate'],b7=b6?.['operation'],b8=await enrichWorkflowGuidance({'progressRef':b['data']['object'],'network':g?.['network'],'accountName':g?.['account'],'noCache':!![],'txResult':b0,'dryRun':g?.['dry_run']===!![],'operate':b7?.['forward']&&b7?.['next_node_name']?{'forward':b7['forward'],'next_node_name':b7['next_node_name'],'op':b6?.['op']}:undefined});mergeGuidanceIntoOutput(b1,b8);}return d(p,r,b['operation_type'],b0,b['data'])['catch'](()=>{}),b1;}case'repository':{const b9=new CallRepository(b['data']),ba=b['submission']?await b9['call_with_submission'](g,await transformSubmission(b['submission'])):await b9['call'](g),bb=await buildGuardSubmissionPrompt(ba,'repository',{'network':g?.['network'],'signer':g?.['account'],'extra':{'repository':b['data']?.['object']}});if(bb)c['push'](bb);const bc=handleCallResult(ba,n(b['data']));return d(p,r,b['operation_type'],ba,b['data'])['catch'](()=>{}),bc;}case'arbitration':{const bd=await prepareFundOperation(b['data'],'arbitration',g?.['network']);if(bd['blockingErrors']['length']>0x0)return buildFundBlockResult(bd,'arbitration');c['push'](...bd['warnings']);if(bd['confirmation']){c['push'](bd['confirmation']['message']);const bm=a458b(bd['confirmation']);if(bm)c['push'](bm);}const be=new CallArbitration(b['data']),bf=b['submission']?await be['call_with_submission'](g,await transformSubmission(b['submission'])):await be['call'](g),bg=await buildGuardSubmissionPrompt(bf,'arbitration',{'network':g?.['network'],'signer':g?.['account'],'extra':{'arbitration':b['data']?.['object']}});if(bg)c['push'](bg);const bh=b['data']?.['object'],bi=bh!==null&&typeof bh==='object';bi&&b['data']?.['pause']!==![]&&(c['push']('ARBITRATION\x20ACTIVATION\x20REQUIRED:\x20a\x20newly\x20created\x20Arbitration\x20defaults\x20to\x20bPaused=true\x20—\x20'+'dispute\x20filing\x20aborts\x20with\x20E_PAUSED\x20until\x20unpaused.\x20Issue\x20'+'{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20pause:false}}\x20before\x20binding\x20it\x20'+'to\x20a\x20Service\x20or\x20accepting\x20disputes.\x20NOTE:\x20unpausing\x20requires\x20permission\x20356\x20—\x20'+'the\x20creator\x20passes\x20this\x20check\x20as\x20the\x20new\x20Permission\x27s\x20admin\x20(admins\x20are\x20exempt\x20'+'from\x20permission\x20checks);\x20any\x20OTHER\x20operator\x20needs\x20an\x20explicit\x20356\x20grant\x20first.'),c['push']('PERMISSION\x20INITIALIZATION\x20REQUIRED:\x20a\x20freshly\x20created\x20Arbitration\x20has\x20NO\x20permissions\x20'+'granted\x20(350-368\x20all\x20unassigned)\x20—\x20every\x20operation\x20aborts\x20with\x20\x27Missing\x20permission\x27\x20(code\x205).\x20'+'OPEN\x20VOTING\x20IS\x20NOT\x20PERMISSIONLESS:\x20an\x20empty\x20voting_guard\x20means\x20every\x20358\x20(vote)\x20grantee\x20'+'votes\x20with\x20EQUAL\x20weight\x20(1\x20person\x201\x20vote)\x20—\x20vote()\x20asserts\x20358\x20unconditionally,\x20so\x20grant\x20'+'358\x20to\x20BOTH\x20disputing\x20parties\x20and\x20every\x20intended\x20voter,\x20or\x20nobody\x20can\x20vote.\x20'+'Recommended\x20grants\x20via\x20the\x20Arbitration\x27s\x20Permission\x20object\x20(permission_index_add):\x20'+'owner/admin:\x20356\x20(pause/unpause),\x20357\x20(fee),\x20362\x20(voting\x20deadline),\x20363\x20(reset),\x20364-366\x20'+'(withdraw/fees\x20alloc/transfer),\x20367-368\x20(owner\x20receive/UM);\x20'+'arbitrator:\x20361\x20(confirm\x20materials,\x20starts\x20voting)\x20+\x20359\x20(issue\x20ruling).'));const bj=b['data'],bk=bh!==null&&typeof bh==='string'&&bj?.['pause']===![];if(bk){const bn=be['content']?.['fee'],bo=bj?.['fee']??bn,bp=bo===0x0||bo==='0'||bo==='0.0'||bo==='0WOW';bo!=null&&bp&&c['push']('FREE\x20ARBITRATION:\x20this\x20Arbitration\x20activates\x20with\x20fee\x20=\x200\x20—\x20dispute\x20filers\x20pay\x20nothing\x20'+'(any\x20coin\x20they\x20send\x20is\x20refunded\x20on\x20filing;\x20only\x20self.fee\x20is\x20escrowed\x20for\x20the\x20arbitrator).\x20'+'The\x20arbitrator\x20earns\x20no\x20per-case\x20income\x20from\x20this\x20service.\x20If\x20this\x20is\x20intentional\x20'+'(e.g.\x20a\x20free-dispute\x20commercial\x20model),\x20ignore\x20this\x20warning;\x20to\x20charge\x20per\x20case,\x20set\x20'+'a\x20fee:\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<arb>\x27,\x20fee:<amount>}}.');}b['data']?.['arbitration']&&(c['push']('RULING\x20DOES\x20NOT\x20SETTLE\x20ESCROW:\x20this\x20ruling\x20records\x20the\x20feedback\x20+\x20indemnity\x20on\x20the\x20Arb\x20case\x20'+'object\x20ONLY\x20—\x20it\x20moves\x20no\x20funds\x20and\x20does\x20NOT\x20adjust\x20the\x20order\x27s\x20escrow\x20(the\x20Machine\x20workflow\x20'+'and\x20its\x20Allocation\x20are\x20independent\x20of\x20arbitration;\x20there\x20is\x20no\x20on-chain\x20linkage).\x20To\x20actually\x20'+'pay\x20the\x20buyer,\x20the\x20dispute\x20must\x20be\x20confirmed\x20and\x20then\x20claimed\x20via\x20'+'{operation_type:\x27order\x27,\x20data:{object:\x27<order>\x27,\x20arb_claim_compensation:{...}}}\x20—\x20the\x20indemnity\x20'+'is\x20paid\x20from\x20the\x20Service\x27s\x20merchant-prepaid\x20compensation_fund\x20(NOT\x20from\x20escrow),\x20capped\x20at\x203x\x20the\x20'+'order\x20amount,\x20and\x20it\x20does\x20NOT\x20re-split\x20the\x20allocator\x20ratios\x20(partial\x20/\x20proportional\x20refunds\x20via\x20a\x20'+'verdict\x20are\x20not\x20expressible\x20on-chain).\x20Because\x20the\x20two\x20tracks\x20are\x20independent,\x20the\x20buyer\x20can\x20still\x20'+'be\x20paid\x20the\x20FULL\x20escrow\x20AND\x20the\x20indemnity:\x20to\x20prevent\x20the\x20dual\x20payout,\x20freeze\x20the\x20settlement\x20by\x20'+'holding\x20the\x20order\x27s\x20edge\x20to\x20\x27completed\x27\x20before\x20it\x20settles\x20(hold\x20permission\x20=\x20the\x20forward\x27s\x20execute\x20'+'permission;\x20a\x20merchant-only\x20edge\x20needs\x20the\x20merchant/keeper\x20to\x20hold\x20it),\x20or\x20explicitly\x20accept\x20both\x20payouts.'),c['push']('ESCROW\x20FORENSICS\x20(refund-then-claim):\x20the\x20reverse\x20ordering\x20—\x20escrow\x20refund\x20first,\x20indemnity\x20'+'claim\x20second\x20—\x20is\x20NOT\x20on-chain\x20blocked,\x20but\x20it\x20IS\x20on-chain\x20distinguishable.\x20The\x20order-side\x20fund\x20'+'facts\x20(amount,\x20escrow\x20balance,\x20withdraw\x20history,\x20claimed_by,\x20workflow\x20node)\x20are\x20attached\x20to\x20this\x20'+'result\x20as\x20order_fund_facts,\x20and\x20to\x20every\x20query\x20of\x20this\x20Arb\x20case\x20as\x20_order_fund_facts\x20—\x20read\x20them\x20'+'before\x20finalizing\x20the\x20indemnity.\x20If\x20the\x20escrow\x20was\x20already\x20released\x20to\x20the\x20buyer\x20before\x20filing\x20'+'(positive\x20escrow_deficit\x20/\x20payout\x20entries\x20in\x20withdraw_history),\x20net\x20the\x20award\x20against\x20'+'the\x20refunded\x20principal\x20—\x20compensate\x20the\x20delta,\x20not\x20the\x20full\x20loss;\x20the\x20defendant\x20can\x20attach\x20the\x20'+'same\x20forensics\x20to\x20the\x20case\x20statement.'));const bl=handleCallResult(bf,n(b['data']));try{const bq=!!bf&&typeof bf==='object'&&bf?.['effects']?.['status']?.['status']==='success';if(bq){const br=b['data'],bs=br?.['vote']?.['arb']??br?.['confirm']?.['arb']??br?.['arbitration']?.['arb']??br?.['reset']?.['arb']??br?.['feedback']?.['arb']??br?.['arb_withdraw']?.['arb']??br?.['voting_deadline_change']?.['arb'],bt=br?.['dispute']?.['order'];if(bs||bt){const bu=await buildOrderFundFacts({'arbRef':bs,'orderRef':bt,'network':g?.['network']});bu&&(bl['structuredContent']['order_fund_facts']=bu['structured'],bl['content']['push']({'type':'text','text':bu['text']}));}}}catch{}return d(p,r,b['operation_type'],bf,b['data'])['catch'](()=>{}),bl;}case'contact':{warnPermissionAutoCreation(b['data'],'Contact',c);const bv=new CallContact(b['data']),bw=b['submission']?await bv['call_with_submission'](g,await transformSubmission(b['submission'])):await bv['call'](g),bx=await buildGuardSubmissionPrompt(bw,'contact',{'network':g?.['network'],'signer':g?.['account']});if(bx)c['push'](bx);const by=handleCallResult(bw,n(b['data']));return d(p,r,b['operation_type'],bw,b['data'])['catch'](()=>{}),by;}case'treasury':{const bz=await prepareFundOperation(b['data'],'treasury',g?.['network']);if(bz['blockingErrors']['length']>0x0)return buildFundBlockResult(bz,'treasury');c['push'](...bz['warnings']);if(bz['confirmation']){c['push'](bz['confirmation']['message']);const bE=a458b(bz['confirmation']);if(bE)c['push'](bE);}const bA=new CallTreasury(b['data']),bB=b['submission']?await bA['call_with_submission'](g,await transformSubmission(b['submission'])):await bA['call'](g),bC=await buildGuardSubmissionPrompt(bB,'treasury',{'network':g?.['network'],'signer':g?.['account'],'extra':{'treasury':b['data']?.['object']}});if(bC)c['push'](bC);const bD=handleCallResult(bB,n(b['data']));return d(p,r,b['operation_type'],bB,b['data'])['catch'](()=>{}),bD;}case'reward':{const bF=await prepareFundOperation(b['data'],'reward',g?.['network']);if(bF['blockingErrors']['length']>0x0)return buildFundBlockResult(bF,'reward');c['push'](...bF['warnings']);if(bF['confirmation']){c['push'](bF['confirmation']['message']);const bL=a458b(bF['confirmation']);if(bL)c['push'](bL);}const bG=transformRewardInput(b['data']),bH=new CallReward(bG),bI=b['submission']?await bH['call_with_submission'](g,await transformSubmission(b['submission'])):await bH['call'](g),bJ=await buildGuardSubmissionPrompt(bI,'reward',{'network':g?.['network'],'signer':g?.['account'],'extra':{'reward':b['data']?.['object']}});if(bJ)c['push'](bJ);const bK=handleCallResult(bI,n(b['data']));return d(p,r,b['operation_type'],bI,b['data'])['catch'](()=>{}),bK;}case'allocation':{const bM=await prepareFundOperation(b['data'],'allocation',g?.['network']);if(bM['blockingErrors']['length']>0x0)return buildFundBlockResult(bM,'allocation');c['push'](...bM['warnings']);if(bM['confirmation']){c['push'](bM['confirmation']['message']);const bS=a458b(bM['confirmation']);if(bS)c['push'](bS);}if(b['data']?.['alloc_by_guard']&&b['submission']){const bT=new Set();for(const bU of b['submission']['submission']||[]){for(const bV of bU?.['submission']||[]){const bW=typeof bV?.['value']==='string'?bV['value']:'';if(/^0x[0-9a-fA-F]{64}$/['test'](bW))bT['add'](bW);}}if(bT['size']>0x0)try{const bX=(await batchQueryObjectsByIds([...bT],g?.['network'],!![]))['filter'](bY=>bY?.['type']==='Order');for(const bY of bX){typeof bY['claimed_by']==='string'&&bY['claimed_by']['startsWith']('0x')&&c['push']('⚠\x20MUTUAL-EXCLUSION:\x20Order\x20'+bY['object']+'\x20already\x20received\x20arbitration\x20'+('compensation\x20(claimed_by='+bY['claimed_by']+').\x20Releasing\x20escrow\x20on\x20top\x20of\x20a\x20paid\x20')+'ruling\x20double-pays\x20the\x20buyer\x20(refund\x20+\x20compensation)\x20—\x20the\x20two\x20payout\x20paths\x20are\x20'+'independent\x20systems\x20and\x20the\x20protocol\x20does\x20not\x20block\x20this\x20combination.\x20'+'Abort\x20unless\x20this\x20distribution\x20is\x20NOT\x20a\x20buyer\x20refund.');}}catch{}}if(b['data']?.['allocators']){const bZ=await checkEntityRecipientGate(b['data']?.['allocators'],'allocation.allocators',c);if(bZ)return bZ;}const bN=new CallAllocation(b['data']),bO=b['submission']?await bN['call_with_submission'](g,await transformSubmission(b['submission'])):await bN['call'](g),bP=await buildGuardSubmissionPrompt(bO,'allocation',{'network':g?.['network'],'signer':g?.['account'],'allocation_address':b['data']?.['object']});if(bP)c['push'](bP);const bQ=b['data'];if(bQ?.['alloc_by_guard']){const c0=ResponseData(bO)['filter'](c1=>c1?.['type']==='Payment'&&c1?.['change']==='created');if(c0['length']>0x0){const c1=c0['map'](c2=>c2['object'])['join'](',\x20');try{const c2=await batchQueryObjectsByIds(c0['map'](c5=>c5['object']),g?.['network'],!![]),c3=[];let c4=BigInt(0x0);for(const c5 of c2){if(c5?.['type']==='Payment'&&c5?.['record']){for(const c6 of c5['record']){const c7=formatRecipientLabel(c6['recipient']),c8=typeof c6['amount']==='string'?c6['amount']:String(c6['amount']),c9=BigInt(c8);c4+=c9,c3['push']('\x20\x20•\x20'+c7+':\x20'+formatMistAmount(c9));}c5['object']&&c3['push']('\x20\x20•\x20Payment\x20object:\x20'+c5['object']);}}if(c3['length']>0x0){c3['unshift']('DISTRIBUTION\x20DETAILS\x20(alloc_by_guard):'),c3['push']('\x20\x20─────────────────','\x20\x20•\x20Total\x20distributed:\x20'+formatMistAmount(c4));const ca=c2['some'](cb=>cb?.['type']==='Payment'&&cb?.['info']?.['for_object']);ca&&(c4===BigInt(0x0)?c3['push']('','ESCROW\x20MODE\x20(nothing\x20owed):\x20total\x20distributed\x20is\x200\x20—\x20'+'nothing\x20is\x20being\x20held\x20for\x20claiming\x20and\x20no\x20distribution\x20is\x20pending.'):c3['push']('','ESCROW\x20MODE:\x20Funds\x20are\x20held\x20in\x20escrow\x20(Payment.for_object\x20points\x20to\x20an\x20Order).\x20'+'The\x20Order\x20owner\x20must\x20call\x20order_claim\x20(or\x20service_order_claim)\x20to\x20actually\x20receive\x20the\x20funds.\x20'+'This\x20is\x20the\x20order\x20submission\x20pattern:\x20Recipient::GuardIdentifier(0)\x20resolves\x20'+'to\x20the\x20submitted\x20order,\x20whose\x20owner\x20receives\x20the\x20funds\x20(object\x20receipt\x20=\x20owner\x20receipt).')),c['push'](c3['join']('\x0a'));}}catch{c['push']('alloc_by_guard\x20created\x20Payment\x20object(s)\x20['+c1+'].\x20'+'Query\x20these\x20Payment\x20objects\x20to\x20see\x20the\x20distribution\x20details\x20and\x20check\x20for_object\x20for\x20escrow\x20mode.');}}else c['push']('NOTHING\x20DISTRIBUTED\x20(alloc_by_guard\x20'+bQ['alloc_by_guard']+'):\x20the\x20transaction\x20'+'succeeded\x20but\x20created\x20NO\x20Payment\x20object,\x20so\x20no\x20funds\x20moved.\x20'+'The\x20guard\x20is\x20bound\x20to\x20this\x20allocation,\x20so\x20this\x20is\x20not\x20a\x20wrong-guard\x20mistake\x20—\x20the\x20'+'distribution\x20evaluated\x20to\x20zero.\x20Usual\x20causes:\x20the\x20sharing\x20plan\x20computes\x200\x20for\x20the\x20'+'remaining\x20balance,\x20the\x20pool\x20is\x20already\x20fully\x20distributed,\x20or\x20the\x20guard\x27s\x20once-slot\x20'+'was\x20already\x20consumed.\x20Do\x20NOT\x20report\x20this\x20allocation\x20as\x20executed.');}const bR=handleCallResult(bO,n(b['data']));return d(p,r,b['operation_type'],bO,b['data'])['catch'](()=>{}),bR;}case'permission':{const cb=b['operation_type'],cc=handlePermissionOperations(b['data'],g,n,c);return cc&&typeof cc==='object'&&'then'in cc&&cc['then'](cd=>{cd?.['structuredContent']?.['result']&&d(p,r,cb,cd['structuredContent']['result'],b['data'])['catch'](()=>{});})['catch'](()=>{}),cc;}case'guard':{const cd=b['data'],ce=cd['root'];if(ce?.['type']==='file'){const ci=ce,cj=resolve(ci['file_path']);let ck;try{ck=readFileSync(cj,'utf-8');}catch(cn){throw new Error('Failed\x20to\x20read\x20Guard\x20definition\x20file\x20\x27'+ci['file_path']+'\x27:\x20'+cn['message']);}const cl=parseGuardFile(ck,ci['format']);if(!cl['success']){const co=formatGuardParseErrors(cl['errors']);throw new Error('Guard\x20validation\x20failed\x20for\x20file\x20\x27'+ci['file_path']+'\x27:\x0a\x0a'+co);}const cm=cl['data'];cd['root']={'type':'node','node':cm['root']},cm['table']!==undefined&&cd['table']===undefined&&(cd['table']=cm['table']),cm['description']!==undefined&&cd['description']===undefined&&(cd['description']=cm['description']),cm['rely']!==undefined&&cd['rely']===undefined&&(cd['rely']=cm['rely']),cm['namedNew']!==undefined&&cd['namedNew']===undefined&&(cd['namedNew']=cm['namedNew']);}if(cd['root']&&typeof cd['root']==='object'){const cp=cd['root'];cp['type']==='node'&&cp['node']&&(cd['root']=cp['node']);}if(!cd['table']||cd['table']['length']===0x0)throw new Error('Guard\x20\x27table\x27\x20field\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(!cd['root'])throw new Error('Guard\x20\x27root\x27\x20field\x20is\x20required');const cf=new CallGuard(cd),cg=await cf['call'](g);if(cg&&typeof cg==='object'&&'digest'in cg&&cg?.['effects']?.['status']?.['status']==='success'){try{const cq=cd['root']?.['type']??'<unknown>',cr=Array['isArray'](cd['table'])?cd['table']:[],cs=cr['length'],ct=cr['filter'](cz=>cz?.['b_submission']===!![])['length'],cu=cd['rely']?.['guards'],cv=Array['isArray'](cu)?cu['length']:0x0,cw=cd['rely']?.['logic_or']===!![]?'OR':cd['rely']?.['logic_or']===![]?'AND':'none',cx=['GUARD\x20LOGIC\x20SUMMARY:','\x20\x20•\x20root\x20type:\x20'+cq,'\x20\x20•\x20table\x20entries:\x20'+cs+'\x20('+ct+'\x20require\x20runtime\x20submission)'],cy=cr['filter'](cz=>cz?.['b_submission']===!![]);for(const cz of cy){const cA=typeof cz?.['value_type']==='string'?cz['value_type']:String(cz?.['value_type']??'?');cx['push']('\x20\x20•\x20submission\x20slot\x20'+cz?.['identifier']+':\x20value_type='+cA+'\x20—\x20forwards\x20bound\x20to\x20this\x20Guard\x20'+('must\x20advance\x20with\x20submissions:[{identifier:'+cz?.['identifier']+',\x20value_type:\x22'+cA+'\x22}]\x20')+'(Address\x20slots:\x20pass\x20the\x20Order\x20object\x20address)');}cv>0x0&&cx['push']('\x20\x20•\x20relies\x20on:\x20'+cv+'\x20guard(s)\x20(mode:\x20'+cw+')');if(cd['description']){const cB=String(cd['description'])['slice'](0x0,0x50);cx['push']('\x20\x20•\x20description:\x20\x22'+cB+'\x22');}c['push'](cx['join']('\x0a'));}catch{}try{const cC=parseGuardTimeBounds(cd['root'],cd['table']);if(cC){const cD=[],cE=cd['namedNew']?.['name'];typeof cE==='string'&&cE['trim']()&&cD['push'](cE['trim']());try{const cG=ResponseData(cg)['filter'](cH=>cH['change']==='created'&&cH['object']&&typeof cH['type_raw']==='string'&&cH['type_raw']['includes']('::guard::'))['map'](cH=>String(cH['object']));cD['push'](...cG);}catch{}if(cD['length']>0x0)recordGuardTimeProfile(cD,cC);const cF=cC['upperWindowMs']!==undefined?'Clock\x20<=\x20'+cC['anchor']+'\x20+\x20'+cC['upperWindowMs']+'ms':'Clock\x20>=\x20'+cC['anchor']+'\x20+\x20'+cC['lowerOffsetMs']+'ms';c['push']('TIME\x20ANCHOR:\x20this\x20Guard\x20uses\x20'+cF+'.\x20'+(cC['anchor']==='order.time'?'order.time\x20anchor\x20=\x20ORDER\x20CREATION\x20time\x20—\x20upper\x20windows\x20on\x20POST-checkout\x20branches\x20must\x20instead\x20anchor\x20progress.current_time\x20(query\x201272,\x20OrderProgress\x20witness),\x20otherwise\x20the\x20window\x20may\x20expire\x20before\x20the\x20branch\x20is\x20reachable\x20(§5.5\x20dead\x20branch).\x20':'witness-derived\x20anchor\x20—\x20the\x20window\x20counts\x20from\x20entering\x20the\x20source\x20node\x20(serves\x20all\x20orders).\x20')+'The\x20Machine-side\x20reachability\x20check\x20will\x20cross-verify\x20when\x20these\x20Guards\x20are\x20bound\x20to\x20forwards.');}}catch{}}const ch=handleCallResult(cg,n(b['data']));return d(p,r,b['operation_type'],cg,b['data'])['catch'](()=>{}),ch;}case'personal':{const cH=transformPersonalInput(b['data']),cI=new CallPersonal(cH),cJ=await cI['call'](g),cK=handleCallResult(cJ,n(b['data']));return d(p,r,b['operation_type'],cJ,b['data'])['catch'](()=>{}),cK;}case'payment':{const cL=await prepareFundOperation(b['data'],'payment',g?.['network']);if(cL['blockingErrors']['length']>0x0)return buildFundBlockResult(cL,'payment');c['push'](...cL['warnings']);if(cL['confirmation']){c['push'](cL['confirmation']['message']);const cQ=a458b(cL['confirmation']);if(cQ)c['push'](cQ);}const cM=b['data'];if(cM?.['receive']===!![]){const cR=typeof cM?.['object']==='string'&&cM['object']['length']>0x0;c['push']('RECEIVE\x20MODE\x20(order_claim):\x20You\x20are\x20unwrapping\x20CoinWrapper(s)\x20to\x20your\x20wallet.\x20'+'This\x20is\x20the\x20final\x20step\x20of\x20the\x20escrow\x20flow:\x0a'+'\x20\x201.\x20Allocation\x27s\x20alloc_by_guard\x20created\x20a\x20Payment\x20object\x20with\x20your\x20address\x20as\x20a\x20recipient\x0a'+'\x20\x202.\x20The\x20Payment\x27s\x20revenue\x20split\x20transferred\x20CoinWrapper(s)\x20to\x20your\x20wallet\x20(owned\x20but\x20not\x20spendable)\x0a'+'\x20\x203.\x20'+(cR?'THIS\x20operation\x20unwraps\x20the\x20specified\x20CoinWrapper\x20to\x20your\x20wallet':'AUTO-RECEIVE:\x20this\x20operation\x20unwraps\x20EVERY\x20CoinWrapper\x20currently\x20owned\x20by\x20you\x20in\x20a\x20single\x20transaction')+',\x20deleting\x20the\x20CoinWrapper(s)\x20and\x20transferring\x20the\x20underlying\x20coin\x20to\x20tx_context::sender\x0a'+'Requirements:\x0a'+'\x20\x20-\x20You\x20MUST\x20be\x20the\x20CoinWrapper\x27s\x20owner\x20(the\x20recipient\x20specified\x20in\x20the\x20Allocation)\x0a'+'\x20\x20-\x20type_parameter\x20is\x20OPTIONAL:\x20when\x20omitted\x20it\x20is\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20'+'own\x20on-chain\x20type\x20(the\x20inner\x20T\x20of\x20CoinWrapper<T>)\x0a'+(cR?'\x20\x20-\x20object\x20can\x20be\x20a\x20CoinWrapper\x20ID\x20(0x...)\x20or\x20a\x20local\x20mark\x20name\x0a':'\x20\x20-\x20When\x20\x27object\x27\x20is\x20omitted,\x20no\x20wrapper\x20lookup\x20is\x20needed\x20—\x20all\x20your\x20CoinWrappers\x20are\x20unwrapped\x20at\x20once\x0a')+'To\x20find\x20received\x20CoinWrappers:\x20call\x20query_toolkit\x20with\x20query_type=\x27onchain_received\x27\x20'+'and\x20type=\x27CoinWrapper\x27\x20for\x20your\x20account.\x0a'+'After\x20success:\x20verify\x20your\x20balance\x20increased\x20via\x20account_balance\x20query.');}else{if(cM?.['revenue']){c['push']('CREATE\x20MODE:\x20Creating\x20a\x20new\x20Payment\x20object.\x20Payments\x20are\x20IMMUTABLE\x20after\x20creation\x20—\x20'+'they\x20cannot\x20be\x20modified.\x20The\x20\x27revenue\x27\x20array\x20defines\x20the\x20recipients\x20and\x20amounts;\x20'+'ensure\x20correctness\x20before\x20submitting.\x20The\x20\x27info.for_guard\x27\x20field\x20(if\x20set)\x20binds\x20this\x20'+'Payment\x20to\x20a\x20Guard\x20for\x20conditional\x20release\x20(common\x20in\x20escrow\x20workflows).');const cS=cM?.['object']?.['type_parameter']??'0x2::wow::WOW';for(const cT of cM['revenue']){const cU=cT?.['amount'];if(cU&&typeof cU==='object'&&typeof cU['balance']==='string'){const cV=await parseAmount(cU['balance'],cS,g?.['network']);cV?.['smallestUnit']!=null&&(cU['balance']=cV['smallestUnit']<=BigInt(Number['MAX_SAFE_INTEGER'])?Number(cV['smallestUnit']):cV['smallestUnit']['toString']());}}}}const cN=new CallPayment(b['data']),cO=await cN['call'](g),cP=handleCallResult(cO,n(b['data']));return d(p,r,b['operation_type'],cO,b['data'])['catch'](()=>{}),cP;}case'demand':{const cW=new CallDemand(b['data']),cX=b['submission']?await cW['call_with_submission'](g,await transformSubmission(b['submission'])):await cW['call'](g),cY=await buildGuardSubmissionPrompt(cX,'demand',{'network':g?.['network'],'signer':g?.['account'],'extra':{'demand':b['data']?.['object']}});if(cY)c['push'](cY);const cZ=handleCallResult(cX,n(b['data']));return d(p,r,b['operation_type'],cX,b['data'])['catch'](()=>{}),cZ;}case'order':{b['data']?.['progress']&&(c['push']('Order\x20routing\x20hint:\x20order.progress\x20works\x20only\x20for\x20Forwards\x20with\x20'+'namedOperator=\x22\x22\x20(OrderHolder).\x20If\x20the\x20target\x20Forward\x20uses\x20a\x20'+'non-empty\x20namedOperator\x20or\x20permissionIndex-only,\x20use\x20progress.operate\x20'+'on\x20the\x20Progress\x20object\x20directly\x20instead.'),c['push']('Allocation\x20hint:\x20if\x20this\x20operation\x20advances\x20the\x20order\x20to\x20a\x20terminal\x20'+'state\x20(e.g.\x20Completed/Cancelled/Refunded),\x20funds\x20remain\x20in\x20the\x20'+'Allocation\x20object\x20and\x20are\x20NOT\x20auto-distributed.\x20To\x20release\x20funds,\x20'+'trigger\x20the\x20corresponding\x20Guard\x20verification\x20via\x20allocation\x20operation\x20'+'(the\x20Guard\x20bound\x20to\x20the\x20matching\x20Allocator\x20will\x20verify\x20and\x20distribute).\x20'+'Refunds\x20are\x20TWO-STEP\x20(E-4):\x20the\x20refund\x20alloc\x20pays\x20into\x20the\x20ORDER\x20object\x20'+'(only\x20the\x20order\x20owner\x20can\x20extract)\x20—\x20after\x20the\x20alloc,\x20the\x20order\x20owner\x20'+'must\x20run\x20order\x20receive\x20(e.g.\x20receive:\x27recently\x27)\x20to\x20unwrap\x20to\x20the\x20wallet;\x20'+'treat\x20\x27cancelled/refunded\x20+\x20unclaimed\x20balance\x27\x20as\x20a\x20standard\x20pending\x20task.'));const d0=b['data']?.['arb_claim_compensation'];if(d0&&typeof b['data']?.['object']==='string')try{const d5=b['data']['object'],d6=d5['startsWith']('0x')?d5:await LocalMark['Instance']()['get_address'](d5)??undefined;if(d6){const d7=await query_objects({'objects':[d6],'no_cache':!![],'network':g?.['network']}),d8=d7?.['objects']?.[0x0],d9=d8?.['data']??d8,da=d9?.['service'],db=readRawOnchainAmount(d9?.['amount']);let dc;if(da){const df=await query_objects({'objects':[da],'no_cache':!![],'network':g?.['network']}),dg=df?.['objects']?.[0x0];dc=readRawOnchainAmount((dg?.['data']??dg)?.['compensation_fund']);}let dd;const de=d0?.['arb'];if(typeof de==='string'){const dh=de['startsWith']('0x')?de:await LocalMark['Instance']()['get_address'](de)??undefined;if(dh){const di=await query_objects({'objects':[dh],'no_cache':!![],'network':g?.['network']});dd=readRawOnchainAmount(di?.['objects']?.[0x0]?.['data']?.['indemnity']);}}if(dc===0x0&&dd!==0x0)c['push']('COMPENSATION\x20POOL\x20EMPTY:\x20the\x20Service\x27s\x20compensation_fund\x20is\x200\x20—\x20this\x20claim\x20will\x20'+'abort\x20with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH).\x20The\x20abort\x20does\x20NOT\x20consume\x20the\x20claim\x20'+'(the\x20Arb\x20stays\x20Arbitrated):\x20the\x20merchant\x20must\x20top\x20up\x20via\x20service\x20'+'compensation_fund_add\x20(>=\x20the\x20ruled\x20indemnity),\x20then\x20re-run\x20arb_claim_compensation.');else{if(dc!==undefined&&dd!==undefined&&dc<dd)c['push']('COMPENSATION\x20POOL\x20UNDERFUNDED:\x20compensation_fund\x20('+dc+'\x20raw\x20units)\x20is\x20less\x20than\x20'+('the\x20ruled\x20indemnity\x20('+dd+'\x20raw\x20units)\x20—\x20the\x20claim\x20will\x20abort\x20with\x20code\x2027.\x20')+'Merchant\x20must\x20top\x20up\x20via\x20service\x20compensation_fund_add,\x20then\x20retry\x20(the\x20abort\x20does\x20'+'not\x20consume\x20the\x20claim).');else{if(dc!==undefined&&db!==undefined&&db>0x0&&dc<0x3*db)c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20('+dc+')\x20is\x20less\x20than\x20'+('3x\x20the\x20order\x20amount\x20('+db+')\x20—\x20the\x20chain\x20caps\x20any\x20award\x20at\x203x\x20')+'(MAX_INDEMNITY_MULTIPLE,\x20arb.move),\x20so\x20a\x20ruling\x20at\x20the\x20ceiling\x20would\x20abort\x20this\x20'+'buyer\x27s\x20payout.\x20Recommend\x20the\x20merchant\x20top\x20up\x20the\x20pool\x20via\x20service\x20'+'compensation_fund_add.\x20(Above\x203x\x20only\x20buys\x20headroom\x20for\x20concurrent\x20claims\x20—\x20'+'the\x20pool\x20is\x20per-Service\x20and\x20has\x20no\x20on-chain\x20concurrency\x20limit.)');else dc!==undefined&&dc>0x0&&c['push']('Reminder:\x20this\x20claim\x20pays\x20from\x20the\x20Service\x27s\x20merchant-prepaid\x20compensation_fund\x20pool\x20'+'(not\x20the\x20order\x20escrow).\x20Pool\x20balance\x20is\x20sufficient\x20for\x20now.\x20Once\x20this\x20claim\x20settles,\x20'+'the\x20order\x20seals\x20itself:\x20a\x20later\x20refund-track\x20alloc\x20may\x20still\x20split\x20the\x20escrow,\x20but\x20'+'its\x20payout\x20can\x20no\x20longer\x20be\x20claimed\x20by\x20anyone\x20(the\x20order\x20rejects\x20the\x20claim)\x20—\x20the\x20'+'provider\x20release\x20track\x20(direct\x20transfer)\x20stays\x20usable.');}}}}catch{}const d1=new CallOrder(b['data']),d2=b['submission']?await d1['call_with_submission'](g,await transformSubmission(b['submission'])):await d1['call'](g);if(d0){const dj=!!d2&&typeof d2==='object'&&d2?.['effects']?.['status']?.['status']==='success';let dk;if(dj&&typeof b['data']?.['object']==='string')try{const dm=b['data']['object'],dn=dm['startsWith']('0x')?dm:await LocalMark['Instance']()['get_address'](dm)??undefined;let dp;if(dn){const dq=await query_objects({'objects':[dn],'no_cache':!![],'network':g?.['network']}),dr=dq?.['objects']?.[0x0];dp=(dr?.['data']??dr)?.['progress'];}dk=await autoHoldAfterClaim(g,dm,dp);}catch{}const dl=['DUAL-TRACK\x20NOTICE:\x20claiming\x20compensation\x20does\x20NOT\x20adjust\x20the\x20allocation\x20—\x20compensation\x20'+'(Service\x20compensation_fund)\x20and\x20escrow\x20settlement\x20(Allocation)\x20are\x20independent\x20tracks,\x20and\x20'+'claim/objection\x20remain\x20mutually\x20exclusive\x20(claim\x20closes\x20the\x20case).'];if(dk&&(dk['held']['length']||dk['notHoldable']['length']||dk['failed']['length']))dk['held']['length']&&dl['push']('Settlement\x20frozen\x20—\x20auto-hold\x20applied\x20to:\x20'+dk['held']['join'](',\x20')+'.'),dk['notHoldable']['length']&&dl['push']('NOT\x20holdable\x20by\x20this\x20account\x20(needs\x20merchant/keeper\x20to\x20run\x20order\x20hold):\x20'+dk['notHoldable']['join'](',\x20')+'.'),dk['failed']['length']&&dl['push']('Hold\x20attempted\x20but\x20failed\x20(retry,\x20or\x20have\x20merchant/keeper\x20hold\x20manually):\x20'+dk['failed']['join'](',\x20')+'.'),dk['held']['length']===0x0&&dl['push']('No\x20outgoing\x20edge\x20could\x20be\x20auto-held\x20—\x20the\x20escrow\x20settlement\x20track\x20is\x20STILL\x20OPEN;\x20'+'have\x20the\x20merchant/keeper\x20hold\x20the\x20edge(s)\x20above\x20before\x20the\x20order\x20reaches\x20completed.');else dj?dl['push']('No\x20outgoing\x20edge\x20to\x20freeze\x20at\x20the\x20current\x20node\x20(order\x20likely\x20at\x20a\x20terminal\x20node),\x20or\x20'+'edge\x20resolution\x20was\x20unavailable\x20—\x20verify\x20the\x20settlement\x20state\x20manually.'):dl['push']('The\x20claim\x20did\x20not\x20succeed,\x20so\x20no\x20hold\x20was\x20attempted;\x20rerun\x20after\x20fixing\x20the\x20cause\x20above.');c['push'](dl['join']('\x20'));}const d3=await buildGuardSubmissionPrompt(d2,'order',{'network':g?.['network'],'signer':g?.['account'],'order_address':b['data']?.['object']});if(d3)c['push'](d3);const d4=handleCallResult(d2,n(b['data']));if(d2&&typeof d2==='object'&&'digest'in d2&&d2?.['effects']?.['status']?.['status']==='success'&&b['data']?.['progress']&&typeof b['data']?.['object']==='string')try{const ds=b['data']['object'],dt=ds['startsWith']('0x')?ds:await LocalMark['Instance']()['get_address'](ds)??undefined;let du;if(dt){const dv=await query_objects({'objects':[dt],'no_cache':!![],'network':g?.['network']}),dw=dv?.['objects']?.[0x0];du=(dw?.['data']??dw)?.['progress'];}if(du){const dx=b['data']['progress']?.['operation'],dy=await enrichWorkflowGuidance({'progressRef':du,'network':g?.['network'],'accountName':g?.['account'],'noCache':!![],'txResult':d2,'dryRun':g?.['dry_run']===!![],'operate':dx?.['forward']&&dx?.['next_node_name']?{'forward':dx['forward'],'next_node_name':dx['next_node_name'],'op':b['data']['progress']?.['op']}:undefined});mergeGuidanceIntoOutput(d4,dy);}}catch{}return d(p,r,b['operation_type'],d2,b['data'])['catch'](()=>{}),d4;}case'gen_passport':{const dz=await gen_passport(g,b['guard'],b['info']);let dA;try{const dC=Array['isArray'](dz?.['objectChanges'])?dz['objectChanges']:[],dD=dC['find'](dF=>dF?.['type']==='created'&&typeof dF?.['objectType']==='string'&&/::passport::Passport$/['test'](dF['objectType'])),dE=dD?.['objectId'];if(dE){const dF=await query_objects({'objects':[dE],'no_cache':!![],'network':g?.['network']}),dG=dF?.['objects']?.[0x0],dH=dG?.['data']??dG;dH&&typeof dH==='object'&&typeof dH['result']==='boolean'&&(dA={'passport_id':dE,'result':dH['result']===!![],'has_verified':dH['has_verified']===!![],'info':Array['isArray'](dH['guard'])?dH['guard']['map'](dI=>({'guard':String(dI?.['guard']??dI??''),'result':dI?.['result']===!![],...typeof dI?.['impack']==='boolean'?{'impack':dI['impack']}:{}})):undefined});}}catch{}const dB=handleCallResult(dz,n(b['data'],undefined,dA));return d(p,r,b['operation_type'],dz,b['data'])['catch'](()=>{}),dB;}case'proof':{const dI=new CallProof(b['data']),dJ=b['submission']?await dI['call_with_submission'](g,await transformSubmission(b['submission'])):await dI['call'](g),dK=await buildGuardSubmissionPrompt(dJ,'proof',{'network':g?.['network'],'signer':g?.['account']});if(dK)c['push'](dK);const dL=handleCallResult(dJ,n(b['data']));return d(p,r,b['operation_type'],dJ,b['data'])['catch'](()=>{}),dL;}case'gen_proof':{const dM=await gen_proof(g,b['proof'],b['server_pubkey'],b['server_signature'],b['proof_type'],b['description'],b['item_count'],b['about_address']),dN=handleCallResult(dM,n(b['data']));return d(p,r,b['operation_type'],dM,b['data'])['catch'](()=>{}),dN;}}const x=b;throw new Error('Unknown\x20on-chain\x20operation\x20type:\x20'+String(x['operation_type']));}catch(dO){let dP=dO instanceof Error?dO['message']:String(dO);const dQ=b?.['operation_type'],dR=b&&'data'in b?b['data']:undefined;try{const dS=await diagnoseGuardFailure(b,dP);if(dS)dP=dP+'\x0a'+dS;}catch{}return handleCallResult({'error':dP},dQ?{'operation_type':dQ,'data':dR}:undefined);}}
|