@wowok/agent-mcp 3.3.3 → 3.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chain-semantics/eval-order.d.ts +17 -0
- package/dist/chain-semantics/eval-order.js +1 -0
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/index.d.ts +1 -0
- package/dist/chain-semantics/index.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.d.ts +4 -1
- package/dist/composition/compile.js +1 -1
- package/dist/data/api/api.spec.d.ts +1 -0
- package/dist/data/api/api.spec.js +1 -0
- package/dist/data/api/cli.d.ts +1 -0
- package/dist/data/api/cli.js +1 -0
- package/dist/data/api/head.d.ts +16 -0
- package/dist/data/api/head.js +1 -0
- package/dist/data/api/head.spec.d.ts +1 -0
- package/dist/data/api/head.spec.js +1 -0
- package/dist/data/api/index.d.ts +2 -0
- package/dist/data/api/index.js +1 -0
- package/dist/data/api/match.d.ts +69 -0
- package/dist/data/api/match.js +1 -0
- package/dist/data/api/match.spec.d.ts +1 -0
- package/dist/data/api/match.spec.js +1 -0
- package/dist/data/api/server.d.ts +12 -0
- package/dist/data/api/server.js +1 -0
- package/dist/data/projection/cli.d.ts +1 -0
- package/dist/data/projection/cli.js +1 -0
- package/dist/data/projection/edges.d.ts +8 -0
- package/dist/data/projection/edges.js +1 -0
- package/dist/data/projection/edges.spec.d.ts +1 -0
- package/dist/data/projection/edges.spec.js +1 -0
- package/dist/data/projection/facets.d.ts +18 -0
- package/dist/data/projection/facets.js +1 -0
- package/dist/data/projection/facets.spec.d.ts +1 -0
- package/dist/data/projection/facets.spec.js +1 -0
- package/dist/data/projection/facts.d.ts +40 -0
- package/dist/data/projection/facts.js +1 -0
- package/dist/data/projection/index.d.ts +6 -0
- package/dist/data/projection/index.js +1 -0
- package/dist/data/projection/project.d.ts +10 -0
- package/dist/data/projection/project.js +1 -0
- package/dist/data/projection/projection.spec.d.ts +1 -0
- package/dist/data/projection/projection.spec.js +1 -0
- package/dist/data/projection/schema.d.ts +1 -0
- package/dist/data/projection/schema.js +1 -0
- package/dist/data/projection/store.d.ts +49 -0
- package/dist/data/projection/store.js +1 -0
- package/dist/data/projection/types.d.ts +137 -0
- package/dist/data/projection/types.js +1 -0
- package/dist/data/sync/cdc.d.ts +34 -0
- package/dist/data/sync/cdc.js +1 -0
- package/dist/data/sync/cdc.spec.d.ts +1 -0
- package/dist/data/sync/cdc.spec.js +1 -0
- package/dist/data/sync/graphql-source.d.ts +16 -0
- package/dist/data/sync/graphql-source.js +1 -0
- package/dist/data/sync/index.d.ts +5 -0
- package/dist/data/sync/index.js +1 -0
- package/dist/data/sync/reconciler.d.ts +14 -0
- package/dist/data/sync/reconciler.js +1 -0
- package/dist/data/sync/reconciler.spec.d.ts +1 -0
- package/dist/data/sync/reconciler.spec.js +1 -0
- package/dist/data/sync/schema.d.ts +1 -0
- package/dist/data/sync/schema.js +1 -0
- package/dist/data/sync/store.d.ts +19 -0
- package/dist/data/sync/store.js +1 -0
- package/dist/data/sync/sync.spec.d.ts +1 -0
- package/dist/data/sync/sync.spec.js +1 -0
- package/dist/data/sync/synchronizer.d.ts +10 -0
- package/dist/data/sync/synchronizer.js +1 -0
- package/dist/data/sync/types.d.ts +162 -0
- package/dist/data/sync/types.js +1 -0
- package/dist/evaluation/builtins/demand-match.js +1 -1
- package/dist/evaluation/builtins/graph-service.spec.js +1 -1
- package/dist/evaluation/capability.d.ts +1 -0
- package/dist/evaluation/engine.js +1 -1
- package/dist/evaluation/extract.d.ts +7 -1
- package/dist/evaluation/extract.js +1 -1
- package/dist/evaluation/match-policy.d.ts +118 -0
- package/dist/evaluation/match-policy.js +1 -0
- package/dist/evaluation/match-policy.spec.d.ts +1 -0
- package/dist/evaluation/match-policy.spec.js +1 -0
- package/dist/evaluation/node-game.d.ts +3 -0
- package/dist/evaluation/node-game.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/baselines/rules/plan.json +16 -1
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.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-ledger.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.d.ts +26 -10
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/projection.d.ts +54 -0
- package/dist/knowledge/projection.js +1 -0
- package/dist/knowledge/projection.spec.d.ts +1 -0
- package/dist/knowledge/projection.spec.js +1 -0
- package/dist/knowledge/recipient-constraint.d.ts +9 -0
- package/dist/knowledge/recipient-constraint.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +1 -0
- package/dist/knowledge/service-ledger.d.ts +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/template-loader.d.ts +1 -0
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/node-action-advisor.js +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/object-panorama.js +1 -1
- 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/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/role/profiles.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.d.ts +25 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +1 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/order.d.ts +12 -0
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/proof.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/evaluation/index.d.ts +189 -0
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/local/index.d.ts +10 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/operations.d.ts +4 -0
- package/dist/schema/query/bi.d.ts +8 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +147 -0
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +2 -1
- package/dist/schemas/bridge_operation.output.json +2 -1
- package/dist/schemas/evaluation_operation.output.json +384 -2
- package/dist/schemas/evaluation_operation.schema.json +202 -4
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/keeper_operation.output.json +1 -1
- package/dist/schemas/local_cache_operation.output.json +2 -1
- package/dist/schemas/local_history_operation.output.json +2 -1
- package/dist/schemas/local_info_operation.output.json +2 -1
- package/dist/schemas/local_mark_operation.output.json +2 -1
- package/dist/schemas/messenger_operation.output.json +1 -1
- package/dist/schemas/monitor_events.output.json +1 -1
- package/dist/schemas/monitor_subscription.output.json +1 -1
- package/dist/schemas/onchain_events.output.json +1 -1
- package/dist/schemas/onchain_operations.output.json +35 -4
- package/dist/schemas/onchain_operations.schema.json +687 -103
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +660 -94
- package/dist/schemas/onchain_operations_order.schema.json +19 -1
- package/dist/schemas/onchain_operations_progress.schema.json +2 -2
- package/dist/schemas/onchain_operations_service.schema.json +4 -4
- package/dist/schemas/onchain_table_data.output.json +2 -2
- package/dist/schemas/query_toolkit.output.json +316 -1
- package/dist/schemas/query_toolkit.schema.json +1 -1
- package/dist/schemas/wowok_buildin_info.output.json +259 -0
- package/dist/schemas/wowok_buildin_info.schema.json +121 -0
- package/dist/tools/build-fingerprint.d.ts +28 -0
- package/dist/tools/build-fingerprint.js +1 -0
- package/dist/tools/handlers/benchmark-migration.d.ts +4 -2
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/evaluation.spec.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +7 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.d.ts +9 -13
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/upgrade-check.d.ts +1 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{strictParse,WatchQueryOperationsSchema,OnchainTableDataSchema,OnchainEventsInputSchema,ProtocolInfoQuerySchema}from'../../schema/index.js';import{checkUpgrade}from'../upgrade-check.js';import{getUniversalTemplate}from'../../knowledge/universal-template.js';import{getGettingStarted}from'../../knowledge/getting-started.js';import{query_local_mark_list,query_account_list,query_local_info_list,query_local_token_list,query_account,GetLocalNamesByAddresses,query_personal,query_table,query_tableItem,queryTableItem_RepositoryData,queryTableItem_PermissionPerm,queryTableItem_RewardRecord,queryTableItem_DemandPresenter,queryTableItem_TreasuryHistory,queryTableItem_MachineNode,queryTableItem_ProgressHistory,queryTableItem_AddressMark,queryTableItem_EntityRegistrar,queryTableItem_EntityLinker,queryTableItem_EntityContact,queryTableItem_ObjectLinkerCore,queryTableItem_ObjectLinkerTx,queryTableItem_EntityOrder,queryOrdersByUser,query_affiliations,query_address_profile,query_address_profiles,objectTypeFromAddress,ObjectType,query_received,queryProtocolInfo,query_events,query_transaction,query_object_history,query_address_activity,query_checkpoint,generateNodeComments,query_object_last_updated,Config,LocalMark,ENTRYPOINT}from'@wowok/wowok';import{resolveSupplyChainGraph}from'../../knowledge/supply-chain.js';import{SCENARIO_CHAINS,SCENARIO_BRIDGE_REGISTRY,SCENARIO_TOPOLOGY_VERSION}from'../../knowledge/scenario-topology.js';import{assembleContext}from'../../playbooks/service-build/context-assembly.js';import{buildMachineGraph,fetchMachineNodes}from'../../playbooks/service-build/machine-nodes.js';import{generateBusinessReport}from'../../playbooks/service-build/reverse-mapping.js';import{handleServicePanorama}from'../../playbooks/service-build/service-panorama.js';import{handleServiceQuote}from'../../playbooks/service-build/service-quote.js';import{handleMachinePanorama}from'../../playbooks/service-build/machine-panorama.js';import{handleObjectPanorama}from'../../playbooks/service-build/object-panorama.js';import{handleParticipationRadar}from'../../playbooks/service-build/participation-radar.js';import{handleRelationshipProfile}from'../../playbooks/service-build/relationship-profile.js';import{handleOnchainTopology}from'../../playbooks/service-build/topology-query.js';import{buildUserInjection}from'../../evaluation/injection.js';import{handleReviewPack}from'../../review/index.js';import{buildWorkspaceLists}from'../../knowledge/workspace-lists.js';import{buildAccountMarks}from'../../knowledge/account-marks.js';import{migrationPreflight}from'../../knowledge/migration-preflight.js';import{buildDataSemantic}from'../../schema/call/semantic.js';import{enrichWorkflowGuidance}from'../../knowledge/workflow-guidance.js';import{buildOrderFundFacts}from'../../knowledge/arb-fund-facts.js';import{batchQueryObjectsByIds,fetchServiceOrders,lastUnresolvedInputs,LINKER_RING_LIMIT}from'../../graph/onchain/sdk-batch.js';import{recoverObjectHeldReceipts}from'../../graph/onchain/object-held-receipts.js';import{formatChainValue,annotateObjectMonetaryFields,annotateTableItemMonetaryFields,annotateEventsMonetaryFields,annotateBalanceChanges,resolveParentObjectTokenType,convertTokenValue}from'../../knowledge/fund-layer.js';import{normalizeAccountOrMark}from'./messenger.js';function ownerAddrOf(a){if(typeof a==='string')return a;const b=a;if(b&&typeof b==='object'){if(typeof b['AddressOwner']==='string')return b['AddressOwner'];if(typeof b['ObjectOwner']==='string')return b['ObjectOwner'];const c=Object['values'](b)['find'](d=>typeof d==='string'&&d['length']>0x14);if(typeof c==='string')return c;}return null;}const serviceCoinTypeCache=new Map();async function coinTypesOfServices(a,b){const c=new Map();if(!a||a['length']===0x0)return c;const d=[];for(const e of a){const f=(b??'')+'|'+e['toLowerCase'](),h=serviceCoinTypeCache['get'](f);if(h!==undefined)c['set'](e,h);else d['push'](e);}if(d['length']===0x0)return c;try{const i=await batchQueryObjectsByIds(d,b);for(const j of i){if(!j?.['object'])continue;const k=j?.['type_raw']??j?.['type']??'',l=k['match'](/<(.+)>$/);if(!l)continue;serviceCoinTypeCache['set']((b??'')+'|'+String(j['object'])['toLowerCase'](),l[0x1]),c['set'](j['object'],l[0x1]);}}catch{}return c;}async function mergeServiceAnalysis(a,b){const c=a?.['object'],d=a?.['kind']==='Service'||c&&(c['type']==='Service'||(c['type_raw']??'')['includes']('::service::'));if(!d||!a)return;let e=null;try{const s=await query_object_last_updated({'object':a['address'],'network':b['network']});s?.['timestamp_ms']&&(e={'timestamp_ms':s['timestamp_ms'],'digest':s['digest'],'sender':s['sender']});}catch{}const f=a?.['reverse_core'],g=a?.['reverse_tx'],h=Array['isArray'](f?.['items'])?f['items']['length']:0x0,i=Array['isArray'](g?.['items'])?g['items']['length']:0x0,j=(i>0x0?g['items']:[])['filter'](t=>objectTypeFromAddress(t?.['who'])===ObjectType['Order']),k=j['length'],l=k>=LINKER_RING_LIMIT,m=Array['isArray'](a?.['reputation']?.['votes'])?a['reputation']['votes']:[],n=c?.['type_raw']??c?.['type']??'',o=n['match'](/<(.+)>$/),p=o?o[0x1]:null,q=p?(p['split']('::')['pop']()??p)['toUpperCase']():null,r=Array['isArray'](c?.['sales'])?c['sales']:[];a['service_analysis']={'description':c?.['description']??null,'sales_count':r['length'],'live_sales_count':r['filter'](t=>t&&!t['suspension'])['length'],'paused_sales_count':r['filter'](t=>t&&t['suspension'])['length'],'orders_count':k,'orders_count_truncated':l,'like_count':m['filter'](t=>t&&t['like'])['length'],'dislike_count':m['filter'](t=>t&&t['dislike'])['length'],'favor_count':m['filter'](t=>t&&t['favor'])['length'],'votes':m['map'](t=>({'who':t?.['who']??null,'like':!!t?.['like'],'dislike':!!t?.['dislike'],'favor':!!t?.['favor'],'time':t?.['time']??null})),'coin_type':p,'token_symbol':q,'location':c?.['location']??null,'bPublished':c?.['bPublished']??null,'bPaused':c?.['bPaused']??null,'related_core_count':h,'related_tx_count':i,'related_object_count':h+i,'onchain_last_updated':e};}export function buildProfileFollowUps(a){if(!a||typeof a!=='object')return[];const b=typeof a['address']==='string'?a['address']:undefined;if(!b)return[];const c=a['kind']==='user'||!a['is_system_singleton']&&!a['object'],d=[];if(c){const e=Array['isArray'](a['permission_membership']?.['items'])?a['permission_membership']['items']:[],f=Array['isArray'](a['order_membership']?.['items'])?a['order_membership']['items']:[];e['length']>0x0&&d['push']({'label':'Permission\x20organizations\x20('+e['length']+')','detail':'Expand\x20each\x20Permission\x20the\x20address\x20belongs\x20to\x20—\x20owner/admin/entity\x20standing\x20and\x20what\x20the\x20org\x20governs.','call':{'query_type':'onchain_objects','objects':e['map'](g=>g['who'])['filter'](Boolean)}}),f['length']>0x0&&d['push']({'label':'Order\x20footprint\x20('+f['length']+')','detail':'The\x20orders\x20this\x20address\x20participates\x20in\x20(buyer\x20vs\x20operator\x20roles).','call':{'query_type':'onchain_table_item_entity_order','address':b}}),d['push']({'label':'Public\x20personal\x20profile','detail':'Social/IM\x20links,\x20public\x20info\x20records,\x20voting\x20history,\x20referrer.','call':{'query_type':'onchain_personal_profile','address':b}}),d['push']({'label':'Reverse\x20map','detail':'Related\x20objects\x20and\x20the\x20deterministic\x20business\x20report\x20for\x20this\x20address.','call':{'query_type':'reverse_map','context_objects':[b]}});}else a['object']&&d['push']({'label':'Full\x20object\x20body','detail':'The\x20complete\x20on-chain\x20object\x20fields\x20(one\x20targeted\x20read).','call':{'query_type':'onchain_objects','objects':[b]}}),d['push']({'label':'Reverse\x20map','detail':'Related\x20objects\x20and\x20the\x20deterministic\x20business\x20report.','call':{'query_type':'reverse_map','context_objects':[b]}});return d['push']({'label':'Recent\x20on-chain\x20activity','detail':'Newest\x20transactions\x20touching\x20this\x20address.','call':{'query_type':'onchain_address_activity','address':b}}),d['slice'](0x0,0x3);}async function annotateAccountBalance(a,b){if(!a||typeof a!=='object')return;const e={},f=(j,k)=>{if(j===null||j===undefined)return undefined;if(typeof j!=='string'&&typeof j!=='number'&&typeof j!=='bigint')return undefined;if(typeof k!=='string'||!k)return undefined;return formatChainValue(j,k,b);},g=a['balance'];if(g&&typeof g==='object'){const j=g['coinType'],k=await f(g['totalBalance'],j);if(k)e['balance.totalBalance']=k;if(g['lockedBalance']!==undefined){const l=await f(g['lockedBalance'],j);if(l)e['balance.lockedBalance']=l;}}const h=a['coin']?.['data'];if(Array['isArray'](h))for(let m=0x0;m<h['length'];m++){const n=h[m],o=await f(n?.['balance'],n?.['coinType']);if(o)e['coin.data['+m+'].balance']=o;}if(Object['keys'](e)['length']>0x0){if(b)for(const p of Object['keys'](e)){const q=e[p];e[p]={...q,'text':q['text']+'\x20—\x20network:\x20'+b};}a['_money_display']=e;}}export function balanceScopeNote(a){return a?'The\x20balance\x20figure\x20reflects\x20the\x20aggregated\x20total\x20only;\x20the\x20coin\x20list\x20below\x20is\x20just\x20the\x20FIRST\x20PAGE\x20(top\x205)\x20'+'of\x20independently\x20owned\x20Coin\x20objects\x20—\x20a\x20refund\x20can\x20land\x20as\x20its\x20own\x20Coin\x20object\x20beyond\x20this\x20page.\x20'+'Verify\x20fund\x20arrival\x20via\x20the\x20transaction\x20digest\x20(onchain_transaction)\x20or\x20the\x20full\x20coin-object\x20listing\x20'+'(coin={cursor,limit})\x20before\x20drawing\x20conclusions.':'The\x20balance\x20figure\x20reflects\x20the\x20aggregated\x20total\x20only;\x20independently\x20owned\x20Coin\x20objects\x20are\x20not\x20'+'enumerated\x20here\x20—\x20verify\x20fund\x20arrival\x20via\x20the\x20transaction\x20digest\x20or\x20a\x20coin-objects\x20query\x20before\x20'+'drawing\x20conclusions.';}const NETWORK_FIELD_BY_QUERY={'account_balance':'network','onchain_personal_profile':'network','onchain_objects':'network','onchain_received':'network','onchain_transaction':'network','onchain_block':'network','onchain_object_history':'network','onchain_last_updated':'network','onchain_address_activity':'network','token_value_convert':'network','address_profile':'network','address_profiles':'network','service_supply_chain':'network','assemble_context':'context_network','reverse_map':'context_network','service_panorama':'context_network','service_quote':'context_network','machine_panorama':'context_network','object_panorama':'context_network','review_pack':'context_network','participation_radar':'context_network','relationship_profile':'context_network','onchain_topology':'context_network','workspace_lists':'context_network','marks_of_account':'context_network'};function requestedNetworkForQuery(a,b){const c=NETWORK_FIELD_BY_QUERY[b];if(!c)return undefined;const d=a[c];return typeof d==='string'&&d['length']>0x0?d:undefined;}const LOCAL_FAMILY_QUERIES=new Set(['local_mark_list','account_list','local_info_list','token_list','local_names']);function normalizeNetworkFieldAlias(a){const b=a['query_type'];if(typeof b!=='string')return;if(LOCAL_FAMILY_QUERIES['has'](b)){delete a['network'],delete a['context_network'];return;}const c=NETWORK_FIELD_BY_QUERY[b];if(!c)return;const d=c==='network'?'context_network':'network';a[c]===undefined&&a[d]!==undefined&&(a[c]=a[d],delete a[d]);}export async function handleWatchQueryOperations(a){let c=a;if(a!==null&&typeof a==='object'&&!Array['isArray'](a)){const l={...a};normalizeNetworkFieldAlias(l),c=l;}const d=strictParse(WatchQueryOperationsSchema,c,'watch_and_query\x20input');let f,g,h;switch(d['query_type']){case'local_mark_list':{const m=await query_local_mark_list(d['filter']||{});f={'query_type':'local_mark_list','result':m};break;}case'account_list':{const n=await query_account_list(d['filter']);f={'query_type':'account_list','result':n};break;}case'local_info_list':{const o=await query_local_info_list(d['filter'],d['account']);f={'query_type':'local_info_list','result':o};break;}case'token_list':{const p=await query_local_token_list(d['filter']||{});f={'query_type':'token_list','result':p};break;}case'account_balance':{const q=await query_account({'name_or_address':d['name_or_address'],'token_type':d['token_type'],'balance':d['balance'],'coin':d['coin'],'network':d['network']}),r=d['network']??await Config['Instance']()['network_get']();await annotateAccountBalance(q,r);let s=![];if(q['balance']&&!d['coin']&&!q['object']&&!q['hint'])try{const t=await query_account({'name_or_address':d['name_or_address'],'coin':{'cursor':null,'limit':0x5},'token_type':d['token_type'],'network':d['network']});t['coin']&&(q['coin']=t['coin'],s=!![]);}catch{}q['_balance_scope_note']=balanceScopeNote(s),f={'query_type':'account_balance','result':q};break;}case'local_names':{const u=await GetLocalNamesByAddresses(d['addresses']);f={'query_type':'local_names','result':u};break;}case'onchain_personal_profile':{const v=await query_personal({'account':d['account'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_personal_profile','result':v};break;}case'onchain_objects':{const w=d['no_cache']??!![],x=await batchQueryObjectsByIds(d['objects'],d['network'],w),y=lastUnresolvedInputs(),z={'objects':x,'_read_freshness':{'source':w?'live':'session_cache','no_cache':w,'fetched_at':new Date()['toISOString'](),'note':w?'Forced-fresh\x20read.\x20This\x20is\x20the\x20DEFAULT\x20because\x20a\x20stale\x20value\x20here\x20can\x20invert\x20a\x20fund-movement\x20conclusion.':'Session\x20cache\x20was\x20used\x20(no_cache:false).\x20Pass\x20no_cache:true\x20before\x20concluding\x20that\x20money\x20did\x20or\x20did\x20not\x20move.'},...x['length']===0x0&&y['length']>0x0?{'_empty_reason':{'kind':'unresolved_inputs','unresolved':y,'note':'These\x20inputs\x20resolved\x20to\x20neither\x20a\x20registered\x20LocalMark\x20nor\x20a\x20valid\x20address\x20on\x20network\x20\x27'+(d['network']??'current')+'\x27.\x20LocalMark\x20names\x20are\x20NETWORK-SCOPED\x20—\x20an\x20object\x20created\x20on\x20testnet\x20is\x20invisible\x20on\x20localnet/mainnet.\x20Either\x20register\x20the\x20mark\x20here\x20(local_mark_operation)\x20or\x20pass\x20the\x20full\x200x\x20address.\x20This\x20is\x20NOT\x20evidence\x20that\x20the\x20objects\x20are\x20absent\x20on\x20chain.'}}:{},...x['length']<d['objects']['length']?{'_unreturned':{'requested':d['objects']['length'],'returned':x['length'],'missing':d['objects']['map'](A=>typeof A==='string'?A:A?.['name_or_address']??A?.['object']??A?.['address'])['filter'](A=>typeof A==='string'&&A!=='')['filter'](A=>!x['some'](B=>typeof B?.['object']==='string'&&B['object']['toLowerCase']()===A['toLowerCase']())),'note':'These\x20requested\x20ids\x20were\x20NOT\x20returned\x20—\x20either\x20absent\x20on\x20chain,\x20filtered\x20by\x20the\x20reader\x27s\x20type\x20support,\x20or\x20unparseable.\x20This\x20is\x20NOT\x20proof\x20of\x20nonexistence:\x20verify\x20via\x20an\x20alternative\x20read\x20(object_panorama\x20/\x20a\x20direct\x20address\x20query)\x20before\x20concluding\x20an\x20object\x20is\x20gone.'}}:{}};if(z&&z['objects']&&Array['isArray'](z['objects'])){z['objects']=z['objects']['map'](A=>{if(A&&A['data']&&A['data']['type']==='Guard'&&A['data']['root'])try{const B=generateNodeComments(A['data']['root']);return{...A,'_guard_node_comments':B};}catch(C){return A;}return A;}),z['objects']=z['objects']['map'](A=>{if(A&&A['data']&&A['data']['type']==='Progress'&&A['data']['current']===''){const B=A['data']['machine'],C=A['data']['task'];return{...A,'_diagnostic':{'issue':'Progress.current\x20is\x20empty\x20—\x20order\x20workflow\x20is\x20stuck\x20at\x20the\x20initial\x20state','cause':'The\x20Machine\x27s\x20entry\x20node\x20(prev_node=\x27\x27)\x20likely\x20has\x20no\x20forwards\x20defined.\x20'+'When\x20Progress\x20starts,\x20it\x20looks\x20up\x20the\x20entry\x20node\x27s\x20forwards\x20to\x20determine\x20'+'the\x20next\x20node.\x20Without\x20forwards,\x20Progress\x20cannot\x20advance\x20and\x20the\x20order\x20'+'is\x20permanently\x20stuck.','machine_object_id':B??null,'bound_order_id':C??null,'fix':['1.\x20Query\x20the\x20Machine\x20object\x20(use\x20query_toolkit\x20with\x20query_type=\x27onchain_objects\x27\x20and\x20objects=['+JSON['stringify'](B)+']).','2.\x20Inspect\x20node.pairs\x20for\x20the\x20entry\x20node\x20(prev_node=\x27\x27).','3.\x20If\x20forwards\x20is\x20empty:\x20this\x20is\x20the\x20root\x20cause.\x20The\x20Machine\x20must\x20be\x20republished\x20with\x20at\x20least\x20one\x20forward\x20on\x20the\x20entry\x20node.','4.\x20To\x20republish:\x20clone\x20the\x20Machine\x20nodes,\x20add\x20a\x20forward\x20to\x20the\x20entry\x20node\x27s\x20pairs,\x20then\x20create\x20a\x20new\x20Machine\x20(Machine\x20nodes\x20are\x20immutable\x20after\x20publish\x20—\x20see\x20P0-2\x20schema\x20validation\x20that\x20now\x20blocks\x20this).','5.\x20Rebind\x20the\x20new\x20Machine\x20to\x20the\x20Service\x20(service.machine\x20field)\x20and\x20create\x20a\x20new\x20Order\x20to\x20test.'],'reference':'P0-2\x20schema\x20refinement\x20in\x20MachineNodePairSchema\x20ensures\x20new\x20Machines\x20cannot\x20be\x20published\x20with\x20empty\x20entry-node\x20forwards.\x20This\x20diagnostic\x20catches\x20legacy\x20Machines\x20that\x20predate\x20the\x20fix.'}};}return A;});for(const A of z['objects']){const B=A?.['data']??A;if((A?.['type']??B?.['type'])!=='Progress')continue;const C=A?.['object']??B?.['object'];if(!C)continue;try{const D=await enrichWorkflowGuidance({'progressRef':C,'network':d['network'],'noCache':d['no_cache']});if(D?.['guidance']){A['_workflow_guidance']=D['guidance'];if(D['text'])A['_workflow_guidance_text']=D['text'];}}catch{}}for(const E of z['objects']){const F=E?.['data']??E;if((E?.['type']??F?.['type'])!=='Arb')continue;const G=E?.['object']??F?.['object'];if(!G)continue;try{const H=await buildOrderFundFacts({'arbRef':G,'network':d['network'],'noCache':w});H&&(E['_order_fund_facts']=H['structured'],E['_order_fund_facts_text']=H['text']);}catch{}}for(const I of z['objects']){try{await annotateObjectMonetaryFields(I,d['network']);}catch{}}}f={'query_type':'onchain_objects','result':z};break;}case'onchain_received':{const J=d['name_or_address'],K=typeof J==='string'?J:J?.['name_or_address'],L=await query_received({'name_or_address':normalizeAccountOrMark(d['name_or_address']),'type':d['type'],'cursor':d['cursor'],'limit':d['limit'],'no_cache':d['no_cache'],'network':d['network']}),M=L;if(d['type']==='CoinWrapper'&&M&&!Array['isArray'](M)&&Array['isArray'](M['received'])&&M['received']['length']===0x0&&typeof K==='string'&&K!==''&&!K['toLowerCase']()['startsWith']('0x00')){const N=await recoverObjectHeldReceipts(K,{'network':d['network'],'no_cache':d['no_cache']});N&&N['receipts']['length']>0x0&&(M['received']=N['receipts']['map'](O=>({'id':O['id'],'balance':O['amount'],'payment':O['payment'],'type':O['type'],'version':O['version'],'digest':O['digest']})),M['token_type']=N['token_type'],M['balance']=N['receipts']['reduce']((O,P)=>O+BigInt(P['amount']||'0'),0x0n),h='allocation-transaction-effects');}if(M&&typeof M==='object'&&typeof M['balance']==='bigint'){const O=M['token_type'];M['balance']=M['balance']['toString']();if(Array['isArray'](M['received']))for(const P of M['received']){P&&typeof P['balance']==='bigint'&&(P['balance']=P['balance']['toString']());}if(O)try{const Q={'balance':await formatChainValue(M['balance'],O,d['network'])};if(Array['isArray'](M['received']))for(let R=0x0;R<M['received']['length'];R++){const S=M['received'][R]?.['balance'];S!==undefined&&S!==null&&(Q['received['+R+'].balance']=await formatChainValue(S,O,d['network']));}M['_money_display']=Q;}catch{}}f={'query_type':'onchain_received','result':M};break;}case'onchain_transaction':{const T=X=>query_transaction({'digest':d['digest'],'no_cache':d['no_cache'],'network':X}),U=X=>/could not find the referenced transaction|not found/i['test'](X instanceof Error?X['message']:String(X));let V;if(d['network'])V=await T(d['network']);else{const X=await Config['Instance']()['network_get']();try{V=await T(undefined);}catch(Y){if(!U(Y))throw Y;}if(!V){const Z=[];for(const a0 of Object['values'](ENTRYPOINT)){if(a0===X)continue;Z['push'](a0);try{const a1=await T(a0);if(a1){V=a1,g=a0;break;}}catch{}}if(!V)throw new Error('Transaction\x20digest\x20not\x20found\x20on\x20the\x20session\x20default\x20network\x20('+X+')\x20'+('or\x20any\x20other\x20probed\x20network\x20('+[X,...Z]['join'](',\x20')+').\x20')+'This\x20is\x20an\x20all-network\x20miss\x20—\x20record\x20it\x20as\x20\x22did\x20not\x20commit\x22\x20(never\x20as\x20\x22unverified\x22).\x20'+'If\x20you\x20know\x20the\x20digest\x27s\x20network,\x20pass\x20network\x20explicitly.');}}const W=d['network']??g;try{await annotateBalanceChanges(V?.['balance_changes'],W);}catch{}g&&(V['_network_probe']='NOT\x20found\x20on\x20the\x20session\x20default\x20network;\x20FOUND\x20on\x20\x27'+g+'\x27\x20—\x20every\x20field\x20'+('below\x20(status,\x20gas,\x20balance\x20changes)\x20was\x20READ\x20FROM\x20'+g+'.\x20Never\x20cite\x20this\x20')+'result\x20as\x20session-default-network\x20data.');f={'query_type':'onchain_transaction','result':V};break;}case'onchain_block':{const a2=await query_checkpoint({'block':d['block'],'network':d['network']});f={'query_type':'onchain_block','result':a2};break;}case'onchain_object_history':{const a3=await query_object_history({'object':d['object'],'cursor':d['cursor'],'limit':d['limit'],'order':d['order'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_object_history','result':a3};break;}case'onchain_last_updated':{const a4=d['objects']??[],a5=await Promise['allSettled'](a4['map'](a7=>query_object_last_updated({'object':a7,'network':d['network']}))),a6=a4['map']((a7,a8)=>{const a9=a5[a8],aa=a9['status']==='fulfilled'?a9['value']:null;return{'object':a7,'timestamp_ms':aa?.['timestamp_ms']?String(aa['timestamp_ms']):null,'digest':aa?.['digest']??null,'sender':aa?.['sender']??null};});f={'query_type':'onchain_last_updated','result':{'items':a6}};break;}case'onchain_address_activity':{const a7=typeof d['name_or_address']==='string'?d['name_or_address']:d['name_or_address']['name_or_address'],a8=await query_address_activity({'name_or_address':a7,'direction':d['direction'],'cursor':d['cursor'],'limit':d['limit'],'order':d['order'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_address_activity','result':a8};break;}case'token_value_convert':{const a9=d['raw']!==undefined,aa=d['unit']!==undefined;if(a9===aa)throw new Error('token_value_convert:\x20provide\x20EXACTLY\x20ONE\x20of\x20\x27raw\x27\x20(u64\x20smallest\x20units\x20→\x20unit\x20value)\x20'+('or\x20\x27unit\x27\x20(unit\x20value\x20→\x20u64\x20raw).\x20Received\x20raw='+JSON['stringify'](d['raw'])+',\x20')+('unit='+JSON['stringify'](d['unit'])+'.'));const ab=await convertTokenValue(d['token_type'],a9?{'raw':d['raw']}:{'unit':d['unit']},d['network']);f={'query_type':'token_value_convert','result':ab};break;}case'address_profile':{const ac=await query_address_profile({'address':d['address'],'no_cache':d['no_cache'],'network':d['network']});await mergeServiceAnalysis(ac,{'no_cache':d['no_cache'],'network':d['network']});ac&&typeof ac==='object'&&(ac['follow_ups']=buildProfileFollowUps(ac));f={'query_type':'address_profile','result':ac};break;}case'address_profiles':{const ad=await query_address_profiles({'addresses':d['addresses'],'no_cache':d['no_cache'],'network':d['network']});await Promise['all'](ad['map'](ae=>mergeServiceAnalysis(ae,{'no_cache':d['no_cache'],'network':d['network']})));for(const ae of ad??[]){ae&&typeof ae==='object'&&(ae['follow_ups']=buildProfileFollowUps(ae));}f={'query_type':'address_profiles','result':ad};break;}case'service_supply_chain':{const af=await resolveSupplyChainGraph(typeof d['address']==='string'?d['address']:d['address']?.['name_or_address']??String(d['address']),d['network']);f={'query_type':'service_supply_chain','result':af};break;}case'assemble_context':{f={'query_type':'assemble_context','result':await assembleContext(d)};break;}case'reverse_map':{if(!d['context_objects']||d['context_objects']['length']===0x0)throw new Error('reverse_map\x20requires\x20\x27context_objects\x27\x20—\x20an\x20array\x20of\x20object\x20IDs\x20or\x20LocalMark\x20names\x20(include\x20the\x20Service;\x20add\x20Machine/Allocation\x20for\x20refund-path\x20detection).');const ag=d['context_network']??await Config['Instance']()['network_get'](),ah=await batchQueryObjectsByIds(d['context_objects'],ag,!![]);let ai,aj,ak=null;{const am=ah['find'](ao=>{const ap=ao?.['machine']??ao?.['data']?.['machine'];return typeof ap==='string'&&/^0x[0-9a-fA-F]/['test'](ap);});if(am)try{ak=String(am['object']??am['id']??'');const ao=await LocalMark['Instance']()['list']({'address':ak});if(ao[0x0]?.['name'])am['name']=ao[0x0]['name'];}catch{}const an=am?String(am['machine']??am['data']?.['machine']):null;if(an)try{const ap=ah['some'](ar=>String(ar?.['object']??ar?.['id']??'')['toLowerCase']()===an['toLowerCase']());!ap&&ah['push'](...await batchQueryObjectsByIds([an],ag,!![]));const aq=await fetchMachineNodes(an,ag);ai=aq['map'](ar=>({'name':String(ar?.['name']??'')}))['filter'](ar=>ar['name']['length']>0x0),aj=buildMachineGraph(aq)['edges']['map'](ar=>({'from':ar['from'],'to':ar['to']}));}catch{}}let al;if(ak)try{const ar=await fetchServiceOrders(ak,ag),as=(ar?.['items']??[])['slice'](0x0,0xa)['map'](at=>typeof at?.['who']==='string'?at['who']:'')['filter'](at=>at!=='');if(as['length']>0x0){const at=await batchQueryObjectsByIds(as,ag,!![]);al=at['filter'](au=>au?.['type']===ObjectType['Order'])['map'](au=>({'id':au['object'],'created_at_ms':Number(au?.['time'])||undefined,'claimed_by':au?.['claimed_by']??null}));}}catch{}f={'query_type':'reverse_map','result':{'action':'reverse_map','objects_queried':ah['length'],'report':generateBusinessReport({'objects':ah,'machine_nodes':ai,'machine_edges':aj,'orders':al,'now_ms':Date['now'](),'order_amount':d['reverse_order_amount']})}};break;}case'service_panorama':f={'query_type':'service_panorama','result':await handleServicePanorama(d)};break;case'service_quote':f={'query_type':'service_quote','result':await handleServiceQuote(d)};break;case'machine_panorama':f={'query_type':'machine_panorama','result':await handleMachinePanorama(d)};break;case'object_panorama':f={'query_type':'object_panorama','result':await handleObjectPanorama(d)};break;case'review_pack':f={'query_type':'review_pack','result':await handleReviewPack(d)};break;case'participation_radar':f={'query_type':'participation_radar','result':await handleParticipationRadar(d)};break;case'relationship_profile':f={'query_type':'relationship_profile','result':await handleRelationshipProfile(d)};break;case'onchain_topology':f={'query_type':'onchain_topology','result':await handleOnchainTopology(d,undefined,await buildUserInjection(d['context_account']?.['toLowerCase']()))};break;case'workspace_lists':f={'query_type':'workspace_lists','result':await buildWorkspaceLists({'network':d['context_network'],'no_cache':d['no_cache'],'account':d['account'],'light':d['light']})};break;case'marks_of_account':f={'query_type':'marks_of_account','result':await buildAccountMarks({'network':d['context_network'],'no_cache':d['no_cache'],'account':d['account'],'light':d['light']})};break;case'migration_preflight':f={'query_type':'migration_preflight','result':await migrationPreflight({'account':d['account'],'source_network':d['source_network'],'target_network':d['target_network'],'no_cache':d['no_cache']})};break;case'scenario_topology':{const au=d['chain_id'];f={'query_type':'scenario_topology','result':{'version':SCENARIO_TOPOLOGY_VERSION,'chains':au?SCENARIO_CHAINS['filter'](av=>av['id']===au):SCENARIO_CHAINS,'bridges':SCENARIO_BRIDGE_REGISTRY}};break;}default:throw new Error('Unknown\x20query\x20type.\x20Valid\x20query_types\x20are:\x20\x22local_mark_list\x22,\x20\x22account_list\x22,\x20\x22local_info_list\x22,\x20\x22token_list\x22,\x20\x22account_balance\x22,\x20\x22local_names\x22,\x20\x22onchain_personal_profile\x22,\x20\x22onchain_objects\x22,\x20\x22onchain_received\x22,\x20\x22onchain_transaction\x22,\x20\x22onchain_object_history\x22,\x20\x22onchain_last_updated\x22,\x20\x22onchain_address_activity\x22,\x20\x22token_value_convert\x22,\x20\x22address_profile\x22,\x20\x22address_profiles\x22,\x20\x22service_supply_chain\x22,\x20\x22relationship_profile\x22,\x20\x22onchain_topology\x22,\x20\x22workspace_lists\x22,\x20\x22marks_of_account\x22,\x20\x22migration_preflight\x22.\x20For\x20table\x20queries,\x20use\x20the\x20\x22onchain_table_data\x22\x20tool.');}const j=requestedNetworkForQuery(d,f['query_type']);let k;if(NETWORK_FIELD_BY_QUERY[f['query_type']]){const av=j??g??await Config['Instance']()['network_get']();k={'network':av,'network_source':j?'explicit':g?'probed':'default'};}return{'content':[{'type':'text','text':JSON['stringify']({...k,...h?{'read_path':h}:{},'result':f})}],'structuredContent':{'result':f,...queryPayloadAliases(f),...k??{},...h?{'read_path':h}:{},'semantic':buildDataSemantic(f,{'operation_type':'query_toolkit','data':d})}};}export function queryPayloadAliases(a){const b=a?.['result'];if(!b||typeof b!=='object')return{};const c={};if(Array['isArray'](b['objects']))c['objects']=b['objects'];if(Array['isArray'](b['received']))c['received']=b['received'];if(b['balance']&&typeof b['balance']==='object')c['balance']=b['balance'];if(Object['keys'](c)['length']===0x0)return{};const d=Object['keys'](c)['filter'](e=>!e['startsWith']('_'));return c['_read_hint']='The\x20\x27result\x27\x20key\x20appears\x20twice\x20by\x20design:\x20structuredContent.result\x20is\x20the\x20per-query_type\x20envelope,\x20'+'so\x20the\x20authoritative\x20path\x20for\x20each\x20field\x20is\x20'+(d['map'](e=>'structuredContent.result.result.'+e)['join']('\x20and\x20')+'.\x20')+('The\x20top-level\x20'+d['join'](',\x20')+'\x20above\x20are\x20additive\x20copies\x20of\x20the\x20same\x20data.'),c;}export async function handleOnchainTableData(a){const b=strictParse(OnchainTableDataSchema,a,'onchain_table_data\x20input');let c;switch(b['query_type']){case'onchain_table':{const d=await query_table({'parent':b['parent'],'cursor':b['cursor'],'limit':b['limit'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table','result':d};break;}case'onchain_table_item_repository_data':{const f=await queryTableItem_RepositoryData({'parent':b['parent'],'name':b['name'],'entity':b['entity'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_repository_data','result':f};break;}case'onchain_table_item_permission_perm':{const g=await queryTableItem_PermissionPerm({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_permission_perm','result':g};break;}case'onchain_table_item_reward_record':{const h=await queryTableItem_RewardRecord({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});if(h)try{const j=await resolveParentObjectTokenType(b['parent'],b['network']);await annotateTableItemMonetaryFields(h,j,b['network']);}catch{}c={'query_type':'onchain_table_item_reward_record','result':h};break;}case'onchain_table_item_demand_presenter':{const k=await queryTableItem_DemandPresenter({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_demand_presenter','result':k};break;}case'onchain_table_item_treasury_history':{const l=await queryTableItem_TreasuryHistory({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});if(l)try{const m=await resolveParentObjectTokenType(b['parent'],b['network']);await annotateTableItemMonetaryFields(l,m,b['network']);}catch{}c={'query_type':'onchain_table_item_treasury_history','result':l};break;}case'onchain_table_item_machine_node':{const n=await queryTableItem_MachineNode({'parent':b['parent'],'key':b['key'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_machine_node','result':n};break;}case'onchain_table_item_progress_history':{const p=await queryTableItem_ProgressHistory({'parent':b['parent'],'u64':b['u64'],'no_cache':![],'network':b['network']});c={'query_type':'onchain_table_item_progress_history','result':p};break;}case'onchain_table_item_address_mark':{const q=await queryTableItem_AddressMark({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_address_mark','result':q};break;}case'onchain_table_item_entity_registrar':{const s=await queryTableItem_EntityRegistrar({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_registrar','result':s};break;}case'onchain_table_item_entity_linker':{const t=await queryTableItem_EntityLinker({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_linker','result':t};break;}case'onchain_table_item_entity_contact':{const u=await queryTableItem_EntityContact({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_contact','result':u};break;}case'onchain_table_item_entity_order':{const v=await queryTableItem_EntityOrder({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_order','result':v};break;}case'onchain_orders_of_user':{let w;try{w=await queryOrdersByUser({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});}catch(x){const y=x instanceof Error?x['message']:String(x);if(/dynamicFieldNotFound/i['test'](y))w=[];else throw x;}c={'query_type':'onchain_orders_of_user','result':w};break;}case'onchain_orders_of_users':{const z=b['addresses']??[],A=[],B=await Promise['allSettled'](z['map'](async M=>{try{const N=await queryOrdersByUser({'address':M,'no_cache':b['no_cache'],'network':b['network']});return{'account':String(M?.['name_or_address']??''),'views':Array['isArray'](N)?N:[]};}catch(O){const P=O instanceof Error?O['message']:String(O);if(/dynamicFieldNotFound/i['test'](P))return{'account':String(M?.['name_or_address']??''),'views':[]};throw O;}})),C=[];for(let M=0x0;M<z['length'];M++){const N=B[M];if(N['status']==='fulfilled')C['push'](N['value']);else{const O=N['reason']instanceof Error?N['reason']['message']:String(N['reason']);A['push'](String(z[M]?.['name_or_address']??'?')+':\x20'+O);}}const D=Array['from'](new Set(C['flatMap'](P=>P['views']['map'](Q=>typeof Q?.['order']?.['object']==='string'?Q['order']['object']:typeof Q?.['order']==='string'?Q['order']:'')['filter'](Boolean)))),E=new Map();try{if(D['length']>0x0){const P=await batchQueryObjectsByIds(D,b['network']);for(const Q of P){if(Q&&Q['type']===ObjectType['Order'])E['set'](Q['object'],Q);}}}catch{A['push']('order\x20details\x20unavailable\x20(non-blocking)');}const F=new Map(),G=new Map(),H=new Map();try{const R=new Set();for(const S of E['values']()){if(S?.['progress'])R['add'](S['progress']);if(S?.['allocation'])R['add'](S['allocation']);}if(R['size']>0x0){const T=await batchQueryObjectsByIds(Array['from'](R),b['network']);for(const U of T){if(!U?.['object'])continue;if(U['type']===ObjectType['Progress']){const V=U?.['current'];F['set'](U['object'],typeof V==='string'&&V!==''?V:null),G['set'](U['object'],Number(U?.['current_time'])||null);}else{if(U['type']===ObjectType['Allocation']){const W=Number(U?.['balance']??0x0);H['set'](U['object'],Number['isFinite'](W)&&W===0x0?'allocated':'pending');}}}}}catch{A['push']('progress/allocation\x20details\x20unavailable\x20(non-blocking)');}const I=new Map();try{const X=await Promise['allSettled'](D['map'](Y=>query_object_last_updated({'object':Y,'network':b['network'],'previous_transaction':E['get'](Y)?.['previousTransaction']??null})));for(let Y=0x0;Y<D['length'];Y++){const Z=X[Y];I['set'](D[Y],Z['status']==='fulfilled'&&Z['value']?.['timestamp_ms']?Number(Z['value']['timestamp_ms'])||null:null);}}catch{A['push']('order\x20updated\x20times\x20unavailable\x20(non-blocking)');}const J=await coinTypesOfServices(Array['from'](new Set(Array['from'](E['values']())['map'](a0=>typeof a0?.['service']==='string'?a0['service']:'')['filter'](Boolean))),b['network']),K=async(a0,a1)=>{if(a1===null||a1===undefined||a1==='')return{'display':'','tip':''};if(!a0)return{'display':a1,'tip':''};try{const a2=await formatChainValue(a1,a0,b['network']);if(a2['precision_known'])return{'display':a2['symbol']?a2['display']+'\x20'+a2['symbol']:a2['display'],'tip':a2['text']};return{'display':a1,'tip':''};}catch{return{'display':a1,'tip':''};}},L=[];for(const a0 of D){const a1=E['get'](a0),a2=C['filter'](a6=>a6['views']['some'](a7=>(typeof a7?.['order']?.['object']==='string'?a7['order']['object']:a7?.['order'])===a0))['map'](a6=>{const a7=a6['views']['find'](a8=>(typeof a8?.['order']?.['object']==='string'?a8['order']['object']:a8?.['order'])===a0);return{'account':a6['account'],'is_owner':!!a7?.['is_owner'],'is_agent':!!a7?.['is_agent'],'time':a7?.['time']};}),a3=J['get'](String(a1?.['service']??''))??null,a4=a1?.['amount']!==null&&a1?.['amount']!==undefined?String(a1['amount']):'',a5=await K(a3,a4);L['push']({'order':a0,'roles':a2,'time':a1?Number(a1['time'])||0x0:0x0,'updated_ms':I['get'](a0)??null,'amount':a4,'amount_display':a5['display'],'amount_tip':a5['tip'],'service':a1?.['service']??null,'machine':a1?.['machine']??null,'progress':a1?.['progress']??null,'allocation':a1?.['allocation']??null,'owner':ownerAddrOf(a1?.['builder']??a1?.['owner']),'claimed_by':a1?.['claimed_by']??null,'required_info':a1?.['required_info']??null,'progress_next':a1?.['progress']?F['get'](a1['progress'])??null:null,'progress_since':a1?.['progress']?G['get'](a1['progress'])??null:null,'allocation_state':a1?.['allocation']?H['get'](a1['allocation'])??'pending':'none','disputes':Array['isArray'](a1?.['dispute'])?a1['dispute']:[],'agents':Array['isArray'](a1?.['agent'])?a1['agent']:[],'items':await Promise['all']((Array['isArray'](a1?.['items'])?a1['items']:[])['map'](async a6=>{const a7=a6?.['price']!==null&&a6?.['price']!==undefined?String(a6['price']):'0';return{'name':String(a6?.['name']??''),'price':a7,'price_display':(await K(a3,a7))['display'],'quantity':String(a6?.['quantity']??'0'),'wip_hash':String(a6?.['wip_hash']??'')};}))});}c={'query_type':'onchain_orders_of_users','result':L,...A['length']>0x0?{'account_errors':A}:{}};break;}case'onchain_table_item_object_linker_core':{const a6=await queryTableItem_ObjectLinkerCore({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_object_linker_core','result':a6};break;}case'onchain_table_item_object_linker_tx':{const a7=await queryTableItem_ObjectLinkerTx({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_object_linker_tx','result':a7};break;}case'onchain_affiliations_of_object':{const a8=await query_affiliations({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']}),a9=a8?.['entries'];Array['isArray'](a9)&&(a8['entries']=a9['filter'](aa=>{const ab=typeof aa?.['who']==='string'?aa['who']:'';return!!ab&&objectTypeFromAddress(ab)!==undefined;}));c={'query_type':'onchain_affiliations_of_object','result':a8};break;}case'address_profile':{const aa=await query_address_profile({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});await mergeServiceAnalysis(aa,{'no_cache':b['no_cache'],'network':b['network']});aa&&typeof aa==='object'&&(aa['follow_ups']=buildProfileFollowUps(aa));c={'query_type':'address_profile','result':aa};break;}case'service_supply_chain':{const ab=await resolveSupplyChainGraph(typeof b['address']==='string'?b['address']:b['address']?.['name_or_address']??String(b['address']),b['network']);c={'query_type':'service_supply_chain','result':ab};break;}case'onchain_table_item_generic':{const ac=await query_tableItem({'parent':b['parent'],'key':{'type':b['key_type'],'value':b['key_value']},'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_generic','result':ac};break;}default:{const ad=['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_entity_order','onchain_orders_of_user','onchain_orders_of_users','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_generic','onchain_affiliations_of_object','address_profile','service_supply_chain'];throw new Error('Unknown\x20table\x20query_type\x20\x22'+b['query_type']+'\x22.\x20Valid\x20query_types\x20are:\x20'+ad['map'](ae=>'\x22'+ae+'\x22')['join'](',\x20')+'.');}}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c,'semantic':buildDataSemantic(c,{'operation_type':'onchain_table_data','data':b})}};}export async function handleOnchainEvents(a){const b=strictParse(OnchainEventsInputSchema,a,'onchain_events\x20input'),c=await query_events({'type':b['type'],'cursor':b['cursor']?{'eventSeq':String(b['cursor']['eventSeq']),'txDigest':b['cursor']['txDigest']}:null,'limit':b['limit']??null,'order':b['order']??null,'no_cache':b['no_cache'],'network':b['network']});try{await annotateEventsMonetaryFields(c?.['data'],b['network']);}catch{}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c,'semantic':buildDataSemantic(c,{'operation_type':'onchain_events','data':b})}};}function mcpLayerInfoResponse(a){return{'content':[{'type':'text','text':JSON['stringify']({'result':a})}],'structuredContent':{'result':a}};}export async function handleWowokInfo(a){const b=strictParse(ProtocolInfoQuerySchema,a,'wowok_buildin_info\x20input'),c=b['info'];if(c==='upgrade_check')return mcpLayerInfoResponse({'info':'upgrade_check','result':await checkUpgrade()});if(c==='universal_template')return mcpLayerInfoResponse({'info':'universal_template','result':getUniversalTemplate()});if(c==='getting\x20started')return mcpLayerInfoResponse({'info':'getting\x20started','result':getGettingStarted()});const d=await queryProtocolInfo(b);return{'content':[{'type':'text','text':JSON['stringify']({'result':d})}],'structuredContent':{'result':d}};}
|
|
1
|
+
import{strictParse,WatchQueryOperationsSchema,OnchainTableDataSchema,OnchainEventsInputSchema,ProtocolInfoQuerySchema}from'../../schema/index.js';import{checkUpgrade,readChainStamp}from'../upgrade-check.js';import{currentBuildFingerprint,compareReportFingerprint,setComparisonChainEpoch}from'../build-fingerprint.js';import{getUniversalTemplate}from'../../knowledge/universal-template.js';import{getGettingStarted}from'../../knowledge/getting-started.js';import{query_local_mark_list,query_account_list,query_local_info_list,query_local_token_list,query_account,GetLocalNamesByAddresses,query_personal,query_table,query_tableItem,queryTableItem_RepositoryData,queryTableItem_PermissionPerm,queryTableItem_RewardRecord,queryTableItem_DemandPresenter,queryTableItem_TreasuryHistory,queryTableItem_MachineNode,queryTableItem_ProgressHistory,queryTableItem_AddressMark,queryTableItem_EntityRegistrar,queryTableItem_EntityLinker,queryTableItem_EntityContact,queryTableItem_ObjectLinkerCore,queryTableItem_ObjectLinkerTx,queryTableItem_EntityOrder,queryOrdersByUser,query_affiliations,query_address_profile,query_address_profiles,objectTypeFromAddress,ObjectType,query_received,queryProtocolInfo,query_events,query_transaction,query_object_history,query_address_activity,query_checkpoint,generateNodeComments,query_object_last_updated,Config,LocalMark,ENTRYPOINT}from'@wowok/wowok';import{resolveSupplyChainGraph}from'../../knowledge/supply-chain.js';import{SCENARIO_CHAINS,SCENARIO_BRIDGE_REGISTRY,SCENARIO_TOPOLOGY_VERSION}from'../../knowledge/scenario-topology.js';import{assembleContext}from'../../playbooks/service-build/context-assembly.js';import{buildMachineGraph,fetchMachineNodes}from'../../playbooks/service-build/machine-nodes.js';import{generateBusinessReport}from'../../playbooks/service-build/reverse-mapping.js';import{handleServicePanorama}from'../../playbooks/service-build/service-panorama.js';import{handleServiceQuote}from'../../playbooks/service-build/service-quote.js';import{handleMachinePanorama}from'../../playbooks/service-build/machine-panorama.js';import{handleObjectPanorama}from'../../playbooks/service-build/object-panorama.js';import{handleParticipationRadar}from'../../playbooks/service-build/participation-radar.js';import{handleRelationshipProfile}from'../../playbooks/service-build/relationship-profile.js';import{handleOnchainTopology}from'../../playbooks/service-build/topology-query.js';import{buildUserInjection}from'../../evaluation/injection.js';import{handleReviewPack}from'../../review/index.js';import{buildWorkspaceLists}from'../../knowledge/workspace-lists.js';import{buildAccountMarks}from'../../knowledge/account-marks.js';import{migrationPreflight}from'../../knowledge/migration-preflight.js';import{buildDataSemantic}from'../../schema/call/semantic.js';import{enrichWorkflowGuidance}from'../../knowledge/workflow-guidance.js';import{buildOrderFundFacts}from'../../knowledge/arb-fund-facts.js';import{batchQueryObjectsByIds,fetchServiceOrders,lastUnresolvedInputs,LINKER_RING_LIMIT}from'../../graph/onchain/sdk-batch.js';import{recoverObjectHeldReceipts}from'../../graph/onchain/object-held-receipts.js';import{formatChainValue,annotateObjectMonetaryFields,annotateTableItemMonetaryFields,annotateEventsMonetaryFields,annotateBalanceChanges,resolveParentObjectTokenType,convertTokenValue}from'../../knowledge/fund-layer.js';import{normalizeAccountOrMark}from'./messenger.js';function ownerAddrOf(a){if(typeof a==='string')return a;const b=a;if(b&&typeof b==='object'){if(typeof b['AddressOwner']==='string')return b['AddressOwner'];if(typeof b['ObjectOwner']==='string')return b['ObjectOwner'];const c=Object['values'](b)['find'](d=>typeof d==='string'&&d['length']>0x14);if(typeof c==='string')return c;}return null;}const serviceCoinTypeCache=new Map();async function coinTypesOfServices(a,b){const c=new Map();if(!a||a['length']===0x0)return c;const d=[];for(const e of a){const f=(b??'')+'|'+e['toLowerCase'](),h=serviceCoinTypeCache['get'](f);if(h!==undefined)c['set'](e,h);else d['push'](e);}if(d['length']===0x0)return c;try{const i=await batchQueryObjectsByIds(d,b);for(const j of i){if(!j?.['object'])continue;const k=j?.['type_raw']??j?.['type']??'',l=k['match'](/<(.+)>$/);if(!l)continue;serviceCoinTypeCache['set']((b??'')+'|'+String(j['object'])['toLowerCase'](),l[0x1]),c['set'](j['object'],l[0x1]);}}catch{}return c;}async function mergeServiceAnalysis(a,b){const c=a?.['object'],d=a?.['kind']==='Service'||c&&(c['type']==='Service'||(c['type_raw']??'')['includes']('::service::'));if(!d||!a)return;let e=null;try{const s=await query_object_last_updated({'object':a['address'],'network':b['network']});s?.['timestamp_ms']&&(e={'timestamp_ms':s['timestamp_ms'],'digest':s['digest'],'sender':s['sender']});}catch{}const f=a?.['reverse_core'],g=a?.['reverse_tx'],h=Array['isArray'](f?.['items'])?f['items']['length']:0x0,i=Array['isArray'](g?.['items'])?g['items']['length']:0x0,j=(i>0x0?g['items']:[])['filter'](t=>objectTypeFromAddress(t?.['who'])===ObjectType['Order']),k=j['length'],l=k>=LINKER_RING_LIMIT,m=Array['isArray'](a?.['reputation']?.['votes'])?a['reputation']['votes']:[],n=c?.['type_raw']??c?.['type']??'',o=n['match'](/<(.+)>$/),p=o?o[0x1]:null,q=p?(p['split']('::')['pop']()??p)['toUpperCase']():null,r=Array['isArray'](c?.['sales'])?c['sales']:[];a['service_analysis']={'description':c?.['description']??null,'sales_count':r['length'],'live_sales_count':r['filter'](t=>t&&!t['suspension'])['length'],'paused_sales_count':r['filter'](t=>t&&t['suspension'])['length'],'orders_count':k,'orders_count_truncated':l,'like_count':m['filter'](t=>t&&t['like'])['length'],'dislike_count':m['filter'](t=>t&&t['dislike'])['length'],'favor_count':m['filter'](t=>t&&t['favor'])['length'],'votes':m['map'](t=>({'who':t?.['who']??null,'like':!!t?.['like'],'dislike':!!t?.['dislike'],'favor':!!t?.['favor'],'time':t?.['time']??null})),'coin_type':p,'token_symbol':q,'location':c?.['location']??null,'bPublished':c?.['bPublished']??null,'bPaused':c?.['bPaused']??null,'related_core_count':h,'related_tx_count':i,'related_object_count':h+i,'onchain_last_updated':e};}export function buildProfileFollowUps(a){if(!a||typeof a!=='object')return[];const b=typeof a['address']==='string'?a['address']:undefined;if(!b)return[];const c=a['kind']==='user'||!a['is_system_singleton']&&!a['object'],d=[];if(c){const e=Array['isArray'](a['permission_membership']?.['items'])?a['permission_membership']['items']:[],f=Array['isArray'](a['order_membership']?.['items'])?a['order_membership']['items']:[];e['length']>0x0&&d['push']({'label':'Permission\x20organizations\x20('+e['length']+')','detail':'Expand\x20each\x20Permission\x20the\x20address\x20belongs\x20to\x20—\x20owner/admin/entity\x20standing\x20and\x20what\x20the\x20org\x20governs.','call':{'query_type':'onchain_objects','objects':e['map'](g=>g['who'])['filter'](Boolean)}}),f['length']>0x0&&d['push']({'label':'Order\x20footprint\x20('+f['length']+')','detail':'The\x20orders\x20this\x20address\x20participates\x20in\x20(buyer\x20vs\x20operator\x20roles).','call':{'query_type':'onchain_table_item_entity_order','address':b}}),d['push']({'label':'Public\x20personal\x20profile','detail':'Social/IM\x20links,\x20public\x20info\x20records,\x20voting\x20history,\x20referrer.','call':{'query_type':'onchain_personal_profile','address':b}}),d['push']({'label':'Reverse\x20map','detail':'Related\x20objects\x20and\x20the\x20deterministic\x20business\x20report\x20for\x20this\x20address.','call':{'query_type':'reverse_map','context_objects':[b]}});}else a['object']&&d['push']({'label':'Full\x20object\x20body','detail':'The\x20complete\x20on-chain\x20object\x20fields\x20(one\x20targeted\x20read).','call':{'query_type':'onchain_objects','objects':[b]}}),d['push']({'label':'Reverse\x20map','detail':'Related\x20objects\x20and\x20the\x20deterministic\x20business\x20report.','call':{'query_type':'reverse_map','context_objects':[b]}});return d['push']({'label':'Recent\x20on-chain\x20activity','detail':'Newest\x20transactions\x20touching\x20this\x20address.','call':{'query_type':'onchain_address_activity','address':b}}),d['slice'](0x0,0x3);}async function annotateAccountBalance(a,b){if(!a||typeof a!=='object')return;const e={},f=(j,k)=>{if(j===null||j===undefined)return undefined;if(typeof j!=='string'&&typeof j!=='number'&&typeof j!=='bigint')return undefined;if(typeof k!=='string'||!k)return undefined;return formatChainValue(j,k,b);},g=a['balance'];if(g&&typeof g==='object'){const j=g['coinType'],k=await f(g['totalBalance'],j);if(k)e['balance.totalBalance']=k;if(g['lockedBalance']!==undefined){const l=await f(g['lockedBalance'],j);if(l)e['balance.lockedBalance']=l;}}const h=a['coin']?.['data'];if(Array['isArray'](h))for(let m=0x0;m<h['length'];m++){const n=h[m],o=await f(n?.['balance'],n?.['coinType']);if(o)e['coin.data['+m+'].balance']=o;}if(Object['keys'](e)['length']>0x0){if(b)for(const p of Object['keys'](e)){const q=e[p];e[p]={...q,'text':q['text']+'\x20—\x20network:\x20'+b};}a['_money_display']=e;}}export function balanceScopeNote(a){return a?'The\x20balance\x20figure\x20reflects\x20the\x20aggregated\x20total\x20only;\x20the\x20coin\x20list\x20below\x20is\x20just\x20the\x20FIRST\x20PAGE\x20(top\x205)\x20'+'of\x20independently\x20owned\x20Coin\x20objects\x20—\x20a\x20refund\x20can\x20land\x20as\x20its\x20own\x20Coin\x20object\x20beyond\x20this\x20page.\x20'+'Verify\x20fund\x20arrival\x20via\x20the\x20transaction\x20digest\x20(onchain_transaction)\x20or\x20the\x20full\x20coin-object\x20listing\x20'+'(coin={cursor,limit})\x20before\x20drawing\x20conclusions.':'The\x20balance\x20figure\x20reflects\x20the\x20aggregated\x20total\x20only;\x20independently\x20owned\x20Coin\x20objects\x20are\x20not\x20'+'enumerated\x20here\x20—\x20verify\x20fund\x20arrival\x20via\x20the\x20transaction\x20digest\x20or\x20a\x20coin-objects\x20query\x20before\x20'+'drawing\x20conclusions.';}const NETWORK_FIELD_BY_QUERY={'account_balance':'network','onchain_personal_profile':'network','onchain_objects':'network','onchain_received':'network','onchain_transaction':'network','onchain_block':'network','onchain_object_history':'network','onchain_last_updated':'network','onchain_address_activity':'network','token_value_convert':'network','address_profile':'network','address_profiles':'network','service_supply_chain':'network','assemble_context':'context_network','reverse_map':'context_network','service_panorama':'context_network','service_quote':'context_network','machine_panorama':'context_network','object_panorama':'context_network','review_pack':'context_network','participation_radar':'context_network','relationship_profile':'context_network','onchain_topology':'context_network','workspace_lists':'context_network','marks_of_account':'context_network'};function requestedNetworkForQuery(a,b){const c=NETWORK_FIELD_BY_QUERY[b];if(!c)return undefined;const d=a[c];return typeof d==='string'&&d['length']>0x0?d:undefined;}const LOCAL_FAMILY_QUERIES=new Set(['local_mark_list','account_list','local_info_list','token_list','local_names']);function normalizeNetworkFieldAlias(a){const b=a['query_type'];if(typeof b!=='string')return;if(LOCAL_FAMILY_QUERIES['has'](b)){delete a['network'],delete a['context_network'];return;}const c=NETWORK_FIELD_BY_QUERY[b];if(!c)return;const d=c==='network'?'context_network':'network';a[c]===undefined&&a[d]!==undefined&&(a[c]=a[d],delete a[d]);}export async function handleWatchQueryOperations(a){let c=a;if(a!==null&&typeof a==='object'&&!Array['isArray'](a)){const l={...a};normalizeNetworkFieldAlias(l),c=l;}const d=strictParse(WatchQueryOperationsSchema,c,'watch_and_query\x20input');let f,g,h;switch(d['query_type']){case'local_mark_list':{const m=await query_local_mark_list(d['filter']||{});f={'query_type':'local_mark_list','result':m};break;}case'account_list':{const n=await query_account_list(d['filter']);f={'query_type':'account_list','result':n};break;}case'local_info_list':{const o=await query_local_info_list(d['filter'],d['account']);f={'query_type':'local_info_list','result':o};break;}case'token_list':{const p=await query_local_token_list(d['filter']||{});f={'query_type':'token_list','result':p};break;}case'account_balance':{const q=await query_account({'name_or_address':d['name_or_address'],'token_type':d['token_type'],'balance':d['balance'],'coin':d['coin'],'network':d['network']}),r=d['network']??await Config['Instance']()['network_get']();await annotateAccountBalance(q,r);let s=![];if(q['balance']&&!d['coin']&&!q['object']&&!q['hint'])try{const t=await query_account({'name_or_address':d['name_or_address'],'coin':{'cursor':null,'limit':0x5},'token_type':d['token_type'],'network':d['network']});t['coin']&&(q['coin']=t['coin'],s=!![]);}catch{}q['_balance_scope_note']=balanceScopeNote(s),f={'query_type':'account_balance','result':q};break;}case'local_names':{const u=await GetLocalNamesByAddresses(d['addresses']);f={'query_type':'local_names','result':u};break;}case'onchain_personal_profile':{const v=await query_personal({'account':d['account'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_personal_profile','result':v};break;}case'onchain_objects':{const w=d['no_cache']??!![],x=await batchQueryObjectsByIds(d['objects'],d['network'],w),y=lastUnresolvedInputs(),z={'objects':x,'_read_freshness':{'source':w?'live':'session_cache','no_cache':w,'fetched_at':new Date()['toISOString'](),'note':w?'Forced-fresh\x20read.\x20This\x20is\x20the\x20DEFAULT\x20because\x20a\x20stale\x20value\x20here\x20can\x20invert\x20a\x20fund-movement\x20conclusion.':'Session\x20cache\x20was\x20used\x20(no_cache:false).\x20Pass\x20no_cache:true\x20before\x20concluding\x20that\x20money\x20did\x20or\x20did\x20not\x20move.'},...x['length']===0x0&&y['length']>0x0?{'_empty_reason':{'kind':'unresolved_inputs','unresolved':y,'note':'These\x20inputs\x20resolved\x20to\x20neither\x20a\x20registered\x20LocalMark\x20nor\x20a\x20valid\x20address\x20on\x20network\x20\x27'+(d['network']??'current')+'\x27.\x20LocalMark\x20names\x20are\x20NETWORK-SCOPED\x20—\x20an\x20object\x20created\x20on\x20testnet\x20is\x20invisible\x20on\x20localnet/mainnet.\x20Either\x20register\x20the\x20mark\x20here\x20(local_mark_operation)\x20or\x20pass\x20the\x20full\x200x\x20address.\x20This\x20is\x20NOT\x20evidence\x20that\x20the\x20objects\x20are\x20absent\x20on\x20chain.'}}:{},...x['length']<d['objects']['length']?{'_unreturned':{'requested':d['objects']['length'],'returned':x['length'],'missing':d['objects']['map'](A=>typeof A==='string'?A:A?.['name_or_address']??A?.['object']??A?.['address'])['filter'](A=>typeof A==='string'&&A!=='')['filter'](A=>!x['some'](B=>typeof B?.['object']==='string'&&B['object']['toLowerCase']()===A['toLowerCase']())),'note':'These\x20requested\x20ids\x20were\x20NOT\x20returned\x20—\x20either\x20absent\x20on\x20chain,\x20filtered\x20by\x20the\x20reader\x27s\x20type\x20support,\x20or\x20unparseable.\x20This\x20is\x20NOT\x20proof\x20of\x20nonexistence:\x20verify\x20via\x20an\x20alternative\x20read\x20(object_panorama\x20/\x20a\x20direct\x20address\x20query)\x20before\x20concluding\x20an\x20object\x20is\x20gone.'}}:{}};if(z&&z['objects']&&Array['isArray'](z['objects'])){z['objects']=z['objects']['map'](A=>{if(A&&A['data']&&A['data']['type']==='Guard'&&A['data']['root'])try{const B=generateNodeComments(A['data']['root']);return{...A,'_guard_node_comments':B};}catch(C){return A;}return A;}),z['objects']=z['objects']['map'](A=>{if(A&&A['data']&&A['data']['type']==='Progress'&&A['data']['current']===''){const B=A['data']['machine'],C=A['data']['task'];return{...A,'_diagnostic':{'issue':'Progress.current\x20is\x20empty\x20—\x20order\x20workflow\x20is\x20stuck\x20at\x20the\x20initial\x20state','cause':'The\x20Machine\x27s\x20entry\x20node\x20(prev_node=\x27\x27)\x20likely\x20has\x20no\x20forwards\x20defined.\x20'+'When\x20Progress\x20starts,\x20it\x20looks\x20up\x20the\x20entry\x20node\x27s\x20forwards\x20to\x20determine\x20'+'the\x20next\x20node.\x20Without\x20forwards,\x20Progress\x20cannot\x20advance\x20and\x20the\x20order\x20'+'is\x20permanently\x20stuck.','machine_object_id':B??null,'bound_order_id':C??null,'fix':['1.\x20Query\x20the\x20Machine\x20object\x20(use\x20query_toolkit\x20with\x20query_type=\x27onchain_objects\x27\x20and\x20objects=['+JSON['stringify'](B)+']).','2.\x20Inspect\x20node.pairs\x20for\x20the\x20entry\x20node\x20(prev_node=\x27\x27).','3.\x20If\x20forwards\x20is\x20empty:\x20this\x20is\x20the\x20root\x20cause.\x20The\x20Machine\x20must\x20be\x20republished\x20with\x20at\x20least\x20one\x20forward\x20on\x20the\x20entry\x20node.','4.\x20To\x20republish:\x20clone\x20the\x20Machine\x20nodes,\x20add\x20a\x20forward\x20to\x20the\x20entry\x20node\x27s\x20pairs,\x20then\x20create\x20a\x20new\x20Machine\x20(Machine\x20nodes\x20are\x20immutable\x20after\x20publish\x20—\x20see\x20P0-2\x20schema\x20validation\x20that\x20now\x20blocks\x20this).','5.\x20Rebind\x20the\x20new\x20Machine\x20to\x20the\x20Service\x20(service.machine\x20field)\x20and\x20create\x20a\x20new\x20Order\x20to\x20test.'],'reference':'P0-2\x20schema\x20refinement\x20in\x20MachineNodePairSchema\x20ensures\x20new\x20Machines\x20cannot\x20be\x20published\x20with\x20empty\x20entry-node\x20forwards.\x20This\x20diagnostic\x20catches\x20legacy\x20Machines\x20that\x20predate\x20the\x20fix.'}};}return A;});for(const A of z['objects']){const B=A?.['data']??A;if((A?.['type']??B?.['type'])!=='Progress')continue;const C=A?.['object']??B?.['object'];if(!C)continue;try{const D=await enrichWorkflowGuidance({'progressRef':C,'network':d['network'],'noCache':d['no_cache']});if(D?.['guidance']){A['_workflow_guidance']=D['guidance'];if(D['text'])A['_workflow_guidance_text']=D['text'];}}catch{}}for(const E of z['objects']){const F=E?.['data']??E;if((E?.['type']??F?.['type'])!=='Arb')continue;const G=E?.['object']??F?.['object'];if(!G)continue;try{const H=await buildOrderFundFacts({'arbRef':G,'network':d['network'],'noCache':w});H&&(E['_order_fund_facts']=H['structured'],E['_order_fund_facts_text']=H['text']);}catch{}}for(const I of z['objects']){try{await annotateObjectMonetaryFields(I,d['network']);}catch{}}}f={'query_type':'onchain_objects','result':z};break;}case'onchain_received':{const J=d['name_or_address'],K=typeof J==='string'?J:J?.['name_or_address'],L=await query_received({'name_or_address':normalizeAccountOrMark(d['name_or_address']),'type':d['type'],'cursor':d['cursor'],'limit':d['limit'],'no_cache':d['no_cache'],'network':d['network']}),M=L;if(d['type']==='CoinWrapper'&&M&&!Array['isArray'](M)&&Array['isArray'](M['received'])&&M['received']['length']===0x0&&typeof K==='string'&&K!==''&&!K['toLowerCase']()['startsWith']('0x00')){const N=await recoverObjectHeldReceipts(K,{'network':d['network'],'no_cache':d['no_cache']});N&&N['receipts']['length']>0x0&&(M['received']=N['receipts']['map'](O=>({'id':O['id'],'balance':O['amount'],'payment':O['payment'],'type':O['type'],'version':O['version'],'digest':O['digest']})),M['token_type']=N['token_type'],M['balance']=N['receipts']['reduce']((O,P)=>O+BigInt(P['amount']||'0'),0x0n),h='allocation-transaction-effects');}if(M&&typeof M==='object'&&typeof M['balance']==='bigint'){const O=M['token_type'];M['balance']=M['balance']['toString']();if(Array['isArray'](M['received']))for(const P of M['received']){P&&typeof P['balance']==='bigint'&&(P['balance']=P['balance']['toString']());}if(O)try{const Q={'balance':await formatChainValue(M['balance'],O,d['network'])};if(Array['isArray'](M['received']))for(let R=0x0;R<M['received']['length'];R++){const S=M['received'][R]?.['balance'];S!==undefined&&S!==null&&(Q['received['+R+'].balance']=await formatChainValue(S,O,d['network']));}M['_money_display']=Q;}catch{}}f={'query_type':'onchain_received','result':M};break;}case'onchain_transaction':{const T=X=>query_transaction({'digest':d['digest'],'no_cache':d['no_cache'],'network':X}),U=X=>/could not find the referenced transaction|not found/i['test'](X instanceof Error?X['message']:String(X));let V;if(d['network'])V=await T(d['network']);else{const X=await Config['Instance']()['network_get']();try{V=await T(undefined);}catch(Y){if(!U(Y))throw Y;}if(!V){const Z=[];for(const a0 of Object['values'](ENTRYPOINT)){if(a0===X)continue;Z['push'](a0);try{const a1=await T(a0);if(a1){V=a1,g=a0;break;}}catch{}}if(!V)throw new Error('Transaction\x20digest\x20not\x20found\x20on\x20the\x20session\x20default\x20network\x20('+X+')\x20'+('or\x20any\x20other\x20probed\x20network\x20('+[X,...Z]['join'](',\x20')+').\x20')+'This\x20is\x20an\x20all-network\x20miss\x20—\x20record\x20it\x20as\x20\x22did\x20not\x20commit\x22\x20(never\x20as\x20\x22unverified\x22).\x20'+'If\x20you\x20know\x20the\x20digest\x27s\x20network,\x20pass\x20network\x20explicitly.');}}const W=d['network']??g;try{await annotateBalanceChanges(V?.['balance_changes'],W);}catch{}g&&(V['_network_probe']='NOT\x20found\x20on\x20the\x20session\x20default\x20network;\x20FOUND\x20on\x20\x27'+g+'\x27\x20—\x20every\x20field\x20'+('below\x20(status,\x20gas,\x20balance\x20changes)\x20was\x20READ\x20FROM\x20'+g+'.\x20Never\x20cite\x20this\x20')+'result\x20as\x20session-default-network\x20data.');f={'query_type':'onchain_transaction','result':V};break;}case'onchain_block':{const a2=await query_checkpoint({'block':d['block'],'network':d['network']});f={'query_type':'onchain_block','result':a2};break;}case'onchain_object_history':{const a3=await query_object_history({'object':d['object'],'cursor':d['cursor'],'limit':d['limit'],'order':d['order'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_object_history','result':a3};break;}case'onchain_last_updated':{const a4=d['objects']??[],a5=await Promise['allSettled'](a4['map'](a7=>query_object_last_updated({'object':a7,'network':d['network']}))),a6=a4['map']((a7,a8)=>{const a9=a5[a8],aa=a9['status']==='fulfilled'?a9['value']:null;return{'object':a7,'timestamp_ms':aa?.['timestamp_ms']?String(aa['timestamp_ms']):null,'digest':aa?.['digest']??null,'sender':aa?.['sender']??null};});f={'query_type':'onchain_last_updated','result':{'items':a6}};break;}case'onchain_address_activity':{const a7=typeof d['name_or_address']==='string'?d['name_or_address']:d['name_or_address']['name_or_address'],a8=await query_address_activity({'name_or_address':a7,'direction':d['direction'],'cursor':d['cursor'],'limit':d['limit'],'order':d['order'],'no_cache':d['no_cache'],'network':d['network']});f={'query_type':'onchain_address_activity','result':a8};break;}case'token_value_convert':{const a9=d['raw']!==undefined,aa=d['unit']!==undefined;if(a9===aa)throw new Error('token_value_convert:\x20provide\x20EXACTLY\x20ONE\x20of\x20\x27raw\x27\x20(u64\x20smallest\x20units\x20→\x20unit\x20value)\x20'+('or\x20\x27unit\x27\x20(unit\x20value\x20→\x20u64\x20raw).\x20Received\x20raw='+JSON['stringify'](d['raw'])+',\x20')+('unit='+JSON['stringify'](d['unit'])+'.'));const ab=await convertTokenValue(d['token_type'],a9?{'raw':d['raw']}:{'unit':d['unit']},d['network']);f={'query_type':'token_value_convert','result':ab};break;}case'address_profile':{const ac=await query_address_profile({'address':d['address'],'no_cache':d['no_cache'],'network':d['network']});await mergeServiceAnalysis(ac,{'no_cache':d['no_cache'],'network':d['network']});ac&&typeof ac==='object'&&(ac['follow_ups']=buildProfileFollowUps(ac));f={'query_type':'address_profile','result':ac};break;}case'address_profiles':{const ad=await query_address_profiles({'addresses':d['addresses'],'no_cache':d['no_cache'],'network':d['network']});await Promise['all'](ad['map'](ae=>mergeServiceAnalysis(ae,{'no_cache':d['no_cache'],'network':d['network']})));for(const ae of ad??[]){ae&&typeof ae==='object'&&(ae['follow_ups']=buildProfileFollowUps(ae));}f={'query_type':'address_profiles','result':ad};break;}case'service_supply_chain':{const af=await resolveSupplyChainGraph(typeof d['address']==='string'?d['address']:d['address']?.['name_or_address']??String(d['address']),d['network']);f={'query_type':'service_supply_chain','result':af};break;}case'assemble_context':{f={'query_type':'assemble_context','result':await assembleContext(d)};break;}case'reverse_map':{if(!d['context_objects']||d['context_objects']['length']===0x0)throw new Error('reverse_map\x20requires\x20\x27context_objects\x27\x20—\x20an\x20array\x20of\x20object\x20IDs\x20or\x20LocalMark\x20names\x20(include\x20the\x20Service;\x20add\x20Machine/Allocation\x20for\x20refund-path\x20detection).');const ag=d['context_network']??await Config['Instance']()['network_get'](),ah=await batchQueryObjectsByIds(d['context_objects'],ag,!![]);let ai,aj,ak=null;{const am=ah['find'](ao=>{const ap=ao?.['machine']??ao?.['data']?.['machine'];return typeof ap==='string'&&/^0x[0-9a-fA-F]/['test'](ap);});if(am)try{ak=String(am['object']??am['id']??'');const ao=await LocalMark['Instance']()['list']({'address':ak});if(ao[0x0]?.['name'])am['name']=ao[0x0]['name'];}catch{}const an=am?String(am['machine']??am['data']?.['machine']):null;if(an)try{const ap=ah['some'](ar=>String(ar?.['object']??ar?.['id']??'')['toLowerCase']()===an['toLowerCase']());!ap&&ah['push'](...await batchQueryObjectsByIds([an],ag,!![]));const aq=await fetchMachineNodes(an,ag);ai=aq['map'](ar=>({'name':String(ar?.['name']??'')}))['filter'](ar=>ar['name']['length']>0x0),aj=buildMachineGraph(aq)['edges']['map'](ar=>({'from':ar['from'],'to':ar['to']}));}catch{}}let al;if(ak)try{const ar=await fetchServiceOrders(ak,ag),as=(ar?.['items']??[])['slice'](0x0,0xa)['map'](at=>typeof at?.['who']==='string'?at['who']:'')['filter'](at=>at!=='');if(as['length']>0x0){const at=await batchQueryObjectsByIds(as,ag,!![]);al=at['filter'](au=>au?.['type']===ObjectType['Order'])['map'](au=>({'id':au['object'],'created_at_ms':Number(au?.['time'])||undefined,'claimed_by':au?.['claimed_by']??null}));}}catch{}f={'query_type':'reverse_map','result':{'action':'reverse_map','objects_queried':ah['length'],'report':generateBusinessReport({'objects':ah,'machine_nodes':ai,'machine_edges':aj,'orders':al,'now_ms':Date['now'](),'order_amount':d['reverse_order_amount']})}};break;}case'service_panorama':f={'query_type':'service_panorama','result':await handleServicePanorama(d)};break;case'service_quote':f={'query_type':'service_quote','result':await handleServiceQuote(d)};break;case'machine_panorama':f={'query_type':'machine_panorama','result':await handleMachinePanorama(d)};break;case'object_panorama':f={'query_type':'object_panorama','result':await handleObjectPanorama(d)};break;case'review_pack':f={'query_type':'review_pack','result':await handleReviewPack(d)};break;case'participation_radar':f={'query_type':'participation_radar','result':await handleParticipationRadar(d)};break;case'relationship_profile':f={'query_type':'relationship_profile','result':await handleRelationshipProfile(d)};break;case'onchain_topology':f={'query_type':'onchain_topology','result':await handleOnchainTopology(d,undefined,await buildUserInjection(d['context_account']?.['toLowerCase']()))};break;case'workspace_lists':f={'query_type':'workspace_lists','result':await buildWorkspaceLists({'network':d['context_network'],'no_cache':d['no_cache'],'account':d['account'],'light':d['light']})};break;case'marks_of_account':f={'query_type':'marks_of_account','result':await buildAccountMarks({'network':d['context_network'],'no_cache':d['no_cache'],'account':d['account'],'light':d['light']})};break;case'migration_preflight':f={'query_type':'migration_preflight','result':await migrationPreflight({'account':d['account'],'source_network':d['source_network'],'target_network':d['target_network'],'no_cache':d['no_cache']})};break;case'scenario_topology':{const au=d['chain_id'];f={'query_type':'scenario_topology','result':{'version':SCENARIO_TOPOLOGY_VERSION,'chains':au?SCENARIO_CHAINS['filter'](av=>av['id']===au):SCENARIO_CHAINS,'bridges':SCENARIO_BRIDGE_REGISTRY}};break;}default:throw new Error('Unknown\x20query\x20type.\x20Valid\x20query_types\x20are:\x20\x22local_mark_list\x22,\x20\x22account_list\x22,\x20\x22local_info_list\x22,\x20\x22token_list\x22,\x20\x22account_balance\x22,\x20\x22local_names\x22,\x20\x22onchain_personal_profile\x22,\x20\x22onchain_objects\x22,\x20\x22onchain_received\x22,\x20\x22onchain_transaction\x22,\x20\x22onchain_object_history\x22,\x20\x22onchain_last_updated\x22,\x20\x22onchain_address_activity\x22,\x20\x22token_value_convert\x22,\x20\x22address_profile\x22,\x20\x22address_profiles\x22,\x20\x22service_supply_chain\x22,\x20\x22relationship_profile\x22,\x20\x22onchain_topology\x22,\x20\x22workspace_lists\x22,\x20\x22marks_of_account\x22,\x20\x22migration_preflight\x22.\x20For\x20table\x20queries,\x20use\x20the\x20\x22onchain_table_data\x22\x20tool.');}const j=requestedNetworkForQuery(d,f['query_type']);let k;if(NETWORK_FIELD_BY_QUERY[f['query_type']]){const av=j??g??await Config['Instance']()['network_get']();k={'network':av,'network_source':j?'explicit':g?'probed':'default'};}return{'content':[{'type':'text','text':JSON['stringify']({...k,...h?{'read_path':h}:{},'result':f})}],'structuredContent':{'result':f,...queryPayloadAliases(f),...k??{},...h?{'read_path':h}:{},'semantic':buildDataSemantic(f,{'operation_type':'query_toolkit','data':d})}};}export function queryPayloadAliases(a){const b=a?.['result'];if(!b||typeof b!=='object')return{};const c={};if(Array['isArray'](b['objects']))c['objects']=b['objects'];if(Array['isArray'](b['received']))c['received']=b['received'];if(b['balance']&&typeof b['balance']==='object')c['balance']=b['balance'];if(Object['keys'](c)['length']===0x0)return{};const d=Object['keys'](c)['filter'](e=>!e['startsWith']('_'));return c['_read_hint']='The\x20\x27result\x27\x20key\x20appears\x20twice\x20by\x20design:\x20structuredContent.result\x20is\x20the\x20per-query_type\x20envelope,\x20'+'so\x20the\x20authoritative\x20path\x20for\x20each\x20field\x20is\x20'+(d['map'](e=>'structuredContent.result.result.'+e)['join']('\x20and\x20')+'.\x20')+('The\x20top-level\x20'+d['join'](',\x20')+'\x20above\x20are\x20additive\x20copies\x20of\x20the\x20same\x20data.'),c;}export async function handleOnchainTableData(a){const b=strictParse(OnchainTableDataSchema,a,'onchain_table_data\x20input');let c;switch(b['query_type']){case'onchain_table':{const d=await query_table({'parent':b['parent'],'cursor':b['cursor'],'limit':b['limit'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table','result':d};break;}case'onchain_table_item_repository_data':{const f=await queryTableItem_RepositoryData({'parent':b['parent'],'name':b['name'],'entity':b['entity'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_repository_data','result':f};break;}case'onchain_table_item_permission_perm':{const g=await queryTableItem_PermissionPerm({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_permission_perm','result':g};break;}case'onchain_table_item_reward_record':{const h=await queryTableItem_RewardRecord({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});if(h)try{const j=await resolveParentObjectTokenType(b['parent'],b['network']);await annotateTableItemMonetaryFields(h,j,b['network']);}catch{}c={'query_type':'onchain_table_item_reward_record','result':h};break;}case'onchain_table_item_demand_presenter':{const k=await queryTableItem_DemandPresenter({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_demand_presenter','result':k};break;}case'onchain_table_item_treasury_history':{const l=await queryTableItem_TreasuryHistory({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});if(l)try{const m=await resolveParentObjectTokenType(b['parent'],b['network']);await annotateTableItemMonetaryFields(l,m,b['network']);}catch{}c={'query_type':'onchain_table_item_treasury_history','result':l};break;}case'onchain_table_item_machine_node':{const n=await queryTableItem_MachineNode({'parent':b['parent'],'key':b['key'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_machine_node','result':n};break;}case'onchain_table_item_progress_history':{const p=await queryTableItem_ProgressHistory({'parent':b['parent'],'u64':b['u64'],'no_cache':![],'network':b['network']});c={'query_type':'onchain_table_item_progress_history','result':p};break;}case'onchain_table_item_address_mark':{const q=await queryTableItem_AddressMark({'parent':b['parent'],'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_address_mark','result':q};break;}case'onchain_table_item_entity_registrar':{const s=await queryTableItem_EntityRegistrar({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_registrar','result':s};break;}case'onchain_table_item_entity_linker':{const t=await queryTableItem_EntityLinker({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_linker','result':t};break;}case'onchain_table_item_entity_contact':{const u=await queryTableItem_EntityContact({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_contact','result':u};break;}case'onchain_table_item_entity_order':{const v=await queryTableItem_EntityOrder({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_entity_order','result':v};break;}case'onchain_orders_of_user':{let w;try{w=await queryOrdersByUser({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});}catch(x){const y=x instanceof Error?x['message']:String(x);if(/dynamicFieldNotFound/i['test'](y))w=[];else throw x;}c={'query_type':'onchain_orders_of_user','result':w};break;}case'onchain_orders_of_users':{const z=b['addresses']??[],A=[],B=await Promise['allSettled'](z['map'](async M=>{try{const N=await queryOrdersByUser({'address':M,'no_cache':b['no_cache'],'network':b['network']});return{'account':String(M?.['name_or_address']??''),'views':Array['isArray'](N)?N:[]};}catch(O){const P=O instanceof Error?O['message']:String(O);if(/dynamicFieldNotFound/i['test'](P))return{'account':String(M?.['name_or_address']??''),'views':[]};throw O;}})),C=[];for(let M=0x0;M<z['length'];M++){const N=B[M];if(N['status']==='fulfilled')C['push'](N['value']);else{const O=N['reason']instanceof Error?N['reason']['message']:String(N['reason']);A['push'](String(z[M]?.['name_or_address']??'?')+':\x20'+O);}}const D=Array['from'](new Set(C['flatMap'](P=>P['views']['map'](Q=>typeof Q?.['order']?.['object']==='string'?Q['order']['object']:typeof Q?.['order']==='string'?Q['order']:'')['filter'](Boolean)))),E=new Map();try{if(D['length']>0x0){const P=await batchQueryObjectsByIds(D,b['network']);for(const Q of P){if(Q&&Q['type']===ObjectType['Order'])E['set'](Q['object'],Q);}}}catch{A['push']('order\x20details\x20unavailable\x20(non-blocking)');}const F=new Map(),G=new Map(),H=new Map();try{const R=new Set();for(const S of E['values']()){if(S?.['progress'])R['add'](S['progress']);if(S?.['allocation'])R['add'](S['allocation']);}if(R['size']>0x0){const T=await batchQueryObjectsByIds(Array['from'](R),b['network']);for(const U of T){if(!U?.['object'])continue;if(U['type']===ObjectType['Progress']){const V=U?.['current'];F['set'](U['object'],typeof V==='string'&&V!==''?V:null),G['set'](U['object'],Number(U?.['current_time'])||null);}else{if(U['type']===ObjectType['Allocation']){const W=Number(U?.['balance']??0x0);H['set'](U['object'],Number['isFinite'](W)&&W===0x0?'allocated':'pending');}}}}}catch{A['push']('progress/allocation\x20details\x20unavailable\x20(non-blocking)');}const I=new Map();try{const X=await Promise['allSettled'](D['map'](Y=>query_object_last_updated({'object':Y,'network':b['network'],'previous_transaction':E['get'](Y)?.['previousTransaction']??null})));for(let Y=0x0;Y<D['length'];Y++){const Z=X[Y];I['set'](D[Y],Z['status']==='fulfilled'&&Z['value']?.['timestamp_ms']?Number(Z['value']['timestamp_ms'])||null:null);}}catch{A['push']('order\x20updated\x20times\x20unavailable\x20(non-blocking)');}const J=await coinTypesOfServices(Array['from'](new Set(Array['from'](E['values']())['map'](a0=>typeof a0?.['service']==='string'?a0['service']:'')['filter'](Boolean))),b['network']),K=async(a0,a1)=>{if(a1===null||a1===undefined||a1==='')return{'display':'','tip':''};if(!a0)return{'display':a1,'tip':''};try{const a2=await formatChainValue(a1,a0,b['network']);if(a2['precision_known'])return{'display':a2['symbol']?a2['display']+'\x20'+a2['symbol']:a2['display'],'tip':a2['text']};return{'display':a1,'tip':''};}catch{return{'display':a1,'tip':''};}},L=[];for(const a0 of D){const a1=E['get'](a0),a2=C['filter'](a6=>a6['views']['some'](a7=>(typeof a7?.['order']?.['object']==='string'?a7['order']['object']:a7?.['order'])===a0))['map'](a6=>{const a7=a6['views']['find'](a8=>(typeof a8?.['order']?.['object']==='string'?a8['order']['object']:a8?.['order'])===a0);return{'account':a6['account'],'is_owner':!!a7?.['is_owner'],'is_agent':!!a7?.['is_agent'],'time':a7?.['time']};}),a3=J['get'](String(a1?.['service']??''))??null,a4=a1?.['amount']!==null&&a1?.['amount']!==undefined?String(a1['amount']):'',a5=await K(a3,a4);L['push']({'order':a0,'roles':a2,'time':a1?Number(a1['time'])||0x0:0x0,'updated_ms':I['get'](a0)??null,'amount':a4,'amount_display':a5['display'],'amount_tip':a5['tip'],'service':a1?.['service']??null,'machine':a1?.['machine']??null,'progress':a1?.['progress']??null,'allocation':a1?.['allocation']??null,'owner':ownerAddrOf(a1?.['builder']??a1?.['owner']),'claimed_by':a1?.['claimed_by']??null,'required_info':a1?.['required_info']??null,'progress_next':a1?.['progress']?F['get'](a1['progress'])??null:null,'progress_since':a1?.['progress']?G['get'](a1['progress'])??null:null,'allocation_state':a1?.['allocation']?H['get'](a1['allocation'])??'pending':'none','disputes':Array['isArray'](a1?.['dispute'])?a1['dispute']:[],'agents':Array['isArray'](a1?.['agent'])?a1['agent']:[],'items':await Promise['all']((Array['isArray'](a1?.['items'])?a1['items']:[])['map'](async a6=>{const a7=a6?.['price']!==null&&a6?.['price']!==undefined?String(a6['price']):'0';return{'name':String(a6?.['name']??''),'price':a7,'price_display':(await K(a3,a7))['display'],'quantity':String(a6?.['quantity']??'0'),'wip_hash':String(a6?.['wip_hash']??'')};}))});}c={'query_type':'onchain_orders_of_users','result':L,...A['length']>0x0?{'account_errors':A}:{}};break;}case'onchain_table_item_object_linker_core':{const a6=await queryTableItem_ObjectLinkerCore({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_object_linker_core','result':a6};break;}case'onchain_table_item_object_linker_tx':{const a7=await queryTableItem_ObjectLinkerTx({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_object_linker_tx','result':a7};break;}case'onchain_affiliations_of_object':{const a8=await query_affiliations({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']}),a9=a8?.['entries'];Array['isArray'](a9)&&(a8['entries']=a9['filter'](aa=>{const ab=typeof aa?.['who']==='string'?aa['who']:'';return!!ab&&objectTypeFromAddress(ab)!==undefined;}));c={'query_type':'onchain_affiliations_of_object','result':a8};break;}case'address_profile':{const aa=await query_address_profile({'address':b['address'],'no_cache':b['no_cache'],'network':b['network']});await mergeServiceAnalysis(aa,{'no_cache':b['no_cache'],'network':b['network']});aa&&typeof aa==='object'&&(aa['follow_ups']=buildProfileFollowUps(aa));c={'query_type':'address_profile','result':aa};break;}case'service_supply_chain':{const ab=await resolveSupplyChainGraph(typeof b['address']==='string'?b['address']:b['address']?.['name_or_address']??String(b['address']),b['network']);c={'query_type':'service_supply_chain','result':ab};break;}case'onchain_table_item_generic':{const ac=await query_tableItem({'parent':b['parent'],'key':{'type':b['key_type'],'value':b['key_value']},'no_cache':b['no_cache'],'network':b['network']});c={'query_type':'onchain_table_item_generic','result':ac};break;}default:{const ad=['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_entity_order','onchain_orders_of_user','onchain_orders_of_users','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_generic','onchain_affiliations_of_object','address_profile','service_supply_chain'];throw new Error('Unknown\x20table\x20query_type\x20\x22'+b['query_type']+'\x22.\x20Valid\x20query_types\x20are:\x20'+ad['map'](ae=>'\x22'+ae+'\x22')['join'](',\x20')+'.');}}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c,'semantic':buildDataSemantic(c,{'operation_type':'onchain_table_data','data':b})}};}export async function handleOnchainEvents(a){const b=strictParse(OnchainEventsInputSchema,a,'onchain_events\x20input'),c=await query_events({'type':b['type'],'cursor':b['cursor']?{'eventSeq':String(b['cursor']['eventSeq']),'txDigest':b['cursor']['txDigest']}:null,'limit':b['limit']??null,'order':b['order']??null,'no_cache':b['no_cache'],'network':b['network']});try{await annotateEventsMonetaryFields(c?.['data'],b['network']);}catch{}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c,'semantic':buildDataSemantic(c,{'operation_type':'onchain_events','data':b})}};}function mcpLayerInfoResponse(a){return{'content':[{'type':'text','text':JSON['stringify']({'result':a})}],'structuredContent':{'result':a}};}export async function handleWowokInfo(a){const b=strictParse(ProtocolInfoQuerySchema,a,'wowok_buildin_info\x20input'),c=b['info'];if(c==='upgrade_check')return mcpLayerInfoResponse({'info':'upgrade_check','result':await checkUpgrade()});if(c==='universal_template')return mcpLayerInfoResponse({'info':'universal_template','result':getUniversalTemplate()});if(c==='getting\x20started')return mcpLayerInfoResponse({'info':'getting\x20started','result':getGettingStarted()});if(c==='build_fingerprint'){const e=b['compare'];if(e!=null){const h=await readChainStamp();return setComparisonChainEpoch(h['fetched']?h['epoch']:null),mcpLayerInfoResponse({'info':'build_fingerprint','result':{'comparison':compareReportFingerprint(e)}});}const f=currentBuildFingerprint(),g=await readChainStamp();return setComparisonChainEpoch(g['fetched']?g['epoch']:null),mcpLayerInfoResponse({'info':'build_fingerprint','result':{'fingerprint':f,'chain_stamp':g}});}const d=await queryProtocolInfo(b);return{'content':[{'type':'text','text':JSON['stringify']({'result':d})}],'structuredContent':{'result':d}};}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import type { ProgressReviewSchema } from "../../schema/call/progress.js";
|
|
1
3
|
import { type ReviewChainStep } from "../../schema/index.js";
|
|
2
4
|
export interface ReviewChainParams {
|
|
3
5
|
env: any;
|
|
4
|
-
submission
|
|
5
|
-
review
|
|
6
|
-
repository: string;
|
|
7
|
-
policy?: string;
|
|
8
|
-
rating: "like" | "dislike";
|
|
9
|
-
tags?: string[];
|
|
10
|
-
reward_claim?: {
|
|
11
|
-
reward: string;
|
|
12
|
-
guard: string;
|
|
13
|
-
};
|
|
14
|
-
write_guard?: string;
|
|
15
|
-
} | undefined;
|
|
6
|
+
submission?: any;
|
|
7
|
+
review?: z.infer<typeof ProgressReviewSchema>;
|
|
16
8
|
orderRef?: string;
|
|
17
9
|
}
|
|
10
|
+
export declare function runReviewRepositoryWrite(params: ReviewChainParams): Promise<ReviewChainStep[]>;
|
|
11
|
+
export declare function runReviewRewardClaim(params: ReviewChainParams): Promise<ReviewChainStep[]>;
|
|
18
12
|
export declare function runReviewChain(params: ReviewChainParams): Promise<ReviewChainStep[]>;
|
|
19
13
|
export declare function mergeReviewStepsIntoOutput<T extends {
|
|
20
14
|
content: any[];
|
|
21
15
|
structuredContent: any;
|
|
22
|
-
}>(output: T, steps: ReviewChainStep[]
|
|
16
|
+
}>(output: T, steps: ReviewChainStep[], opts?: {
|
|
17
|
+
forwardOutcome?: string;
|
|
18
|
+
}): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CallRepository,CallReward,query_transaction}from'@wowok/wowok';import{transformSubmission,classifyError}from'../../schema/index.js';function digestOf(a){const b=a?.['digest']??a?.['effects']?.['digest'];return typeof b==='string'?b:undefined;}const STEP_RETRY_MOVE={'repository_write':'re-drive\x20the\x20write\x20with\x20the\x20dedicated\x20repository\x20tool\x20(same\x20policy\x20and\x20payload\x20values)\x20—\x20if\x20the\x20row\x20already\x20exists,\x20adopt\x20it\x20and\x20stop','reward_claim':'re-drive\x20the\x20claim\x20with\x20the\x20dedicated\x20reward\x20tool\x20—\x20if\x20the\x20claim\x20already\x20landed,\x20adopt\x20it\x20and\x20stop'};async function settleStepFailure(a,b,c){const d=String(c?.['message']??c);let e='';try{e=classifyError(d,c)?.['error_code']??'';}catch{}if(e!=='submission_unknown'){if(a==='reward_claim'&&/E_VERIFY_FAILED/i['test'](d))return{'step':a,'status':'failed','detail':b+'\x20failed','error':d,'next_action':'TWO-PHASE\x20RECOVERY\x20(the\x20sanctioned\x20paradigm,\x20not\x20a\x20workaround):\x20this\x20chained\x20claim\x20reused\x20the\x20'+'forward\x27s\x20passport\x20submission,\x20and\x20the\x20passport\x20verifies\x20every\x20submission\x20guard\x20BEFORE\x20the\x20'+'forward\x20runs\x20—\x20a\x20reward\x20guard\x20that\x20reads\x20the\x20review\x20row\x20written\x20by\x20this\x20chain\x27s\x20step\x201\x20could\x20'+'not\x20see\x20it\x20at\x20verification\x20time.\x20Step\x201\x27s\x20review\x20row\x20HAS\x20landed.\x20Claim\x20the\x20reward\x20in\x20a\x20'+'SEPARATE\x20reward-claim\x20call\x20with\x20a\x20fresh\x20submission\x20whose\x20reward\x20guard\x20now\x20verifies\x20against\x20'+'the\x20existing\x20row\x20—\x20design\x20review-gated\x20rewards\x20as\x20this\x20two-step\x20flow,\x20never\x20as\x20one\x20atomic\x20'+'chain.'};return{'step':a,'status':'failed','detail':b+'\x20failed','error':d};}const f=typeof c?.['digest']==='string'&&c['digest']?c['digest']:undefined;if(f)try{const g=await query_transaction({'digest':f,'no_cache':!![]}),h=String(g?.['status']??'')['toLowerCase']();if(h==='success')return{'step':a,'status':'success','detail':b+'\x20—\x20outcome\x20recovered\x20by\x20digest\x20probe:\x20the\x20submission\x20reported\x20an\x20unknown\x20'+('state\x20but\x20transaction\x20'+f+'\x20IS\x20on\x20chain\x20and\x20executed;\x20the\x20step\x20LANDED\x20—\x20')+'adopt\x20it,\x20never\x20resubmit','digest':f};return{'step':a,'status':'failed','detail':b,'digest':f,'error':'transaction\x20'+f+'\x20committed\x20but\x20its\x20execution\x20failed\x20(final;\x20gas\x20charged;\x20'+('effects\x20reverted\x20—\x20nothing\x20was\x20written)'+(g?.['error']?':\x20'+g['error']:'')),'next_action':'fix\x20the\x20reported\x20cause\x20and\x20re-drive\x20ONLY\x20from\x20live\x20state;\x20do\x20not\x20treat\x20this\x20as\x20transport\x20uncertainty'};}catch(i){if(/could not find the referenced transaction|not found/i['test'](String(i?.['message']??i)))return{'step':a,'status':'failed','detail':b,'digest':f,'error':'digest\x20'+f+'\x20does\x20not\x20resolve\x20on-chain\x20—\x20CONFIRMED\x20nothing\x20landed\x20for\x20this\x20submission','next_action':STEP_RETRY_MOVE[a]};}return{'step':a,'status':'unknown','detail':b+'\x20—\x20outcome\x20could\x20not\x20be\x20observed',...f?{'digest':f}:{},'error':'OUTCOME\x20UNKNOWN:\x20the\x20submission\x20may\x20have\x20committed\x20but\x20the\x20response\x20was\x20lost'+((f?'\x20(transport-reported\x20digest\x20'+f+')':'')+'\x20—\x20this\x20is\x20NOT\x20a\x20confirmed\x20failure'),'next_action':f?'verify\x20digest\x20'+f+'\x20first\x20(onchain_transaction):\x20executed\x20→\x20the\x20step\x20LANDED,\x20adopt\x20and\x20stop;\x20'+('failure\x20status\x20→\x20final,\x20fix\x20the\x20cause;\x20unresolvable\x20→\x20nothing\x20landed,\x20then\x20'+STEP_RETRY_MOVE[a]):'probe\x20before\x20any\x20retry:\x20query\x20the\x20target\x20state\x20and\x20the\x20sender\x27s\x20recent\x20events\x20(onchain_events)\x20—\x20'+('if\x20the\x20step\x20landed,\x20adopt\x20it;\x20if\x20confirmed\x20absent,\x20'+STEP_RETRY_MOVE[a])};}export async function
|
|
1
|
+
import{CallRepository,CallReward,LocalMark,query_transaction}from'@wowok/wowok';import{transformSubmission,classifyError}from'../../schema/index.js';import{handleObjectPanorama}from'../../playbooks/service-build/object-panorama.js';function digestOf(a){const b=a?.['digest']??a?.['effects']?.['digest'];return typeof b==='string'?b:undefined;}function stepOutcome(a,b,c,d){const e=digestOf(c);if(e)return{'step':a,'status':'success','detail':d,'digest':e};return{'step':a,'status':'unknown','detail':b+'\x20—\x20the\x20call\x20returned\x20without\x20a\x20transaction\x20digest;\x20the\x20write\x20is\x20NOT\x20proven\x20to\x20have\x20landed','error':'OUTCOME\x20UNKNOWN:\x20no\x20digest\x20in\x20the\x20call\x20result\x20—\x20do\x20NOT\x20treat\x20this\x20as\x20success.\x20Verify\x20before\x20any\x20retry\x20'+'(a\x20blind\x20retry\x20of\x20a\x20write-once\x20policy\x20aborts\x20with\x20code\x2024).','next_action':'probe\x20first:\x20query\x20the\x20target\x20state\x20(repository.data\x20row\x20/\x20reward\x20record\x20/\x20recent\x20events)\x20for\x20'+b+'\x20—\x20'+('if\x20it\x20landed,\x20adopt\x20it\x20and\x20stop;\x20if\x20confirmed\x20absent,\x20'+STEP_RETRY_MOVE[a])};}const STEP_RETRY_MOVE={'repository_write':'re-drive\x20the\x20write\x20with\x20the\x20dedicated\x20repository\x20tool\x20(same\x20policy\x20and\x20payload\x20values)\x20—\x20if\x20the\x20row\x20already\x20exists,\x20adopt\x20it\x20and\x20stop','reward_claim':'re-drive\x20the\x20claim\x20with\x20the\x20dedicated\x20reward\x20tool\x20—\x20if\x20the\x20claim\x20already\x20landed,\x20adopt\x20it\x20and\x20stop'};async function settleStepFailure(a,b,c){const d=String(c?.['message']??c);let e='';try{e=classifyError(d,c)?.['error_code']??'';}catch{}if(e!=='submission_unknown'){if(a==='reward_claim'&&/E_VERIFY_FAILED/i['test'](d))return{'step':a,'status':'failed','detail':b+'\x20failed','error':d,'next_action':'TWO-PHASE\x20RECOVERY\x20(the\x20sanctioned\x20paradigm,\x20not\x20a\x20workaround):\x20this\x20chained\x20claim\x20reused\x20the\x20'+'forward\x27s\x20passport\x20submission,\x20and\x20the\x20passport\x20verifies\x20every\x20submission\x20guard\x20BEFORE\x20the\x20'+'forward\x20runs\x20—\x20a\x20reward\x20guard\x20that\x20reads\x20the\x20review\x20row\x20written\x20by\x20this\x20chain\x27s\x20step\x201\x20could\x20'+'not\x20see\x20it\x20at\x20verification\x20time.\x20Step\x201\x27s\x20review\x20row\x20HAS\x20landed.\x20Claim\x20the\x20reward\x20in\x20a\x20'+'SEPARATE\x20reward-claim\x20call\x20with\x20a\x20fresh\x20submission\x20whose\x20reward\x20guard\x20now\x20verifies\x20against\x20'+'the\x20existing\x20row\x20—\x20design\x20review-gated\x20rewards\x20as\x20this\x20two-step\x20flow,\x20never\x20as\x20one\x20atomic\x20'+'chain.'};return{'step':a,'status':'failed','detail':b+'\x20failed','error':d};}const f=typeof c?.['digest']==='string'&&c['digest']?c['digest']:undefined;if(f)try{const g=await query_transaction({'digest':f,'no_cache':!![]}),h=String(g?.['status']??'')['toLowerCase']();if(h==='success')return{'step':a,'status':'success','detail':b+'\x20—\x20outcome\x20recovered\x20by\x20digest\x20probe:\x20the\x20submission\x20reported\x20an\x20unknown\x20'+('state\x20but\x20transaction\x20'+f+'\x20IS\x20on\x20chain\x20and\x20executed;\x20the\x20step\x20LANDED\x20—\x20')+'adopt\x20it,\x20never\x20resubmit','digest':f};return{'step':a,'status':'failed','detail':b,'digest':f,'error':'transaction\x20'+f+'\x20committed\x20but\x20its\x20execution\x20failed\x20(final;\x20gas\x20charged;\x20'+('effects\x20reverted\x20—\x20nothing\x20was\x20written)'+(g?.['error']?':\x20'+g['error']:'')),'next_action':'fix\x20the\x20reported\x20cause\x20and\x20re-drive\x20ONLY\x20from\x20live\x20state;\x20do\x20not\x20treat\x20this\x20as\x20transport\x20uncertainty'};}catch(i){if(/could not find the referenced transaction|not found/i['test'](String(i?.['message']??i)))return{'step':a,'status':'failed','detail':b,'digest':f,'error':'digest\x20'+f+'\x20does\x20not\x20resolve\x20on-chain\x20—\x20CONFIRMED\x20nothing\x20landed\x20for\x20this\x20submission','next_action':STEP_RETRY_MOVE[a]};}return{'step':a,'status':'unknown','detail':b+'\x20—\x20outcome\x20could\x20not\x20be\x20observed',...f?{'digest':f}:{},'error':'OUTCOME\x20UNKNOWN:\x20the\x20submission\x20may\x20have\x20committed\x20but\x20the\x20response\x20was\x20lost'+((f?'\x20(transport-reported\x20digest\x20'+f+')':'')+'\x20—\x20this\x20is\x20NOT\x20a\x20confirmed\x20failure'),'next_action':f?'verify\x20digest\x20'+f+'\x20first\x20(onchain_transaction):\x20executed\x20→\x20the\x20step\x20LANDED,\x20adopt\x20and\x20stop;\x20'+('failure\x20status\x20→\x20final,\x20fix\x20the\x20cause;\x20unresolvable\x20→\x20nothing\x20landed,\x20then\x20'+STEP_RETRY_MOVE[a]):'probe\x20before\x20any\x20retry:\x20query\x20the\x20target\x20state\x20and\x20the\x20sender\x27s\x20recent\x20events\x20(onchain_events)\x20—\x20'+('if\x20the\x20step\x20landed,\x20adopt\x20it;\x20if\x20confirmed\x20absent,\x20'+STEP_RETRY_MOVE[a])};}async function policyIsCallerKeyed(a,b){try{const c=await handleObjectPanorama({'object_address':a,'no_cache':!![]});if(c?.['object_type']!=='Repository')return undefined;const d=c['policies']['find'](f=>f['name']===b);if(!d)return undefined;const e=String(d['id_from']??'')['trim']()['toLowerCase']();if(e==='none'||e==='0')return!![];if(e==='signer'||e==='2'||e==='clock'||e==='1')return![];return undefined;}catch{return undefined;}}async function resolveOrderAddress(a){if(!a||a['length']===0x0)return undefined;if(a['startsWith']('0x'))return a;try{return await LocalMark['Instance']()['get_address'](a)??undefined;}catch{return undefined;}}export async function runReviewRepositoryWrite(a){const b=[],c=a['review'];if(!c)return b;if(!c['repository'])return b['push']({'step':'repository_write','status':'failed','detail':'repository\x20data_add\x20was\x20requested\x20via\x20data.review\x20but\x20no\x20repository\x20was\x20named','error':'data.review.repository\x20is\x20missing/empty\x20—\x20nothing\x20was\x20written.\x20Re-run\x20with\x20repository=<address>\x20(the\x20structured\x20reputation\x20record\x20is\x20NOT\x20recoverable\x20from\x20this\x20forward).'}),b;const d='repository\x20data_add\x20on\x20'+c['repository']+'\x20(policy\x20\x27'+(c['policy']??'review')+'\x27)';try{const e=a['submission']?await transformSubmission(a['submission']):undefined,f=c['write_guard']??e?.['guard']?.[0x0]?.['object'],g={'rating':c['rating']};if(c['tags']!==undefined&&c['tags']['length']>0x0)g['tags']=c['tags'];if(a['orderRef'])g['orderRef']=a['orderRef'];const h={'name':c['policy']??'review','data':JSON['stringify'](g)};if(f)h['write_guard']=f;const i=await resolveOrderAddress(a['orderRef']),j=i!==undefined?await policyIsCallerKeyed(c['repository'],c['policy']??'review'):undefined,k=i!==undefined&&j!==![];if(k)h['id']=i;const l=new CallRepository({'object':c['repository'],'data_add':h}),m=e?await l['call_with_submission'](a['env'],e):await l['call'](a['env']);b['push'](stepOutcome('repository_write',d,m,'wrote\x20'+JSON['stringify'](g)+'\x20under\x20policy\x20\x27'+(c['policy']??'review')+'\x27\x20of\x20repository\x20'+c['repository']+(k?'\x20(row\x20id\x20=\x20order\x20'+i+')':'')));}catch(n){b['push'](await settleStepFailure('repository_write',d,n));}return b;}export async function runReviewRewardClaim(a){const b=[],c=a['review'];if(!c?.['reward_claim'])return b;const {reward:d,guard:e}=c['reward_claim'],f='reward\x20claim\x20on\x20'+d+'\x20via\x20guard\x20'+e;try{const g=a['submission']?await transformSubmission(a['submission']):undefined,h=new CallReward({'object':d,'claim':e}),i=g?await h['call_with_submission'](a['env'],g):await h['call'](a['env']);b['push'](stepOutcome('reward_claim',f,i,'claimed\x20reward\x20'+d+'\x20via\x20guard\x20'+e));}catch(j){b['push'](await settleStepFailure('reward_claim',f,j));}return b;}export async function runReviewChain(a){return[...await runReviewRepositoryWrite(a),...await runReviewRewardClaim(a)];}export function mergeReviewStepsIntoOutput(a,b,c){try{const d=a?.['structuredContent'];if(d&&typeof d==='object'){if(!d['semantic']||typeof d['semantic']!=='object')d['semantic']={};d['semantic']['review_steps']=b;}const e=b['filter'](i=>i['status']==='failed'),f=b['filter'](i=>i['status']==='unknown'),g=[...e,...f]['map'](i=>i['step']+':\x20'+(i['error']??i['detail'])+(i['next_action']?'\x20[next:\x20'+i['next_action']+']':''))['join']('\x20|\x20'),h=e['length']===0x0&&f['length']===0x0?'Review\x20chain:\x20'+b['length']+'\x20chained\x20step(s)\x20completed.'+(c?.['forwardOutcome']?'\x20Note:\x20the\x20forward\x20'+c['forwardOutcome']+'.':''):'Review\x20chain:\x20'+e['length']+'/'+b['length']+'\x20chained\x20step(s)\x20failed'+(f['length']>0x0?',\x20'+f['length']+'\x20outcome-UNKNOWN\x20(may\x20have\x20landed\x20—\x20follow\x20next_action\x20before\x20any\x20retry)':'')+('\x20—\x20the\x20forward\x20'+(c?.['forwardOutcome']??'itself\x20succeeded\x20(no\x20rollback)')+'.\x20Reason(s)/next:\x20'+g);Array['isArray'](a?.['content'])&&a['content'][0x0]?.['text']!==undefined&&(a['content'][0x0]['text']=h+'\x0a'+a['content'][0x0]['text']);}catch{}return a;}
|