@wowok/agent-mcp 3.2.7 → 3.2.9
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.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.js +1 -1
- package/dist/composition/inflight.d.ts +10 -0
- package/dist/composition/inflight.js +1 -1
- package/dist/extensions/business-modules.d.ts +1 -1
- package/dist/extensions/business-modules.js +1 -1
- package/dist/graph/onchain/edge-schema.js +1 -1
- package/dist/harness/index.d.ts +1 -0
- package/dist/harness/index.js +1 -1
- package/dist/harness/operation-id.d.ts +1 -0
- package/dist/harness/operation-id.js +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/index.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/guard.json +96 -1
- package/dist/knowledge/baselines/rules/plan.json +30 -7
- package/dist/knowledge/baselines/semantic-facts.js +1 -1
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/discount-threshold.d.ts +11 -0
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-design-patterns.d.ts +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-ledger.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.d.ts +1 -0
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-submission-brief.d.ts +6 -0
- package/dist/knowledge/guard-submission-brief.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +2 -2
- 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/order-ledger.js +1 -1
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +2 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tool-constraints.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +7 -3
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/radar-core.d.ts +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +8 -0
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/object-panorama.d.ts +28 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.d.ts +2 -0
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping.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/playbooks/service-build/service-quote.spec.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/safety/preview.d.ts +1 -0
- package/dist/safety/preview.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +14 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +1 -1
- package/dist/schema/call/arbitration.d.ts +4 -4
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +13 -5
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +2 -0
- package/dist/schema/call/contact.d.ts +1 -1
- package/dist/schema/call/demand.d.ts +1 -1
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/guard.d.ts +3 -3
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +1 -1
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +1 -1
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/permission.d.ts +1 -1
- package/dist/schema/call/personal.d.ts +4 -4
- package/dist/schema/call/progress.d.ts +1 -1
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/proof.js +1 -1
- package/dist/schema/call/repository.d.ts +5 -5
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/reward.d.ts +1 -1
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +4 -1
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +1 -1
- package/dist/schema/common/index.d.ts +4 -4
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/index.d.ts +12 -0
- package/dist/schema/goal/planning.d.ts +18 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/local/index.d.ts +21 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +22 -21
- package/dist/schema/query/bi.d.ts +6 -6
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +112 -54
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +1 -0
- package/dist/schema/schema-query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/utils/permission-machine-check.d.ts +2 -0
- package/dist/schema/utils/permission-machine-check.js +1 -1
- package/dist/schema/workflow/index.d.ts +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +2 -0
- package/dist/schemas/account_operation.schema.json +3 -3
- package/dist/schemas/benchmark_migration_operation.output.json +42 -0
- package/dist/schemas/benchmark_migration_operation.schema.json +13 -0
- package/dist/schemas/bridge_operation.output.json +2 -0
- package/dist/schemas/goal_operation.schema.json +26 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/local_cache_operation.output.json +2 -0
- package/dist/schemas/local_history_operation.output.json +2 -0
- package/dist/schemas/local_info_operation.output.json +2 -0
- package/dist/schemas/local_mark_operation.output.json +2 -0
- package/dist/schemas/messenger_operation.schema.json +4 -4
- package/dist/schemas/onchain_operations.output.json +7 -5
- package/dist/schemas/onchain_operations.schema.json +108 -92
- package/dist/schemas/onchain_operations_allocation.schema.json +5 -5
- package/dist/schemas/onchain_operations_arbitration.schema.json +10 -8
- package/dist/schemas/onchain_operations_contact.schema.json +6 -5
- package/dist/schemas/onchain_operations_demand.schema.json +6 -5
- package/dist/schemas/onchain_operations_gen_passport.schema.json +5 -5
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +4 -4
- package/dist/schemas/onchain_operations_machine.schema.json +7 -6
- package/dist/schemas/onchain_operations_order.schema.json +8 -7
- package/dist/schemas/onchain_operations_permission.schema.json +1 -0
- package/dist/schemas/onchain_operations_personal.schema.json +2 -2
- package/dist/schemas/onchain_operations_progress.schema.json +8 -7
- package/dist/schemas/onchain_operations_proof.schema.json +6 -6
- package/dist/schemas/onchain_operations_repository.schema.json +10 -9
- package/dist/schemas/onchain_operations_reward.schema.json +8 -7
- package/dist/schemas/onchain_operations_service.schema.json +16 -11
- package/dist/schemas/onchain_operations_treasury.schema.json +6 -5
- package/dist/schemas/onchain_table_data.output.json +7 -7
- package/dist/schemas/query_toolkit.output.json +31 -30
- package/dist/schemas/query_toolkit.schema.json +1 -1
- package/dist/schemas/schema_query.schema.json +4 -0
- package/dist/schemas/workflow_operation.schema.json +5 -5
- package/dist/schemas/wowok_buildin_info.output.json +140 -3
- package/dist/schemas/wowok_buildin_info.schema.json +2 -2
- package/dist/tools/handlers/benchmark-migration.d.ts +22 -1
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/dispatch-expectations.d.ts +0 -1
- package/dist/tools/handlers/dispatch-expectations.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.d.ts +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/registry/files.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/upgrade-check.d.ts +23 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wip-deploy-assist.d.ts +6 -0
- package/dist/tools/wip-deploy-assist.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -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,query_serviceContext,parseGuardFile,formatGuardParseErrors,transformRewardInput,transformPersonalInput,GetAccountOrMark_Address,Config}from'@wowok/wowok';import{buildOrderFundFacts}from'../../knowledge/arb-fund-facts.js';import{beginInFlight,recordInFlightOutcome,describeLastInFlight}from'../../composition/inflight.js';import{OnchainOperationsSchema,strictParse,getEnvConfig,handleCallResult,checkClientSchemaCompatibility,parseMachineNodesFromText,formatNodeErrors as a467a,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 a467b,formatChainValue}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{translateGuardTypeError}from'../../knowledge/guard-lint.js';import{lintGuardNodeGates,parseGuardNodeGates,recordMachineNodeNames}from'../../knowledge/guard-node-gates.js';import{checkArbitrationVenueOrder,venueOperatingDoctrine}from'../../knowledge/arbitration-venue-order.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{priorProofConsumptions,recordProofConsumption}from'../../communication/proof-reuse.js';import{evaluateServiceFromGraph}from'../../playbooks/service-build/topology-query.js';import{isEnabled as a467c}from'../../config/index.js';import{buildSubmissionConfirmation,loadGuardJsonFromChain,OPERATION_GUARD_ACTION}from'../../knowledge/guard-submission-brief.js';import{enrichWorkflowGuidance,mergeGuidanceIntoOutput,resolveHoldableEdges}from'../../knowledge/workflow-guidance.js';import{runReviewChain,mergeReviewStepsIntoOutput}from'./review-chain.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 f=d[0x0]?.['guard'];if(!f)return undefined;try{const g=await generateGuardSubmissionPrompt(f,{'operation':b,...c});return g?formatSubmissionPrompt(g):undefined;}catch(h){return'SUBMISSION\x20REQUIRED\x20—\x20the\x20Guard\x20needs\x20data\x20you\x20have\x20not\x20supplied\x20yet\x20(detailed\x20prompt\x20generation\x20'+('failed:\x20'+(h?.['message']??String(h))+').\x20Retry\x20with\x20the\x20submission\x20envelope\x20per\x20')+'SubmissionCallSchema:\x20{type:\x22submission\x22,\x20guard:[{object:\x22<guard\x20id>\x22,\x20impack:true}],\x20'+'submission:[{identifier:<n>,\x20value:\x22<value>\x22}]}\x20—\x20the\x20identifiers\x20above\x20name\x20every\x20required\x20field.';}}function treeUsesRewardRecords(a){if(!a||typeof a!=='object')return![];if(a['type']==='query_reward_record_exists')return!![];const b=[...Array['isArray'](a['nodes'])?a['nodes']:[],...Array['isArray'](a['and'])?a['and']:[],...Array['isArray'](a['or'])?a['or']:[],a['node'],a['left'],a['right']];return b['some'](d=>d&&typeof d==='object'&&treeUsesRewardRecords(d));}async function assertRewardReplayStamp(a,b,c=[]){if(!Array['isArray'](a))return;for(const d of a){if(!d||typeof d!=='object'||d['store_from_id']!=null)continue;let e;try{const f=await loadGuardJsonFromChain(String(d['guard']),b);if(f)e=treeUsesRewardRecords((f['json']??{})['root']);}catch{e=undefined;}if(e===!![])throw new Error('reward.guard_add\x20REJECTED:\x20guard\x20\x27'+String(d['guard'])+'\x27\x20consumes\x20claim\x20records\x20'+'(query_reward_record_exists)\x20but\x20the\x20entry\x20omits\x20store_from_id\x20—\x20without\x20the\x20stamp\x20the\x20record\x20'+'never\x20matches\x20and\x20the\x20replay\x20gate\x20is\x20silently\x20DEAD\x20(the\x20same\x20claimant\x20can\x20drain\x20the\x20pool\x20'+'repeatedly;\x20upw\x20F-13\x20paid\x20out\x203x\x20before\x20this\x20gate\x20existed).\x20Re-submit\x20with\x20store_from_id\x20=\x20the\x20'+'table\x20identifier\x20whose\x20submitted\x20value\x20identifies\x20the\x20claim\x20(slot\x200\x20—\x20the\x20submitted\x20Order/'+'claimant\x20address\x20—\x20is\x20the\x20conventional\x20once-per-order\x20stamp).');c['push']('REPLAY-OPEN\x20REWARD\x20GUARD:\x20guard_add\x20for\x20\x27'+String(d['guard'])+'\x27\x20omits\x20store_from_id\x20—\x20equality-based\x20per-order\x20dedup\x20can\x20never\x20'+'match\x20(records\x20without\x20the\x20pinned\x20value\x20match\x20NO\x20store_from_id\x20predicate;\x20slot-less\x20guards\x20can\x20only\x20dedup\x20'+'lifetime-once\x20via\x20record\x20count/exists\x20with\x20an\x20empty\x20where).\x20If\x20per-order\x20protection\x20is\x20intended,\x20re-add\x20'+'with\x20store_from_id\x20pinned\x20(slot\x200\x20=\x20submitted\x20Order\x20address\x20is\x20the\x20conventional\x20per-order\x20stamp;\x20re-adding\x20'+'the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20existing\x20pools\x20can\x20be\x20repaired\x20without\x20a\x20new\x20guard);\x20'+'if\x20unlimited\x20repeat\x20claims\x20are\x20intended,\x20ignore\x20this\x20warning.');}}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 warnMerchantCompensationFundLow(a,b,c){const d=a?.['object'];if(typeof d!=='string'||!d['trim']())return;let e;try{const q=await query_objects({'objects':[d],'network':b,'no_cache':!![]});e=q?.['objects']?.[0x0];}catch{return;}if(!e||e['type']!=='Service')return;const f=r=>{if(typeof r==='number'&&Number['isFinite'](r)&&r>=0x0)return BigInt(Math['trunc'](r));if(typeof r==='string'&&/^\d+$/['test'](r['trim']()))return BigInt(r['trim']());return undefined;},g=(String(e['type']??e['type_raw']??'')['match'](/<(.+)>$/)??[])[0x1]??'',h=Array['isArray'](e['sales'])?e['sales']:[],i=h['map'](r=>f(r?.['price']))['filter'](r=>r!==undefined),j=f(e['compensation_fund']);if(j===undefined||i['length']===0x0)return;const k=i['reduce']((r,s)=>s>r?s:r);let l=j;const m=a?.['compensation_fund_add']?.['balance'];if(m!=null){const r=f(m);if(r!==undefined)l=j+r;else{if(!g)return;try{const s=await parseAmount(String(m),g,b);l=j+s['smallestUnit'];}catch{return;}}}const n=a?.['compensation_fund_withdraw']!=null;if(n)l=0x0n;const o=0x3n;if(l>=o*k)return;const p=async t=>{try{return g?(await formatChainValue(t,g,b))['display']:t['toString']();}catch{return t['toString']();}};c['push']('MERCHANT\x20FUND\x20REMINDER\x20(operational):\x20Service\x20\x27'+d+'\x27\x20compensation_fund\x20holds\x20'+await p(l)+'\x20'+('(raw\x20'+l+')\x20—\x20below\x20the\x20award\x20ceiling\x20of\x20'+o+'x\x20the\x20highest\x20SKU\x20price\x20')+('('+await p(k)+').\x20A\x20valid\x20arbitration\x20award\x20above\x20the\x20current\x20balance\x20aborts\x20the\x20buyer\x27s\x20payout\x20')+'with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH);\x20the\x20pool\x20is\x20NEVER\x20auto-refilled.\x20Top\x20up\x20via\x20'+'service.compensation_fund_add\x20(3x\x20the\x20highest\x20price\x20covers\x20any\x20single\x20ruling;\x20more\x20only\x20buys\x20headroom\x20'+'for\x20several\x20concurrent\x20claims).'+(n?'\x20NOTE:\x20this\x20call\x20withdraws\x20the\x20fund\x20—\x20buyers\x20lose\x20payout\x20protection\x20entirely.':''));}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[progress.node==<X>]\x20per\x20refundable\x20node\x20(per-node\x20tracks\x20are\x20the\x20'+'default\x20form\x20—\x20a\x20node\x20set\x20is\x20also\x20expressible\x20via\x20the\x20relies\x20two-level\x20tree:\x20'+'OR-subguard\x20per\x20node\x20under\x20an\x20AND\x20parent).\x20A\x20signer==order.owner\x20leg\x20is\x20OPTIONAL\x20here,\x20'+'not\x20a\x20safety\x20requirement:\x20with\x20a\x20GuardIdentifier\x20recipient\x20the\x20payee\x20is\x20already\x20hard-bound\x20to\x20the\x20'+'order\x20(funds\x20land\x20in\x20the\x20order\x20no\x20matter\x20who\x20triggers),\x20so\x20the\x20signer\x20leg\x20only\x20restricts\x20who\x20may\x20'+'fire\x20the\x20trigger\x20—\x20drop\x20it\x20when\x20keepers\x20or\x20the\x20service\x20should\x20be\x20able\x20to\x20trigger\x20refunds.\x20There\x20is\x20'+'NO\x20on-chain\x20seal\x20between\x20the\x20refund\x20track\x20and\x20a\x20compensation\x20ruling\x20—\x20a\x20claim\x20settling\x20does\x20NOT\x20close\x20'+'this\x20track;\x20enforce\x20any\x20refund-vs-compensation\x20exclusion\x20by\x20gating\x20the\x20guard\x20(e.g.\x20on\x20arb/settlement\x20'+'state)\x20at\x20configuration\x20time.\x20Declare\x20the\x20identifier-254\x20once\x20slot\x20on\x20the\x20'+'refund\x20guard\x20(chain\x20derives\x20the\x20key\x20from\x20payment_info.for_object\x20—\x20unwidenable\x20per-order\x20replay\x20'+'protection;\x20reserve\x20identifier\x20255\x20with\x20a\x20period\x20key\x20for\x20rails\x20that\x20legitimately\x20repeat\x20per\x20period)\x20'+'so\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;}async function deriveTotalPayIfOmitted(a,b){const c=a?.['order_new']?.['buy'];if(!c||c['total_pay']!=null)return undefined;if(c['discount']!=null)throw new Error('buy.total_pay\x20is\x20REQUIRED\x20when\x20a\x20discount\x20is\x20applied\x20—\x20the\x20discounted\x20final\x20total\x20depends\x20on\x20the\x20'+'coupon\x27s\x20live\x20value\x20and\x20must\x20be\x20stated\x20explicitly.\x20Run\x20query_toolkit\x20query_type=\x27service_quote\x27\x20'+'and\x20pass\x20total_pay.balance\x20=\x20the\x20quoted\x20final_total.');const d=Array['isArray'](c['items'])?c['items']:[];if(d['length']===0x0)throw new Error('buy.total_pay\x20is\x20omitted\x20and\x20the\x20cart\x20has\x20NO\x20items\x20—\x20there\x20is\x20nothing\x20to\x20derive\x20the\x20payment\x20from');const e=a?.['object'];if(typeof e!=='string'||e['length']===0x0)throw new Error('buy.total_pay\x20is\x20omitted\x20but\x20the\x20Service\x20reference\x20(data.object)\x20is\x20missing\x20—\x20cannot\x20derive\x20the\x20payment');const f=e['startsWith']('0x')?e:await LocalMark['Instance']()['get_address'](e)??undefined;if(!f)throw new Error('Service\x20\x27'+e+'\x27\x20could\x20not\x20be\x20resolved\x20—\x20cannot\x20derive\x20total_pay');const g=await query_serviceContext({'service':f,'network':b}),h=g?.['service'];if(!h)throw new Error('Service\x20\x27'+e+'\x27\x20not\x20found\x20—\x20cannot\x20derive\x20total_pay');const i=Array['isArray'](h['sales'])?h['sales']:[];let j=0x0n;const k=[];for(const l of d){const m=l?.['name'],n=i['find'](q=>q?.['name']===m);if(!n)throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20matches\x20NO\x20sale\x20on\x20service\x20\x27'+e+'\x27\x20'+('(available:\x20'+(i['map'](q=>q?.['name'])['filter'](Boolean)['join'](',\x20')||'<none>')+')'));if(n?.['suspension']===!![])throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20is\x20suspended\x20on\x20service\x20\x27'+e+'\x27');const o=BigInt(String(n?.['price']?.['balance']??n?.['price']??'0')),p=BigInt(String(l?.['quantity']??'1'));if(p<=0x0n)throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20has\x20non-positive\x20quantity\x20'+p);j+=o*p,k['push'](m+'\x20x'+p+'\x20@\x20'+o);}if(j<=0x0n)throw new Error('derived\x20total_pay\x20would\x20be\x200\x20(all\x20matched\x20sales\x20priced\x200)\x20—\x20pass\x20total_pay\x20explicitly');return c['total_pay']={'balance':j['toString']()},'total_pay\x20auto-derived\x20=\x20'+j['toString']()+'\x20(smallest\x20unit;\x20Σ\x20price×quantity:\x20'+k['join']('\x20+\x20')+';\x20'+'no\x20discount).\x20Pass\x20total_pay\x20explicitly\x20to\x20pin\x20the\x20amount\x20—\x20REQUIRED\x20when\x20using\x20a\x20discount.';}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 h(k,l,m,p,r){const t=new Set(['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','demand','order','proof']);if(!t['has'](m))return;if(!p||typeof p!=='object'||'error'in p)return;if(!p['digest'])return;if(r!==undefined)try{const u=collectOnChainNamedObjectRequests(r);if(u['length']>0x0){const x=await registerLocalMarksForCreatedObjects(u,ResponseData(p),m,{'getAddress':y=>LocalMark['Instance']()['get_address'](y),'put':y=>LocalMark['Instance']()['put'](y)});x['failed']['length']>0x0&&console['warn']('[nameRegistration]\x20'+x['failed']['length']+'\x20name(s)\x20could\x20not\x20be\x20registered\x20locally:\x20'+x['failed']['map'](y=>y['name']+'\x20('+y['error']+')')['join'](',\x20'));}}catch{}if(!k)return;try{const y=ResponseData(p),z=y['filter'](A=>A['change']==='created'&&A['object']);if(k&&z['length']>0x0){const A=z['filter'](B=>typeof B['type_raw']==='string'&&B['type_raw']['includes']('::'))['map'](B=>({'type':B['type_raw']['split']('::')['pop'](),'object':B['object']}));if(A['length']>0x0){const B=await goalEngine['registerActObjects'](k,A,l??'default');B>0x0&&console['warn']('[autoRegisterResults]\x20'+B+'\x20created\x20object(s)\x20registered\x20to\x20goal\x20'+k+'\x20(ACT\x20station)');}}}catch{}}try{if(typeof a==='object'&&a!==null&&'description'in a&&!('operation_type'in a)){const B=a['description'],C=typeof B==='string'&&(B['includes']('operation_type')||B['includes']('data'));if(C)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 k=getEnvConfig(b['env']),l=extractObjectOnlyRef(b);if(l!==undefined)return await queryObjectOnlyResult(b['operation_type'],l,k);try{const D=b['data']?.['object'];if(D&&typeof D==='object'&&D['replaceExistName']===!![]&&typeof D['name']==='string'&&D['name']['trim']()['length']>0x0){const E=await LocalMark['Instance']()['get'](D['name']['trim']());E?.['address']&&c['push']('NAME\x20REBIND:\x20local\x20name\x20\x27'+D['name']+'\x27\x20is\x20currently\x20bound\x20to\x20'+E['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'+D['name']+'\x27\x20will\x20point\x20to\x20the\x20NEW\x20object.\x20')+'If\x20this\x20is\x20unintentional,\x20drop\x20replaceExistName\x20or\x20choose\x20another\x20name.');}}catch{}if(!k['referrer']){const F=readStoredReferrer();if(F)k['referrer']=F;}if(k['network']==null)try{const G=await Config['Instance']()['network_get']();c['push']('env.network\x20not\x20set\x20—\x20routing\x20via\x20session\x20default\x20\x27'+String(G)+'\x27.\x20Pass\x20env.network\x20'+'explicitly\x20on\x20every\x20call\x20for\x20deterministic\x20routing\x20(the\x20response\x20network_source\x20echo\x20confirms\x20'+'which\x20network\x20served\x20the\x20call).');}catch{}const m=k['client_schema_version'],n=k['schema_strict_mode'],p=m?checkClientSchemaCompatibility(m,{'mode':n?'strict':'warn'}):undefined,r=(H,I,J)=>({'operation_type':b['operation_type'],'data':H,'expected':declareDispatchExpectation(b['operation_type'],H),'operation_id':stableOperationId(b['operation_type'],H),'pre_warnings':c['length']?c:undefined,'schema_check':p,'response_level':x,...I?{'evaluation':I}:{},...J?{'passport_test':J}:{}}),t=k['plan_approval'],u=k['network'],x=k['response_level'];if(k['confirmed']!==!![]){const H=await maybeGuardSubmissionConfirmation(b,k);if(H)return H;}delete k['confirmed'],delete k['user_intent_phrases'],delete k['client_schema_version'],delete k['response_level'],delete k['schema_strict_mode'],await resolveNamedObjectsInPlace(b['data']);const y=getSkillsHintForOnchain(b['operation_type'],b['data']);y&&c['push'](y);const z=getProjectSkillsHint();z&&c['push'](z);await assertReferencesResolve(b,k);switch(b['operation_type']){case'service':{const I=b['data'],J=await detectServiceGuardCircularDependency(I);if(J)return J;const K=checkSalesWipNetworkDeployment(I,k,c);if(K)return K;const L=describeBenchmarkIssueRisk(I?.['discount']?.['benchmark']);L&&c['push'](L);const M=await prepareFundOperation(I,'service',k?.['network']);if(M['blockingErrors']['length']>0x0)return buildFundBlockResult(M,'service');c['push'](...M['warnings']);if(M['confirmation']){c['push'](M['confirmation']['message']);const a2=a467b(M['confirmation']);if(a2)c['push'](a2);}await warnMerchantCompensationFundLow(I,k?.['network'],c);const N=I?.['order_allocators'];if(N&&typeof N==='object'){const a3=Array['isArray'](N['allocators'])?N['allocators']:[];for(let a4=0x0;a4<a3['length'];a4++){const a5=a3[a4],a6=Array['isArray'](a5?.['sharing'])?a5['sharing']:[];if(a6['length']<=0x1)continue;const a7=new Map();for(let a8=0x0;a8<a6['length'];a8++){const a9=a6[a8]?.['who'];let aa=typeof a9==='string'?a9:'';if(!aa){const ac=classifyRecipient(a9);if(ac?.['kind']==='entity')aa='Entity:'+ac['address'];else{if(ac?.['kind']==='signer')aa='Signer';else{if(ac?.['kind']==='submission')aa='Guard:'+ac['identifier'];else{if(a9)aa=JSON['stringify'](a9);}}}}if(!aa)continue;const ab=a7['get'](aa)??0x0;a7['set'](aa,ab+0x1);}for(const [ad,ae]of a7){ae>0x1&&c['push']('DUPLICATE\x20SHARING\x20ENTITY:\x20Allocator['+a4+']\x20has\x20entity\x20\x22'+ad+'\x22\x20appearing\x20'+ae+'\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'+ae*0x64+'%\x20to\x20the\x20same\x20entity.\x20')+'If\x20intentional,\x20ignore\x20this\x20warning.');}}}if(N){const af=checkOrderAllocatorsPrePublish(N,c);if(af)return af;const ag=await checkEntityRecipientGate(N,'service.order_allocators',c);if(ag)return ag;warnAmountEscrowDeadlock(N,I?.['sales'],c);}const O=b['data']?.['order_new']?.['buy']?.['items'];if(Array['isArray'](O))for(const ah of O){ah&&typeof ah==='object'&&'quantity'in ah&&!('stock'in ah)&&(ah['stock']=ah['quantity'],delete ah['quantity']);}const P=b['data']?.['order_new']?.['order_required_info'],Q=typeof P==='string'?priorProofConsumptions(P):[];Q['length']>0x0&&c['push']('PROOF\x20REUSE\x20(informational):\x20the\x20WTS\x20Proof\x20\x27'+P+'\x27\x20already\x20anchored\x20'+('order_required_info\x20'+Q['length']+'\x20time(s)\x20earlier\x20this\x20session')+(Q[0x0]?.['service']?'\x20(service:\x20'+Q[0x0]['service']+')':'')+'.\x20Reuse\x20is\x20acceptable\x20and\x20privacy-preserving\x20—\x20a\x20Proof\x20records\x20the\x20contact\x20channel,\x20'+'not\x20an\x20order;\x20do\x20NOT\x20mint\x20a\x20per-order\x20proof\x20(that\x20would\x20publicly\x20link\x20orders).\x20'+'Acceptance\x20of\x20the\x20delivered\x20info\x20is\x20the\x20merchant\x27s\x20confirming\x20forward\x20on\x20this\x20order.');const R=await checkDiscountThresholdBeforeBuy(b['data']??I,k?.['network'],{'resolveAddress':async ai=>LocalMark['Instance']()['get_address'](ai)['catch'](()=>undefined)??undefined,'fetchObjects':async(ai,aj)=>{const ak=await query_objects({'objects':ai,'network':aj});return ak?.['objects']??[];}});if(R)return{'content':[{'type':'text','text':R}],'structuredContent':{'result':{'type':'error','error':R,'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':R}};let S=[];if(I?.['publish']===!![]){S=await collectArbitrationRefsForPublish(I,k);const ai=await checkArbitrationsBeforePublish(S,k,c);if(ai)return ai;if(N){const aj=await checkRefundRecipientSatisfiability(N,k,c);if(aj)return aj;}}warnPermissionAutoCreation(b['data'],'Service',c);const T=new CallService(b['data']);let U;try{U=b['submission']?await T['call_with_submission'](k,await transformSubmission(b['submission'])):await T['call'](k);}catch(ak){const al=ak['message']??String(ak);if((I?.['order_new']?.['buy']?.['items']?.['length']??0x0)>0x0&&/coin not enough|E_COIN_NOT_ENOUGH|abort.*\b20\b/i['test'](al))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'+al));if(/not found|GetObjectExisted|resolve|LocalMark|failed to resolve/i['test'](al)){const am=typeof I?.['object']==='object'&&I?.['object']!==null?I['object']['permission']:undefined;throw new Error('DEPENDENCY\x20RESOLUTION\x20FAILED:\x20One\x20or\x20more\x20referenced\x20objects\x20could\x20not\x20be\x20resolved.\x0a'+('Original\x20error:\x20'+al+'\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='+(I?.['machine']??'<none>')+',\x20')+('buy_guard='+(I?.['buy_guard']??'<none>')+',\x20')+('permission='+(am??'<inline/new>')+',\x20')+('arbitrations='+describeArbitrationPayload(I?.['arbitrations'])));}throw ak;}if(I?.['discount']!=null&&U?.['digest'])try{const an=ResponseData(U)['filter'](ao=>ao?.['change']==='created'&&typeof ao?.['type_raw']==='string'&&ao['type_raw']['includes']('::service::Discount')&&typeof ao?.['object']==='string');if(an['length']>0x0){const ao=I['discount'],ap=ao?.['time_ms_end']!=null?new Date(Number(ao['time_ms_end']))['toISOString']():'n/a';if(an['length']===0x1&&typeof ao?.['name']==='string'&&ao['name']['length']>0x0){const aq=an[0x0]['object'],ar=await LocalMark['Instance']()['get_address'](ao['name']);!ar||ar['toLowerCase']()===aq['toLowerCase']()?(await LocalMark['Instance']()['put']([{'name':{'value':ao['name']},'address':aq}]),c['push']('DISCOUNT\x20ISSUED:\x20coupon\x20\x22'+ao['name']+'\x22\x20is\x20live\x20at\x20'+aq+'\x20(bound\x20to\x20this\x20service,\x20expires\x20'+ap+',\x20single-use\x20—\x20burned\x20at\x20buy).\x20Reference\x20it\x20as\x20order_new.buy.discount:\x20\x22'+ao['name']+'\x22\x20or\x20by\x20the\x20object\x20ID.')):c['push']('DISCOUNT\x20ISSUED:\x20coupon\x20\x22'+ao['name']+'\x22\x20is\x20live\x20at\x20'+aq+'\x20(expires\x20'+ap+',\x20single-use).\x20LocalMark\x20name\x20\x22'+ao['name']+'\x22\x20already\x20points\x20elsewhere\x20('+ar+')\x20—\x20reference\x20the\x20coupon\x20by\x20its\x20object\x20ID\x20in\x20order_new.buy.discount.');}else c['push']('DISCOUNT\x20ISSUED:\x20'+an['length']+'\x20coupon(s)\x20live\x20(expires\x20'+ap+',\x20single-use\x20—\x20burned\x20at\x20buy):\x20'+(''+an['slice'](0x0,0x5)['map'](as=>as['object'])['join'](',\x20')+(an['length']>0x5?',\x20...':'')+'.\x20')+'Each\x20recipient\x20holds\x20their\x20own\x20copy;\x20reference\x20one\x20by\x20its\x20object\x20ID\x20in\x20order_new.buy.discount.');}}catch(as){c['push']('DISCOUNT\x20ISSUED:\x20the\x20transaction\x20succeeded\x20but\x20coupon\x20disclosure\x20failed:\x20'+(as?.['message']??String(as)));}I?.['order_new']&&typeof P==='string'&&recordProofConsumption(P,typeof I?.['object']==='string'?I['object']:undefined);const V=I?.['object']!=null&&typeof I['object']==='object',W=I?.['compensation_fund_add']!=null;V&&!W&&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(V&&W&&I?.['compensation_fund_add']?.['balance']!=null){const at=I['compensation_fund_add']['balance'],au=Array['isArray'](I?.['sales'])?I['sales']:Array['isArray'](I?.['sales']?.['sales'])?I['sales']['sales']:[],av=aI=>{if(typeof aI==='number'&&Number['isFinite'](aI))return aI;if(typeof aI==='string'&&/^\d+$/['test'](aI['trim']()))return Number(aI['trim']());return undefined;},aw=aI=>typeof aI==='string'&&/^\d*\.?\d+\s*[A-Za-z]{2,10}$/['test'](aI['trim']())?Number['parseFloat'](aI['trim']()):undefined,ax=au['map'](aI=>aI?.['price'])['filter'](aI=>aI!=null),ay=av(at),az=aw(at),aA=ax['map'](av),aB=ax['map'](aw),aC=ax['length']>0x0&&aA['every'](aI=>aI!==undefined)&&ay!==undefined,aD=ax['length']>0x0&&aB['every'](aI=>aI!==undefined)&&az!==undefined,aE=aC?ay:aD?az:undefined,aF=aC?aA:aD?aB:[],aG=aF['length']>0x0?Math['max'](...aF):undefined,aH=0x3;aE!==undefined&&aG!==undefined&&aG>0x0&&aE<aH*aG&&c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20deposit\x20('+aE+')\x20is\x20less\x20than\x20'+(aH+'x\x20the\x20highest\x20SKU\x20price\x20('+aG+').\x20The\x20chain\x20caps\x20any\x20award\x20at\x20')+(aH+'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'+aH+'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 X=I?.['publish']===!![];if(X){const aI=new Set(['audit_compensation_fund','audit_arbitrations']),aJ=auditService(I)['filter'](aK=>!aI['has'](aK['rule_id']));for(const aK of aJ){const aL=aK['severity']==='error'?'[AUDIT\x20ERROR]\x20':aK['severity']==='warning'?'[AUDIT]\x20':'[INFO]\x20';c['push'](aL+aK['message']+(aK['recommendation']?'\x20—\x20'+aK['recommendation']:''));}}let Y=X&&S['length']>0x0;if(!X&&!Y&&W){const aM=await collectArbitrationRefsForPublish(I,k);Y=aM['length']>0x0;}if(X&&!Y&&W)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).');X&&!Y&&!W&&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.');!X&&W&&!Y&&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 Z=await buildGuardSubmissionPrompt(U,'service',{'network':k?.['network'],'signer':k?.['account'],'service_address':typeof I?.['object']==='string'?I['object']:undefined});if(Z)c['push'](Z);let a0;if(I?.['order_new']&&typeof I?.['object']==='string'&&a467c('customer_intelligence'))try{a0=await evaluateServiceFromGraph(I['object'],{'context_network':k?.['network']});}catch{}const a1=handleCallResult(U,r(I,a0));return h(t,u,b['operation_type'],U,b['data'])['catch'](()=>{}),a1;}case'machine':{if(b['data']['node']&&typeof b['data']['node']==='object'&&'json_or_markdown_file'in b['data']['node']){const aU=b['data']['node']['json_or_markdown_file'];let aV;try{const aX=resolve(aU);aV=readFileSync(aX,'utf-8');}catch(aY){throw new Error('Failed\x20to\x20read\x20file\x20\x27'+aU+'\x27:\x20'+aY['message']);}const aW=parseMachineNodesFromText(aV);if(!aW['success']){const aZ=a467a(aW['errors']);throw new Error('Machine\x20node\x20validation\x20failed\x20for\x20file\x20\x27'+aU+'\x27:\x0a\x0a'+aZ);}if(!aW['data'])throw new Error('No\x20nodes\x20found\x20in\x20file\x20\x27'+aU+'\x27');c['push']('json_or_markdown_file\x20mode:\x20file\x20\x27'+aU+'\x27\x20parsed\x20to\x20'+aW['data']['length']+'\x20node(s)\x20and\x20'+'mapped\x20to\x20op:\x27add\x27\x20+\x20bReplace:true\x20(complete\x20in-place\x20replacement).\x20op:\x27set\x27\x20is\x20not\x20used\x20because\x20'+'it\x20is\x20rejected\x20on\x20an\x20existing\x20Machine;\x20on\x20a\x20fresh\x20Machine\x20the\x20two\x20are\x20equivalent.'),b['data']['node']={'op':'add','nodes':aW['data'],'bReplace':!![]};if(b['data']?.['publish']===!![]){const b0=machinePublishGateViolation(aW['data']);if(b0)throw new Error('Machine\x20publish\x20pre-check\x20failed\x20for\x20file\x20\x27'+aU+'\x27:\x0a\x0a'+b0);}}const aN=b['data'],aO=await checkMachinePermissionBeforePublish(aN,k);aO&&c['push'](aO);const aP=aN?.['node']?.['nodes']??aN?.['node'];try{const b1=typeof aN?.['object']==='object'&&aN?.['object']!==null?aN['object']?.['name']:aN?.['object'];recordMachineNodeNames(b1,aP);}catch{}if(Array['isArray'](aP)){const b2=/^(dispute|disputed|arbitration|arb_|arb\.|resolve_dispute|start_arbitration|open_dispute)/i;for(const b3 of aP){const b4=typeof b3==='object'?b3?.['name']:'';typeof b4==='string'&&b2['test'](b4)&&c['push']('ARBITRATION\x20SEPARATION\x20WARNING:\x20Machine\x20node\x20\x22'+b4+'\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'](aP)){const b5=aP['map'](b6=>b6&&typeof b6==='object'&&b6['role']?b6['name']+'='+b6['role']:null)['filter'](Boolean);b5['length']>0x0&&c['push']('NODE\x20ROLES\x20(metadata):\x20'+b5['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 b6=Array['isArray'](aP)?aP:undefined,b7;if(!b6&&aN?.['publish']===!![]){const b8=await fetchChainAnchorContext(aN?.['object'],k);b8&&(b6=b8['nodes'],b7=b8['profiles']);}if(!aP&&aN?.['publish']===!![]&&b6){const b9=machinePublishGateViolation(b6);b9&&c['push']('PUBLISH\x20GATE\x20(on-chain\x20publish\x20check):\x20'+b9);}if(b6){const ba=checkGuardAnchorReachability(b6,b7),bb=formatGuardAnchorWarnings(ba);if(bb)c['push'](bb);}}catch{}warnPermissionAutoCreation(b['data'],'Machine',c);const aQ=new CallMachine(b['data']),aR=b['submission']?await aQ['call_with_submission'](k,await transformSubmission(b['submission'])):await aQ['call'](k),aS=await buildGuardSubmissionPrompt(aR,'machine',{'network':k?.['network'],'signer':k?.['account'],'machine_address':b['data']?.['object']});if(aS)c['push'](aS);const aT=handleCallResult(aR,r(b['data']));return h(t,u,b['operation_type'],aR,b['data'])['catch'](()=>{}),aT;}case'progress':{if(b['data']?.['operate']){c['push']('Progress\x20routing\x20fact:\x20on\x20an\x20order-bound\x20Progress\x20this\x20operate\x20call\x20'+'auto-routes\x20to\x20the\x20order-bound\x20path,\x20so\x20namedOperator=\x22\x22\x20(order\x20payer)\x20'+'forwards\x20execute\x20here\x20directly\x20—\x20switching\x20to\x20order.progress\x20is\x20NOT\x20required.\x20'+'If\x20this\x20Progress\x20is\x20standalone\x20(no\x20task\x20binding),\x20namedOperator=\x22\x22\x20forwards\x20'+'cannot\x20be\x20advanced\x20by\x20anyone\x20(no\x20order\x20payer\x20exists);\x20use\x20a\x20non-empty\x20'+'namedOperator\x20or\x20a\x20permissionIndex\x20forward\x20instead.');const bf=String(b['data']?.['operate']?.['operation']?.['forward']??'');/review/i['test'](bf)&&!b['data']?.['operate']?.['message']&&c['push']('Review-forward\x20hint:\x20the\x20real\x20exec\x20path\x20de-facto\x20requires\x20operate.message\x20for\x20Review-type\x20'+'forwards\x20(schema\x20marks\x20it\x20optional;\x20a\x20no-message\x20Review\x20failed\x20repeatedly\x20on\x20mainnet\x20until\x20the\x20'+'message\x20was\x20added).\x20Include\x20message:\x20\x27<review\x20text>\x27\x20in\x20this\x20call');const bg=bf+'\x20'+String(b['data']?.['operate']?.['operation']?.['next_node_name']??'');(/return.*(recv|receive|inspect)/i['test'](bg)||/^returned$/i['test'](String(b['data']?.['operate']?.['operation']?.['next_node_name']??'')))&&c['push']('NO-RESTOCK\x20reminder:\x20on-chain\x20stock\x20is\x20never\x20auto-restocked\x20—\x20a\x20return\x20only\x20moves\x20the\x20'+'Progress,\x20the\x20inventory\x20listing\x20is\x20not\x20refilled\x20automatically.\x20If\x20the\x20returned\x20goods\x20are\x20'+'resellable,\x20restock\x20the\x20sellable\x20item\x20via\x20the\x20sales\x20listing\x20before\x20relisting.');}const bc=new CallProgress(b['data']),bd=b['submission']?await bc['call_with_submission'](k,await transformSubmission(b['submission'])):await bc['call'](k);if(!b['submission']&&bd&&typeof bd==='object'&&'submission'in bd){const bh=bd['submission'];if(Array['isArray'](bh)&&bh['length']>0x0){const bi=bh[0x0]?.['guard'];if(bi){const bj={'operation':'progress_next','network':k?.['network'],'signer':k?.['account'],'progress_address':b['data']?.['object'],'order_address':b['data']?.['task']},bk=await generateGuardSubmissionPrompt(bi,bj);bk&&c['push'](formatSubmissionPrompt(bk));}}}const be=handleCallResult(bd,r(b['data']));if(bd&&typeof bd==='object'&&'digest'in bd&&bd?.['effects']?.['status']?.['status']==='success'&&typeof b['data']?.['object']==='string'){const bl=b['data']?.['operate'],bm=bl?.['operation'],bn=await enrichWorkflowGuidance({'progressRef':b['data']['object'],'network':k?.['network'],'accountName':k?.['account'],'noCache':!![],'txResult':bd,'dryRun':k?.['dry_run']===!![],'operate':bm?.['forward']&&bm?.['next_node_name']?{'forward':bm['forward'],'next_node_name':bm['next_node_name'],'op':bl?.['op']}:undefined});mergeGuidanceIntoOutput(be,bn);}if(bd&&typeof bd==='object'&&'digest'in bd&&bd?.['effects']?.['status']?.['status']==='success'&&b['data']?.['review']){const bo=await runReviewChain({'env':k,'submission':b['submission'],'review':b['data']['review'],'orderRef':typeof b['data']['task']==='string'?b['data']['task']:undefined});if(bo['length']>0x0)mergeReviewStepsIntoOutput(be,bo);}return h(t,u,b['operation_type'],bd,b['data'])['catch'](()=>{}),be;}case'repository':{const bp=new CallRepository(b['data']),bq=b['submission']?await bp['call_with_submission'](k,await transformSubmission(b['submission'])):await bp['call'](k),br=await buildGuardSubmissionPrompt(bq,'repository',{'network':k?.['network'],'signer':k?.['account'],'extra':{'repository':b['data']?.['object']}});if(br)c['push'](br);const bs=handleCallResult(bq,r(b['data']));return h(t,u,b['operation_type'],bq,b['data'])['catch'](()=>{}),bs;}case'arbitration':{const bt=await prepareFundOperation(b['data'],'arbitration',k?.['network']);if(bt['blockingErrors']['length']>0x0)return buildFundBlockResult(bt,'arbitration');c['push'](...bt['warnings']);if(bt['confirmation']){c['push'](bt['confirmation']['message']);const bC=a467b(bt['confirmation']);if(bC)c['push'](bC);}const bu=new CallArbitration(b['data']),bv=b['submission']?await bu['call_with_submission'](k,await transformSubmission(b['submission'])):await bu['call'](k),bw=await buildGuardSubmissionPrompt(bv,'arbitration',{'network':k?.['network'],'signer':k?.['account'],'extra':{'arbitration':b['data']?.['object']}});if(bw)c['push'](bw);const bx=b['data']?.['object'],by=bx!==null&&typeof bx==='object';by&&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).'));if(by)try{const bD=b['data'],bE=Array['isArray'](bD?.['voting_guard']?.['guards'])?bD['voting_guard']['guards']:[],bF=[];for(const bI of bE){const bJ=bI?.['vote_weight']?.['FixedValue'];if(typeof bJ==='number'&&Number['isFinite'](bJ)&&bJ>=0x0)bF['push'](bJ);}const bG=bF['reduce']((bK,bL)=>bK+bL,0x0),bH=checkArbitrationVenueOrder({'unpaused_at_creation':bD?.['pause']===![]?!![]:undefined,'voting_guard_count':bE['length'],'max_weight_share':bE['length']>0x0&&bF['length']===bE['length']&&bG>0x0?Math['max'](...bF)/bG:undefined,'fee':bD?.['fee'],'has_description':typeof bD?.['description']==='string'&&bD['description']['trim']()!==''?!![]:bD?.['description']===undefined?![]:undefined})['filter'](bK=>bK['order_id']!=='V1-activation');for(const bK of bH)c['push'](bK['message']);c['push'](venueOperatingDoctrine());}catch{}const bz=b['data'],bA=bx!==null&&typeof bx==='string'&&bz?.['pause']===![];if(bA){const bL=bu['content']?.['fee'],bM=bz?.['fee']??bL,bN=bM===0x0||bM==='0'||bM==='0.0'||bM==='0WOW';bM!=null&&bN&&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 bB=handleCallResult(bv,r(b['data']));try{const bO=!!bv&&typeof bv==='object'&&bv?.['effects']?.['status']?.['status']==='success';if(bO){const bP=b['data'],bQ=bP?.['vote']?.['arb']??bP?.['confirm']?.['arb']??bP?.['arbitration']?.['arb']??bP?.['reset']?.['arb']??bP?.['feedback']?.['arb']??bP?.['arb_withdraw']?.['arb']??bP?.['voting_deadline_change']?.['arb'],bR=bP?.['dispute']?.['order'];if(bQ||bR){const bS=await buildOrderFundFacts({'arbRef':bQ,'orderRef':bR,'network':k?.['network']});bS&&(bB['structuredContent']['order_fund_facts']=bS['structured'],bB['content']['push']({'type':'text','text':bS['text']}));}}}catch{}return h(t,u,b['operation_type'],bv,b['data'])['catch'](()=>{}),bB;}case'contact':{warnPermissionAutoCreation(b['data'],'Contact',c);const bT=new CallContact(b['data']),bU=b['submission']?await bT['call_with_submission'](k,await transformSubmission(b['submission'])):await bT['call'](k),bV=await buildGuardSubmissionPrompt(bU,'contact',{'network':k?.['network'],'signer':k?.['account']});if(bV)c['push'](bV);const bW=handleCallResult(bU,r(b['data']));return h(t,u,b['operation_type'],bU,b['data'])['catch'](()=>{}),bW;}case'treasury':{const bX=await prepareFundOperation(b['data'],'treasury',k?.['network']);if(bX['blockingErrors']['length']>0x0)return buildFundBlockResult(bX,'treasury');c['push'](...bX['warnings']);if(bX['confirmation']){c['push'](bX['confirmation']['message']);const c2=a467b(bX['confirmation']);if(c2)c['push'](c2);}const bY=new CallTreasury(b['data']),bZ=b['submission']?await bY['call_with_submission'](k,await transformSubmission(b['submission'])):await bY['call'](k),c0=await buildGuardSubmissionPrompt(bZ,'treasury',{'network':k?.['network'],'signer':k?.['account'],'extra':{'treasury':b['data']?.['object']}});if(c0)c['push'](c0);const c1=handleCallResult(bZ,r(b['data']));return h(t,u,b['operation_type'],bZ,b['data'])['catch'](()=>{}),c1;}case'reward':{const c3=await prepareFundOperation(b['data'],'reward',k?.['network']);if(c3['blockingErrors']['length']>0x0)return buildFundBlockResult(c3,'reward');c['push'](...c3['warnings']);if(c3['confirmation']){c['push'](c3['confirmation']['message']);const c9=a467b(c3['confirmation']);if(c9)c['push'](c9);}await assertRewardReplayStamp(b['data']?.['guard_add'],k?.['network'],c);const c4=transformRewardInput(b['data']),c5=new CallReward(c4),c6=b['submission']?await c5['call_with_submission'](k,await transformSubmission(b['submission'])):await c5['call'](k),c7=await buildGuardSubmissionPrompt(c6,'reward',{'network':k?.['network'],'signer':k?.['account'],'extra':{'reward':b['data']?.['object']}});if(c7)c['push'](c7);const c8=handleCallResult(c6,r(b['data']));return h(t,u,b['operation_type'],c6,b['data'])['catch'](()=>{}),c8;}case'allocation':{const ca=await prepareFundOperation(b['data'],'allocation',k?.['network']);if(ca['blockingErrors']['length']>0x0)return buildFundBlockResult(ca,'allocation');c['push'](...ca['warnings']);if(ca['confirmation']){c['push'](ca['confirmation']['message']);const cg=a467b(ca['confirmation']);if(cg)c['push'](cg);}if(b['data']?.['alloc_by_guard']&&b['submission']){const ch=new Set();for(const ci of b['submission']['submission']||[]){for(const cj of ci?.['submission']||[]){const ck=typeof cj?.['value']==='string'?cj['value']:'';if(/^0x[0-9a-fA-F]{64}$/['test'](ck))ch['add'](ck);}}if(ch['size']>0x0)try{const cl=(await batchQueryObjectsByIds([...ch],k?.['network'],!![]))['filter'](cm=>cm?.['type']==='Order');for(const cm of cl){typeof cm['claimed_by']==='string'&&cm['claimed_by']['startsWith']('0x')&&c['push']('⚠\x20MUTUAL-EXCLUSION:\x20Order\x20'+cm['object']+'\x20already\x20received\x20arbitration\x20'+('compensation\x20(claimed_by='+cm['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 cn=await checkEntityRecipientGate(b['data']?.['allocators'],'allocation.allocators',c);if(cn)return cn;}const cb=new CallAllocation(b['data']),cc=b['submission']?await cb['call_with_submission'](k,await transformSubmission(b['submission'])):await cb['call'](k),cd=await buildGuardSubmissionPrompt(cc,'allocation',{'network':k?.['network'],'signer':k?.['account'],'allocation_address':b['data']?.['object']});if(cd)c['push'](cd);const ce=b['data'];if(ce?.['alloc_by_guard']){const co=ResponseData(cc)['filter'](cp=>cp?.['type']==='Payment'&&cp?.['change']==='created');if(co['length']>0x0){const cp=co['map'](cq=>cq['object'])['join'](',\x20');try{const cq=await batchQueryObjectsByIds(co['map'](ct=>ct['object']),k?.['network'],!![]),cr=[];let cs=BigInt(0x0);for(const ct of cq){if(ct?.['type']==='Payment'&&ct?.['record']){for(const cu of ct['record']){const cv=formatRecipientLabel(cu['recipient']),cw=typeof cu['amount']==='string'?cu['amount']:String(cu['amount']),cx=BigInt(cw);cs+=cx,cr['push']('\x20\x20•\x20'+cv+':\x20'+formatMistAmount(cx));}ct['object']&&cr['push']('\x20\x20•\x20Payment\x20object:\x20'+ct['object']);}}if(cr['length']>0x0){cr['unshift']('DISTRIBUTION\x20DETAILS\x20(alloc_by_guard):'),cr['push']('\x20\x20─────────────────','\x20\x20•\x20Total\x20distributed:\x20'+formatMistAmount(cs));const cy=cq['some'](cz=>cz?.['type']==='Payment'&&cz?.['info']?.['for_object']);cy&&(cs===BigInt(0x0)?cr['push']('','ESCROW\x20MODE\x20(nothing\x20owed):\x20total\x20distributed\x20is\x200\x20—\x20'+'nothing\x20is\x20being\x20held\x20for\x20claiming\x20and\x20no\x20distribution\x20is\x20pending.'):cr['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'](cr['join']('\x0a'));}}catch{c['push']('alloc_by_guard\x20created\x20Payment\x20object(s)\x20['+cp+'].\x20'+'Query\x20these\x20Payment\x20objects\x20to\x20see\x20the\x20distribution\x20details\x20and\x20check\x20for_object\x20for\x20escrow\x20mode.');}}else k?.['dry_run']===!![]?c['push']('DRY\x20RUN\x20(alloc_by_guard\x20'+ce['alloc_by_guard']+'):\x20simulation\x20succeeded.\x20'+'No\x20Payment\x20objects\x20exist\x20because\x20dry\x20runs\x20materialize\x20nothing\x20—\x20this\x20is\x20NOT\x20a\x20'+'\x22nothing\x20distributed\x22\x20signal.\x20Evaluate\x20the\x20sharing\x20plan\x20from\x20the\x20dry-run\x20balance\x20'+'output\x20above;\x20re-run\x20without\x20dry_run\x20to\x20execute.'):c['push']('NOTHING\x20DISTRIBUTED\x20(alloc_by_guard\x20'+ce['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 cf=handleCallResult(cc,r(b['data']));return h(t,u,b['operation_type'],cc,b['data'])['catch'](()=>{}),cf;}case'permission':{const cz=b['operation_type'],cA=handlePermissionOperations(b['data'],k,r,c);return cA&&typeof cA==='object'&&'then'in cA&&cA['then'](cB=>{cB?.['structuredContent']?.['result']&&h(t,u,cz,cB['structuredContent']['result'],b['data'])['catch'](()=>{});})['catch'](()=>{}),cA;}case'guard':{const cB=b['data'],cC=cB['root'];if(cC?.['type']==='file'){const cG=cC,cH=resolve(cG['file_path']);let cI;try{cI=readFileSync(cH,'utf-8');}catch(cL){throw new Error('Failed\x20to\x20read\x20Guard\x20definition\x20file\x20\x27'+cG['file_path']+'\x27:\x20'+cL['message']);}const cJ=parseGuardFile(cI,cG['format']);if(!cJ['success']){const cM=formatGuardParseErrors(cJ['errors']);throw new Error('Guard\x20validation\x20failed\x20for\x20file\x20\x27'+cG['file_path']+'\x27:\x0a\x0a'+cM);}const cK=cJ['data'];cB['root']={'type':'node','node':cK['root']},cK['table']!==undefined&&cB['table']===undefined&&(cB['table']=cK['table']),cK['description']!==undefined&&cB['description']===undefined&&(cB['description']=cK['description']),cK['rely']!==undefined&&cB['rely']===undefined&&(cB['rely']=cK['rely']),cK['namedNew']!==undefined&&cB['namedNew']===undefined&&(cB['namedNew']=cK['namedNew']);}if(cB['root']&&typeof cB['root']==='object'){const cN=cB['root'];cN['type']==='node'&&cN['node']&&(cB['root']=cN['node']);}if(!cB['table']||cB['table']['length']===0x0)throw new Error('Guard\x20\x27table\x27\x20field\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(!cB['root'])throw new Error('Guard\x20\x27root\x27\x20field\x20is\x20required');try{const cO=lintGuardNodeGates(parseGuardNodeGates(cB['root'],cB['table']));if(cO)c['push'](cO);}catch{}const cD=new CallGuard(cB);let cE;try{cE=await cD['call'](k);}catch(cP){const cQ=cP instanceof Error?cP['message']:String(cP),cR=translateGuardTypeError(cQ);throw cR?new Error(cR):cP;}if(cE&&typeof cE==='object'&&'digest'in cE&&cE?.['effects']?.['status']?.['status']==='success'){try{const cS=cB['root']?.['type']??'<unknown>',cT=Array['isArray'](cB['table'])?cB['table']:[],cU=cT['length'],cV=cT['filter'](d1=>d1?.['b_submission']===!![])['length'],cW=cB['rely']?.['guards'],cX=Array['isArray'](cW)?cW['length']:0x0,cY=cB['rely']?.['logic_or']===!![]?'OR':cB['rely']?.['logic_or']===![]?'AND':'none',cZ=['GUARD\x20LOGIC\x20SUMMARY:','\x20\x20•\x20root\x20type:\x20'+cS,'\x20\x20•\x20table\x20entries:\x20'+cU+'\x20('+cV+'\x20require\x20runtime\x20submission)'],d0=cT['filter'](d1=>d1?.['b_submission']===!![]);for(const d1 of d0){const d2=typeof d1?.['value_type']==='string'?d1['value_type']:String(d1?.['value_type']??'?');cZ['push']('\x20\x20•\x20submission\x20slot\x20'+d1?.['identifier']+':\x20value_type='+d2+'\x20—\x20forwards\x20bound\x20to\x20this\x20Guard\x20'+('must\x20advance\x20with\x20submissions:[{identifier:'+d1?.['identifier']+',\x20value_type:\x22'+d2+'\x22}]\x20')+'(Address\x20slots:\x20pass\x20the\x20Order\x20object\x20address)');}cX>0x0&&cZ['push']('\x20\x20•\x20relies\x20on:\x20'+cX+'\x20guard(s)\x20(mode:\x20'+cY+')');if(cB['description']){const d3=String(cB['description'])['slice'](0x0,0x50);cZ['push']('\x20\x20•\x20description:\x20\x22'+d3+'\x22');}c['push'](cZ['join']('\x0a'));}catch{}try{const d4=parseGuardTimeBounds(cB['root'],cB['table']);if(d4){const d5=[],d6=cB['namedNew']?.['name'];typeof d6==='string'&&d6['trim']()&&d5['push'](d6['trim']());try{const d8=ResponseData(cE)['filter'](d9=>d9['change']==='created'&&d9['object']&&typeof d9['type_raw']==='string'&&d9['type_raw']['includes']('::guard::'))['map'](d9=>String(d9['object']));d5['push'](...d8);}catch{}if(d5['length']>0x0)recordGuardTimeProfile(d5,d4);const d7=d4['upperWindowMs']!==undefined?'Clock\x20<=\x20'+d4['anchor']+'\x20+\x20'+d4['upperWindowMs']+'ms':'Clock\x20>=\x20'+d4['anchor']+'\x20+\x20'+d4['lowerOffsetMs']+'ms';c['push']('TIME\x20ANCHOR:\x20this\x20Guard\x20uses\x20'+d7+'.\x20'+(d4['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 cF=handleCallResult(cE,r(b['data']));return h(t,u,b['operation_type'],cE,b['data'])['catch'](()=>{}),cF;}case'personal':{const d9=transformPersonalInput(b['data']),da=new CallPersonal(d9),db=await da['call'](k),dc=handleCallResult(db,r(b['data']));return h(t,u,b['operation_type'],db,b['data'])['catch'](()=>{}),dc;}case'payment':{const dd=await prepareFundOperation(b['data'],'payment',k?.['network']);if(dd['blockingErrors']['length']>0x0)return buildFundBlockResult(dd,'payment');c['push'](...dd['warnings']);if(dd['confirmation']){c['push'](dd['confirmation']['message']);const di=a467b(dd['confirmation']);if(di)c['push'](di);}const de=b['data'];if(de?.['receive']===!![]){const dj=typeof de?.['object']==='string'&&de['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'+(dj?'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'+(dj?'\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(de?.['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 dk=de?.['object']?.['type_parameter']??'0x2::wow::WOW';for(const dl of de['revenue']){const dm=dl?.['amount'];if(dm&&typeof dm==='object'&&typeof dm['balance']==='string'){const dn=await parseAmount(dm['balance'],dk,k?.['network']);dn?.['smallestUnit']!=null&&(dm['balance']=dn['smallestUnit']<=BigInt(Number['MAX_SAFE_INTEGER'])?Number(dn['smallestUnit']):dn['smallestUnit']['toString']());}}}}const df=new CallPayment(b['data']),dg=await df['call'](k),dh=handleCallResult(dg,r(b['data']));return h(t,u,b['operation_type'],dg,b['data'])['catch'](()=>{}),dh;}case'demand':{const dp=new CallDemand(b['data']),dq=b['submission']?await dp['call_with_submission'](k,await transformSubmission(b['submission'])):await dp['call'](k),dr=await buildGuardSubmissionPrompt(dq,'demand',{'network':k?.['network'],'signer':k?.['account'],'extra':{'demand':b['data']?.['object']}});if(dr)c['push'](dr);const ds=handleCallResult(dq,r(b['data']));return h(t,u,b['operation_type'],dq,b['data'])['catch'](()=>{}),ds;}case'order':{b['data']?.['progress']&&(c['push']('Order\x20routing\x20fact:\x20order.progress\x20runs\x20the\x20order-bound\x20path\x20—\x20it\x20passes\x20'+'namedOperator=\x22\x22\x20forwards\x20for\x20the\x20order\x20payer/agents,\x20and\x20non-empty\x20'+'namedOperator\x20or\x20permissionIndex\x20forwards\x20for\x20senders\x20entitled\x20by\x20them\x20'+'(same\x20checks\x20as\x20the\x20Progress-level\x20path).\x20On\x20an\x20order-bound\x20Progress,\x20'+'workflow_operation\x20operate\x20auto-routes\x20to\x20this\x20same\x20path.'),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 dt=b['data']?.['arb_claim_compensation'];if(dt&&typeof b['data']?.['object']==='string')try{const dz=b['data']['object'],dA=dz['startsWith']('0x')?dz:await LocalMark['Instance']()['get_address'](dz)??undefined;if(dA){const dB=await query_objects({'objects':[dA],'no_cache':!![],'network':k?.['network']}),dC=dB?.['objects']?.[0x0],dD=dC?.['data']??dC,dE=dD?.['service'],dF=readRawOnchainAmount(dD?.['amount']);let dG;if(dE){const dJ=await query_objects({'objects':[dE],'no_cache':!![],'network':k?.['network']}),dK=dJ?.['objects']?.[0x0];dG=readRawOnchainAmount((dK?.['data']??dK)?.['compensation_fund']);}let dH;const dI=dt?.['arb'];if(typeof dI==='string'){const dL=dI['startsWith']('0x')?dI:await LocalMark['Instance']()['get_address'](dI)??undefined;if(dL){const dM=await query_objects({'objects':[dL],'no_cache':!![],'network':k?.['network']});dH=readRawOnchainAmount(dM?.['objects']?.[0x0]?.['data']?.['indemnity']);}}if(dG===0x0&&dH!==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(dG!==undefined&&dH!==undefined&&dG<dH)c['push']('COMPENSATION\x20POOL\x20UNDERFUNDED:\x20compensation_fund\x20('+dG+'\x20raw\x20units)\x20is\x20less\x20than\x20'+('the\x20ruled\x20indemnity\x20('+dH+'\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(dG!==undefined&&dF!==undefined&&dF>0x0&&dG<0x3*dF)c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20('+dG+')\x20is\x20less\x20than\x20'+('3x\x20the\x20order\x20amount\x20('+dF+')\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 dG!==undefined&&dG>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.\x20A\x20settled\x20claim\x20does\x20NOT\x20'+'seal\x20the\x20order:\x20a\x20later\x20refund-track\x20alloc\x20can\x20still\x20split\x20AND\x20pay\x20out\x20the\x20escrow\x20'+'(the\x20owner\x20receive\x20entries\x20are\x20deliberately\x20ungated,\x20order.move:213-234)\x20—\x20enforce\x20'+'any\x20refund-vs-claim\x20exclusion\x20by\x20gating\x20the\x20refund\x20allocator\x20on\x20order.claimed_by\x20'+'some==false\x20at\x20configuration\x20time.\x20The\x20provider\x20release\x20track\x20(direct\x20transfer)\x20'+'stays\x20usable.');}}}}catch{}let du;if(b['data']?.['order_new']){const dN=await deriveTotalPayIfOmitted(b['data'],k?.['network']);if(dN)c['push'](dN);du=beginInFlight('order_new',b['data'],k);}const dv=new CallOrder(b['data']),dw=b['submission']?await dv['call_with_submission'](k,await transformSubmission(b['submission'])):await dv['call'](k);if(du)recordInFlightOutcome(du,dw);if(dt){const dO=!!dw&&typeof dw==='object'&&dw?.['effects']?.['status']?.['status']==='success';let dP;if(dO&&typeof b['data']?.['object']==='string')try{const dR=b['data']['object'],dS=dR['startsWith']('0x')?dR:await LocalMark['Instance']()['get_address'](dR)??undefined;let dT;if(dS){const dU=await query_objects({'objects':[dS],'no_cache':!![],'network':k?.['network']}),dV=dU?.['objects']?.[0x0];dT=(dV?.['data']??dV)?.['progress'];}dP=await autoHoldAfterClaim(k,dR,dT);}catch{}const dQ=['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(dP&&(dP['held']['length']||dP['notHoldable']['length']||dP['failed']['length']))dP['held']['length']&&dQ['push']('Settlement\x20frozen\x20—\x20auto-hold\x20applied\x20to:\x20'+dP['held']['join'](',\x20')+'.'),dP['notHoldable']['length']&&dQ['push']('NOT\x20holdable\x20by\x20this\x20account\x20(needs\x20merchant/keeper\x20to\x20run\x20order\x20hold):\x20'+dP['notHoldable']['join'](',\x20')+'.'),dP['failed']['length']&&dQ['push']('Hold\x20attempted\x20but\x20failed\x20(retry,\x20or\x20have\x20merchant/keeper\x20hold\x20manually):\x20'+dP['failed']['join'](',\x20')+'.'),dP['held']['length']===0x0&&dQ['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 dO?dQ['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.'):dQ['push']('The\x20claim\x20did\x20not\x20succeed,\x20so\x20no\x20hold\x20was\x20attempted;\x20rerun\x20after\x20fixing\x20the\x20cause\x20above.');c['push'](dQ['join']('\x20'));}const dx=await buildGuardSubmissionPrompt(dw,'order',{'network':k?.['network'],'signer':k?.['account'],'order_address':b['data']?.['object']});if(dx)c['push'](dx);const dy=handleCallResult(dw,r(b['data']));if(dw&&typeof dw==='object'&&'digest'in dw&&dw?.['effects']?.['status']?.['status']==='success'&&b['data']?.['progress']&&typeof b['data']?.['object']==='string')try{const dW=b['data']['object'],dX=dW['startsWith']('0x')?dW:await LocalMark['Instance']()['get_address'](dW)??undefined;let dY;if(dX){const dZ=await query_objects({'objects':[dX],'no_cache':!![],'network':k?.['network']}),e0=dZ?.['objects']?.[0x0];dY=(e0?.['data']??e0)?.['progress'];}if(dY){const e1=b['data']['progress']?.['operation'],e2=await enrichWorkflowGuidance({'progressRef':dY,'network':k?.['network'],'accountName':k?.['account'],'noCache':!![],'txResult':dw,'dryRun':k?.['dry_run']===!![],'operate':e1?.['forward']&&e1?.['next_node_name']?{'forward':e1['forward'],'next_node_name':e1['next_node_name'],'op':b['data']['progress']?.['op']}:undefined});mergeGuidanceIntoOutput(dy,e2);}}catch{}return h(t,u,b['operation_type'],dw,b['data'])['catch'](()=>{}),dy;}case'gen_passport':{const e3=await gen_passport(k,b['guard'],b['info']);let e4;try{const e6=Array['isArray'](e3?.['objectChanges'])?e3['objectChanges']:[],e7=e6['find'](e9=>e9?.['type']==='created'&&typeof e9?.['objectType']==='string'&&/::passport::Passport$/['test'](e9['objectType'])),e8=e7?.['objectId'];if(e8){const e9=await query_objects({'objects':[e8],'no_cache':!![],'network':k?.['network']}),ea=e9?.['objects']?.[0x0],eb=ea?.['data']??ea;eb&&typeof eb==='object'&&typeof eb['result']==='boolean'&&(e4={'passport_id':e8,'result':eb['result']===!![],'has_verified':eb['has_verified']===!![],'info':Array['isArray'](eb['guard'])?eb['guard']['map'](ec=>({'guard':String(ec?.['guard']??ec??''),'result':ec?.['result']===!![],...typeof ec?.['impack']==='boolean'?{'impack':ec['impack']}:{}})):undefined});}}catch{}const e5=handleCallResult(e3,r(b['data'],undefined,e4));try{for(const ec of b['guard']??[]){const ed=typeof ec==='string'?ec:ec?.['object'];if(typeof ed!=='string'||ed==='')continue;const ee=await loadGuardJsonFromChain(ed,k?.['network']);if(!ee)continue;const ef=(ee['json']['table']??[])['some'](eg=>eg?.['identifier']===0xfe&&eg?.['b_submission']===!![]&&eg?.['value_type']==='Address');!ef&&c['push']('PROTOCOL\x20SLOT\x20254\x20MISSING\x20on\x20Guard\x20\x27'+(ee['name']??ee['guard'])+'\x27:\x20the\x20table\x20declares\x20no\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x22Address\x22}\x20row\x20(task\x20binding).\x20A\x20passport\x20built\x20now\x20can\x20never\x20satisfy\x20the\x20on-chain\x20task-binding\x20check\x20on\x20an\x20order-driven\x20Progress\x20forward\x20(abort\x20code\x2011)\x20—\x20the\x20passport\x20only\x20emits\x20DECLARED\x20table\x20rows.\x20Fix\x20BEFORE\x20binding/publishing:\x20export\x20the\x20guard\x20(guard2file),\x20add\x20the\x20254\x20declaration,\x20create\x20a\x20NEW\x20Guard,\x20and\x20rebind\x20—\x20tables\x20freeze\x20at\x20creation.');}}catch{}return h(t,u,b['operation_type'],e3,b['data'])['catch'](()=>{}),e5;}case'proof':{const eg=new CallProof(b['data']),eh=b['submission']?await eg['call_with_submission'](k,await transformSubmission(b['submission'])):await eg['call'](k),ei=await buildGuardSubmissionPrompt(eh,'proof',{'network':k?.['network'],'signer':k?.['account']});if(ei)c['push'](ei);const ej=handleCallResult(eh,r(b['data']));return h(t,u,b['operation_type'],eh,b['data'])['catch'](()=>{}),ej;}case'gen_proof':{const ek=await gen_proof(k,b['proof'],b['server_pubkey'],b['server_signature'],b['proof_type'],b['description'],b['item_count'],b['about_address']),el=handleCallResult(ek,r(b['data']));return h(t,u,b['operation_type'],ek,b['data'])['catch'](()=>{}),el;}}const A=b;throw new Error('Unknown\x20on-chain\x20operation\x20type:\x20'+String(A['operation_type']));}catch(em){let en=em instanceof Error?em['message']:String(em);const eo=b?.['operation_type'],ep=b&&'data'in b?b['data']:undefined;try{const eq=await diagnoseGuardFailure(b,en);if(eq)en=en+'\x0a'+eq;}catch{}if(eo==='service'&&ep?.['order_new']){const er=describeLastInFlight('order_new');if(er)en=en+'\x0a'+er;}return handleCallResult({'error':en},eo?{'operation_type':eo,'data':ep}: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,query_serviceContext,parseGuardFile,formatGuardParseErrors,transformRewardInput,transformPersonalInput,GetAccountOrMark_Address,Config,query_events}from'@wowok/wowok';import{buildOrderFundFacts}from'../../knowledge/arb-fund-facts.js';import{beginInFlight,recordInFlightOutcome,describeLastInFlight,lastInFlightMarker,matchOrderLandedEvent}from'../../composition/inflight.js';import{OnchainOperationsSchema,strictParse,getEnvConfig,handleCallResult,checkClientSchemaCompatibility,parseMachineNodesFromText,formatNodeErrors as a468a,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{fetchEntityPermissions}from'../../playbooks/service-build/participation-radar.js';import{prepareFundOperation,parseAmount,generateSkillsHint as a468b,formatChainValue}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{translateGuardTypeError}from'../../knowledge/guard-lint.js';import{lintGuardNodeGates,parseGuardNodeGates,recordMachineNodeNames}from'../../knowledge/guard-node-gates.js';import{checkArbitrationVenueOrder,venueOperatingDoctrine}from'../../knowledge/arbitration-venue-order.js';import{assessAllocationRisks}from'../../knowledge/allocation-risk.js';import{ENTITY_RECIPIENT_RULE_ID,checkEntityRecipients,describeEntityRecipients,formatEntityRecipientViolation}from'../../knowledge/entity-recipient-guard.js';import{checkDiscountThresholdBeforeBuy,checkDiscountFloorBeforeIssue,describeBenchmarkIssueRisk}from'../../knowledge/discount-threshold.js';import{priorProofConsumptions,recordProofConsumption}from'../../communication/proof-reuse.js';import{evaluateServiceFromGraph}from'../../playbooks/service-build/topology-query.js';import{isEnabled as a468c}from'../../config/index.js';import{buildSubmissionConfirmation,diffGuardSpecVsChain,loadGuardJsonFromChain,OPERATION_GUARD_ACTION}from'../../knowledge/guard-submission-brief.js';import{enrichWorkflowGuidance,mergeGuidanceIntoOutput,resolveHoldableEdges}from'../../knowledge/workflow-guidance.js';import{runReviewChain,mergeReviewStepsIntoOutput}from'./review-chain.js';import{parseGuardTimeBounds,recordGuardTimeProfile,checkGuardAnchorReachability,formatGuardAnchorWarnings}from'../../knowledge/guard-anchor-reach.js';import{batchQueryObjectsByIds,fetchMachineNodes}from'../../graph/onchain/sdk-batch.js';import{classifyWipPath,probeWipReachability}from'../wip-deploy-assist.js';import{declareDispatchExpectation}from'./dispatch-expectations.js';import{stableOperationId}from'../../harness/operation-id.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 f=d[0x0]?.['guard'];if(!f)return undefined;try{const g=await generateGuardSubmissionPrompt(f,{'operation':b,...c});return g?formatSubmissionPrompt(g):undefined;}catch(h){return'SUBMISSION\x20REQUIRED\x20—\x20the\x20Guard\x20needs\x20data\x20you\x20have\x20not\x20supplied\x20yet\x20(detailed\x20prompt\x20generation\x20'+('failed:\x20'+(h?.['message']??String(h))+').\x20Retry\x20with\x20the\x20submission\x20envelope\x20per\x20')+'SubmissionCallSchema:\x20{type:\x22submission\x22,\x20guard:[{object:\x22<guard\x20id>\x22,\x20impack:true}],\x20'+'submission:[{identifier:<n>,\x20value:\x22<value>\x22}]}\x20—\x20the\x20identifiers\x20above\x20name\x20every\x20required\x20field.';}}function treeUsesRewardRecords(a){if(!a||typeof a!=='object')return![];if(a['type']==='query_reward_record_exists')return!![];if(a['type']==='query'&&typeof a['query']==='string'&&/^reward\.record\.(exists_where|count_where|find_where|exists|count|find)$/['test'](a['query']))return!![];const b=[...Array['isArray'](a['nodes'])?a['nodes']:[],...Array['isArray'](a['and'])?a['and']:[],...Array['isArray'](a['or'])?a['or']:[],a['node'],a['left'],a['right']];return b['some'](d=>d&&typeof d==='object'&&treeUsesRewardRecords(d));}async function assertRewardReplayStamp(a,b,c=[]){if(!Array['isArray'](a))return;for(const d of a){if(!d||typeof d!=='object'||d['store_from_id']!=null)continue;let e;try{const f=await loadGuardJsonFromChain(String(d['guard']),b);if(f)e=treeUsesRewardRecords((f['json']??{})['root']);}catch{e=undefined;}if(e===!![])throw new Error('reward.guard_add\x20REJECTED:\x20guard\x20\x27'+String(d['guard'])+'\x27\x20consumes\x20claim\x20records\x20'+'(query_reward_record_exists)\x20but\x20the\x20entry\x20omits\x20store_from_id\x20—\x20without\x20the\x20stamp\x20the\x20record\x20'+'never\x20matches\x20and\x20the\x20replay\x20gate\x20is\x20silently\x20DEAD\x20(the\x20same\x20claimant\x20can\x20drain\x20the\x20pool\x20'+'repeatedly;\x20upw\x20F-13\x20paid\x20out\x203x\x20before\x20this\x20gate\x20existed).\x20Re-submit\x20with\x20store_from_id\x20=\x20the\x20'+'table\x20identifier\x20whose\x20submitted\x20value\x20identifies\x20the\x20claim\x20(slot\x200\x20—\x20the\x20submitted\x20Order/'+'claimant\x20address\x20—\x20is\x20the\x20conventional\x20once-per-order\x20stamp).');c['push']('REPLAY-OPEN\x20REWARD\x20GUARD:\x20guard_add\x20for\x20\x27'+String(d['guard'])+'\x27\x20omits\x20store_from_id\x20—\x20equality-based\x20per-order\x20dedup\x20can\x20never\x20'+'match\x20(records\x20without\x20the\x20pinned\x20value\x20match\x20NO\x20store_from_id\x20predicate;\x20slot-less\x20guards\x20can\x20only\x20dedup\x20'+'lifetime-once\x20via\x20record\x20count/exists\x20with\x20an\x20empty\x20where).\x20If\x20per-order\x20protection\x20is\x20intended,\x20re-add\x20'+'with\x20store_from_id\x20pinned\x20(slot\x200\x20=\x20submitted\x20Order\x20address\x20is\x20the\x20conventional\x20per-order\x20stamp;\x20re-adding\x20'+'the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20existing\x20pools\x20can\x20be\x20repaired\x20without\x20a\x20new\x20guard);\x20'+'if\x20unlimited\x20repeat\x20claims\x20are\x20intended,\x20ignore\x20this\x20warning.');}}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 warnMerchantCompensationFundLow(a,b,c){const d=a?.['object'];if(typeof d!=='string'||!d['trim']())return;let e;try{const q=await query_objects({'objects':[d],'network':b,'no_cache':!![]});e=q?.['objects']?.[0x0];}catch{return;}if(!e||e['type']!=='Service')return;const f=r=>{if(typeof r==='number'&&Number['isFinite'](r)&&r>=0x0)return BigInt(Math['trunc'](r));if(typeof r==='string'&&/^\d+$/['test'](r['trim']()))return BigInt(r['trim']());return undefined;},g=(String(e['type']??e['type_raw']??'')['match'](/<(.+)>$/)??[])[0x1]??'',h=Array['isArray'](e['sales'])?e['sales']:[],i=h['map'](r=>f(r?.['price']))['filter'](r=>r!==undefined),j=f(e['compensation_fund']);if(j===undefined||i['length']===0x0)return;const k=i['reduce']((r,s)=>s>r?s:r);let l=j;const m=a?.['compensation_fund_add']?.['balance'];if(m!=null){const r=f(m);if(r!==undefined)l=j+r;else{if(!g)return;try{const s=await parseAmount(String(m),g,b);l=j+s['smallestUnit'];}catch{return;}}}const n=a?.['compensation_fund_withdraw']!=null;if(n)l=0x0n;const o=0x3n;if(l>=o*k)return;const p=async t=>{try{return g?(await formatChainValue(t,g,b))['display']:t['toString']();}catch{return t['toString']();}};c['push']('MERCHANT\x20FUND\x20REMINDER\x20(operational):\x20Service\x20\x27'+d+'\x27\x20compensation_fund\x20holds\x20'+await p(l)+'\x20'+('(raw\x20'+l+')\x20—\x20below\x20the\x20award\x20ceiling\x20of\x20'+o+'x\x20the\x20highest\x20SKU\x20price\x20')+('('+await p(k)+').\x20A\x20valid\x20arbitration\x20award\x20above\x20the\x20current\x20balance\x20aborts\x20the\x20buyer\x27s\x20payout\x20')+'with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH);\x20the\x20pool\x20is\x20NEVER\x20auto-refilled.\x20Top\x20up\x20via\x20'+'service.compensation_fund_add\x20(3x\x20the\x20highest\x20price\x20covers\x20any\x20single\x20ruling;\x20more\x20only\x20buys\x20headroom\x20'+'for\x20several\x20concurrent\x20claims).'+(n?'\x20NOTE:\x20this\x20call\x20withdraws\x20the\x20fund\x20—\x20buyers\x20lose\x20payout\x20protection\x20entirely.':''));}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];if(n){i={'address':g,'entity_count':n['entity_count'],'perm_remark':n['perm_remark'],'owner':n['owner']??n['builder'],'admin':n['admin']};try{i['entityPermissions']=await fetchEntityPermissions(g,h);}catch{}}}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']||!j['allVerified'])&&(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.'}};}async 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),j=!i['is_local']&&i['is_network']&&!f&&(i['type']==='http_url'||i['type']==='ipfs'&&/^https?:/i['test'](h));if(j){const m=await probeWipReachability(h)['catch'](()=>({'ok':![],'reason':'probe\x20failed'}));if(!m['ok']){const n=m['status']?'HTTP\x20'+m['status']:m['reason']??'unreachable',o='⛔\x20WIP\x20HOST\x20UNREACHABLE\x20—\x20sales\x20NOT\x20submitted\x0a\x0a'+('Sale\x20\x22'+g['name']+'\x22\x20has\x20wip\x20=\x20\x22'+h+'\x22,\x20but\x20the\x20host\x20is\x20not\x20reachable\x20('+n+').\x0a\x0a')+'Every\x20customer\x20order_new\x20fetches\x20this\x20URL\x20to\x20verify\x20the\x20WIP\x20file\x20—\x20while\x20it\x20is\x20'+'down,\x20ALL\x20purchases\x20on\x20this\x20Service\x20abort\x20100%\x20(F-27:\x20WIP\x20single-host\x20outage\x20'+'famously\x20took\x20every\x20listing\x20down\x20at\x20once).\x0a\x0a'+'This\x20is\x20NOT\x20a\x20wrong-network\x20problem\x20—\x20do\x20NOT\x20switch\x20networks.\x0a\x0a'+'Fix:\x0a'+'\x20\x20•\x20Transient\x20outage:\x20wait\x20for\x20the\x20host\x20to\x20recover,\x20then\x20re-run\x20this\x20operation.\x0a'+'\x20\x20•\x20Permanent:\x20redeploy\x20the\x20.wip\x20file\x20to\x20another\x20public\x20endpoint\x20and\x20update\x20'+'sale.wip\x20+\x20wip_hash\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20site,\x20or\x20wip_file\x20'+'type=\x27upload\x27\x20for\x20the\x20official\x20store).\x0a'+'\x20\x20•\x20Testing\x20only:\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20verification.';return{'content':[{'type':'text','text':o}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20host\x20unreachable\x20('+n+'):\x20'+h+'.\x20Customer\x20order_new\x20would\x20abort\x20100%\x20while\x20the\x20WIP\x20file\x20cannot\x20be\x20fetched\x20(F-27).\x20Not\x20a\x20wrong-network\x20problem.','error_code':'wip_host_unreachable','retryable':!![],'recovery_hint':'Transient\x20outage:\x20retry\x20after\x20the\x20host\x20recovers.\x20Permanent:\x20redeploy\x20the\x20.wip\x20'+'file\x20to\x20another\x20public\x20endpoint\x20and\x20set\x20sale.wip\x20to\x20the\x20new\x20URL\x20(update\x20'+'wip_hash\x20too);\x20or\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20verification\x20(TESTING\x20ONLY).','related_object':g['name']},'message':'WIP\x20host\x20unreachable\x20—\x20sales\x20not\x20submitted.\x20See\x20recovery_hint.'}};}}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 p='a\x20local-network\x20URL\x20('+i['description']+')',q='⛔\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'+p+'.\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':q}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+p+':\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 k='a\x20LOCAL\x20'+i['type']+'\x20path',l='⛔\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'+k+'.\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':l}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+g['name']+'\x22\x20wip\x20is\x20'+k+':\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[progress.node==<X>]\x20per\x20refundable\x20node\x20(per-node\x20tracks\x20are\x20the\x20'+'default\x20form\x20—\x20a\x20node\x20set\x20is\x20also\x20expressible\x20via\x20the\x20relies\x20two-level\x20tree:\x20'+'OR-subguard\x20per\x20node\x20under\x20an\x20AND\x20parent).\x20A\x20signer==order.owner\x20leg\x20is\x20OPTIONAL\x20here,\x20'+'not\x20a\x20safety\x20requirement:\x20with\x20a\x20GuardIdentifier\x20recipient\x20the\x20payee\x20is\x20already\x20hard-bound\x20to\x20the\x20'+'order\x20(funds\x20land\x20in\x20the\x20order\x20no\x20matter\x20who\x20triggers),\x20so\x20the\x20signer\x20leg\x20only\x20restricts\x20who\x20may\x20'+'fire\x20the\x20trigger\x20—\x20drop\x20it\x20when\x20keepers\x20or\x20the\x20service\x20should\x20be\x20able\x20to\x20trigger\x20refunds.\x20There\x20is\x20'+'NO\x20on-chain\x20seal\x20between\x20the\x20refund\x20track\x20and\x20a\x20compensation\x20ruling\x20—\x20a\x20claim\x20settling\x20does\x20NOT\x20close\x20'+'this\x20track;\x20enforce\x20any\x20refund-vs-compensation\x20exclusion\x20by\x20gating\x20the\x20guard\x20(e.g.\x20on\x20arb/settlement\x20'+'state)\x20at\x20configuration\x20time.\x20Declare\x20the\x20identifier-254\x20once\x20slot\x20on\x20the\x20'+'refund\x20guard\x20(chain\x20derives\x20the\x20key\x20from\x20payment_info.for_object\x20—\x20unwidenable\x20per-order\x20replay\x20'+'protection;\x20reserve\x20identifier\x20255\x20with\x20a\x20period\x20key\x20for\x20rails\x20that\x20legitimately\x20repeat\x20per\x20period)\x20'+'so\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 canonicalRecipientKey(a){if(typeof a==='string')return a;const b=classifyRecipient(a);if(b?.['kind']==='entity')return'Entity:'+b['address'];if(b?.['kind']==='signer')return'Signer';if(b?.['kind']==='submission')return'GuardIdentifier:'+b['identifier'];return a!=null?JSON['stringify'](a):undefined;}function normHexAddr(b){return b['toLowerCase']()['replace'](/^0x/,'')['padStart'](0x40,'0');}async function describeAllocatorsNotExtensionDiff(a,b,c){try{if(!a||typeof a!=='object')return undefined;const d=a['object']??a['name'],e=typeof d==='string'?/^0x[0-9a-fA-F]{1,64}$/['test'](d)?d:await LocalMark['Instance']()['get_address'](d):undefined;if(!e)return undefined;const f=b,g=Array['isArray'](f?.['allocators'])?f['allocators']:null;if(!g)return undefined;const h=await query_objects({'objects':[e],'network':c}),k=(h?.['objects']??[])['find'](r=>r?.['object']===e),m=k?.['order_allocators'],n=Array['isArray'](m?.['allocators'])?m['allocators']:null;if(!n)return undefined;const o=[],p=readRawOnchainAmount(m?.['threshold']),q=readRawOnchainAmount(f?.['threshold']);p!==undefined&&q!==undefined&&p!==q&&o['push']('threshold\x20mismatch:\x20submitted\x20'+q+'\x20vs\x20live\x20'+p+'\x20(append\x20requires\x20the\x20SAME\x20threshold)');g['length']<n['length']&&o['push']('length\x20mismatch:\x20submitted\x20'+g['length']+'\x20rail(s)\x20vs\x20live\x20'+n['length']+'\x20(append\x20requires\x20length-or-longer\x20with\x20the\x20live\x20prefix\x20preserved)');if(o['length']===0x0){const r=Math['min'](g['length'],n['length']);for(let t=0x0;t<r&&o['length']===0x0;t++){const u=g[t],v=n[t],w=typeof u?.['guard']==='string'?u['guard']:undefined,x=typeof v?.['guard']==='string'?v['guard']:undefined;if(w&&x&&normHexAddr(w)!==normHexAddr(x)){o['push']('rail\x20'+t+'\x20guard\x20rewritten:\x20submitted\x20'+w+'\x20vs\x20live\x20'+x+'\x20(existing\x20allocators\x20must\x20be\x20preserved\x20verbatim\x20as\x20a\x20prefix)');break;}const y=Array['isArray'](u?.['sharing'])?u['sharing']:[],z=Array['isArray'](v?.['sharing'])?v['sharing']:[];if(y['length']!==z['length']){o['push']('rail\x20'+t+'\x20sharing\x20rows:\x20submitted\x20'+y['length']+'\x20vs\x20live\x20'+z['length']);break;}for(let A=0x0;A<Math['min'](y['length'],z['length'])&&o['length']===0x0;A++){const B=canonicalRecipientKey(y[A]?.['who']),C=canonicalRecipientKey(z[A]?.['who']);if(B&&C&&B!==C){o['push']('rail\x20'+t+'\x20row\x20'+A+'\x20recipient\x20rewritten:\x20submitted\x20'+B+'\x20vs\x20live\x20'+C);break;}const D=readRawOnchainAmount(y[A]?.['sharing']),E=readRawOnchainAmount(z[A]?.['sharing']);if(D!==undefined&&E!==undefined&&D!==E){o['push']('rail\x20'+t+'\x20row\x20'+A+'\x20share\x20rewritten:\x20submitted\x20'+D+'\x20vs\x20live\x20'+E);break;}}}}return o['length']===0x0&&o['push']('no\x20field-level\x20divergence\x20found\x20against\x20the\x20live\x20plan\x20—\x20rebuild\x20the\x20payload\x20from\x20the\x20LIVE\x20plan\x20(query_toolkit\x20service_panorama\x20→\x20result.service.order_allocators,\x20authoring\x20form)\x20and\x20re-submit'),'APPEND\x20REJECTED\x20(EALLOCATORS_NOT_EXTENSION):\x20the\x20submitted\x20plan\x20is\x20NOT\x20a\x20pure\x20extension\x20of\x20the\x20live\x20order_allocators.\x20First\x20divergence:\x20'+o['join'](';\x20')+'.\x20'+'Append\x20shape:\x20same\x20threshold,\x20length-or-longer,\x20every\x20existing\x20allocator\x20preserved\x20verbatim\x20as\x20a\x20prefix,\x20new\x20rails\x20appended\x20after.';}catch{return undefined;}}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;}async function deriveTotalPayIfOmitted(a,b){const c=a?.['order_new']?.['buy'];if(!c||c['total_pay']!=null)return undefined;if(c['discount']!=null)throw new Error('buy.total_pay\x20is\x20REQUIRED\x20when\x20a\x20discount\x20is\x20applied\x20—\x20the\x20discounted\x20final\x20total\x20depends\x20on\x20the\x20'+'coupon\x27s\x20live\x20value\x20and\x20must\x20be\x20stated\x20explicitly.\x20Run\x20query_toolkit\x20query_type=\x27service_quote\x27\x20'+'and\x20pass\x20total_pay.balance\x20=\x20the\x20quoted\x20final_total.');const d=Array['isArray'](c['items'])?c['items']:[];if(d['length']===0x0)throw new Error('buy.total_pay\x20is\x20omitted\x20and\x20the\x20cart\x20has\x20NO\x20items\x20—\x20there\x20is\x20nothing\x20to\x20derive\x20the\x20payment\x20from');const e=a?.['object'];if(typeof e!=='string'||e['length']===0x0)throw new Error('buy.total_pay\x20is\x20omitted\x20but\x20the\x20Service\x20reference\x20(data.object)\x20is\x20missing\x20—\x20cannot\x20derive\x20the\x20payment');const f=e['startsWith']('0x')?e:await LocalMark['Instance']()['get_address'](e)??undefined;if(!f)throw new Error('Service\x20\x27'+e+'\x27\x20could\x20not\x20be\x20resolved\x20—\x20cannot\x20derive\x20total_pay');const g=await query_serviceContext({'service':f,'network':b}),h=g?.['service'];if(!h)throw new Error('Service\x20\x27'+e+'\x27\x20not\x20found\x20—\x20cannot\x20derive\x20total_pay');const i=Array['isArray'](h['sales'])?h['sales']:[];let j=0x0n;const k=[];for(const l of d){const m=l?.['name'],n=i['find'](q=>q?.['name']===m);if(!n)throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20matches\x20NO\x20sale\x20on\x20service\x20\x27'+e+'\x27\x20'+('(available:\x20'+(i['map'](q=>q?.['name'])['filter'](Boolean)['join'](',\x20')||'<none>')+')'));if(n?.['suspension']===!![])throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20is\x20suspended\x20on\x20service\x20\x27'+e+'\x27');const o=BigInt(String(n?.['price']?.['balance']??n?.['price']??'0')),p=BigInt(String(l?.['quantity']??'1'));if(p<=0x0n)throw new Error('cannot\x20derive\x20total_pay:\x20item\x20\x27'+m+'\x27\x20has\x20non-positive\x20quantity\x20'+p);j+=o*p,k['push'](m+'\x20x'+p+'\x20@\x20'+o);}if(j<=0x0n)throw new Error('derived\x20total_pay\x20would\x20be\x200\x20(all\x20matched\x20sales\x20priced\x200)\x20—\x20pass\x20total_pay\x20explicitly');return c['total_pay']={'balance':j['toString']()},'total_pay\x20auto-derived\x20=\x20'+j['toString']()+'\x20(smallest\x20unit;\x20Σ\x20price×quantity:\x20'+k['join']('\x20+\x20')+';\x20'+'no\x20discount).\x20Pass\x20total_pay\x20explicitly\x20to\x20pin\x20the\x20amount\x20—\x20REQUIRED\x20when\x20using\x20a\x20discount.';}async function probeOrderNewWipReachability(a,b){const c=a?.['order_new']?.['buy'],d=Array['isArray'](c?.['items'])?c['items']:[];if(d['length']===0x0)return null;const e=a?.['object'];if(typeof e!=='string'||e['length']===0x0)return null;try{const f=e['startsWith']('0x')?e:await LocalMark['Instance']()['get_address'](e)??undefined;if(!f)return null;const g=await query_serviceContext({'service':f,'network':b}),h=Array['isArray'](g?.['service']?.['sales'])?g['service']['sales']:[],i=new Map();for(const j of d){const k=h['find'](o=>o?.['name']===j?.['name']),l=typeof k?.['wip']==='string'?k['wip']:'';if(!l)continue;const m=classifyWipPath(l),n=!m['is_local']&&m['is_network']&&(m['type']==='http_url'||m['type']==='ipfs'&&/^https?:/i['test'](l));if(n)i['set'](String(k['name']??j?.['name']??''),l);}for(const [o,p]of i){const q=await probeWipReachability(p)['catch'](()=>({'ok':![],'reason':'probe\x20failed'}));if(q['ok'])continue;const r=q['status']?'HTTP\x20'+q['status']:q['reason']??'unreachable',s='⛔\x20WIP\x20HOST\x20UNREACHABLE\x20—\x20order\x20NOT\x20created\x20(no\x20money\x20moved)\x0a\x0a'+('The\x20WIP\x20file\x20for\x20sale\x20\x22'+o+'\x22\x20('+p+')\x20is\x20not\x20reachable\x20('+r+').\x20')+'Creating\x20this\x20order\x20would\x20abort\x20100%\x20inside\x20the\x20WIP\x20verification\x20step\x20(F-27:\x20'+'WIP\x20single-host\x20outage\x20—\x20when\x20the\x20host\x20is\x20down,\x20NOBODY\x20can\x20buy\x20from\x20this\x20Service).\x0a\x0a'+'This\x20is\x20NOT\x20a\x20wrong-network\x20problem\x20—\x20do\x20NOT\x20switch\x20networks\x20and\x20do\x20NOT\x20retry\x20blindly.\x0a\x0a'+'Fix:\x0a'+'\x20\x20•\x20Transient\x20outage:\x20retry\x20this\x20order\x20after\x20the\x20host\x20recovers.\x0a'+'\x20\x20•\x20Otherwise:\x20the\x20MERCHANT\x20must\x20redeploy\x20the\x20.wip\x20file\x20to\x20another\x20public\x20endpoint\x20'+'and\x20update\x20sale.wip\x20+\x20wip_hash\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20their\x20own\x20site,\x20or\x20wip_file\x20'+'type=\x27upload\x27\x20for\x20the\x20official\x20store).\x0a'+'\x20\x20•\x20Testing\x20only:\x20the\x20merchant\x20can\x20set\x20sale.wip\x20=\x20\x22\x22\x20(empty)\x20to\x20skip\x20WIP\x20verification.';return{'content':[{'type':'text','text':s}],'structuredContent':{'result':{'type':'error','error':'Sale\x20\x22'+o+'\x22\x20wip\x20host\x20unreachable\x20('+r+'):\x20'+p+'.\x20order_new\x20would\x20abort\x20100%\x20in\x20WIP\x20verification\x20(F-27).\x20Not\x20a\x20wrong-network\x20problem.','error_code':'wip_host_unreachable','retryable':!![],'recovery_hint':'Retry\x20after\x20the\x20host\x20recovers\x20(transient\x20outage),\x20or\x20have\x20the\x20merchant\x20redeploy\x20'+'the\x20.wip\x20file\x20to\x20another\x20public\x20endpoint\x20and\x20update\x20sale.wip\x20+\x20wip_hash.\x20'+'Do\x20NOT\x20switch\x20networks.','related_object':o},'message':'WIP\x20host\x20unreachable\x20—\x20order\x20not\x20created.\x20See\x20recovery_hint.'}};}return null;}catch{return null;}}async function applyInitialForwardAfterOrderNew(a,b){const c=a?.['object'];if(typeof c!=='string'||c['length']===0x0)return undefined;if(b?.['dry_run']===!![])return undefined;try{const d=c['startsWith']('0x')?c:await LocalMark['Instance']()['get_address'](c)??undefined;if(!d)return undefined;const g=await query_objects({'objects':[d],'network':b?.['network'],'no_cache':!![]}),h=g?.['objects']?.[0x0]?.['data']??g?.['objects']?.[0x0],i=typeof h?.['progress']==='string'?h['progress']:undefined;if(!i)return undefined;const j=await query_objects({'objects':[i],'network':b?.['network'],'no_cache':!![]}),k=j?.['objects']?.[0x0]?.['data']??j?.['objects']?.[0x0],l=typeof k?.['machine']==='string'?k['machine']:undefined;if(!l)return undefined;const m=await fetchMachineNodes(l,b?.['network'],![]),o=[];for(const u of m){for(const v of u['pairs']){if(v['prev_node']!=='')continue;for(const w of v['forwards']){if(!w['name'])continue;o['push']({'forward':w,'target':u['name'],'threshold':v['threshold']});}}}if(o['length']===0x0)return undefined;const r=o['map'](x=>'\x22'+x['forward']['name']+'\x22\x20→\x20\x22'+x['target']+'\x22'+(x['forward']['guard']?'\x20[guarded]':''))['join'](';\x20'),s='onchain_operations\x20{\x20operation_type:\x20\x27progress\x27,\x20data:\x20{\x20object:\x20\x27'+i+'\x27,\x20'+('task:\x20\x27'+d+'\x27,\x20operate:\x20{\x20op:\x20\x27next\x27,\x20operation:\x20{\x20forward:\x20\x27<entry\x20forward>\x27,\x20')+'next_node_name:\x20\x27<target>\x27\x20}\x20}\x20}\x20}',t=o['length']===0x1&&!o[0x0]['forward']['guard']&&o[0x0]['forward']['namedOperator']===''&&o[0x0]['forward']['weight']>=o[0x0]['threshold'];if(t){const x=new CallProgress({'object':i,'task':d,'operate':{'op':'next','operation':{'forward':o[0x0]['forward']['name'],'next_node_name':o[0x0]['target']}}}),y=await x['call'](b),z=!!y&&typeof y==='object'&&y?.['effects']?.['status']?.['status']==='success';if(z)return'INITIAL\x20FORWARD\x20AUTO-APPLIED:\x20\x22'+o[0x0]['forward']['name']+'\x22\x20→\x20\x22'+o[0x0]['target']+'\x22\x20'+('(digest\x20'+(y?.['digest']??'n/a')+').\x20The\x20order\x20is\x20OPEN\x20for\x20business\x20—\x20the\x20')+'workflow\x20has\x20started,\x20counterparties\x20can\x20see\x20and\x20act\x20on\x20it\x20now.';const A=y&&typeof y==='object'?String(y?.['effects']?.['status']?.['error']??y?.['error']??'unknown\x20rejection'):'unknown\x20rejection';return'PENDING\x20INITIAL\x20FORWARD\x20(auto-apply\x20was\x20REJECTED,\x20funds\x20are\x20SAFE):\x20the\x20order\x20is\x20funded\x20but\x20'+('still\x20at\x20the\x20empty\x20entry\x20state\x20—\x20the\x20workflow\x20has\x20NOT\x20started.\x20Entry\x20forward:\x20'+r+'.\x20')+('Rejection:\x20'+A['slice'](0x0,0x12c)+'.\x20Apply\x20it\x20manually\x20once\x20the\x20cause\x20is\x20fixed:\x20'+s);}return'PENDING\x20INITIAL\x20FORWARD:\x20the\x20order\x20is\x20funded\x20but\x20still\x20at\x20the\x20empty\x20entry\x20state\x20—\x20the\x20workflow\x20'+('has\x20NOT\x20started\x20(abnb7\x20F37).\x20Entry\x20forward(s):\x20'+r+'.\x20This\x20MCP\x20auto-applies\x20only\x20an\x20')+('unguarded\x20single-forward\x20holder\x20entry;\x20this\x20entry\x20needs\x20a\x20manual\x20call:\x20'+s);}catch(B){return'PENDING\x20INITIAL\x20FORWARD\x20(auto-apply\x20probe\x20failed:\x20'+String(B?.['message']??B)['slice'](0x0,0xc8)+'):\x20the\x20'+'order\x20may\x20still\x20be\x20at\x20the\x20empty\x20entry\x20state\x20—\x20check\x20the\x20Progress\x27s\x20current\x20node\x20and\x20apply\x20the\x20'+'entry\x20forward\x20if\x20the\x20workflow\x20has\x20not\x20started\x20(query\x20the\x20order,\x20then\x20progress\x20operate\x20\x27next\x27).';}}async function verifyOrderNewLanded(a){const b=lastInFlightMarker('order_new');if(!b||b['status']==='landed')return undefined;try{const c=await query_events({'type':'NewOrderEvent','order':'descending','limit':0x32,'network':a,'no_cache':!![]});for(const d of c?.['data']??[]){if(d?.['type']!=='NewOrderEvent')continue;const e=matchOrderLandedEvent(b,{'order':d['order'],'progress':d['progress'],'service':d['service'],'sender':d['sender'],'time':d['time'],'digest':d?.['id']?.['txDigest']??d?.['id']?.['tx_digest']});if(e)return e;}}catch{}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 h(k,l,m,p,r){const t=new Set(['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','demand','order','proof']);if(!t['has'](m))return;if(!p||typeof p!=='object'||'error'in p)return;if(!p['digest'])return;if(r!==undefined)try{const u=collectOnChainNamedObjectRequests(r);if(u['length']>0x0){const x=await registerLocalMarksForCreatedObjects(u,ResponseData(p),m,{'getAddress':y=>LocalMark['Instance']()['get_address'](y),'put':y=>LocalMark['Instance']()['put'](y)});x['failed']['length']>0x0&&console['warn']('[nameRegistration]\x20'+x['failed']['length']+'\x20name(s)\x20could\x20not\x20be\x20registered\x20locally:\x20'+x['failed']['map'](y=>y['name']+'\x20('+y['error']+')')['join'](',\x20'));}}catch{}if(!k)return;try{const y=ResponseData(p),z=y['filter'](A=>A['change']==='created'&&A['object']);if(k&&z['length']>0x0){const A=z['filter'](B=>typeof B['type_raw']==='string'&&B['type_raw']['includes']('::'))['map'](B=>({'type':B['type_raw']['split']('::')['pop'](),'object':B['object']}));if(A['length']>0x0){const B=await goalEngine['registerActObjects'](k,A,l??'default');B>0x0&&console['warn']('[autoRegisterResults]\x20'+B+'\x20created\x20object(s)\x20registered\x20to\x20goal\x20'+k+'\x20(ACT\x20station)');}}}catch{}}try{if(typeof a==='object'&&a!==null&&'description'in a&&!('operation_type'in a)){const B=a['description'],C=typeof B==='string'&&(B['includes']('operation_type')||B['includes']('data'));if(C)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 k=getEnvConfig(b['env']),l=extractObjectOnlyRef(b);if(l!==undefined)return await queryObjectOnlyResult(b['operation_type'],l,k);try{const D=b['data']?.['object'];if(D&&typeof D==='object'&&D['replaceExistName']===!![]&&typeof D['name']==='string'&&D['name']['trim']()['length']>0x0){const E=await LocalMark['Instance']()['get'](D['name']['trim']());E?.['address']&&c['push']('NAME\x20REBIND:\x20local\x20name\x20\x27'+D['name']+'\x27\x20is\x20currently\x20bound\x20to\x20'+E['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'+D['name']+'\x27\x20will\x20point\x20to\x20the\x20NEW\x20object.\x20')+'If\x20this\x20is\x20unintentional,\x20drop\x20replaceExistName\x20or\x20choose\x20another\x20name.');}}catch{}if(!k['referrer']){const F=readStoredReferrer();if(F)k['referrer']=F;}if(k['network']==null)try{const G=await Config['Instance']()['network_get']();c['push']('env.network\x20not\x20set\x20—\x20routing\x20via\x20session\x20default\x20\x27'+String(G)+'\x27.\x20Pass\x20env.network\x20'+'explicitly\x20on\x20every\x20call\x20for\x20deterministic\x20routing\x20(the\x20response\x20network_source\x20echo\x20confirms\x20'+'which\x20network\x20served\x20the\x20call).');}catch{}if(k['dry_run']===!![]&&k['network']!=null)try{const H=await Config['Instance']()['network_get']();H&&H!==k['network']&&c['push']('NETWORK\x20DRIFT\x20(dry\x20run):\x20this\x20simulation\x20targets\x20\x27'+k['network']+'\x27\x20while\x20the\x20session\x20'+('default\x20is\x20\x27'+H+'\x27.\x20The\x20simulation\x20executed\x20(dry\x20runs\x20mutate\x20nothing),\x20but\x20the\x20')+('real\x20execution\x20WILL\x20land\x20on\x20\x27'+k['network']+'\x27\x20—\x20confirm\x20that\x20is\x20intended\x20before\x20dropping\x20dry_run.'));}catch{}const m=k['client_schema_version'],n=k['schema_strict_mode'],p=m?checkClientSchemaCompatibility(m,{'mode':n?'strict':'warn'}):undefined,r=(I,J,K)=>({'operation_type':b['operation_type'],'data':I,'expected':declareDispatchExpectation(b['operation_type'],I),'operation_id':stableOperationId(b['operation_type'],I),'pre_warnings':c['length']?c:undefined,'schema_check':p,'response_level':x,...J?{'evaluation':J}:{},...K?{'passport_test':K}:{}}),t=k['plan_approval'],u=k['network'],x=k['response_level'];if(k['confirmed']!==!![]){const I=await maybeGuardSubmissionConfirmation(b,k);if(I)return I;}delete k['confirmed'],delete k['user_intent_phrases'],delete k['client_schema_version'],delete k['response_level'],delete k['schema_strict_mode'],await resolveNamedObjectsInPlace(b['data']);const y=getSkillsHintForOnchain(b['operation_type'],b['data']);y&&c['push'](y);const z=getProjectSkillsHint();z&&c['push'](z);await assertReferencesResolve(b,k);switch(b['operation_type']){case'service':{const J=b['data'],K=await detectServiceGuardCircularDependency(J);if(K)return K;const L=await checkSalesWipNetworkDeployment(J,k,c);if(L)return L;const M=describeBenchmarkIssueRisk(J?.['discount']?.['benchmark']);M&&c['push'](M);if(typeof J?.['discount']?.['time_ms_start']==='number'&&J['discount']['time_ms_start']>Date['now']()){const a4=Math['round']((J['discount']['time_ms_start']-Date['now']())/0xea60);c['push']('COUPON\x20NOT\x20YET\x20LIVE:\x20this\x20discount\x27s\x20window\x20opens\x20at\x20'+new Date(J['discount']['time_ms_start'])['toISOString']()+'\x20'+('(in\x20~'+a4+'\x20min).\x20Until\x20then\x20every\x20spend\x20attempt\x20aborts\x20with\x20E_DISCOUNT_TIME_INVALID\x20')+'(buy\x20dry_run\x20code\x2035)\x20even\x20though\x20the\x20coupon\x20is\x20already\x20minted\x20and\x20listed\x20as\x20usable\x20—\x20'+'do\x20NOT\x20distribute\x20it\x20to\x20recipients\x20before\x20the\x20window\x20opens.');}const N=await checkDiscountFloorBeforeIssue(J,k?.['network'],{'resolveAddress':async a5=>LocalMark['Instance']()['get_address'](a5)['catch'](()=>undefined)??undefined,'fetchObjects':async(a5,a6)=>{const a7=await query_objects({'objects':a5,'network':a6});return a7?.['objects']??[];}});if(N['block'])return{'content':[{'type':'text','text':N['block']}],'structuredContent':{'result':{'type':'error','error':N['block'],'error_code':'discount_zero_floor','retryable':![],'recovery_hint':'Lower\x20discount_value\x20so\x20the\x20cheapest\x20SKU\x20still\x20pays\x20>=\x201\x20smallest\x20unit,\x20'+'switch\x20the\x20coupon\x20to\x20RATES\x20(type\x200)\x20with\x20a\x20value\x20below\x2010000,\x20or\x20declare\x20a\x20'+'deliberate\x20free\x20product\x20with\x20allow_zero_total:\x20true.'},'message':N['block']}};N['warning']&&c['push'](N['warning']);const O=await prepareFundOperation(J,'service',k?.['network']);if(O['blockingErrors']['length']>0x0)return buildFundBlockResult(O,'service');c['push'](...O['warnings']);if(O['confirmation']){c['push'](O['confirmation']['message']);const a5=a468b(O['confirmation']);if(a5)c['push'](a5);}await warnMerchantCompensationFundLow(J,k?.['network'],c);const P=J?.['order_allocators'];if(P&&typeof P==='object'){const a6=Array['isArray'](P['allocators'])?P['allocators']:[];for(let a7=0x0;a7<a6['length'];a7++){const a8=a6[a7],a9=Array['isArray'](a8?.['sharing'])?a8['sharing']:[];if(a9['length']<=0x1)continue;const aa=new Map();for(let ab=0x0;ab<a9['length'];ab++){const ac=a9[ab]?.['who'];let ad=typeof ac==='string'?ac:'';if(!ad){const af=classifyRecipient(ac);if(af?.['kind']==='entity')ad='Entity:'+af['address'];else{if(af?.['kind']==='signer')ad='Signer';else{if(af?.['kind']==='submission')ad='Guard:'+af['identifier'];else{if(ac)ad=JSON['stringify'](ac);}}}}if(!ad)continue;const ae=aa['get'](ad)??0x0;aa['set'](ad,ae+0x1);}for(const [ag,ah]of aa){ah>0x1&&c['push']('DUPLICATE\x20SHARING\x20ENTITY:\x20Allocator['+a7+']\x20has\x20entity\x20\x22'+ag+'\x22\x20appearing\x20'+ah+'\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'+ah*0x64+'%\x20to\x20the\x20same\x20entity.\x20')+'If\x20intentional,\x20ignore\x20this\x20warning.');}}}if(P){const ai=checkOrderAllocatorsPrePublish(P,c);if(ai)return ai;const aj=await checkEntityRecipientGate(P,'service.order_allocators',c);if(aj)return aj;warnAmountEscrowDeadlock(P,J?.['sales'],c);}const Q=b['data']?.['order_new']?.['buy']?.['items'];if(Array['isArray'](Q))for(const ak of Q){ak&&typeof ak==='object'&&'quantity'in ak&&!('stock'in ak)&&(ak['stock']=ak['quantity'],delete ak['quantity']);}const R=b['data']?.['order_new']?.['order_required_info'],S=typeof R==='string'?priorProofConsumptions(R):[];S['length']>0x0&&c['push']('PROOF\x20REUSE\x20(informational):\x20the\x20WTS\x20Proof\x20\x27'+R+'\x27\x20already\x20anchored\x20'+('order_required_info\x20'+S['length']+'\x20time(s)\x20earlier\x20this\x20session')+(S[0x0]?.['service']?'\x20(service:\x20'+S[0x0]['service']+')':'')+'.\x20Reuse\x20is\x20acceptable\x20and\x20privacy-preserving\x20—\x20a\x20Proof\x20records\x20the\x20contact\x20channel,\x20'+'not\x20an\x20order;\x20do\x20NOT\x20mint\x20a\x20per-order\x20proof\x20(that\x20would\x20publicly\x20link\x20orders).\x20'+'Acceptance\x20of\x20the\x20delivered\x20info\x20is\x20the\x20merchant\x27s\x20confirming\x20forward\x20on\x20this\x20order.');const T=await checkDiscountThresholdBeforeBuy(b['data']??J,k?.['network'],{'resolveAddress':async al=>LocalMark['Instance']()['get_address'](al)['catch'](()=>undefined)??undefined,'fetchObjects':async(al,am)=>{const an=await query_objects({'objects':al,'network':am});return an?.['objects']??[];}});if(T)return{'content':[{'type':'text','text':T}],'structuredContent':{'result':{'type':'error','error':T,'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':T}};let U=[];if(J?.['publish']===!![]){U=await collectArbitrationRefsForPublish(J,k);const al=await checkArbitrationsBeforePublish(U,k,c);if(al)return al;if(P){const am=await checkRefundRecipientSatisfiability(P,k,c);if(am)return am;}}warnPermissionAutoCreation(b['data'],'Service',c);const V=new CallService(b['data']);let W;try{W=b['submission']?await V['call_with_submission'](k,await transformSubmission(b['submission'])):await V['call'](k);}catch(an){const ao=an['message']??String(an);if(J?.['order_allocators_append']!=null&&(/allocation/i['test'](ao)&&(/MoveAbort\(.*,\s*20\s*\)/['test'](ao)||/abort code:\s*20\b/['test'](ao))||/EALLOCATORS_NOT_EXTENSION/i['test'](ao))){const ap=await describeAllocatorsNotExtensionDiff(J?.['object'],J['order_allocators_append'],k?.['network']);if(ap)throw new Error(ap+'\x0aOriginal\x20error:\x20'+ao);}if((J?.['order_new']?.['buy']?.['items']?.['length']??0x0)>0x0&&/coin not enough|E_COIN_NOT_ENOUGH|abort.*\b20\b/i['test'](ao))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'+ao));if(/not found|GetObjectExisted|resolve|LocalMark|failed to resolve/i['test'](ao)){const aq=typeof J?.['object']==='object'&&J?.['object']!==null?J['object']['permission']:undefined;throw new Error('DEPENDENCY\x20RESOLUTION\x20FAILED:\x20One\x20or\x20more\x20referenced\x20objects\x20could\x20not\x20be\x20resolved.\x0a'+('Original\x20error:\x20'+ao+'\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='+(J?.['machine']??'<none>')+',\x20')+('buy_guard='+(J?.['buy_guard']??'<none>')+',\x20')+('permission='+(aq??'<inline/new>')+',\x20')+('arbitrations='+describeArbitrationPayload(J?.['arbitrations'])));}throw an;}if(J?.['discount']!=null&&W?.['digest'])try{const ar=ResponseData(W)['filter'](as=>as?.['change']==='created'&&typeof as?.['type_raw']==='string'&&as['type_raw']['includes']('::service::Discount')&&typeof as?.['object']==='string');if(ar['length']>0x0){const as=J['discount'],at=as?.['time_ms_end']!=null?new Date(Number(as['time_ms_end']))['toISOString']():'n/a';if(ar['length']===0x1&&typeof as?.['name']==='string'&&as['name']['length']>0x0){const au=ar[0x0]['object'],av=await LocalMark['Instance']()['get_address'](as['name']);!av||av['toLowerCase']()===au['toLowerCase']()?(await LocalMark['Instance']()['put']([{'name':{'value':as['name']},'address':au}]),c['push']('DISCOUNT\x20ISSUED:\x20coupon\x20\x22'+as['name']+'\x22\x20is\x20live\x20at\x20'+au+'\x20(bound\x20to\x20this\x20service,\x20expires\x20'+at+',\x20single-use\x20—\x20burned\x20at\x20buy).\x20Reference\x20it\x20as\x20order_new.buy.discount:\x20\x22'+as['name']+'\x22\x20or\x20by\x20the\x20object\x20ID.')):c['push']('DISCOUNT\x20ISSUED:\x20coupon\x20\x22'+as['name']+'\x22\x20is\x20live\x20at\x20'+au+'\x20(expires\x20'+at+',\x20single-use).\x20LocalMark\x20name\x20\x22'+as['name']+'\x22\x20already\x20points\x20elsewhere\x20('+av+')\x20—\x20reference\x20the\x20coupon\x20by\x20its\x20object\x20ID\x20in\x20order_new.buy.discount.');}else c['push']('DISCOUNT\x20ISSUED:\x20'+ar['length']+'\x20coupon(s)\x20live\x20(expires\x20'+at+',\x20single-use\x20—\x20burned\x20at\x20buy):\x20'+(''+ar['slice'](0x0,0x5)['map'](aw=>aw['object'])['join'](',\x20')+(ar['length']>0x5?',\x20...':'')+'.\x20')+'Each\x20recipient\x20holds\x20their\x20own\x20copy;\x20reference\x20one\x20by\x20its\x20object\x20ID\x20in\x20order_new.buy.discount.');}}catch(aw){c['push']('DISCOUNT\x20ISSUED:\x20the\x20transaction\x20succeeded\x20but\x20coupon\x20disclosure\x20failed:\x20'+(aw?.['message']??String(aw)));}J?.['order_new']&&typeof R==='string'&&recordProofConsumption(R,typeof J?.['object']==='string'?J['object']:undefined);const X=J?.['object']!=null&&typeof J['object']==='object',Y=J?.['compensation_fund_add']!=null;X&&!Y&&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(X&&Y&&J?.['compensation_fund_add']?.['balance']!=null){const ax=J['compensation_fund_add']['balance'],ay=Array['isArray'](J?.['sales'])?J['sales']:Array['isArray'](J?.['sales']?.['sales'])?J['sales']['sales']:[],az=aM=>{if(typeof aM==='number'&&Number['isFinite'](aM))return aM;if(typeof aM==='string'&&/^\d+$/['test'](aM['trim']()))return Number(aM['trim']());return undefined;},aA=aM=>typeof aM==='string'&&/^\d*\.?\d+\s*[A-Za-z]{2,10}$/['test'](aM['trim']())?Number['parseFloat'](aM['trim']()):undefined,aB=ay['map'](aM=>aM?.['price'])['filter'](aM=>aM!=null),aC=az(ax),aD=aA(ax),aE=aB['map'](az),aF=aB['map'](aA),aG=aB['length']>0x0&&aE['every'](aM=>aM!==undefined)&&aC!==undefined,aH=aB['length']>0x0&&aF['every'](aM=>aM!==undefined)&&aD!==undefined,aI=aG?aC:aH?aD:undefined,aJ=aG?aE:aH?aF:[],aK=aJ['length']>0x0?Math['max'](...aJ):undefined,aL=0x3;aI!==undefined&&aK!==undefined&&aK>0x0&&aI<aL*aK&&c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20deposit\x20('+aI+')\x20is\x20less\x20than\x20'+(aL+'x\x20the\x20highest\x20SKU\x20price\x20('+aK+').\x20The\x20chain\x20caps\x20any\x20award\x20at\x20')+(aL+'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'+aL+'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 Z=J?.['publish']===!![];if(Z){const aM=new Set(['audit_compensation_fund','audit_arbitrations']),aN=auditService(J)['filter'](aO=>!aM['has'](aO['rule_id']));for(const aO of aN){const aP=aO['severity']==='error'?'[AUDIT\x20ERROR]\x20':aO['severity']==='warning'?'[AUDIT]\x20':'[INFO]\x20';c['push'](aP+aO['message']+(aO['recommendation']?'\x20—\x20'+aO['recommendation']:''));}}let a0=Z&&U['length']>0x0;if(!Z&&!a0&&Y){const aQ=await collectArbitrationRefsForPublish(J,k);a0=aQ['length']>0x0;}if(Z&&!a0&&Y)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).');Z&&!a0&&!Y&&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.');!Z&&Y&&!a0&&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 a1=await buildGuardSubmissionPrompt(W,'service',{'network':k?.['network'],'signer':k?.['account'],'service_address':typeof J?.['object']==='string'?J['object']:undefined});if(a1)c['push'](a1);let a2;if(J?.['order_new']&&typeof J?.['object']==='string'&&a468c('customer_intelligence'))try{a2=await evaluateServiceFromGraph(J['object'],{'context_network':k?.['network']});}catch{}const a3=handleCallResult(W,r(J,a2));return h(t,u,b['operation_type'],W,b['data'])['catch'](()=>{}),a3;}case'machine':{if(b['data']['node']&&typeof b['data']['node']==='object'&&'json_or_markdown_file'in b['data']['node']){const aY=b['data']['node']['json_or_markdown_file'];let aZ;try{const b1=resolve(aY);aZ=readFileSync(b1,'utf-8');}catch(b2){throw new Error('Failed\x20to\x20read\x20file\x20\x27'+aY+'\x27:\x20'+b2['message']);}const b0=parseMachineNodesFromText(aZ);if(!b0['success']){const b3=a468a(b0['errors']);throw new Error('Machine\x20node\x20validation\x20failed\x20for\x20file\x20\x27'+aY+'\x27:\x0a\x0a'+b3);}if(!b0['data'])throw new Error('No\x20nodes\x20found\x20in\x20file\x20\x27'+aY+'\x27');c['push']('json_or_markdown_file\x20mode:\x20file\x20\x27'+aY+'\x27\x20parsed\x20to\x20'+b0['data']['length']+'\x20node(s)\x20and\x20'+'mapped\x20to\x20op:\x27add\x27\x20+\x20bReplace:true\x20(complete\x20in-place\x20replacement).\x20op:\x27set\x27\x20is\x20not\x20used\x20because\x20'+'it\x20is\x20rejected\x20on\x20an\x20existing\x20Machine;\x20on\x20a\x20fresh\x20Machine\x20the\x20two\x20are\x20equivalent.'),b['data']['node']={'op':'add','nodes':b0['data'],'bReplace':!![]};if(b['data']?.['publish']===!![]){const b4=machinePublishGateViolation(b0['data']);if(b4)throw new Error('Machine\x20publish\x20pre-check\x20failed\x20for\x20file\x20\x27'+aY+'\x27:\x0a\x0a'+b4);}}const aR=b['data'],aS=await checkMachinePermissionBeforePublish(aR,k);aS&&c['push'](aS);const aT=aR?.['node']?.['nodes']??aR?.['node'];try{const b5=typeof aR?.['object']==='object'&&aR?.['object']!==null?aR['object']?.['name']:aR?.['object'];recordMachineNodeNames(b5,aT);}catch{}if(Array['isArray'](aT)){const b6=/^(dispute|disputed|arbitration|arb_|arb\.|resolve_dispute|start_arbitration|open_dispute)/i;for(const b7 of aT){const b8=typeof b7==='object'?b7?.['name']:'';typeof b8==='string'&&b6['test'](b8)&&c['push']('ARBITRATION\x20SEPARATION\x20WARNING:\x20Machine\x20node\x20\x22'+b8+'\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'](aT)){const b9=aT['map'](ba=>ba&&typeof ba==='object'&&ba['role']?ba['name']+'='+ba['role']:null)['filter'](Boolean);b9['length']>0x0&&c['push']('NODE\x20ROLES\x20(metadata):\x20'+b9['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 ba=Array['isArray'](aT)?aT:undefined,bb;if(!ba&&aR?.['publish']===!![]){const bc=await fetchChainAnchorContext(aR?.['object'],k);bc&&(ba=bc['nodes'],bb=bc['profiles']);}if(!aT&&aR?.['publish']===!![]&&ba){const bd=machinePublishGateViolation(ba);bd&&c['push']('PUBLISH\x20GATE\x20(on-chain\x20publish\x20check):\x20'+bd);}if(ba){const be=checkGuardAnchorReachability(ba,bb),bf=formatGuardAnchorWarnings(be);if(bf)c['push'](bf);}}catch{}warnPermissionAutoCreation(b['data'],'Machine',c);const aU=new CallMachine(b['data']),aV=b['submission']?await aU['call_with_submission'](k,await transformSubmission(b['submission'])):await aU['call'](k),aW=await buildGuardSubmissionPrompt(aV,'machine',{'network':k?.['network'],'signer':k?.['account'],'machine_address':b['data']?.['object']});if(aW)c['push'](aW);const aX=handleCallResult(aV,r(b['data']));return h(t,u,b['operation_type'],aV,b['data'])['catch'](()=>{}),aX;}case'progress':{if(b['data']?.['operate']){c['push']('Progress\x20routing\x20fact:\x20on\x20an\x20order-bound\x20Progress\x20this\x20operate\x20call\x20'+'auto-routes\x20to\x20the\x20order-bound\x20path,\x20so\x20namedOperator=\x22\x22\x20(order\x20payer)\x20'+'forwards\x20execute\x20here\x20directly\x20—\x20switching\x20to\x20order.progress\x20is\x20NOT\x20required.\x20'+'If\x20this\x20Progress\x20is\x20standalone\x20(no\x20task\x20binding),\x20namedOperator=\x22\x22\x20forwards\x20'+'cannot\x20be\x20advanced\x20by\x20anyone\x20(no\x20order\x20payer\x20exists);\x20use\x20a\x20non-empty\x20'+'namedOperator\x20or\x20a\x20permissionIndex\x20forward\x20instead.');const bj=String(b['data']?.['operate']?.['operation']?.['forward']??'');/review/i['test'](bj)&&!b['data']?.['operate']?.['message']&&c['push']('Review-forward\x20hint:\x20the\x20real\x20exec\x20path\x20de-facto\x20requires\x20operate.message\x20for\x20Review-type\x20'+'forwards\x20(schema\x20marks\x20it\x20optional;\x20a\x20no-message\x20Review\x20failed\x20repeatedly\x20on\x20mainnet\x20until\x20the\x20'+'message\x20was\x20added).\x20Include\x20message:\x20\x27<review\x20text>\x27\x20in\x20this\x20call');const bk=bj+'\x20'+String(b['data']?.['operate']?.['operation']?.['next_node_name']??'');(/return.*(recv|receive|inspect)/i['test'](bk)||/^returned$/i['test'](String(b['data']?.['operate']?.['operation']?.['next_node_name']??'')))&&c['push']('NO-RESTOCK\x20reminder:\x20on-chain\x20stock\x20is\x20never\x20auto-restocked\x20—\x20a\x20return\x20only\x20moves\x20the\x20'+'Progress,\x20the\x20inventory\x20listing\x20is\x20not\x20refilled\x20automatically.\x20If\x20the\x20returned\x20goods\x20are\x20'+'resellable,\x20restock\x20the\x20sellable\x20item\x20via\x20the\x20sales\x20listing\x20before\x20relisting.');}const bg=new CallProgress(b['data']),bh=b['submission']?await bg['call_with_submission'](k,await transformSubmission(b['submission'])):await bg['call'](k);if(!b['submission']&&bh&&typeof bh==='object'&&'submission'in bh){const bl=bh['submission'];if(Array['isArray'](bl)&&bl['length']>0x0){const bm=bl[0x0]?.['guard'];if(bm){const bn={'operation':'progress_next','network':k?.['network'],'signer':k?.['account'],'progress_address':b['data']?.['object'],'order_address':b['data']?.['task']},bo=await generateGuardSubmissionPrompt(bm,bn);bo&&c['push'](formatSubmissionPrompt(bo));}}}const bi=handleCallResult(bh,r(b['data']));if(bh&&typeof bh==='object'&&'digest'in bh&&bh?.['effects']?.['status']?.['status']==='success'&&typeof b['data']?.['object']==='string'){const bp=b['data']?.['operate'],bq=bp?.['operation'],br=await enrichWorkflowGuidance({'progressRef':b['data']['object'],'network':k?.['network'],'accountName':k?.['account'],'noCache':!![],'txResult':bh,'dryRun':k?.['dry_run']===!![],'compact':k?.['response_level']!=='full','operate':bq?.['forward']&&bq?.['next_node_name']?{'forward':bq['forward'],'next_node_name':bq['next_node_name'],'op':bp?.['op']}:undefined});mergeGuidanceIntoOutput(bi,br,{'responseLevel':k?.['response_level']});}if(bh&&typeof bh==='object'&&'digest'in bh&&bh?.['effects']?.['status']?.['status']==='success'&&b['data']?.['review']){const bs=await runReviewChain({'env':k,'submission':b['submission'],'review':b['data']['review'],'orderRef':typeof b['data']['task']==='string'?b['data']['task']:undefined});if(bs['length']>0x0)mergeReviewStepsIntoOutput(bi,bs);else{if(b['data']?.['review'])try{if(bi?.['structuredContent']&&typeof bi['structuredContent']==='object'){const bt=bi['structuredContent'];if(!bt['semantic']||typeof bt['semantic']!=='object')bt['semantic']={};bt['semantic']['warnings']=[...Array['isArray'](bt['semantic']['warnings'])?bt['semantic']['warnings']:[],'data.review\x20was\x20declared\x20but\x20produced\x20no\x20chained\x20steps\x20(missing\x20repository\x20and\x20reward_claim)\x20—\x20no\x20review\x20was\x20written\x20and\x20no\x20reward\x20was\x20claimed.'];}}catch{}}}return h(t,u,b['operation_type'],bh,b['data'])['catch'](()=>{}),bi;}case'repository':{const bu=new CallRepository(b['data']),bv=b['submission']?await bu['call_with_submission'](k,await transformSubmission(b['submission'])):await bu['call'](k),bw=await buildGuardSubmissionPrompt(bv,'repository',{'network':k?.['network'],'signer':k?.['account'],'extra':{'repository':b['data']?.['object']}});if(bw)c['push'](bw);const bx=handleCallResult(bv,r(b['data']));return h(t,u,b['operation_type'],bv,b['data'])['catch'](()=>{}),bx;}case'arbitration':{const by=await prepareFundOperation(b['data'],'arbitration',k?.['network']);if(by['blockingErrors']['length']>0x0)return buildFundBlockResult(by,'arbitration');c['push'](...by['warnings']);if(by['confirmation']){c['push'](by['confirmation']['message']);const bH=a468b(by['confirmation']);if(bH)c['push'](bH);}const bz=new CallArbitration(b['data']),bA=b['submission']?await bz['call_with_submission'](k,await transformSubmission(b['submission'])):await bz['call'](k),bB=await buildGuardSubmissionPrompt(bA,'arbitration',{'network':k?.['network'],'signer':k?.['account'],'extra':{'arbitration':b['data']?.['object']}});if(bB)c['push'](bB);const bC=b['data']?.['object'],bD=bC!==null&&typeof bC==='object';bD&&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).'));if(bD)try{const bI=b['data'],bJ=Array['isArray'](bI?.['voting_guard']?.['guards'])?bI['voting_guard']['guards']:[],bK=[];for(const bN of bJ){const bO=bN?.['vote_weight']?.['FixedValue'];if(typeof bO==='number'&&Number['isFinite'](bO)&&bO>=0x0)bK['push'](bO);}const bL=bK['reduce']((bP,bQ)=>bP+bQ,0x0),bM=checkArbitrationVenueOrder({'unpaused_at_creation':bI?.['pause']===![]?!![]:undefined,'voting_guard_count':bJ['length'],'max_weight_share':bJ['length']>0x0&&bK['length']===bJ['length']&&bL>0x0?Math['max'](...bK)/bL:undefined,'fee':bI?.['fee'],'has_description':typeof bI?.['description']==='string'&&bI['description']['trim']()!==''?!![]:bI?.['description']===undefined?![]:undefined})['filter'](bP=>bP['order_id']!=='V1-activation');for(const bP of bM)c['push'](bP['message']);c['push'](venueOperatingDoctrine());}catch{}const bE=b['data'],bF=bC!==null&&typeof bC==='string'&&bE?.['pause']===![];if(bF){const bQ=bz['content']?.['fee'],bR=bE?.['fee']??bQ,bS=bR===0x0||bR==='0'||bR==='0.0'||bR==='0WOW';bR!=null&&bS&&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 bG=handleCallResult(bA,r(b['data']));try{const bT=!!bA&&typeof bA==='object'&&bA?.['effects']?.['status']?.['status']==='success';if(bT){const bU=b['data'],bV=bU?.['vote']?.['arb']??bU?.['confirm']?.['arb']??bU?.['arbitration']?.['arb']??bU?.['reset']?.['arb']??bU?.['feedback']?.['arb']??bU?.['arb_withdraw']?.['arb']??bU?.['voting_deadline_change']?.['arb'],bW=bU?.['dispute']?.['order'];if(bV||bW){const bX=await buildOrderFundFacts({'arbRef':bV,'orderRef':bW,'network':k?.['network']});bX&&(bG['structuredContent']['order_fund_facts']=bX['structured'],bG['content']['push']({'type':'text','text':bX['text']}));}}}catch{}return h(t,u,b['operation_type'],bA,b['data'])['catch'](()=>{}),bG;}case'contact':{warnPermissionAutoCreation(b['data'],'Contact',c);const bY=new CallContact(b['data']),bZ=b['submission']?await bY['call_with_submission'](k,await transformSubmission(b['submission'])):await bY['call'](k),c0=await buildGuardSubmissionPrompt(bZ,'contact',{'network':k?.['network'],'signer':k?.['account']});if(c0)c['push'](c0);const c1=handleCallResult(bZ,r(b['data']));return h(t,u,b['operation_type'],bZ,b['data'])['catch'](()=>{}),c1;}case'treasury':{const c2=await prepareFundOperation(b['data'],'treasury',k?.['network']);if(c2['blockingErrors']['length']>0x0)return buildFundBlockResult(c2,'treasury');c['push'](...c2['warnings']);if(c2['confirmation']){c['push'](c2['confirmation']['message']);const c7=a468b(c2['confirmation']);if(c7)c['push'](c7);}const c3=new CallTreasury(b['data']),c4=b['submission']?await c3['call_with_submission'](k,await transformSubmission(b['submission'])):await c3['call'](k),c5=await buildGuardSubmissionPrompt(c4,'treasury',{'network':k?.['network'],'signer':k?.['account'],'extra':{'treasury':b['data']?.['object']}});if(c5)c['push'](c5);const c6=handleCallResult(c4,r(b['data']));return h(t,u,b['operation_type'],c4,b['data'])['catch'](()=>{}),c6;}case'reward':{const c8=await prepareFundOperation(b['data'],'reward',k?.['network']);if(c8['blockingErrors']['length']>0x0)return buildFundBlockResult(c8,'reward');c['push'](...c8['warnings']);if(c8['confirmation']){c['push'](c8['confirmation']['message']);const ce=a468b(c8['confirmation']);if(ce)c['push'](ce);}await assertRewardReplayStamp(b['data']?.['guard_add'],k?.['network'],c);const c9=transformRewardInput(b['data']),ca=new CallReward(c9),cb=b['submission']?await ca['call_with_submission'](k,await transformSubmission(b['submission'])):await ca['call'](k),cc=await buildGuardSubmissionPrompt(cb,'reward',{'network':k?.['network'],'signer':k?.['account'],'extra':{'reward':b['data']?.['object']}});if(cc)c['push'](cc);const cd=handleCallResult(cb,r(b['data']));return h(t,u,b['operation_type'],cb,b['data'])['catch'](()=>{}),cd;}case'allocation':{const cf=await prepareFundOperation(b['data'],'allocation',k?.['network']);if(cf['blockingErrors']['length']>0x0)return buildFundBlockResult(cf,'allocation');c['push'](...cf['warnings']);if(cf['confirmation']){c['push'](cf['confirmation']['message']);const cl=a468b(cf['confirmation']);if(cl)c['push'](cl);}if(b['data']?.['alloc_by_guard']&&b['submission']){const cm=new Set();for(const cn of b['submission']['submission']||[]){for(const co of cn?.['submission']||[]){const cp=typeof co?.['value']==='string'?co['value']:'';if(/^0x[0-9a-fA-F]{64}$/['test'](cp))cm['add'](cp);}}if(cm['size']>0x0)try{const cq=(await batchQueryObjectsByIds([...cm],k?.['network'],!![]))['filter'](cr=>cr?.['type']==='Order');for(const cr of cq){typeof cr['claimed_by']==='string'&&cr['claimed_by']['startsWith']('0x')&&c['push']('⚠\x20MUTUAL-EXCLUSION:\x20Order\x20'+cr['object']+'\x20already\x20received\x20arbitration\x20'+('compensation\x20(claimed_by='+cr['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 cs=await checkEntityRecipientGate(b['data']?.['allocators'],'allocation.allocators',c);if(cs)return cs;}const cg=new CallAllocation(b['data']),ch=b['submission']?await cg['call_with_submission'](k,await transformSubmission(b['submission'])):await cg['call'](k),ci=await buildGuardSubmissionPrompt(ch,'allocation',{'network':k?.['network'],'signer':k?.['account'],'allocation_address':b['data']?.['object']});if(ci)c['push'](ci);const cj=b['data'];if(cj?.['alloc_by_guard']){const ct=ResponseData(ch)['filter'](cu=>cu?.['type']==='Payment'&&cu?.['change']==='created');if(ct['length']>0x0){const cu=ct['map'](cv=>cv['object'])['join'](',\x20');try{const cv=await batchQueryObjectsByIds(ct['map'](cA=>cA['object']),k?.['network'],!![]),cw=[];let cx=BigInt(0x0);const cy=[];let cz=![];for(const cA of cv){if(cA?.['type']==='Payment'&&cA?.['record']){for(const cB of cA['record']){const cC=formatRecipientLabel(cB['recipient']),cD=typeof cB['amount']==='string'?cB['amount']:String(cB['amount']),cE=BigInt(cD);cx+=cE,cw['push']('\x20\x20•\x20'+cC+':\x20'+formatMistAmount(cE));const cF=classifyRecipient(cB['recipient']);if(cF?.['kind']==='entity'&&k?.['account']&&cF['address']['toLowerCase']()===String(k['account'])['toLowerCase']())cz=!![],cy['push']('\x20\x20•\x20'+cC+':\x20ALREADY\x20SPENDABLE\x20by\x20you\x20(caller\x20==\x20recipient,\x20auto-unwrapped\x20in\x20this\x20transaction\x20—\x20no\x20claim\x20step;\x20a\x20follow-up\x20payment\x20receive\x20will\x20correctly\x20report\x20no\x20pending\x20claim)');else{if(cF?.['kind']==='submission')cy['push']('\x20\x20•\x20'+cC+':\x20the\x20ORDER\x20OWNER\x20receives\x20—\x20call\x20the\x20order\x27s\x20receive/claim\x20entry');else{if(cF?.['kind']==='signer')cy['push']('\x20\x20•\x20'+cC+':\x20the\x20CALLER\x20receives\x20—\x20payment\x20receive\x20as\x20the\x20caller');else cF?.['kind']==='entity'?cy['push']('\x20\x20•\x20'+cC+':\x20that\x20account\x20receives\x20—\x20payment\x20receive\x20as\x20'+formatRecipientLabel(cB['recipient'])):cy['push']('\x20\x20•\x20'+cC+':\x20query\x20the\x20Payment\x20object\x27s\x20record\x20for\x20the\x20claim\x20path');}}}cA['object']&&cw['push']('\x20\x20•\x20Payment\x20object:\x20'+cA['object']);}}if(cw['length']>0x0){cw['unshift']('DISTRIBUTION\x20DETAILS\x20(alloc_by_guard):'),cw['push']('\x20\x20─────────────────','\x20\x20•\x20Total\x20distributed:\x20'+formatMistAmount(cx));const cG=cv['some'](cH=>cH?.['type']==='Payment'&&cH?.['info']?.['for_object']);cG&&(cx===BigInt(0x0)?cw['push']('','ESCROW\x20MODE\x20(nothing\x20owed):\x20total\x20distributed\x20is\x200\x20—\x20'+'nothing\x20is\x20being\x20held\x20for\x20claiming\x20and\x20no\x20distribution\x20is\x20pending.'):(cw['push']('','ESCROW\x20MODE:\x20funds\x20are\x20held\x20in\x20the\x20Payment\x20wrapper(s)\x20above\x20'+'(Payment.for_object\x20points\x20to\x20an\x20Order)\x20—\x20claim\x20entry\x20PER\x20ROW:',...cy,'Note:\x20the\x20slot\x20number\x20shown\x20per\x20row\x20is\x20that\x20rail\x27s\x20DECLARED\x20'+'GuardIdentifier\x20(a\x20254\x20rail\x20legitimately\x20shows\x20254)\x20—\x20do\x20NOT\x20'+'infer\x20slot\x200\x20from\x20this\x20receipt.'),cz&&cw['push']('AUTO-CLAIMED:\x20at\x20least\x20one\x20row\x20had\x20caller\x20==\x20recipient\x20—\x20that\x20share\x20'+'was\x20unwrapped\x20inside\x20THIS\x20transaction\x20and\x20is\x20already\x20spendable;\x20no\x20claim\x20step\x20remains.'))),c['push'](cw['join']('\x0a'));}}catch{c['push']('alloc_by_guard\x20created\x20Payment\x20object(s)\x20['+cu+'].\x20'+'Query\x20these\x20Payment\x20objects\x20to\x20see\x20the\x20distribution\x20details\x20and\x20check\x20for_object\x20for\x20escrow\x20mode.');}}else k?.['dry_run']===!![]?c['push']('DRY\x20RUN\x20(alloc_by_guard\x20'+cj['alloc_by_guard']+'):\x20simulation\x20succeeded.\x20'+'No\x20Payment\x20objects\x20exist\x20because\x20dry\x20runs\x20materialize\x20nothing\x20—\x20this\x20is\x20NOT\x20a\x20'+'\x22nothing\x20distributed\x22\x20signal.\x20Evaluate\x20the\x20sharing\x20plan\x20from\x20the\x20dry-run\x20balance\x20'+'output\x20above;\x20re-run\x20without\x20dry_run\x20to\x20execute.'):c['push']('NOTHING\x20DISTRIBUTED\x20(alloc_by_guard\x20'+cj['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 ck=handleCallResult(ch,r(b['data']));return h(t,u,b['operation_type'],ch,b['data'])['catch'](()=>{}),ck;}case'permission':{const cH=b['operation_type'],cI=handlePermissionOperations(b['data'],k,r,c);return cI&&typeof cI==='object'&&'then'in cI&&cI['then'](cJ=>{cJ?.['structuredContent']?.['result']&&h(t,u,cH,cJ['structuredContent']['result'],b['data'])['catch'](()=>{});})['catch'](()=>{}),cI;}case'guard':{const cJ=b['data'],cK=cJ['root'];if(cK?.['type']==='file'){const cP=cK,cQ=resolve(cP['file_path']);let cR;try{cR=readFileSync(cQ,'utf-8');}catch(cU){throw new Error('Failed\x20to\x20read\x20Guard\x20definition\x20file\x20\x27'+cP['file_path']+'\x27:\x20'+cU['message']);}const cS=parseGuardFile(cR,cP['format']);if(!cS['success']){const cV=formatGuardParseErrors(cS['errors']);throw new Error('Guard\x20validation\x20failed\x20for\x20file\x20\x27'+cP['file_path']+'\x27:\x0a\x0a'+cV);}const cT=cS['data'];cJ['root']={'type':'node','node':cT['root']},cT['table']!==undefined&&cJ['table']===undefined&&(cJ['table']=cT['table']),cT['description']!==undefined&&cJ['description']===undefined&&(cJ['description']=cT['description']),cT['rely']!==undefined&&cJ['rely']===undefined&&(cJ['rely']=cT['rely']),cT['namedNew']!==undefined&&cJ['namedNew']===undefined&&(cJ['namedNew']=cT['namedNew']);}if(cJ['root']&&typeof cJ['root']==='object'){const cW=cJ['root'];cW['type']==='node'&&cW['node']&&(cJ['root']=cW['node']);}if(!cJ['table']||cJ['table']['length']===0x0)throw new Error('Guard\x20\x27table\x27\x20field\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(!cJ['root'])throw new Error('Guard\x20\x27root\x27\x20field\x20is\x20required');const cL=cJ['table']['filter'](cX=>cX['b_submission']===![]&&Array['isArray'](cX['value'])&&cX['value']['length']===0x0);if(cL['length']>0x0)throw new Error('Guard\x20creation\x20blocked:\x20static\x20table\x20slot(s)\x20'+cL['map'](cX=>cX['identifier'])['join'](',\x20')+'\x20'+'carry\x20an\x20EMPTY\x20array\x20value.\x20Guard\x20table\x20construction\x20silently\x20DROPS\x20empty\x20vectors\x20—\x20these\x20rows\x20would\x20be\x20'+'MISSING\x20from\x20the\x20created\x20Guard\x20while\x20creation\x20still\x20succeeds.\x20Give\x20each\x20slot\x20a\x20non-empty\x20static\x20value,\x20'+'or\x20flip\x20it\x20to\x20b_submission=true\x20and\x20supply\x20the\x20value\x20at\x20Guard\x20trigger\x20time\x20'+'(protocol\x20once-slots:\x20255\x20keys\x20on\x20the\x20submitted\x20bytes,\x20254\x20on\x20the\x20chain-derived\x20object\x20key).');try{const cX=lintGuardNodeGates(parseGuardNodeGates(cJ['root'],cJ['table']));if(cX)c['push'](cX);}catch{}const cM=new CallGuard(cJ);let cN;try{cN=await cM['call'](k);}catch(cY){const cZ=cY instanceof Error?cY['message']:String(cY),d0=translateGuardTypeError(cZ);throw d0?new Error(d0):cY;}if(cN&&typeof cN==='object'&&'digest'in cN&&cN?.['effects']?.['status']?.['status']==='success'){try{const d1=ResponseData(cN)['filter'](d3=>d3['change']==='created'&&typeof d3['type_raw']==='string'&&d3['type_raw']['includes']('::guard::'))['map'](d3=>String(d3['object']))[0x0],d2=cJ['namedNew']?.['name'];console['warn']('[ConfirmGate]\x20guard\x20created\x20—\x20name='+(d2??'<unnamed>')+(d1!==undefined?'\x20address='+d1:'')+('\x20digest='+(cN['digest']??'?')));}catch{}try{const d3=cJ['root']?.['type']??'<unknown>',d4=Array['isArray'](cJ['table'])?cJ['table']:[],d5=d4['length'],d6=d4['filter'](dc=>dc?.['b_submission']===!![])['length'],d7=cJ['rely']?.['guards'],d8=Array['isArray'](d7)?d7['length']:0x0,d9=cJ['rely']?.['logic_or']===!![]?'OR':cJ['rely']?.['logic_or']===![]?'AND':'none',da=['GUARD\x20LOGIC\x20SUMMARY:','\x20\x20•\x20root\x20type:\x20'+d3,'\x20\x20•\x20table\x20entries:\x20'+d5+'\x20('+d6+'\x20require\x20runtime\x20submission)'],db=d4['filter'](dc=>dc?.['b_submission']===!![]);for(const dc of db){const dd=typeof dc?.['value_type']==='string'?dc['value_type']:String(dc?.['value_type']??'?');da['push']('\x20\x20•\x20submission\x20slot\x20'+dc?.['identifier']+':\x20value_type='+dd+'\x20—\x20forwards\x20bound\x20to\x20this\x20Guard\x20'+('must\x20advance\x20with\x20submissions:[{identifier:'+dc?.['identifier']+',\x20value_type:\x22'+dd+'\x22}]\x20')+'(Address\x20slots:\x20pass\x20the\x20Order\x20object\x20address)');}d8>0x0&&da['push']('\x20\x20•\x20relies\x20on:\x20'+d8+'\x20guard(s)\x20(mode:\x20'+d9+')');if(cJ['description']){const de=String(cJ['description'])['slice'](0x0,0x50);da['push']('\x20\x20•\x20description:\x20\x22'+de+'\x22');}c['push'](da['join']('\x0a'));}catch{}try{const df=parseGuardTimeBounds(cJ['root'],cJ['table']);if(df){const dg=[],dh=cJ['namedNew']?.['name'];typeof dh==='string'&&dh['trim']()&&dg['push'](dh['trim']());try{const dj=ResponseData(cN)['filter'](dk=>dk['change']==='created'&&dk['object']&&typeof dk['type_raw']==='string'&&dk['type_raw']['includes']('::guard::'))['map'](dk=>String(dk['object']));dg['push'](...dj);}catch{}if(dg['length']>0x0)recordGuardTimeProfile(dg,df);const di=df['upperWindowMs']!==undefined?'Clock\x20<=\x20'+df['anchor']+'\x20+\x20'+df['upperWindowMs']+'ms':'Clock\x20>=\x20'+df['anchor']+'\x20+\x20'+df['lowerOffsetMs']+'ms';c['push']('TIME\x20ANCHOR:\x20this\x20Guard\x20uses\x20'+di+'.\x20'+(df['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{}try{const dk=ResponseData(cN)['filter'](dl=>dl['change']==='created'&&typeof dl['type_raw']==='string'&&dl['type_raw']['includes']('::guard::'))['map'](dl=>String(dl['object']));for(const dl of dk){const dm=await loadGuardJsonFromChain(dl,k?.['network']);if(!dm)continue;const dn=diffGuardSpecVsChain({'table':cJ['table'],'root':cJ['root'],'rely':cJ['rely']},dm['json']);c['push'](dn['summary']);}}catch{}}const cO=handleCallResult(cN,r(b['data']));return h(t,u,b['operation_type'],cN,b['data'])['catch'](()=>{}),cO;}case'personal':{const dp=transformPersonalInput(b['data']),dq=new CallPersonal(dp),dr=await dq['call'](k),ds=handleCallResult(dr,r(b['data']));return h(t,u,b['operation_type'],dr,b['data'])['catch'](()=>{}),ds;}case'payment':{const dt=await prepareFundOperation(b['data'],'payment',k?.['network']);if(dt['blockingErrors']['length']>0x0)return buildFundBlockResult(dt,'payment');c['push'](...dt['warnings']);if(dt['confirmation']){c['push'](dt['confirmation']['message']);const dy=a468b(dt['confirmation']);if(dy)c['push'](dy);}const du=b['data'];if(du?.['receive']===!![]){const dz=typeof du?.['object']==='string'&&du['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'+(dz?'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'+(dz?'\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(du?.['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 dA=du?.['object']?.['type_parameter']??'0x2::wow::WOW';for(const dB of du['revenue']){const dC=dB?.['amount'];if(dC&&typeof dC==='object'&&typeof dC['balance']==='string'){const dD=await parseAmount(dC['balance'],dA,k?.['network']);dD?.['smallestUnit']!=null&&(dC['balance']=dD['smallestUnit']<=BigInt(Number['MAX_SAFE_INTEGER'])?Number(dD['smallestUnit']):dD['smallestUnit']['toString']());}}}}const dv=new CallPayment(b['data']);let dw;try{dw=await dv['call'](k);}catch(dE){const dF=dE instanceof Error?dE['message']:String(dE);if(/is not a CoinWrapper/i['test'](dF)&&/already unwrapped or auto-claimed/i['test'](dF)){const dG=typeof b['data']?.['object']==='string'?b['data']['object']:'(unknown)';return{'content':[{'type':'text','text':'No\x20pending\x20claim:\x20'+dG+'\x20was\x20already\x20unwrapped/claimed\x20—\x20the\x20funds\x20are\x20'+'spendable\x20in\x20the\x20wallet.\x20Nothing\x20to\x20receive;\x20do\x20NOT\x20retry.\x20'+'Verify\x20the\x20arrival\x20with\x20account_balance\x20or\x20query_toolkit\x20onchain_received.'}],'structuredContent':{'outcome':'executed','result':{'type':'null'},'message':'No\x20pending\x20claim\x20—\x20'+dG+'\x20was\x20already\x20unwrapped/claimed\x20during\x20settlement\x20(expected\x20post-claim\x20state,\x20not\x20an\x20error).','semantic':{'intent':'payment_receive','status':'success','summary':'No\x20pending\x20claim:\x20'+dG+'\x20was\x20already\x20unwrapped\x20or\x20auto-claimed\x20during\x20settlement;\x20the\x20funds\x20are\x20already\x20spendable.','next_actions':[{'action':'Verify\x20the\x20arrival','reason':'The\x20wrapper\x20was\x20already\x20unwrapped/claimed\x20—\x20confirm\x20the\x20funds\x20are\x20spendable','tool':'account_operation','priority':'recommended'}],'warnings':['Receive\x20skipped\x20for\x20'+dG+':\x20no\x20live\x20CoinWrapper\x20remains\x20under\x20this\x20id.']}}};}throw dE;}const dx=handleCallResult(dw,r(b['data']));return h(t,u,b['operation_type'],dw,b['data'])['catch'](()=>{}),dx;}case'demand':{const dH=new CallDemand(b['data']),dI=b['submission']?await dH['call_with_submission'](k,await transformSubmission(b['submission'])):await dH['call'](k),dJ=await buildGuardSubmissionPrompt(dI,'demand',{'network':k?.['network'],'signer':k?.['account'],'extra':{'demand':b['data']?.['object']}});if(dJ)c['push'](dJ);const dK=handleCallResult(dI,r(b['data']));return h(t,u,b['operation_type'],dI,b['data'])['catch'](()=>{}),dK;}case'order':{b['data']?.['progress']&&(c['push']('Order\x20routing\x20fact:\x20order.progress\x20runs\x20the\x20order-bound\x20path\x20—\x20it\x20passes\x20'+'namedOperator=\x22\x22\x20forwards\x20for\x20the\x20order\x20payer/agents,\x20and\x20non-empty\x20'+'namedOperator\x20or\x20permissionIndex\x20forwards\x20for\x20senders\x20entitled\x20by\x20them\x20'+'(same\x20checks\x20as\x20the\x20Progress-level\x20path).\x20On\x20an\x20order-bound\x20Progress,\x20'+'workflow_operation\x20operate\x20auto-routes\x20to\x20this\x20same\x20path.'),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 dL=b['data']?.['arb_claim_compensation'];if(dL&&typeof b['data']?.['object']==='string')try{const dR=b['data']['object'],dS=dR['startsWith']('0x')?dR:await LocalMark['Instance']()['get_address'](dR)??undefined;if(dS){const dT=await query_objects({'objects':[dS],'no_cache':!![],'network':k?.['network']}),dU=dT?.['objects']?.[0x0],dV=dU?.['data']??dU,dW=dV?.['service'],dX=readRawOnchainAmount(dV?.['amount']);let dY;if(dW){const e1=await query_objects({'objects':[dW],'no_cache':!![],'network':k?.['network']}),e2=e1?.['objects']?.[0x0];dY=readRawOnchainAmount((e2?.['data']??e2)?.['compensation_fund']);}let dZ;const e0=dL?.['arb'];if(typeof e0==='string'){const e3=e0['startsWith']('0x')?e0:await LocalMark['Instance']()['get_address'](e0)??undefined;if(e3){const e4=await query_objects({'objects':[e3],'no_cache':!![],'network':k?.['network']});dZ=readRawOnchainAmount(e4?.['objects']?.[0x0]?.['data']?.['indemnity']);}}if(dY===0x0&&dZ!==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(dY!==undefined&&dZ!==undefined&&dY<dZ)c['push']('COMPENSATION\x20POOL\x20UNDERFUNDED:\x20compensation_fund\x20('+dY+'\x20raw\x20units)\x20is\x20less\x20than\x20'+('the\x20ruled\x20indemnity\x20('+dZ+'\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(dY!==undefined&&dX!==undefined&&dX>0x0&&dY<0x3*dX)c['push']('COMPENSATION\x20COVERAGE\x20BELOW\x20CEILING:\x20compensation_fund\x20('+dY+')\x20is\x20less\x20than\x20'+('3x\x20the\x20order\x20amount\x20('+dX+')\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 dY!==undefined&&dY>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.\x20A\x20settled\x20claim\x20does\x20NOT\x20'+'seal\x20the\x20order:\x20a\x20later\x20refund-track\x20alloc\x20can\x20still\x20split\x20AND\x20pay\x20out\x20the\x20escrow\x20'+'(the\x20owner\x20receive\x20entries\x20are\x20deliberately\x20ungated,\x20order.move:213-234)\x20—\x20enforce\x20'+'any\x20refund-vs-claim\x20exclusion\x20by\x20gating\x20the\x20refund\x20allocator\x20on\x20order.claimed_by\x20'+'some==false\x20at\x20configuration\x20time.\x20The\x20provider\x20release\x20track\x20(direct\x20transfer)\x20'+'stays\x20usable.');}}}}catch{}let dM;if(b['data']?.['order_new']){const e5=await probeOrderNewWipReachability(b['data'],k?.['network']);if(e5)return e5;const e6=await deriveTotalPayIfOmitted(b['data'],k?.['network']);if(e6)c['push'](e6);dM=beginInFlight('order_new',b['data'],k);}const dN=new CallOrder(b['data']),dO=b['submission']?await dN['call_with_submission'](k,await transformSubmission(b['submission'])):await dN['call'](k);if(dM)recordInFlightOutcome(dM,dO);if(b['data']?.['receive']!=null&&dO&&typeof dO==='object'&&dO?.['effects']?.['status']?.['status']==='success'){const e7=dO['effects'],e8=Array['isArray'](e7?.['objectChanges'])?e7['objectChanges']:Array['isArray'](dO?.['objectChanges'])?dO['objectChanges']:[],e9=ee=>String(ee??'')['includes']('::coin::Coin'),ea=e8['filter'](ee=>ee?.['type']==='created'&&e9(ee?.['objectType'])),eb=e8['filter'](ee=>ee?.['type']==='mutated'&&e9(ee?.['objectType'])),ec=Array['isArray'](e7?.['balanceChanges'])?e7['balanceChanges']:[],ed=ec['length']?'Balance\x20delta\x20this\x20tx:\x20'+ec['map'](ee=>{const ef=typeof ee?.['owner']==='object'&&ee?.['owner']!==null?String(ee['owner']['AddressOwner']??ee['owner']['ObjectOwner']??''):String(ee?.['owner']??'');return(ef||'(unknown)')+'\x20'+(ee?.['amount']??'?')+'\x20('+(String(ee?.['coinType']??'')['split']('::')['pop']()??'')+')';})['join'](';\x20'):'';c['push']('RECEIVE\x20RECEIPT:\x20claimed\x20'+ea['length']+'\x20object(s)\x20into\x20the\x20wallet'+(ea['length']?'\x20('+ea['map'](ee=>ee?.['objectId'])['join'](',\x20')+')':'')+(ed?'.\x20'+ed+'.':'')+(eb['length']?'\x20'+eb['length']+'\x20existing\x20coin(s)\x20consolidated/used\x20for\x20gas\x20(mutations,\x20NOT\x20new\x20funds).':'')+(ea['length']===0x0?'\x20NO_PENDING_CLAIM:\x20this\x20enumeration\x20found\x20nothing\x20claimable\x20—\x20a\x20coin\x20merge\x20may\x20still\x20have\x20run,\x20so\x20verify\x20arrival\x20on\x20the\x20AGGREGATE\x20balance\x20(account_balance),\x20never\x20on\x20created[].':'\x20A\x20claimed\x20refund\x20typically\x20arrives\x20as\x20its\x20OWN\x20Coin\x20object\x20—\x20the\x20balance\x20aggregate\x20may\x20show\x20it\x20as\x20a\x20second\x20coin,\x20so\x20consolidate\x20before\x20pricing\x20the\x20next\x20payment.'));}if(dL){const ee=!!dO&&typeof dO==='object'&&dO?.['effects']?.['status']?.['status']==='success';let ef;if(ee&&typeof b['data']?.['object']==='string')try{const eh=b['data']['object'],ei=eh['startsWith']('0x')?eh:await LocalMark['Instance']()['get_address'](eh)??undefined;let ej;if(ei){const ek=await query_objects({'objects':[ei],'no_cache':!![],'network':k?.['network']}),el=ek?.['objects']?.[0x0];ej=(el?.['data']??el)?.['progress'];}ef=await autoHoldAfterClaim(k,eh,ej);}catch{}const eg=['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(ef&&(ef['held']['length']||ef['notHoldable']['length']||ef['failed']['length']))ef['held']['length']&&eg['push']('Auto-hold\x20applied\x20to:\x20'+ef['held']['join'](',\x20')+'\x20—\x20a\x20courtesy\x20Progress\x20hold,\x20NOT\x20a\x20chain-level\x20freeze.\x20Forwards\x20may\x20still\x20be\x20executable\x20by\x20other\x20permissioned\x20operators\x20and\x20the\x20machine\x20keeps\x20advancing;\x20the\x20post-claim\x20fund\x20safety\x20is\x20structural\x20(a\x20second\x20payout\x20via\x20alloc\x20fails\x20—\x20allocator\x20claimed_by\x20leg),\x20not\x20a\x20settlement\x20freeze.'),ef['notHoldable']['length']&&eg['push']('NOT\x20holdable\x20by\x20this\x20account\x20(needs\x20merchant/keeper\x20to\x20run\x20order\x20hold):\x20'+ef['notHoldable']['join'](',\x20')+'.'),ef['failed']['length']&&eg['push']('Hold\x20attempted\x20but\x20failed\x20(retry,\x20or\x20have\x20merchant/keeper\x20hold\x20manually):\x20'+ef['failed']['join'](',\x20')+'.'),ef['held']['length']===0x0&&eg['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 ee?eg['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.'):eg['push']('The\x20claim\x20did\x20not\x20succeed,\x20so\x20no\x20hold\x20was\x20attempted;\x20rerun\x20after\x20fixing\x20the\x20cause\x20above.');c['push'](eg['join']('\x20'));}const dP=await buildGuardSubmissionPrompt(dO,'order',{'network':k?.['network'],'signer':k?.['account'],'order_address':b['data']?.['object']});if(dP)c['push'](dP);if(b['data']?.['order_new']&&dO&&typeof dO==='object'&&dO?.['effects']?.['status']?.['status']==='success'&&dO?.['digest']){const em=await applyInitialForwardAfterOrderNew(b['data'],k);if(em)c['push'](em);}const dQ=handleCallResult(dO,r(b['data']));if(dO&&typeof dO==='object'&&'digest'in dO&&dO?.['effects']?.['status']?.['status']==='success'&&b['data']?.['progress']&&typeof b['data']?.['object']==='string')try{const en=b['data']['object'],eo=en['startsWith']('0x')?en:await LocalMark['Instance']()['get_address'](en)??undefined;let ep;if(eo){const eq=await query_objects({'objects':[eo],'no_cache':!![],'network':k?.['network']}),er=eq?.['objects']?.[0x0];ep=(er?.['data']??er)?.['progress'];}if(ep){const es=b['data']['progress']?.['operation'],et=await enrichWorkflowGuidance({'progressRef':ep,'network':k?.['network'],'accountName':k?.['account'],'noCache':!![],'txResult':dO,'dryRun':k?.['dry_run']===!![],'compact':k?.['response_level']!=='full','operate':es?.['forward']&&es?.['next_node_name']?{'forward':es['forward'],'next_node_name':es['next_node_name'],'op':b['data']['progress']?.['op']}:undefined});mergeGuidanceIntoOutput(dQ,et,{'responseLevel':k?.['response_level']});}}catch{}return h(t,u,b['operation_type'],dO,b['data'])['catch'](()=>{}),dQ;}case'gen_passport':{const eu=await gen_passport(k,b['guard'],b['info']);let ev;try{const ex=Array['isArray'](eu?.['objectChanges'])?eu['objectChanges']:[],ey=ex['find'](eA=>eA?.['type']==='created'&&typeof eA?.['objectType']==='string'&&/::passport::Passport$/['test'](eA['objectType'])),ez=ey?.['objectId'];if(ez){const eA=await query_objects({'objects':[ez],'no_cache':!![],'network':k?.['network']}),eB=eA?.['objects']?.[0x0],eC=eB?.['data']??eB;eC&&typeof eC==='object'&&typeof eC['result']==='boolean'&&(ev={'passport_id':ez,'result':eC['result']===!![],'has_verified':eC['has_verified']===!![],'info':Array['isArray'](eC['guard'])?eC['guard']['map'](eD=>({'guard':String(eD?.['guard']??eD??''),'result':eD?.['result']===!![],...typeof eD?.['impack']==='boolean'?{'impack':eD['impack']}:{}})):undefined});}}catch{}const ew=handleCallResult(eu,r(b['data'],undefined,ev));try{for(const eD of b['guard']??[]){const eE=typeof eD==='string'?eD:eD?.['object'];if(typeof eE!=='string'||eE==='')continue;const eF=await loadGuardJsonFromChain(eE,k?.['network']);if(!eF)continue;const eG=(eF['json']['table']??[])['some'](eH=>eH?.['identifier']===0xfe&&eH?.['b_submission']===!![]&&eH?.['value_type']==='Address');!eG&&c['push']('PROTOCOL\x20SLOT\x20254\x20MISSING\x20on\x20Guard\x20\x27'+(eF['name']??eF['guard'])+'\x27:\x20the\x20table\x20declares\x20no\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x22Address\x22}\x20row\x20(task\x20binding).\x20A\x20passport\x20built\x20now\x20can\x20never\x20satisfy\x20the\x20on-chain\x20task-binding\x20check\x20on\x20an\x20order-driven\x20Progress\x20forward\x20(abort\x20code\x2011)\x20—\x20the\x20passport\x20only\x20emits\x20DECLARED\x20table\x20rows.\x20Fix\x20BEFORE\x20binding/publishing:\x20export\x20the\x20guard\x20(guard2file),\x20add\x20the\x20254\x20declaration,\x20create\x20a\x20NEW\x20Guard,\x20and\x20rebind\x20—\x20tables\x20freeze\x20at\x20creation.');}}catch{}return h(t,u,b['operation_type'],eu,b['data'])['catch'](()=>{}),ew;}case'proof':{const eH=new CallProof(b['data']),eI=b['submission']?await eH['call_with_submission'](k,await transformSubmission(b['submission'])):await eH['call'](k),eJ=await buildGuardSubmissionPrompt(eI,'proof',{'network':k?.['network'],'signer':k?.['account']});if(eJ)c['push'](eJ);const eK=handleCallResult(eI,r(b['data']));return h(t,u,b['operation_type'],eI,b['data'])['catch'](()=>{}),eK;}case'gen_proof':{const eL=await gen_proof(k,b['proof'],b['server_pubkey'],b['server_signature'],b['proof_type'],b['description'],b['item_count'],b['about_address']),eM=handleCallResult(eL,r(b['data']));return h(t,u,b['operation_type'],eL,b['data'])['catch'](()=>{}),eM;}}const A=b;throw new Error('Unknown\x20on-chain\x20operation\x20type:\x20'+String(A['operation_type']));}catch(eN){let eO=eN instanceof Error?eN['message']:String(eN);const eP=b?.['operation_type'],eQ=b&&'data'in b?b['data']:undefined,eR=b&&b['env']?b['env']['network']:undefined;try{const eS=await diagnoseGuardFailure(b,eO);if(eS)eO=eO+'\x0a'+eS;}catch{}if(eP==='service'&&eQ?.['order_new']){const eT=await verifyOrderNewLanded(eR)['catch'](()=>undefined),eU=eT??describeLastInFlight('order_new');if(eU)eO=eO+'\x0a'+eU;}try{const eV=await resolveNetwork(eR);eO+=eR?'\x0a[network:\x20attempted\x20=\x20'+eV+'\x20(explicitly\x20requested)]':'\x0a[network:\x20attempted\x20=\x20'+eV+'\x20(session\x20default\x20—\x20pass\x20env.network\x20to\x20pin\x20a\x20specific\x20network)]';}catch{}return handleCallResult({'error':eO},eP?{'operation_type':eP,'data':eQ,'operation_id':stableOperationId(eP,eQ)}:undefined);}}
|