@wowok/agent-mcp 2.7.6 → 2.7.7
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/project/evaluation-fix.spec.d.ts +1 -0
- package/dist/project/evaluation-fix.spec.js +1 -0
- package/dist/project/evaluation.js +1 -1
- package/dist/project/index.js +1 -1
- package/dist/project/rollback-policy.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.d.ts +9 -0
- package/dist/schema/call/arbitration.d.ts +10 -0
- package/dist/schema/call/contact.d.ts +10 -0
- package/dist/schema/call/demand.d.ts +10 -0
- package/dist/schema/call/machine.d.ts +10 -0
- package/dist/schema/call/order.d.ts +10 -0
- package/dist/schema/call/payment.d.ts +3 -3
- package/dist/schema/call/payment.js +1 -1
- package/dist/schema/call/permission.d.ts +10 -0
- package/dist/schema/call/progress.d.ts +10 -0
- package/dist/schema/call/repository.d.ts +10 -0
- package/dist/schema/call/reward.d.ts +16 -0
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +16 -0
- package/dist/schema/call/treasury.d.ts +16 -0
- package/dist/schema/common/index.d.ts +21 -0
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/operations.d.ts +68 -1
- package/dist/schema/operations.js +1 -1
- package/dist/schema/query/index.d.ts +5 -0
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +274 -7
- package/dist/schemas/onchain_operations_allocation.schema.json +12 -0
- package/dist/schemas/onchain_operations_arbitration.schema.json +20 -0
- package/dist/schemas/onchain_operations_contact.schema.json +20 -0
- package/dist/schemas/onchain_operations_demand.schema.json +20 -0
- package/dist/schemas/onchain_operations_machine.schema.json +20 -0
- package/dist/schemas/onchain_operations_order.schema.json +20 -0
- package/dist/schemas/onchain_operations_payment.schema.json +6 -7
- package/dist/schemas/onchain_operations_permission.schema.json +20 -0
- package/dist/schemas/onchain_operations_progress.schema.json +20 -0
- package/dist/schemas/onchain_operations_repository.schema.json +20 -0
- package/dist/schemas/onchain_operations_reward.schema.json +32 -0
- package/dist/schemas/onchain_operations_service.schema.json +32 -0
- package/dist/schemas/onchain_operations_treasury.schema.json +32 -0
- package/dist/schemas/query_toolkit.output.json +20 -0
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/package.json +2 -2
package/dist/tools/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from'zod';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';import{fromJsonSchema}from'@modelcontextprotocol/server';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),SCHEMA_DIR_CANDIDATES=[join(__dirname,'..','schemas'),join(__dirname,'..','..','dist','schemas')],preGeneratedSchemaCache=new Map();import{wrapHandlerWithErrorShape,statusErrorShape,operationErrorShape,strictStatusErrorShape,dispatchWithHarness}from'./wrap.js';import{withTelemetry}from'../telemetry/index.js';import{handleOnchainOperations}from'./handlers/onchain.js';import{handleAccountOperation,handleMarkOperation,handleInfoOperation}from'./handlers/local.js';import{handleWipOperations}from'./handlers/wip.js';import{handleMessengerOperation}from'./handlers/messenger.js';import{handleGuard2File,handleMachineNode2File}from'./handlers/file-export.js';import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'./handlers/query.js';import{handleSchemaQuery}from'./handlers/schema-query.js';import{handleBridgeOperations}from'./handlers/bridge.js';import{handleProjectOperation}from'./handlers/project.js';import{handleConfigOperation}from'./handlers/config.js';import{handleTrustScore}from'./handlers/trust.js';import{handleEvaluationOperation}from'./handlers/evaluation.js';import{handlePersonaOperation}from'./handlers/persona.js';import{handleIntentRadar}from'./handlers/intent-radar.js';import{handleEmployeeOperation}from'./handlers/employee.js';import{handleQueryTaskStatus}from'./handlers/task-status.js';import{handleIndustryPackOperation}from'./handlers/industry-pack.js';import{handleWorkspaceOperation}from'./handlers/workspace.js';import{handleWorkflowOperation}from'./handlers/workflow.js';import{handlePermissionOperation}from'./handlers/permission.js';import{applyOnchainRules}from'./rules-hook.js';import{createToolMeta,OnchainOperationsSchema,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,WipOperationsSchema,MessengerOperationInputSchema,Guard2File_InputSchema,MachineNode2File_InputSchema,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainEventsInputSchema,ProtocolInfoQuerySchema,SchemaQueryInputSchema,BridgeOperationsSchema,ProjectOperationInputSchema,ConfigOperationInputSchema,TrustScoreInputSchema,CallOutputSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,WipOperationOutputSchema,MessengerOperationOutputSchema,Guard2File_OutputWrappedSchema,MachineNode2File_OutputWrappedSchema,OnchainTableDataResultSchema,OnchainEventsResultSchema,ProtocolInfoResultSchema,SchemaQueryOutputSchema,BridgeCallOutputSchema,ProjectOperationOutputSchema,ConfigOperationOutputSchema,TrustScoreOutputSchema,EvaluationOperationInputSchema,EvaluationOperationOutputSchema,PersonaOperationInputSchema,PersonaOperationOutputSchema,IntentRadarInputSchema,IntentRadarOutputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema,QueryTaskStatusInputSchema,QueryTaskStatusOutputSchema,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema}from'../schema/index.js';export const TOOL_REGISTRY=[{'name':'onchain_operations','handler':handleOnchainOperations,'config':{'title':'⛓️\x20On-chain\x20Operations','summary':'On-chain\x20ops:\x20service,\x20machine,\x20progress,\x20repository,\x20arbitration,\x20etc.','description':'On-chain\x20operations\x20for\x20WoWok\x20object:\x20service\x20(marketplace\x20listings),\x20machine\x20(workflow\x20templates),\x20progress\x20(order\x20tracking),\x20repository\x20(on-chain\x20database),\x20arbitration\x20(dispute\x20resolution),\x20contact\x20(IM\x20management),\x20treasury\x20(team\x20funds),\x20reward\x20(incentive\x20pools),\x20allocation\x20(auto-distribution),\x20permission\x20(access\x20control),\x20guard\x20(programmable\x20trust\x20rules),\x20personal\x20(public\x20profile),\x20payment\x20(direct\x20coin\x20transfers),\x20demand\x20(service\x20requests),\x20order\x20(order\x20management),\x20gen_passport\x20(verified\x20credentials),\x20proof\x20(on-chain\x20proof\x20objects),\x20gen_proof\x20(generate\x20proof\x20shortcut).\x0a\x0a💰\x20FUND\x20SAFETY\x20(service/arbitration/treasury/reward/allocation/payment):\x20amounts\x20are\x20parsed\x20against\x20the\x20target\x20object\x27s\x20IMMUTABLE\x20generic\x20token\x20type\x20(e.g.\x20Treasury<USDT>\x20accepts\x20ONLY\x20USDT\x20—\x20mismatched\x20coins/token_types\x20are\x20BLOCKED\x20before\x20execution).\x20Monetary\x20input\x20with\x20unresolvable\x20token\x20precision\x20is\x20BLOCKED\x20(never\x20guesses\x20decimals)\x20with\x20known-token\x20suggestions;\x20retry\x20once\x20the\x20token\x20info\x20resolves.\x20Display-format\x20amounts\x20like\x20\x222WOW\x22\x20are\x20converted\x20to\x20raw\x20u64\x20using\x20the\x20token\x27s\x20own\x20decimals.\x0a\x0a📌\x20Project\x20association:\x20Pass\x20env.project=\x27<prefix>\x27\x20to\x20auto-tag\x20the\x20object\x20on-chain\x20AND\x20auto-associate\x20it\x20to\x20the\x20SQLite\x20project\x20(created\x20objects\x20are\x20automatically\x20added).\x20For\x20complex\x20builds,\x20create\x20a\x20project\x20first\x20(project_operation\x20action=\x27create_project\x27).\x20For\x20single\x20objects,\x20just\x20pass\x20env.project.\x20See\x20PROJECT\x20ASSOCIATION\x20POLICY\x20in\x20system\x20prompt.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations\x27\x20to\x20retrieve\x20the\x20complete\x20parameter\x20schema.\x20For\x20individual\x20operation\x20schemas\x20(e.g.,\x20\x27onchain_operations_permission\x27),\x20use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20available\x20operation\x20schemas.','inputSchema':OnchainOperationsSchema,'outputSchema':CallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','payment','demand','order','gen_passport','proof','gen_proof','on-chain','blockchain'])},'applyRules':applyOnchainRules},{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20Account\x20-\x20Wallet\x20Management','summary':'LOCAL\x20wallet\x20management\x20(generate,\x20suspend,\x20faucet,\x20sign).','description':'🔒\x20100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20WoWok\x20accounts\x20locally\x20on\x20device:\x20generate,\x20suspend,\x20resume,\x20faucet-test,\x20operate\x20assets,\x20sign\x20data,\x20etc.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27account_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':AccountOperationSchema,'outputSchema':AccountOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['account','local','private','wallet','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_mark_operation','handler':handleMarkOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalMark\x20-\x20Address\x20Book\x20Management','summary':'LOCAL\x20address\x20book\x20(name/tag\x20for\x20addresses\x20and\x20object\x20IDs).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20ID\x20names\x20and\x20tags\x20stored\x20ONLY\x20on\x20your\x20local\x20device\x20for\x20easy\x20identification\x20of\x20user\x20address\x20or\x20object\x20IDs\x20by\x20name.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_mark_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalMarkOperationSchema,'outputSchema':LocalMarkOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['mark','local','private','address-book','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_info_operation','handler':handleInfoOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalInfo\x20-\x20Private\x20Data\x20Management','summary':'LOCAL\x20private\x20data\x20(delivery\x20addresses,\x20phone\x20numbers).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_info_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalInfoOperationSchema,'outputSchema':LocalInfoOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['info','local','private','data-management','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'wip_file','handler':handleWipOperations,'config':{'title':'🤝\x20Witness\x20Immutable\x20Promise\x20File\x20Operations','summary':'WIP\x20promise\x20file\x20operations:\x20generate,\x20verify,\x20sign,\x20wip2html.','description':'generate\x20(create\x20WIP\x20files\x20from\x20markdown\x20and\x20images),\x20verify\x20(integrity\x20check),\x20sign\x20(add\x20signatures),\x20or\x20wip2html\x20(convert\x20to\x20HTML).\x0a\x0a⚠️\x20IMPORTANT\x20—\x20On-chain\x20WIP\x20URL\x20requirement:\x20When\x20using\x20a\x20WIP\x20file\x20URL\x20in\x20`service.sales[].wip`\x20(stored\x20on-chain),\x20the\x20URL\x20MUST\x20be\x20publicly\x20reachable.\x20Local\x20file\x20paths\x20(e.g.,\x20\x27C:\x5c\x5cpath\x5c\x5cfile.wip\x27\x20or\x20\x27/home/user/file.wip\x27)\x20are\x20NOT\x20acceptable\x20on-chain\x20—\x20they\x20only\x20work\x20locally\x20and\x20will\x20fail\x20verification\x20for\x20buyers.\x0a\x0aDeployment\x20options\x20for\x20the\x20.wip\x20file:\x0a\x20\x20•\x20GitHub\x20Pages:\x20https://raw.githubusercontent.com/<user>/<repo>/<branch>/<file>.wip\x0a\x20\x20•\x20IPFS:\x20https://ipfs.io/ipfs/<CID>\x20or\x20https://cloudflare-ipfs.com/ipfs/<CID>\x20(upload\x20via\x20pinata.cloud)\x0a\x20\x20•\x20User\x27s\x20own\x20static\x20website\x20URL\x0a\x0aUse\x20type=\x27generate\x27\x20to\x20create\x20the\x20WIP\x20file\x20first,\x20upload\x20it\x20to\x20any\x20of\x20the\x20above,\x20then\x20use\x20the\x20resulting\x20URL\x20in\x20service.sales[].wip.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27wip_file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':WipOperationsSchema,'outputSchema':z['object']({'result':WipOperationOutputSchema}),'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('operation',['wip','promise','file-generation','verification','signature','local'])}},{'name':'messenger_operation','handler':handleMessengerOperation,'config':{'title':'💬\x20Messenger\x20Operations','summary':'End-to-end\x20encrypted\x20messaging\x20(send/watch/WTS/blacklist).','description':'WoWok\x20encrypted\x20messenger\x20operations:\x20watch\x20conversations\x20(with\x20unread\x20filtering,\x20preview\x20messages),\x20send\x20message,\x20send\x20file,\x20watch\x20messages\x20(with\x20viewed\x20status\x20filtering),\x20extract\x20zip\x20messages,\x20generate\x20WTS,\x20verify\x20WTS,\x20sign\x20WTS,\x20WTS\x20to\x20HTML,\x20proof\x20message\x20on-chain,\x20manage\x20blacklist,\x20friendslist,\x20guardlist,\x20settings,\x20mark\x20messages\x20as\x20viewed,\x20mark\x20conversation\x20as\x20viewed,\x20and\x20pull\x20messages\x20from\x20server.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27messenger_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MessengerOperationInputSchema,'outputSchema':MessengerOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['messenger','message','file','wts','blacklist','friendslist','guardlist','settings','proof','communication'])},'errorShapeBuilder':operationErrorShape,'timeoutMs':0x7530},{'name':'guard2file','handler':handleGuard2File,'config':{'title':'📄\x20Guard\x20to\x20File\x20-\x20Export\x20Guard\x20Definition','summary':'Export\x20guard\x20rules\x20to\x20a\x20local\x20JSON/Markdown\x20file.','description':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20from\x20the\x20blockchain\x20to\x20a\x20local\x20JSON\x20or\x20Markdown\x20file\x20for\x20editing\x20and\x20creating\x20new\x20Guard\x20objects.\x20Note:\x20To\x20query\x20on-chain\x20object\x20information,\x20use\x20the\x20\x27query_toolkit\x27\x20tool\x20instead.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27guard2file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':Guard2File_InputSchema,'outputSchema':Guard2File_OutputWrappedSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('generate\x20file',['guard','export','file','json','markdown','on-chain'])},'errorShapeBuilder':strictStatusErrorShape},{'name':'machineNode2file','handler':handleMachineNode2File,'config':{'title':'⚙️\x20Machine\x20Node\x20to\x20File\x20-\x20Export\x20Machine\x20Node\x20Definition','summary':'Export\x20machine\x20nodes\x20to\x20a\x20local\x20JSON/Markdown\x20file.','description':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20from\x20the\x20blockchain\x20to\x20a\x20local\x20JSON\x20or\x20Markdown\x20file\x20for\x20editing\x20and\x20creating\x20new\x20Machine\x20objects.\x20Note:\x20To\x20query\x20on-chain\x20object\x20information,\x20use\x20the\x20\x27query_toolkit\x27\x20tool\x20instead.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27machineNode2file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MachineNode2File_InputSchema,'outputSchema':MachineNode2File_OutputWrappedSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('generate\x20file',['machine','export','file','json','markdown','on-chain','workflow'])},'errorShapeBuilder':strictStatusErrorShape},{'name':'query_toolkit','handler':handleWatchQueryOperations,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens\x20(13\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2013\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'12.\x20onchain_address_activity\x20—\x20FORENSICS:\x20all\x20transactions\x20sent\x20by\x20an\x20address\x20(auditing\x20only).\x0a'+'13.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(15\x20item\x20types).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20events\x20(arbitration,\x20order,\x20progress,\x20demand).','description':'Query\x20on-chain\x20WoWok\x20state-transition\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20arbitration\x20events,\x20new\x20order\x20events,\x20progress\x20events,\x20demand\x20presentation\x20events,\x20demand\x20feedback\x20events,\x20and\x20new\x20entity\x20registration\x20events.\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20state-transition\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Protocol\x20constants,\x20built-in\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20or\x20\x27funding\x20guidance\x27.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20+\x20best\x20practices\x20(e.g.\x20signer_verification,\x20progress_node_check).\x20Omit\x20\x27template\x27\x20to\x20list\x20all.\x0a'+'\x20\x20\x27search_examples\x27\x20-\x20Search\x20verified\x20example\x20files\x20by\x20keyword\x20(matches\x20title/description/tags/operation_type/industry).\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}},{'name':'bridge_operation','handler':handleBridgeOperations,'config':{'title':'🌉\x20Bridge\x20-\x20Cross-Chain\x20Operations','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(mainnet\x20only).','description':'🌉\x20Simplified\x20cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.\x0a\x0a'+'Key\x20concepts\x20(transparent\x20to\x20user):\x0a'+'\x20\x20•\x20Global\x20single\x20activeEvmAccount\x20-\x20auto-generated\x20on\x20first\x20use,\x20holds\x20cross-chain\x20assets.\x0a'+'\x20\x20•\x20WOW→EVM:\x20assets\x20auto-claim\x20to\x20activeEvmAccount;\x20optional\x20withdrawTo\x20transfers\x20to\x20a\x20final\x20EVM\x20address.\x0a'+'\x20\x20•\x20EVM→WOW:\x20deposit\x20from\x20activeEvmAccount\x20(balance\x20checked\x20first),\x20assets\x20arrive\x20at\x20the\x20WOW\x20account.\x0a\x0a'+'Operations\x20(operation_type):\x0a'+'\x20\x20•\x20cross_chain_wow_to_evm\x20-\x20WOW→EVM\x20cross-chain\x20(asset\x20to\x20activeEvmAccount\x20or\x20withdrawTo).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20cross_chain_evm_to_wow\x20-\x20EVM→WOW\x20cross-chain\x20(from\x20activeEvmAccount\x20to\x20WOW\x20account).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20withdraw\x20-\x20Withdraw\x20from\x20activeEvmAccount\x20to\x20another\x20EVM\x20address\x20(non-cross-chain).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_active_evm_account\x20-\x20Query\x20activeEvmAccount\x20address\x20+\x20balances\x20(per\x20chain\x20or\x20all).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_evm_chains\x20-\x20List\x20supported\x20EVM\x20chains\x20(enum/description/chainId/RPC\x20health).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_tokens\x20-\x20List\x20supported\x20Bridge\x20tokens\x20per\x20chain\x20(WOW/EVM\x20contract\x20addresses,\x20decimals,\x20description).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_list\x20-\x20Query\x20transfer\x20history\x20list\x20with\x20optional\x20filters\x20(status/direction/token/limit).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_status\x20-\x20Query\x20single\x20transfer\x20detail\x20by\x20transferId.\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20manage_evm_rpc\x20-\x20Manage\x20EVM\x20RPC\x20endpoints\x20(list/add/remove/set/ping)\x20to\x20handle\x20429\x20rate\x20limits.\x20[No\x20env\x20needed]\x0a\x0a'+'Token\x20support\x20follows\x20SDK\x20config\x20(ETH/WETH/WBTC/USDC/USDT).\x20WOW\x20account\x20names\x20are\x20supported\x20(resolved\x20via\x20LocalMark).\x0a'+'NOTE:\x20Use\x20schema_query\x20(name=\x27bridge_operation\x27)\x20to\x20retrieve\x20the\x20exact\x20JSON\x20Schema\x20with\x20all\x20field\x20definitions\x20before\x20calling.','inputSchema':BridgeOperationsSchema,'outputSchema':BridgeCallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['bridge','cross-chain','evm','ethereum','wow','transfer','rpc'])}},{'name':'project_operation','handler':handleProjectOperation,'config':{'title':'🗂️\x20Project\x20-\x20Entity\x20Management\x20&\x20Evaluation','summary':'Project\x20entity\x20management\x20(SQLite)\x20+\x203-pathway\x20graph\x20+\x20evaluation\x20engine.','description':'Project\x20management\x20service\x20—\x20manage\x20projects\x20as\x20first-class\x20entities\x20with\x20SQLite\x20persistence,\x20'+'rigid\x20project-object\x20relationships,\x20three-pathway\x20graph\x20construction,\x20and\x20a\x20dual\x20rule-based\x20+\x20'+'LLM-assisted\x20evaluation\x20engine.\x0a\x0a'+'📌\x20Project\x20policy:\x20Complex\x20builds\x20→\x20auto-create\x20project\x20first\x20+\x20check\x20for\x20similar\x20projects.\x20'+'Single\x20object\x20→\x20remind\x20user\x20to\x20add\x20to\x20a\x20project.\x20'+'Consumer\x20→\x20create_project_from_onchain\x20+\x20evaluate\x20before\x20buying.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20PROJECT\x20ENTITY\x20+\x20EVALUATION\x20(15\x20actions,\x20GLM6)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20list_projects\x20—\x20List\x20all\x20projects\x20(with\x20object\x20count\x20+\x20types).\x20Supports\x20filter_status,\x20filter_perspective,\x20filter_network.\x0a'+'\x20\x20•\x20create_project\x20—\x20Create\x20a\x20new\x20project\x20(producer/consumer/both,\x20bound\x20to\x20a\x20network).\x0a'+'\x20\x20•\x20create_project_from_onchain\x20—\x20Create\x20a\x20consumer\x20project\x20from\x20an\x20on-chain\x20Service\x20address\x20(auto-discovers\x20objects\x20+\x20graph).\x0a'+'\x20\x20•\x20update_project\x20—\x20Update\x20project\x20metadata,\x20status,\x20labels,\x20service\x20address,\x20etc.\x0a'+'\x20\x20•\x20get_project_detail\x20—\x20Get\x20full\x20project\x20detail\x20(objects,\x20graph\x20edges,\x20evaluations,\x20versions).\x0a'+'\x20\x20•\x20add_object\x20—\x20Add\x20an\x20on-chain\x20object\x20to\x20a\x20project\x20(by\x20address\x20or\x20LocalMark\x20name).\x0a'+'\x20\x20•\x20remove_object\x20—\x20Remove\x20an\x20object\x20from\x20a\x20project.\x0a'+'\x20\x20•\x20create_version\x20—\x20Create\x20a\x20project\x20version\x20(e.g.\x20\x27v2\x27)\x20with\x20optional\x20fork\x20from\x20a\x20source\x20version.\x0a'+'\x20\x20•\x20build_graph\x20—\x20Build\x20relationship\x20graph\x20via\x203\x20pathways\x20(internal\x20refs,\x20Registrar,\x20potential).\x20Configurable\x20depth.\x0a'+'\x20\x20•\x20get_graph\x20—\x20Get\x20persisted\x20graph\x20edges.\x0a'+'\x20\x20•\x20evaluate_project\x20—\x20Evaluate\x20project\x20(risk/trust/completeness\x20=\x20rule-based;\x20value/worth_buying\x20=\x20LLM-assisted\x20with\x20prompt).\x0a'+'\x20\x20•\x20save_evaluation\x20—\x20Save\x20an\x20LLM-produced\x20evaluation\x20result.\x0a'+'\x20\x20•\x20compare_projects\x20—\x20Compare\x20multiple\x20projects\x20by\x20evaluation\x20type.\x0a'+'\x20\x20•\x20refresh_objects\x20—\x20Refresh\x20object\x20cache\x20from\x20chain\x20(batch\x20query,\x20rate-limited).\x0a'+'\x20\x20•\x20get_object_diff\x20—\x20Get\x20field-level\x20diff\x20of\x20an\x20object\x20between\x20two\x20timestamps.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20INDUSTRY\x20MODE\x20RECOMMENDATION\x20+\x20REGISTRY\x20(9\x20actions,\x20GLM6/92\x20§E)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20recommend_industry\x20—\x20CALL\x20THIS\x20FIRST\x20when\x20the\x20user\x20describes\x20a\x20business\x20without\x20naming\x20an\x20industry.\x20'+'Returns\x20top-3\x20similar\x20industries\x20+\x20verified\x20reference\x20examples\x20(\x27from\x20scratch\x20vs\x20giants\x27\x20shoulders\x27).\x0a'+'\x20\x20•\x20list_modes\x20—\x20List\x20builtin\x20industry\x20modes\x20+\x20your\x20custom\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20Derive\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20(modify\x20machine_shape/allocator/config).\x20R-M1-11\x20enforced.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20Iterate\x20a\x20custom\x20mode\x20(version\x20bump\x20+\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20Register\x20a\x20fully\x20custom\x20mode\x20(requires\x20machine_shape\x20+\x20key_risk).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20Delete\x20a\x20custom\x20mode.\x0a'+'\x20\x20•\x20register_custom_metric\x20/\x20register_custom_constraint\x20—\x20Extend\x20the\x20evaluation\x20registries.\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20List\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20INTENT\x20→\x20RISK\x20→\x20SUBSTEP\x20PIPELINE\x20(3\x20actions,\x20GLM5-31\x20§V3/V4)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20Business\x20intent\x20text\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x20'+'Required:\x20intent.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20Puzzle\x20snapshots\x20→\x20calibrated\x20risks\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(RISK_BLOCKED\x20/\x20RISK_PENDING_CONFIRM\x20/\x20RISK_PASSED).\x20Required:\x20project\x20+\x20'+'(puzzles\x20OR\x20intent\x20—\x20when\x20intent\x20is\x20given,\x20analyze_intent\x20runs\x20first\x20automatically).\x20'+'Optional:\x20planned_objects\x20(OBJECT_REUSE\x20check),\x20planned_operations\x20(IMMUTABILITY\x20check).\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20Substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20'+'circular\x20refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x20'+'Required:\x20project\x20+\x20substeps.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20MERCHANT\x20ONBOARDING\x20WIZARD\x20(1\x20action,\x20GLM6/93\x20§5)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20guided\x20flow\x20from\x20\x27I\x20want\x20to\x20sell\x20X\x27\x20to\x20a\x20validated\x20creation\x20plan:\x20'+'intent\x20analysis\x20→\x20industry\x20matching\x20→\x20module\x20adoption\x20→\x20semantic\x20blueprint\x20→\x20evaluation\x20preview\x20→\x20'+'harness\x20check\x20→\x20ordered\x20creation\x20plan.\x20Stateless:\x20pass\x20guide_state\x20UNCHANGED\x20between\x20calls,\x20'+'advance\x20via\x20guide_confirm.\x20NEVER\x20executes\x20on-chain\x20—\x20materialize\x20the\x20plan\x20via\x20create_project\x20+\x20'+'onchain_operations.\x20Required:\x20intent\x20(first\x20call)\x20or\x20guide_state.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20CONTEXT\x20ASSEMBLY\x20+\x20REVERSE\x20MAPPING\x20(2\x20actions)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20assemble_context\x20—\x20Query\x20on-chain\x20object\x20states\x20+\x20extract\x20embedded\x20history\x20+\x20optional\x20events,\x20'+'and\x20assemble\x20a\x20structured\x20semantic\x20context\x20for\x20LLM\x20consumption.\x20Required:\x20context_objects\x20(array\x20of\x20IDs/names).\x0a'+'\x20\x20•\x20reverse_map\x20—\x20Deterministic\x20L4→L1\x20business\x20report\x20(no\x20LLM):\x20queries\x20the\x20objects,\x20classifies\x20into\x20'+'business\x20semantics,\x20emits\x20merchant\x20profile\x20+\x20user\x20risk\x20assessment\x20+\x20game-theory\x20analysis.\x20Same\x20objects\x20'+'always\x20yield\x20the\x20same\x20report.\x20Required:\x20context_objects\x20(include\x20Service;\x20add\x20Machine/Allocation\x20for\x20'+'refund-path\x20detection).\x20Optional:\x20context_network,\x20reverse_order_amount.\x0a\x0a'+'Correct\x20object\x20creation\x20order\x20(topological):\x20Permission\x20→\x20Allocation\x20→\x20Guard\x20→\x20Machine\x20→\x20Service.\x0a'+'All\x20objects\x20created\x20as\x20draft\x20(publish=false)\x20first;\x20publish\x20Machine\x20before\x20Service\x20(last).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27project_operation\x27\x20for\x20exact\x20field\x20definitions.','inputSchema':ProjectOperationInputSchema,'outputSchema':ProjectOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('project',['project','entity','sqlite','graph','evaluation','risk','trust','completeness','worth_buying','registrar','diff','version','context','assembly'])}},{'name':'config_operation','handler':handleConfigOperation,'config':{'title':'⚙️\x20Config\x20-\x20Runtime\x20Service\x20Toggles','summary':'Runtime\x20service\x20toggles\x20(confirm_gate,\x20harness,\x20etc.).','description':'Phase\x202\x20runtime\x20configuration\x20—\x20toggle\x20Phase\x202\x20services\x20on/off\x20at\x20runtime\x20WITHOUT\x20restarting\x20the\x20MCP\x20server.\x20'+'This\x20is\x20the\x20session-level\x20switch\x20mechanism:\x20AI\x20can\x20toggle\x20based\x20on\x20user\x20conversation\x20context,\x20or\x20users\x20can\x20'+'directly\x20control\x20which\x20Phase\x202\x20features\x20are\x20active.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20List\x20all\x20services\x20with\x20current\x20state\x20+\x20reminders.\x0a'+'\x20\x20•\x20toggle\x20—\x20Toggle\x20a\x20service\x20on/off\x20(requires\x20`service`\x20param).\x20Returns\x20reminder\x20text.\x0a'+'\x20\x20•\x20enable\x20—\x20Enable\x20a\x20service\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20disable\x20—\x20Disable\x20a\x20service\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20reset\x20—\x20Reset\x20a\x20service\x20to\x20its\x20default\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20info\x20—\x20Get\x20detailed\x20info\x20about\x20a\x20service\x20(requires\x20`service`\x20param).\x0a\x0a'+'Services:\x0a'+'\x20\x20•\x20confirm_gate\x20—\x20Safety\x20Confirmation\x20Gate\x20(default\x20ON)\x0a'+'\x20\x20•\x20project_service\x20—\x20On-chain\x20project\x20tag\x20auto-injection\x20(default\x20ON).\x20When\x20ON,\x20objects\x20created\x20via\x20onchain_operations\x20are\x20auto-tagged\x20with\x20project:<prefix>\x20for\x20on-chain\x20grouping.\x20Use\x20project_operation\x20for\x20SQLite-based\x20project\x20management\x20(evaluation,\x20graph,\x20versioning).\x0a'+'\x20\x20•\x20harness\x20—\x20L4\x20Verify/Recover\x20Loop\x20(default\x20OFF)\x0a'+'\x20\x20•\x20graph_persist\x20—\x20Graph\x20Persistence\x20to\x20File\x20(default\x20OFF)\x0a'+'\x20\x20•\x20semantic_rich\x20—\x20Semantic\x20Layer\x20Enrichment\x20Reminder\x20(default\x20ON)\x0a'+'\x20\x20•\x20experience_layer\x20—\x20Real-time\x20Experience\x20Layer\x20(Phase\x202\x20Topic\x202,\x20default\x20ON)\x0a'+'\x20\x20•\x20customer_intelligence\x20—\x20Buyer\x20Intelligence\x20/\x20Risk\x20&\x20Preference\x20Alerts\x20(Phase\x203\x20C-3,\x20default\x20ON)\x0a'+'\x20\x20•\x20order_monitor\x20—\x20In-progress\x20Order\x20Monitoring\x20(Phase\x203\x20C-3.2,\x20default\x20OFF)\x0a'+'\x20\x20•\x20industry_evolution\x20—\x20Industry\x20Specialization\x20Evolution\x20Flywheel\x20(Phase\x204,\x20default\x20ON)\x0a\x0a'+'NOTE:\x20Toggles\x20persist\x20for\x20the\x20MCP\x20process\x20lifetime.\x20Set\x20WOWOK_RUNTIME_CONFIG_PERSIST=1\x20'+'to\x20persist\x20across\x20sessions\x20to\x20~/.wow/mcp/runtime-config.json.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27config_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20actions\x20and\x20field\x20definitions.','inputSchema':ConfigOperationInputSchema,'outputSchema':ConfigOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('config',['config','toggle','service','runtime','switch','enable','disable'])}},{'name':'trust_score','handler':handleTrustScore,'config':{'title':'🛡️\x20Trust\x20Score\x20-\x20Service\x20Risk\x20&\x20Trust\x20Assessment','summary':'Service\x20trust/risk\x20assessment\x20(0-100\x20score,\x205\x20dimensions).','description':'Proactively\x20query\x20the\x20trust\x20score\x20and\x20risk\x20assessment\x20of\x20a\x20Service\x20object.\x20'+'This\x20is\x20the\x20standalone\x20query\x20form\x20of\x20the\x20trust_score\x20field\x20that\x20is\x20otherwise\x20only\x20'+'passively\x20injected\x20into\x20onchain_operations\x20semantic\x20output.\x0a\x0a'+'Returns:\x0a'+'\x20\x20•\x20trust_score\x20(0-100,\x205\x20dimensions:\x20arbitration/reviews/fulfillment/fund_safety/transparency)\x0a'+'\x20\x20•\x20risk_score\x20(4\x20dimensions:\x20workflow/fund/trust/behavior,\x20100-point)\x20when\x20depth\x20>=\x20\x27evaluate\x27\x0a'+'\x20\x20•\x20info_puzzle\x20completeness\x20+\x20gaps\x20summary\x0a'+'\x20\x20•\x20service_basics\x20snapshot\x20(published/paused/sales/guards/arbitrations)\x0a\x0a'+'Use\x20this\x20tool\x20when\x20the\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27,\x20\x27should\x20I\x20buy\x20from\x20this\x20merchant?\x27,\x20'+'\x27what\x27s\x20the\x20risk\x20of\x20ordering\x20this\x20service?\x27,\x20or\x20any\x20explicit\x20trust/risk\x20inquiry\x20about\x20a\x20Service.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20trust_score\x20=\x20trust/risk\x20of\x20ONE\x20Service;\x20'+'evaluation_operation\x20=\x20game-theory\x20best-move\x20advice\x20at\x20an\x20Arb/Progress\x20state;\x20'+'project_operation.evaluate_project\x20=\x20multi-object\x20project-level\x20evaluation.\x0a\x0a'+'Parameters:\x0a'+'\x20\x20•\x20service\x20(required)\x20—\x20Service\x20object\x20ID\x20or\x20local_mark\x20name.\x0a'+'\x20\x20•\x20order_amount\x20(optional)\x20—\x20Order\x20amount\x20in\x20smallest\x20token\x20unit\x20(e.g.\x202000000000\x20for\x202\x20WOW).\x20'+'Defaults\x20to\x20the\x20service\x27s\x20first\x20active\x20sale\x20price.\x0a'+'\x20\x20•\x20depth\x20(optional,\x20default\x20\x27evaluate\x27)\x20—\x20\x27browse\x27\x20(trust\x20score\x20only),\x20\x27evaluate\x27\x20(+\x20risk\x20assessment),\x20'+'\x27preorder\x27\x20(most\x20thorough,\x20includes\x20market\x20context\x20dimension).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27trust_score\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':TrustScoreInputSchema,'outputSchema':TrustScoreOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('trust',['trust','score','risk','service','merchant','reputation','safety','evaluate'])}},{'name':'query_task_status','handler':handleQueryTaskStatus,'config':{'title':'📊\x20Task\x20Status\x20-\x20Async\x20Operation\x20Tracking','summary':'Query\x20async\x20task\x20status\x20(build_graph\x20/\x20evaluate_project\x20with\x20async_mode).','description':'Query\x20the\x20status\x20of\x20a\x20long-running\x20async\x20task\x20(created\x20by\x20build_graph\x20or\x20evaluate_project\x20'+'with\x20async_mode=true).\x20Returns\x20progress\x20percentage,\x20current\x20status,\x20and\x20the\x20final\x20result\x20'+'when\x20completed.\x0a\x0a'+'Tasks\x20are\x20ephemeral\x20(retained\x205\x20minutes\x20after\x20completion,\x20in-memory\x20only).\x0a\x0a'+'Usage:\x0a'+'\x20\x20•\x20Pass\x20task_id\x20to\x20query\x20a\x20single\x20task\x27s\x20status.\x0a'+'\x20\x20•\x20Omit\x20task_id\x20to\x20list\x20all\x20recent\x20tasks\x20(max\x2050,\x20most\x20recent\x20first).\x0a'+'\x20\x20•\x20Pass\x20project_id\x20(with\x20task_id\x20omitted)\x20to\x20filter\x20by\x20project.\x0a\x0a'+'This\x20tool\x20is\x20read-only\x20and\x20always\x20safe\x20to\x20call.\x20Use\x20it\x20to\x20check\x20if\x20a\x20long-running\x20'+'operation\x20(e.g.\x20build_graph\x20with\x20enablePotential=true)\x20has\x20completed.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_task_status\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':QueryTaskStatusInputSchema,'outputSchema':QueryTaskStatusOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('task',['task','status','async','progress','background','tracker'])}},{'name':'evaluation_operation','handler':handleEvaluationOperation,'config':{'title':'🧠\x20Evaluation\x20-\x20Pluggable\x20Business\x20Intelligence','summary':'Business\x20evaluations:\x20arb/node\x20games,\x20path\x20reasoning,\x20match,\x20arbitration\x20score.','description':'Run\x20pluggable\x20business\x20evaluations\x20(data\x20sources\x20+\x20rules\x20+\x20user\x20injection).\x20'+'Each\x20evaluation\x20returns\x20ranked\x20best-move\x20recommendations\x20with\x20payoff\x20notes\x20and\x20risks.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20arb_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20an\x20Arb\x20state\x20(7-state\x20lifecycle)\x20for\x20a\x20perspective\x20(customer/merchant/arbitrator).\x0a'+'\x20\x20•\x20node_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20a\x20Progress\x20node\x20for\x20a\x20perspective\x20(merchant/customer/prospect/supplier/collaborator/arbitrator).\x0a'+'\x20\x20•\x20capability_gap\x20—\x20compare\x20a\x20demand\x20capability\x20vector\x20against\x20a\x20service\x20capability\x20vector;\x20returns\x20per-capability\x20gaps.\x0a'+'\x20\x20•\x20compose_service\x20—\x20check\x20whether\x20a\x20SET\x20of\x20services\x20can\x20jointly\x20satisfy\x20a\x20demand\x20(supply-chain\x20composition).\x0a'+'\x20\x20•\x20demand_match\x20—\x20rank\x20candidate\x20services\x20against\x20a\x20demand\x20capability\x20vector\x20(+\x20user\x20injection\x20/\x20persona).\x0a'+'\x20\x20•\x20service_match\x20—\x20supplier-side\x20mirror:\x20rank\x20candidate\x20demands\x20against\x20a\x20service\x20capability\x20vector.\x0a'+'\x20\x20•\x20service_risk\x20—\x20risk\x20assessment\x20of\x20ONE\x20service\x20from\x20raw\x20puzzle\x20data\x20(browse/evaluate/preorder/monitor\x20depth).\x0a'+'\x20\x20•\x20path_reasoning\x20—\x20path-level\x20game:\x20enumerate\x20full\x20routes\x20from\x20the\x20current\x20node,\x20rank\x20by\x20value/acceptance\x20reachability\x20(a→b\x20vs\x20a→c\x20competition).\x0a'+'\x20\x20•\x20evidence_review\x20—\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass\x20/\x20auto_reject\x20/\x20manual_review)\x20for\x20arbitration\x20evidence\x20(signature\x20photos,\x20voice\x20recordings,\x20delivery\x20proofs,\x20weather\x20data).\x0a'+'\x20\x20•\x20discover_services\x20—\x20ACTIVE\x20supply\x20discovery:\x20enumerate\x20every\x20published\x20(shared)\x20Service\x20on-chain,\x20gate+rank\x20by\x20location\x20fit\x20under\x20a\x20sensitivity\x20(strict=100%\x20city\x20match\x20/\x20near=neighboring\x20cities\x20/\x20logistics=soft\x20region\x20signal;\x20inferred\x20from\x20description\x20when\x20omitted),\x20and\x20get\x20consent-gated\x20scope-expansion\x20advice.\x20Requires\x20the\x20GraphQL\x20transport\x20(WOWOK_TRANSPORT=graphql).\x20Passive\x20side:\x20post\x20a\x20Demand\x20and\x20Services\x20present\x20via\x20DemandPresenter.\x0a\x0a'+'\x20\x20•\x20discover_demands\x20—\x20enumerate\x20on-chain\x20Demands\x20(supplier-side\x20discovery;\x20optional\x20location\x20substring\x20filter).\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20market_metrics\x20—\x20supply/demand/trust\x20market\x20metrics\x20aggregated\x20from\x20on-chain\x20enumeration.\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20market_operations\x20—\x20operational\x20aggregations:\x20journey_funnel\x20(due-diligence→order→completed→reviews),\x20referral_attribution,\x20customer_relationship,\x20dynamic_pricing\x20(merchant\x20pricing\x20suggestion\x20from\x20market_signals).\x0a\x0a'+'\x20\x20•\x20anti_cheat\x20—\x20governance:\x20detect\x20fake\x20reviews\x20/\x20wash\x20orders\x20/\x20compensation-fund\x20manipulation\x20from\x20service\x20+\x20orders\x20+\x20reviews\x20evidence.\x0a\x0a'+'\x20\x20•\x20match_discover\x20—\x20ONE-SHOT\x20intent→service\x20orchestration:\x20enumerate\x20services\x20+\x20location\x20gate\x20+\x206-dimension\x20demand_match\x20scoring\x20in\x20a\x20single\x20call.\x20Inputs:\x20description\x20+\x20location\x20+\x20optional\x20sensitivity/budget/required_capabilities/coin_type.\x20Returns\x20location-gated\x20Top-N\x20services\x20with\x20per-service\x206-dim\x20breakdown\x20(region/industry/price/trust/capabilities/tags)\x20+\x20recommendation\x20reasons.\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20arbitration_score\x20—\x20dual-perspective\x20arbitration\x20trust\x20assessment:\x20score\x20an\x20Arbitration\x20object\x20from\x20the\x20user-trust\x20angle\x20(timeliness/objection/indemnity/feedback/experience/capital)\x20and\x20the\x20merchant-fairness\x20angle\x20(fee/governance/operational).\x20Inputs:\x20arbitration\x20config\x20+\x20pre-aggregated\x20history[]\x20+\x20optional\x20entity_votes/fee_median.\x20Returns\x20trust\x20+\x20fairness\x20EvaluationResults\x20+\x20combined\x200-100.\x0a\x0a'+'\x20\x20•\x20account_events\x20—\x20account-centric\x20attention\x20feed:\x20run\x20hot-pluggable\x20watchers\x20(messenger_unread,\x20order_collection,\x20demand_presented,\x20reputation_integrity)\x20over\x20one\x20account\x20and\x20return\x20a\x20unified,\x20priority-sorted\x20prompt\x20list\x20of\x20what\x20needs\x20the\x20account\x27s\x20attention.\x20Inputs:\x20account\x20+\x20optional\x20categories[];\x20reputation_integrity\x20additionally\x20consumes\x20review\x20rows\x20(reviews[]\x20from\x20a\x20Service\x27s\x20ReviewRepository\x20via\x20onchain_table_data\x20+\x20optional\x20order_history[]\x20for\x20no-order-no-review\x20verification)\x20and\x20flags\x20manipulation/unverified/declining-trend\x20signals.\x20Read-only\x20(passive\x20check\x20—\x20never\x20marks\x20messages\x20viewed).\x0a\x0a'+'Read-only:\x20computes\x20recommendations\x20from\x20pure\x20data;\x20never\x20mutates\x20chain\x20state.\x20'+'The\x20caller\x20decides\x20and\x20acts\x20via\x20onchain_operations\x20/\x20messenger_operation.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20evaluation_operation\x20=\x20best-move\x20advice\x20at\x20an\x20Arb/Progress\x20state\x20(game\x20theory);\x20'+'trust_score\x20=\x20trust/risk\x20of\x20ONE\x20Service;\x20project_operation\x20=\x20project-level\x20evaluation.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27evaluation_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EvaluationOperationInputSchema,'outputSchema':EvaluationOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('evaluation',['evaluate','risk','match','game','score','arb','node','compose','gap'])}},{'name':'persona_operation','handler':handlePersonaOperation,'config':{'title':'👤\x20Persona\x20-\x20User\x20Identity\x20Setting','summary':'User\x20identity\x20setting\x20(preferences,\x20strategy,\x20spec;\x20long-term\x20+\x20current).','description':'Read/write\x20the\x20user\x27s\x20systematic\x20identity\x20setting\x20(persona):\x20preferences,\x20'+'competitive\x20strategy,\x20experience\x20rules,\x20self\x20profile,\x20and\x20spec.\x0a\x0a'+'LAYERS:\x20long_term\x20=\x20STABLE\x20identity\x20(USER-DRIVEN\x20only\x20—\x20never\x20auto-rewrite).\x20'+'current\x20=\x20transient\x20context\x20(SMART-UPDATABLE\x20—\x20AI\x20may\x20merge/replace\x20from\x20'+'conversation\x20experience\x20or\x20account\x20behavior).\x20Scope:\x20system\x20(all\x20accounts,\x20'+'be\x20conservative)\x20or\x20account\x20(one\x20chain\x20address,\x20higher\x20priority).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20get\x20—\x20resolve\x20the\x20priority-merged\x20effective\x20persona\x20(+\x20injection\x20+\x20context\x20text).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20stored\x20personas\x20and\x20built-in\x20industry\x20defaults.\x0a'+'\x20\x20•\x20set\x20—\x20user-driven\x20write/update\x20of\x20any\x20layer\x20(≤300\x20lines\x20enforced).\x0a'+'\x20\x20•\x20analyze\x20—\x20extract\x20identity\x20signals\x20from\x20free-form\x20context\x20(website\x20/\x20experience\x20summary).\x0a'+'\x20\x20•\x20apply\x20—\x20merge/replace\x20analyzed\x20signals\x20into\x20the\x20CURRENT\x20layer\x20only.\x0a'+'\x20\x20•\x20sync\x20—\x20merge\x20account\x20behavior\x20(experience\x20layer)\x20into\x20the\x20CURRENT\x20layer.\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20a\x20persona\x20(fall\x20back\x20to\x20defaults).\x0a'+'\x20\x20•\x20strategy\x20—\x20resolve\x20a\x20merchant\x27s\x20strategy\x20statements\x20into\x20structured\x20StrategyIntents\x20+\x20deterministic\x20infrastructure-lever\x20suggestions\x20(discount\x20/\x20reward\x20/\x20buy_guard\x20/\x20machine_design).\x20Producer-only;\x20other\x20roles\x20get\x20an\x20explanatory\x20note.\x0a'+'\x20\x20•\x20region_hint\x20—\x20read\x20the\x20locally-stored\x20delivery\x20address\x20as\x20a\x20region-matching\x20hint;\x20or\x20(with\x20`propose`)\x20build\x20a\x20CONSENT-GATED\x20save\x20proposal\x20—\x20never\x20auto-writes\x20private\x20data.\x0a\x0a'+'Read/write\x20local\x20state\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27persona_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PersonaOperationInputSchema,'outputSchema':PersonaOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('persona',['persona','profile','identity','preference','strategy','spec','portrait'])}},{'name':'industry_pack_operation','handler':handleIndustryPackOperation,'config':{'title':'🧩\x20Industry\x20Pack\x20-\x20Knowledge\x20Template\x20Orchestration','summary':'Industry\x20knowledge\x20packs:\x20scaffold,\x20register,\x20list,\x20reset\x20templates.','description':'Manage\x20industry\x20knowledge\x20packs\x20(distributable,\x20registrable,\x20versionable\x20units\x20carrying\x20'+'one\x20industry\x27s\x20object-shape,\x20matching\x20rules,\x20and\x20role\x20personae).\x0a\x0a'+'Pack\x20layout\x20(merged\x20v2):\x20pack.json\x20(settings\x20only\x20—\x20manifest\x20+\x20match\x20+\x20personae\x20+\x20'+'dispute/compliance/supply/rules\x20sections;\x20field\x20explanations\x20live\x20in\x20the\x20industry-root\x20'+'README.md)\x20and\x20playbook.md\x20(chaptered\x20AI\x20prompt\x20guide).\x20Legacy\x20split-file\x20layouts\x20'+'(manifest.json/match.json/personae)\x20are\x20still\x20read\x20for\x20backward\x20compatibility.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20scaffold\x20—\x20generate\x20a\x20pack\x20template\x20skeleton\x20(pack.json\x20+\x20playbook.md,\x20settings\x20only)\x20'+'into\x20the\x20industry\x20directory;\x20the\x20user\x20fills\x20in\x20the\x20content.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20currently\x20registered\x20packs.\x0a'+'\x20\x20•\x20scan\x20—\x20scan\x20+\x20register\x20every\x20pack\x20under\x20the\x20default\x20industry\x20directory.\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20industry\x20root\x20directory.\x0a'+'\x20\x20•\x20list_files\x20—\x20list\x20files\x20under\x20the\x20industry\x20directory.\x0a'+'\x20\x20•\x20read_file\x20—\x20read\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20write_file\x20—\x20write\x20content\x20to\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20+\x20content\x20required).\x0a'+'\x20\x20•\x20get\x20—\x20return\x20registered\x20layer\x20data\x20for\x20an\x20industry\x20(name\x20required;\x20dispute/compliance/supply/rules/playbook).\x0a'+'\x20\x20•\x20diff\x20—\x20compare\x20registered\x20vs\x20on-disk\x20manifest\x20version/layers\x20(name\x20required).\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20(path\x20required).\x0a'+'\x20\x20•\x20delete_file\x20—\x20delete\x20a\x20file\x20or\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20/\x20rename\x20—\x20move\x20or\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27industry_pack_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IndustryPackOperationInputSchema,'outputSchema':IndustryPackOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('industry_pack',['industry','pack','mode','match','persona','scaffold','template'])}},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20write,\x20move,\x20copy,\x20delete.','description':'Manage\x20the\x20local\x20workspace\x20directory\x20(`.wowok/workspace`):\x20files\x20generated\x20for\x20review\x20'+'(machine/guard/wts/wip\x20JSON)\x20and\x20user-created\x20documents.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20workspace\x20root\x20directory.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20files\x20under\x20the\x20workspace.\x0a'+'\x20\x20•\x20read\x20—\x20read\x20a\x20file\x27s\x20content\x20(use\x20as\x20AI\x20context).\x0a'+'\x20\x20•\x20write\x20—\x20write/overwrite\x20a\x20file\x20(path\x20+\x20content).\x0a'+'\x20\x20•\x20delete\x20—\x20delete\x20a\x20file.\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20—\x20move\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20rename\x20—\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workspace_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkspaceOperationInputSchema,'outputSchema':WorkspaceOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('workspace',['workspace','file','document','machine','guard','wts','wip','context'])}},{'name':'workflow_operation','handler':handleWorkflowOperation,'config':{'title':'🔀\x20Workflow\x20-\x20Local-Account\x20Progress\x20Tasks','summary':'List\x20local-account\x20actionable\x20progress\x20+\x20advance/hold/unhold\x20forwards.','description':'Local-account\x20workflow\x20view\x20over\x20ACTIVE\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20active\x20progress\x20that\x20at\x20least\x20one\x20LOCAL\x20account\x20can\x20advance,\x20'+'with\x20every\x20reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20and\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport).\x0a'+'\x20\x20•\x20operate\x20—\x20advance\x20(\x27next\x27)\x20/\x20block\x20(\x27hold\x27)\x20/\x20release\x20(\x27unhold\x27)\x20/\x20force-release\x20'+'(\x27adminUnhold\x27)\x20a\x20forward\x20as\x20a\x20chosen\x20local\x20account\x20(env.account).\x20Delegates\x20to\x20the\x20'+'on-chain\x20progress\x20operation\x20(guard-aware).\x0a\x0a'+'Permission\x20model\x20(chain-authoritative):\x20a\x20forward\x20is\x20executable\x20by\x20an\x20account\x20when\x20'+'(a)\x20namedOperator=\x22\x22\x20and\x20the\x20account\x20is\x20the\x20order\x20holder\x20(order\x20builder\x20or\x20agent),\x20'+'or\x20(b)\x20namedOperator=name\x20and\x20the\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20'+'(c)\x20permissionIndex\x20is\x20set\x20and\x20the\x20account\x20is\x20in\x20permission.admin\x20or\x20permission.table.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workflow_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkflowOperationInputSchema,'outputSchema':WorkflowOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('workflow',['workflow','progress','forward','permission','named-operator','guard','advance','hold'])}},{'name':'permission_operation','handler':handlePermissionOperation,'config':{'title':'🛡️\x20Permissions\x20-\x20Local-Account\x20Overview','summary':'List\x20Permissions\x20related\x20to\x20local\x20accounts\x20with\x20related\x20accounts/objects.','description':'Local-account\x20Permission\x20overview.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20every\x20on-chain\x20Permission\x20object\x20related\x20to\x20at\x20least\x20one\x20LOCAL\x20'+'account\x20(reverse-looked-up\x20via\x20the\x20global\x20entity_permission\x20index\x20@0xaad),\x20deduplicated\x20'+'and\x20merged.\x20Each\x20row\x20includes\x20description,\x20owner,\x20latest\x20on-chain\x20update\x20time,\x20related\x20'+'accounts\x20(owner/admin/entity),\x20and\x20related\x20objects\x20(grouped\x20by\x20type\x20via\x20the\x20registrar\x20'+'linker).\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27permission_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PermissionOperationInputSchema,'outputSchema':PermissionOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('query',['permission','account','role','owner','admin','entity','overview','registrar','reverse-index'])}},{'name':'intent_radar','handler':handleIntentRadar,'config':{'title':'📡\x20Intent\x20Radar\x20-\x20User\x20Intent\x20×\x20Chain\x20Event\x20Matching','summary':'Persist\x20user\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events.','description':'Persist\x20the\x20user\x27s\x20standing\x20business\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events/data.\x20'+'This\x20closes\x20the\x20loop:\x20user\x20records\x20an\x20intent\x20(e.g.\x20\x27find\x20subscription\x20services\x27),\x20'+'the\x20system\x20pulls\x20recent\x20chain\x20events\x20and\x20returns\x20ranked\x20hits.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20save\x20—\x20record\x20an\x20intent\x20(industry/keywords\x20resolved\x20once;\x20optionally\x20bound\x20to\x20an\x20account).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20persisted\x20intents\x20(optionally\x20filtered\x20by\x20account).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20intent.\x0a'+'\x20\x20•\x20match\x20—\x20score\x20events\x20against\x20intents\x20(pass\x20`events`\x20from\x20onchain_events,\x20or\x20auto-pull\x20recent\x20events).\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27intent_radar\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IntentRadarInputSchema,'outputSchema':IntentRadarOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('intent',['intent','radar','match','event','watch','business','intelligence'])}},{'name':'employee_operation','handler':handleEmployeeOperation,'config':{'title':'👥\x20Employee\x20-\x20Merchant\x20Staff\x20Profile','summary':'Merchant\x20employee\x20profile,\x20KPI\x20assessment,\x20liability\x20resolution.','description':'Read/write\x20a\x20merchant\x20employee\x27s\x20LOCAL\x20organizational\x20profile:\x20department\x20'+'(customer_service/logistics/finance/operations),\x20liability\x20(merchant_bears/self_bears/hybrid),\x20'+'and\x20response-time\x20budget.\x20LOCAL\x20ONLY\x20—\x20never\x20mutates\x20chain\x20state;\x20the\x20employee\x27s\x20on-chain\x20'+'authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20set\x20—\x20persist\x20an\x20employee\x20profile\x20(validated:\x20department+liability\x20required,\x20budget\x20must\x20be\x20positive).\x0a'+'\x20\x20•\x20get\x20—\x20read\x20an\x20employee\x20profile\x20(null\x20when\x20absent).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20employee\x20profile.\x0a'+'\x20\x20•\x20assess_kpi\x20—\x20measure\x20an\x20employee\x27s\x20node\x20reaction\x20speed\x20(assigned_at\x20→\x20advanced_at\x20vs\x20budget:\x20pass/warn/fail).\x20Budget\x20precedence:\x20explicit\x20budget_ms\x20>\x20stored\x20profile\x20>\x2048h\x20default.\x0a'+'\x20\x20•\x20resolve_liability\x20—\x20resolve\x20who\x20internally\x20bears\x20an\x20employee-error\x20loss\x20(merchant/employee,\x20hybrid\x20threshold\x20split)\x20and\x20whether\x20the\x20order\x20user\x20must\x20be\x20compensated\x20BEFORE\x20the\x20workflow\x20resumes.\x20Outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27employee_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EmployeeOperationInputSchema,'outputSchema':EmployeeOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('employee',['employee','staff','merchant','department','kpi','liability','local'])}}];export const TOOL_REGISTRY_MAP=new Map(TOOL_REGISTRY['map'](a=>[a['name'],a]));export const SUB_TOOL_COUNT=TOOL_REGISTRY['length'];const SUB_TOOL_NAMES=TOOL_REGISTRY['map'](a=>a['name']),WowokToolRuntimeSchema=fromJsonSchema({'type':'object'}),WowokToolDisplaySchema=z['object']({'tool':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('The\x20sub-tool\x20to\x20execute.\x20Each\x20sub-tool\x20has\x20its\x20own\x20parameter\x20schema.'),'data':z['record'](z['string'](),z['unknown']())['optional']()['describe']('Sub-tool\x20specific\x20parameters.\x20If\x20validation\x20fails,\x20the\x20response\x20includes\x20the\x20correct\x20schema\x20for\x20this\x20sub-tool\x20—\x20read\x20it,\x20fix\x20your\x20params,\x20and\x20retry.'),'tool_name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'args':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.'),'name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'params':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.')})['describe']('WoWok\x20unified\x20tool\x20input.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.\x20'+'Aliases:\x20tool_name/name→tool,\x20args/params→data.'),SUB_TOOL_LIST=TOOL_REGISTRY['map'](a=>'\x20\x20'+a['name']+'\x20—\x20'+a['config']['summary'])['join']('\x0a'),WOWOK_TOOL_DESCRIPTION=['WoWok\x20MCP\x20unified\x20interface.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.','','\x20\x20tool:\x20name\x20of\x20the\x20sub-tool\x20(string)','\x20\x20data:\x20sub-tool\x20parameters\x20(object)','','\x20\x20Aliases\x20accepted\x20(deprecated):\x20tool_name/name\x20for\x20tool,\x20args/params\x20for\x20data.','\x20\x20Inline\x20params\x20also\x20accepted:\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20<param1>:\x20...,\x20<param2>:\x20...\x20}','','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20data:\x20{\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20}\x20})','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22mainnet\x20bridge\x20tokens\x22\x20}\x20})','\x20\x20EXAMPLE\x20(inline\x20params):\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20})','','Available\x20sub-tools\x20('+SUB_TOOL_COUNT+'):',SUB_TOOL_LIST,'','SCHEMA-GATED\x20EXECUTION:','\x20\x20If\x20your\x20parameters\x20don\x27t\x20match\x20the\x20sub-tool\x27s\x20schema,\x20the\x20response\x20will\x20include:','\x20\x20\x20\x20result.status\x20=\x20\x22schema_mismatch\x22','\x20\x20\x20\x20result.errors\x20=\x20specific\x20validation\x20errors\x20(field\x20path\x20+\x20expected\x20type)','\x20\x20\x20\x20result.hint\x20=\x20instructions\x20to\x20fix\x20and\x20retry','\x20\x20\x20\x20schema.input\x20=\x20the\x20correct\x20JSON\x20schema\x20for\x20the\x20sub-tool','\x20\x20\x20\x20schema.tool\x20=\x20which\x20sub-tool\x20this\x20schema\x20belongs\x20to','\x20\x20Read\x20the\x20schema,\x20fix\x20your\x20params,\x20and\x20retry.\x20This\x20is\x20normal\x20—\x20no\x20need\x20to\x20call\x20schema_query\x20separately.','','SCHEMA\x20CACHING:','\x20\x20Each\x20sub-tool\x20has\x20a\x20DIFFERENT\x20schema.\x20When\x20you\x20receive\x20a\x20schema\x20in\x20a\x20mismatch\x20response:','\x20\x20\x20\x201.\x20Read\x20the\x20schema\x20carefully','\x20\x20\x20\x202.\x20Fix\x20your\x20parameters','\x20\x20\x20\x203.\x20Retry\x20the\x20call','\x20\x20\x20\x204.\x20CACHE\x20the\x20schema\x20in\x20your\x20context\x20for\x20future\x20calls\x20to\x20the\x20SAME\x20sub-tool','\x20\x20You\x20should\x20only\x20need\x20to\x20see\x20each\x20sub-tool\x27s\x20schema\x20once\x20per\x20conversation.','','PROJECT\x20MANAGEMENT\x20(SQLite-based):','\x20\x20project_operation\x20action=\x27list_projects\x27\x20→\x20list\x20all\x20projects\x20with\x20object\x20counts','\x20\x20project_operation\x20action=\x27create_project\x27\x20→\x20create\x20a\x20new\x20project\x20(producer/consumer/both)','\x20\x20project_operation\x20action=\x27get_project_detail\x27\x20→\x20full\x20project\x20info\x20(objects,\x20graph,\x20evaluations,\x20versions)','\x20\x20project_operation\x20action=\x27build_graph\x27\x20→\x20build\x203-pathway\x20relationship\x20graph','\x20\x20project_operation\x20action=\x27evaluate_project\x27\x20→\x20rule-based\x20(risk/trust/completeness)\x20or\x20LLM-assisted\x20(value/worth_buying)','\x20\x20project_operation\x20action=\x27assemble_context\x27\x20→\x20assemble\x20semantic\x20context\x20for\x20LLM\x20consumption','','═══════════════════════════════════════════════════════════════','PROJECT\x20ASSOCIATION\x20POLICY\x20(context-aware,\x20read\x20before\x20build/buy):','═══════════════════════════════════════════════════════════════','','Projects\x20are\x20the\x20core\x20organizing\x20unit\x20for\x20all\x20WoWok\x20workflows.\x20The\x20policy\x20is\x20context-aware:','','CASE\x201\x20—\x20COMPLEX\x20REQUIREMENT\x20(user\x20wants\x20to\x20build/deploy\x20a\x20full\x20service):','\x20\x20Examples:\x20\x27build\x20a\x20travel\x20guide\x20service\x27,\x20\x27open\x20a\x20toy\x20store\x27,\x20\x27create\x20a\x20rental\x20service\x27','\x20\x20→\x20You\x20MUST\x20auto-create\x20a\x20project\x20FIRST,\x20then\x20create\x20objects.','\x20\x20→\x20Check\x20for\x20similar\x20existing\x20projects\x20first:\x20project_operation\x20action=\x27list_projects\x27','\x20\x20\x20\x20If\x20similar\x20projects\x20exist\x20(same\x20industry),\x20remind\x20the\x20user:\x20\x27Found\x20similar\x20project\x20X.\x20Reuse\x20or\x20create\x20new?\x27','\x20\x20→\x20Workflow:','\x20\x20\x20\x201.\x20project_operation\x20action=\x27create_project\x27\x20(perspective=\x27producer\x27,\x20project_industry=<best\x20match>)','\x20\x20\x20\x202.\x20Create\x20on-chain\x20objects\x20via\x20onchain_operations\x20with\x20env.project=\x27<prefix>\x27\x20(auto-tags\x20+\x20auto-associates\x20to\x20SQLite\x20project)','\x20\x20\x20\x203.\x20After\x20EACH\x20creation,\x20objects\x20are\x20auto-added\x20to\x20the\x20project\x20(via\x20env.project)','\x20\x20\x20\x204.\x20project_operation\x20action=\x27build_graph\x27\x20—\x20build\x203-pathway\x20relationship\x20graph','\x20\x20\x20\x205.\x20project_operation\x20action=\x27evaluate_project\x27\x20(completeness\x20→\x20R1-R12\x20check,\x20then\x20risk)','\x20\x20\x20\x206.\x20Report\x20results,\x20fix\x20critical\x20findings,\x20then\x20publish\x20Service','','CASE\x202\x20—\x20SINGLE\x20OBJECT\x20CREATION\x20(user\x20wants\x20one\x20specific\x20object):','\x20\x20Examples:\x20\x27create\x20a\x20Permission\x27,\x20\x27add\x20a\x20Contact\x27,\x20\x27build\x20a\x20Guard\x27','\x20\x20→\x20Do\x20NOT\x20auto-create\x20a\x20project.\x20If\x20the\x20user\x20has\x20an\x20existing\x20project,\x20create\x20with\x20env.project=\x27<prefix>\x27\x20to\x20auto-associate.','\x20\x20→\x20If\x20no\x20existing\x20project,\x20after\x20creation,\x20REMIND\x20the\x20user:','\x20\x20\x20\x20\x27This\x20object\x20has\x20been\x20created.\x20Consider\x20adding\x20it\x20to\x20a\x20project\x20for\x20management:\x20project_operation\x20action=\x22add_object\x22','\x20\x20\x20\x20If\x20no\x20project\x20exists\x20yet,\x20use\x20action=\x22create_project\x22\x20to\x20create\x20one.\x20Existing\x20projects:\x20[list\x20projects\x20if\x20any]\x27','\x20\x20→\x20If\x20the\x20user\x20then\x20says\x20\x27yes,\x20create\x20a\x20project\x27\x20or\x20\x27add\x20to\x20project\x20X\x27,\x20proceed\x20accordingly.','','CASE\x203\x20—\x20CONSUMER\x20FLOW\x20(user\x20wants\x20to\x20buy/evaluate\x20a\x20service):','\x20\x20→\x20Suggest:\x20project_operation\x20action=\x27create_project_from_onchain\x27\x20(auto-discovers\x20objects\x20+\x20graph)','\x20\x20→\x20Then:\x20project_operation\x20action=\x27evaluate_project\x27\x20(risk\x20→\x20trust\x20→\x20worth_buying)','\x20\x20→\x20Report\x20findings,\x20let\x20user\x20decide\x20whether\x20to\x20proceed\x20with\x20onchain_operations\x20service_buy','','CASE\x204\x20—\x20SIMPLE\x20QUERY\x20(user\x20wants\x20to\x20check\x20object\x20info,\x20balance,\x20etc.):','\x20\x20→\x20No\x20project\x20needed.\x20Proceed\x20directly\x20with\x20the\x20query.','','INDUSTRY\x20MATCHING\x20(for\x20create_project\x20project_industry\x20param):','\x20\x20travel\x20→\x20tour\x20guides,\x20transportation,\x20accommodation,\x20sightseeing','\x20\x20retail\x20→\x20shops,\x20e-commerce,\x20physical\x20goods','\x20\x20service\x20→\x20professional\x20services,\x20consulting,\x20design','\x20\x20rental\x20→\x20equipment\x20rental,\x20property\x20rental','\x20\x20freelance\x20→\x20freelance\x20work,\x20gig\x20economy','\x20\x20education\x20→\x20courses,\x20training,\x20tutoring','\x20\x20subscription\x20→\x20subscription\x20services,\x20memberships','\x20\x20general\x20→\x20fallback\x20for\x20unclear\x20industry','═══════════════════════════════════════════════════════════════']['join']('\x0a');function formatZodErrors(a,b){return a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](j=>typeof j==='number'?'['+j+']':j)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'];let g='';const h=c;if(e==='invalid_type'){const j=h['expected'],k=h['received'];typeof j==='string'&&typeof k==='string'&&(g='\x20(expected:\x20'+j+';\x20received:\x20'+k+')');}else{if(e==='invalid_value'){const l=h['expected'];if(l!==undefined){const m=typeof l==='string'?l:JSON['stringify'](l);g='\x20(expected:\x20'+m['slice'](0x0,0x3c)+')';}}else{if(e==='too_big'||e==='too_small'){const n=h['maximum']??h['minimum'],o=h['origin'];n!==undefined&&o!==undefined&&(g='\x20('+o+':\x20'+n+')');}}}const i=extractValueAtPath(b,c['path']);if(i!==undefined){const p=typeof i==='string'?'\x22'+i['slice'](0x0,0x3c)+'\x22':typeof i==='object'?JSON['stringify'](i)['slice'](0x0,0x3c):String(i);!g['includes']('received:')&&(g+='\x20(received\x20value:\x20'+p+')');}return d+'\x20['+e+']:\x20'+f+g;});}function generateSuggestion(a,b,c){const d=b;switch(a){case'invalid_type':{const e=d['expected'];if(e==='number'&&typeof c==='string')return'Convert\x20to\x20number:\x20'+Number(c);if(e==='string')return'Wrap\x20in\x20quotes\x20or\x20call\x20String(...)';if(e==='array')return'Wrap\x20in\x20array:\x20['+JSON['stringify'](c)+']';if(e==='object')return'Provide\x20an\x20object,\x20not\x20a\x20primitive';return'Convert\x20value\x20to\x20'+(e??'the\x20expected\x20type');}case'invalid_enum_value':{const f=d['options'],g=Array['isArray'](f)?f['map'](h=>JSON['stringify'](h))['join']('\x20|\x20'):String(f);return'Use\x20one\x20of:\x20'+g;}case'invalid_literal':{const h=d['expected'];return'Use\x20the\x20exact\x20value:\x20'+JSON['stringify'](h);}case'too_small':{const i=d['minimum'],j=d['type'];if(j==='array')return'Add\x20at\x20least\x20'+i+'\x20element(s)\x20to\x20the\x20array';if(j==='string')return'String\x20must\x20be\x20at\x20least\x20'+i+'\x20character(s)\x20long';if(j==='number')return'Use\x20a\x20value\x20>=\x20'+i;return'Value\x20must\x20be\x20>=\x20'+i;}case'too_big':{const k=d['maximum'],l=d['type'];if(l==='array')return'Reduce\x20array\x20to\x20at\x20most\x20'+k+'\x20element(s)';if(l==='string')return'Shorten\x20string\x20to\x20at\x20most\x20'+k+'\x20character(s)';if(l==='number')return'Use\x20a\x20value\x20<=\x20'+k;return'Value\x20must\x20be\x20<=\x20'+k;}case'unrecognized_keys':{const m=d['keys'];return'Remove\x20unknown\x20field(s):\x20'+(m??[])['join'](',\x20')+'.\x20Check\x20the\x20schema\x20for\x20valid\x20field\x20names.';}case'invalid_union':{return'Value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x20variants.\x20Check\x20the\x20schema\x20for\x20valid\x20shapes.';}case'invalid_string':{const n=d['validation'];if(n==='url')return'Provide\x20a\x20valid\x20URL\x20string';if(n==='email')return'Provide\x20a\x20valid\x20email\x20string';if(n==='uuid')return'Provide\x20a\x20valid\x20UUID\x20string';if(n==='regex')return'String\x20does\x20not\x20match\x20the\x20required\x20pattern';return'Provide\x20a\x20valid\x20string\x20matching\x20the\x20validation:\x20'+(n??'unknown');}case'invalid_date':{return'Provide\x20a\x20valid\x20Date\x20object\x20or\x20ISO\x20date\x20string';}case'not_finite':{return'Use\x20a\x20finite\x20number\x20(not\x20Infinity\x20or\x20NaN)';}case'invalid_arguments':{return'Arguments\x20do\x20not\x20match\x20the\x20expected\x20schema';}case'invalid_return_type':{return'Return\x20type\x20does\x20not\x20match\x20the\x20expected\x20schema';}case'custom':{return'Custom\x20validation\x20failed\x20—\x20see\x20the\x20field\x27s\x20description\x20in\x20the\x20schema';}default:{return'Fix\x20the\x20value\x20at\x20\x27'+b['path']['join']('.')+'\x27\x20based\x20on\x20the\x20schema';}}}function formatZodErrorsStructured(a,b){return a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](k=>typeof k==='number'?'['+k+']':k)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'],g=c;let h;if(e==='invalid_type'){const k=g['expected'],l=g['received'];typeof k==='string'&&typeof l==='string'&&(h=k);}else{if(e==='invalid_value'){const m=g['expected'],n=g['options'];if(Array['isArray'](n))h=n['map'](o=>JSON['stringify'](o))['join']('\x20|\x20');else m!==undefined&&(h=typeof m==='string'?m:JSON['stringify'](m));}else{if(e==='too_big'||e==='too_small'){const o=g['maximum']??g['minimum'];o!==undefined&&(h=String(o));}}}const i=extractValueAtPath(b,c['path']),j=generateSuggestion(e,c,i);return{'path':d,'code':e,'message':f,'expected':h,'received_value':i,'suggestion':j};});}function extractValueAtPath(a,b){if(a===undefined||a===null||b['length']===0x0)return undefined;let c=a;for(const d of b){if(c===undefined||c===null)return undefined;if(typeof d==='number'){if(!Array['isArray'](c))return undefined;c=c[d];}else{if(typeof c!=='object')return undefined;c=c[d];}}return c;}function checkUnknownFields(a,b){let c=a;while(!![]){const h=c['_def'];if(!h)break;const i=h['typeName']==='ZodEffects'?h['schema']:h['out']??h['innerType'];if(!i||i===c)break;c=i;}const d=c['_def'],e=typeof d?.['shape']==='function'?d['shape']():d?.['shape'];if(!e||typeof b!=='object'||b===null)return[];const f=Object['keys'](e),g=Object['keys'](b);return g['filter'](j=>!f['includes'](j));}function extractRelevantSchema(a,b,c){if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const d=c['operation_type'];if(typeof d==='string'){const e='onchain_operations_'+d,f=loadPreGeneratedSchema(e);if(f)return f;}}return a;}function isSchemaValidationError(a){return a['startsWith']('Unknown\x20')&&a['includes']('field')||a['includes']('expected')&&a['includes']('received')||a['includes']('Invalid\x20input')||a['includes']('Required');}function buildSchemaPreview(a,b,c){try{const d=['Schema\x20preview\x20for\x20'+b+':'];let e,g=[],h='';if(a['properties']&&typeof a['properties']==='object')e=a['properties'],g=Array['isArray'](a['required'])?a['required']:[],h=typeof a['description']==='string'?a['description']:'';else{if(Array['isArray'](a['oneOf'])||Array['isArray'](a['anyOf'])){const l=a['oneOf']??a['anyOf'];for(const m of l){if(m&&typeof m==='object'){const n=m;if(n['properties']&&typeof n['properties']==='object'){e=n['properties'],g=Array['isArray'](n['required'])?n['required']:[],h=typeof n['description']==='string'?n['description']:'';break;}}}if(!e)return d['push']('\x20\x20(discriminated\x20union\x20with\x20'+l['length']+'\x20variants\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');}}h&&h['length']>0x0&&h['length']<0xc8&&d['push']('\x20\x20'+h);if(!e)return d['push']('\x20\x20(no\x20properties\x20available\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');const i=new Set(g),j=g['length']>0x0?g['join'](',\x20'):'(none)',k=Object['keys'](e)['filter'](o=>!i['has'](o))['join'](',\x20');d['push']('Required:\x20'+j);k&&d['push']('Optional:\x20'+k);d['push']('Fields:');for(const [o,p]of Object['entries'](e)){if(p&&typeof p==='object'){const q=p,r=describeSchemaType(q),s=i['has'](o)?'required':'optional';let t=typeof q['description']==='string'?q['description']:'';if(t['length']>0x78)t=t['slice'](0x0,0x75)+'...';let u='';if(q['properties']&&typeof q['properties']==='object'){const w=Object['keys'](q['properties']);w['length']>0x0&&(u='\x20{\x20'+w['slice'](0x0,0x8)['join'](',\x20')+(w['length']>0x8?',\x20...':'')+'\x20}');}if(q['items']&&typeof q['items']==='object'){const x=q['items'],y=describeSchemaType(x);u='\x20(array\x20of\x20'+y+')';}Array['isArray'](q['enum'])&&(u='\x20(enum:\x20'+q['enum']['slice'](0x0,0x6)['map'](A=>JSON['stringify'](A))['join'](',\x20')+(q['enum']['length']>0x6?',\x20...':'')+')'),d['push']('\x20\x20-\x20'+o+'\x20('+r+',\x20'+s+')'+u+(t?'\x20—\x20'+t:''));}}if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const A=c['operation_type'];typeof A==='string'&&(d['push'](''),d['push']('operation_type-specific\x20schema:\x20onchain_operations_'+A),d['push']('(Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations_'+A+'\x27\x20for\x20the\x20full\x20sub-schema.)'));}return d['join']('\x0a');}catch{return'Schema\x20preview\x20for\x20'+b+':\x20(unable\x20to\x20build\x20preview\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)';}}function describeSchemaType(a){if(typeof a['type']==='string')return a['type'];if(Array['isArray'](a['type']))return a['type']['join']('|');if(a['$ref'])return'$ref';if(Array['isArray'](a['oneOf']))return'oneOf';if(Array['isArray'](a['anyOf']))return'anyOf';if(Array['isArray'](a['allOf']))return'allOf';if(a['enum'])return'enum';if(a['const'])return'const('+JSON['stringify'](a['const'])+')';return'object';}export async function dispatchToolCall(a,b,c){if(a==='wowok')return handleWowok(b);const d=TOOL_REGISTRY_MAP['get'](a);if(!d)throw new Error('Unknown\x20tool:\x20'+a+'.\x20Available:\x20'+TOOL_REGISTRY['map'](h=>h['name'])['join'](',\x20'));if(d['applyRules']&&!c?.['skipRules']){const h=await d['applyRules'](b);if(h)return h;}const e=dispatchWithHarness(d['handler'],a),f=d['timeoutMs']??0xea60,g=wrapHandlerWithErrorShape(e,f,a,d['errorShapeBuilder']);return g(b);}const TOOL_FIELD_ALIASES=['tool','tool_name','name'],DATA_FIELD_ALIASES=['data','args','params','parameters'],RESERVED_FIELD_NAMES=new Set([...TOOL_FIELD_ALIASES,...DATA_FIELD_ALIASES]);function normalizeInput(a){const b=[];if(!a||typeof a!=='object'||Array['isArray'](a))return{'tool':undefined,'data':{},'normalizationNotes':['input\x20is\x20not\x20an\x20object']};const c=a;let d;for(const f of TOOL_FIELD_ALIASES){if(typeof c[f]==='string'&&c[f]){d=c[f];f!=='tool'&&b['push']('normalized\x20\x27'+f+'\x27\x20→\x20\x27tool\x27');break;}}let e;for(const g of DATA_FIELD_ALIASES){const h=c[g];if(h!==undefined&&h!==null&&typeof h==='object'&&!Array['isArray'](h)){e=h;g!=='data'&&b['push']('normalized\x20\x27'+g+'\x27\x20→\x20\x27data\x27');break;}}if(!e){const i={};let j=![];for(const k of Object['keys'](c)){!RESERVED_FIELD_NAMES['has'](k)&&(i[k]=c[k],j=!![]);}j?(e=i,b['push']('extracted\x20inline\x20params\x20→\x20\x27data\x27\x20(no\x20data\x20wrapper\x20was\x20provided)')):e={};}return{'tool':d,'data':e,'normalizationNotes':b};}async function handleWowok(a){const {tool:b,data:c,normalizationNotes:d}=normalizeInput(a);if(!b){const i=a&&typeof a==='object'&&!Array['isArray'](a)?Object['keys'](a)['join'](',\x20')||'(none)':'(non-object\x20input:\x20'+typeof a+')',j=['Missing\x20\x27tool\x27\x20field.\x20Received\x20keys:\x20'+i,'Expected\x20one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')];return{'content':[{'type':'text','text':'Missing\x20\x27tool\x27\x20field.\x20Call\x20format:\x20wowok({\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}).\x20Received\x20keys:\x20'+i+'.\x20Available\x20sub-tools:\x20'+SUB_TOOL_NAMES['join'](',\x20')}],'structuredContent':{'result':{'status':'schema_mismatch','errors':j,'hint':'Provide\x20\x27tool\x27\x20(one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')+')\x20and\x20\x27data\x27\x20(sub-tool\x20parameters).\x20Aliases\x20accepted:\x20tool_name/name→tool,\x20args/params→data.','received':a},'schema':{'input':zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'),'tool':'wowok'}}};}const e=TOOL_REGISTRY_MAP['get'](b);if(!e){const k=TOOL_REGISTRY['map'](l=>l['name'])['filter'](l=>l['includes'](b)||b['includes'](l))['slice'](0x0,0x5);return{'content':[{'type':'text','text':'Unknown\x20sub-tool:\x20\x27'+b+'\x27.\x20Available:\x20'+TOOL_REGISTRY['map'](l=>l['name'])['join'](',\x20')+(k['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+k['join'](',\x20')+'?':'')}],'structuredContent':{'result':{'status':'error','errors':['Unknown\x20sub-tool:\x20'+b],'hint':'Available\x20sub-tools:\x20'+TOOL_REGISTRY['map'](l=>l['name'])['join'](',\x20')+(k['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+k['join'](',\x20')+'?':''),'suggestions':k},'schema':null}};}d['length']>0x0&&console['warn']('[wowok]\x20input\x20normalization\x20for\x20\x27'+b+'\x27:\x20'+d['join'](';\x20'));const g=e['config']['inputSchema']['safeParse'](c),h=checkUnknownFields(e['config']['inputSchema'],c);if(!g['success']||h['length']>0x0){const l=[];!g['success']&&l['push'](...formatZodErrors(g['error'],c));h['length']>0x0&&l['push']('Unknown\x20field(s):\x20'+h['join'](',\x20'));const m=[];!g['success']&&m['push'](...formatZodErrorsStructured(g['error'],c));if(h['length']>0x0)for(const t of h){m['push']({'path':t,'code':'unrecognized_keys','message':'Unknown\x20field\x20\x27'+t+'\x27\x20is\x20not\x20allowed','suggestion':'Remove\x20field\x20\x27'+t+'\x27\x20or\x20check\x20the\x20schema\x20for\x20valid\x20field\x20names'});}const n=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),o=extractRelevantSchema(n,b,c),p=m[0x0]?.['suggestion']?'\x20FIRST\x20ERROR\x20SUGGESTION:\x20'+m[0x0]['suggestion']:'',q=l['slice'](0x0,0x5)['map']((u,v)=>'\x20\x20'+(v+0x1)+'.\x20'+u)['join']('\x0a'),r=buildSchemaPreview(o,b,c),s=['Schema\x20mismatch\x20for\x20'+b+'.\x20'+l['length']+'\x20error(s).'+p,q,'',r,'','Fix\x20the\x20parameters\x20based\x20on\x20the\x20errors\x20above\x20and\x20the\x20schema\x20summary,\x20then\x20retry.','Full\x20JSON\x20Schema\x20is\x20in\x20the\x20structuredContent.schema.input\x20field\x20(cache\x20it\x20for\x20future\x20'+b+'\x20calls).','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).']['filter'](Boolean)['join']('\x0a');return{'content':[{'type':'text','text':s}],'structuredContent':{'result':{'status':'schema_mismatch','errors':l,'structured_errors':m,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls\x20—\x20you\x20don\x27t\x20need\x20to\x20query\x20it\x20again.'},'schema':{'input':o,'tool':b}}};}try{const u=await dispatchToolCall(b,c),v=u['structuredContent'],w=v?.['result'],x=w?.['status']==='error'||w?.['operation']==='error';if(x)return{'content':u['content'],'structuredContent':{'result':{'status':'error','data':u['structuredContent'],'errors':[u['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']},'schema':null}};return{'content':u['content'],'structuredContent':{'result':{'status':'success','data':u['structuredContent']},'schema':null}};}catch(y){const A=y instanceof Error?y['message']:String(y);if(isSchemaValidationError(A)){const B=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),C=extractRelevantSchema(B,b,c),D=buildSchemaPreview(C,b,c),E=[{'path':'(runtime)','code':'schema_validation_error','message':A,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],F=['Schema\x20mismatch\x20for\x20'+b+':\x20'+A,'',D,'','Fix\x20the\x20parameters\x20and\x20retry.\x20Full\x20JSON\x20Schema\x20is\x20in\x20structuredContent.schema.input.','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).']['join']('\x0a');return{'content':[{'type':'text','text':F}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[A],'structured_errors':E,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls.'},'schema':{'input':C,'tool':b}}};}return{'content':[{'type':'text','text':'Error:\x20'+A}],'structuredContent':{'result':{'status':'error','errors':[A]},'schema':null}};}}function zodToJsonSchemaSafe(a,b){try{const c=z['toJSONSchema'](a,{'unrepresentable':'any','target':'draft-07'});if(c&&typeof c==='object'&&!Array['isArray'](c)){const {$schema:d,...e}=c;return e;}return{'type':'object'};}catch{return{'type':'object','additionalProperties':!![]};}}function resolveSchemaRefs(a){const b=new Set(['definitions','$schema','$id']);function c(e){if(!e['startsWith']('#/'))return null;const f=e['slice'](0x2)['split']('/');let g=a;for(const h of f){if(g==null||typeof g!=='object')return null;g=g[h];}return g;}function d(e,f){if(!e||typeof e!=='object')return e;if(Array['isArray'](e))return e['map'](i=>d(i,f));const g=e;if(typeof g['$ref']==='string'){const i=g['$ref'];if(f['has'](i))return{'type':'object','additionalProperties':!![]};const j=c(i);if(j&&typeof j==='object'&&!Array['isArray'](j)){const l=new Set(f);l['add'](i);const m=d(j,l),n={};for(const [o,p]of Object['entries'](g)){if(o!=='$ref'&&!b['has'](o))n[o]=p;}return{...m,...n};}return{'type':'object','additionalProperties':!![]};}const h={};for(const [q,r]of Object['entries'](g)){if(b['has'](q))continue;h[q]=d(r,f);}return h;}return d(a,new Set());}function loadPreGeneratedSchema(a){const b=preGeneratedSchemaCache['get'](a);if(b)return b;for(const c of SCHEMA_DIR_CANDIDATES){try{const d=join(c,a+'.schema.json'),e=readFileSync(d,'utf-8'),f=JSON['parse'](e),g=resolveSchemaRefs(f);return preGeneratedSchemaCache['set'](a,g),g;}catch{}}return null;}export function listTools(){return[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':resolveSchemaRefs(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'))}];}export function registerAllTools(a){const b=0x1d4c0,c=wrapHandlerWithErrorShape(handleWowok,b,'wowok',undefined);a['registerTool']('wowok',{'title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':WowokToolRuntimeSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}},withTelemetry('wowok',c)),overrideToolsListHandler(a);}function overrideToolsListHandler(a){a['server']['setRequestHandler']('tools/list',()=>({'tools':[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':ensureObjectType(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok')),'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}}]}));}function ensureObjectType(a){if(a['type']==='object')return a;return{...a,'type':'object'};}
|
|
1
|
+
import{z}from'zod';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';import{fromJsonSchema}from'@modelcontextprotocol/server';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),SCHEMA_DIR_CANDIDATES=[join(__dirname,'..','schemas'),join(__dirname,'..','..','dist','schemas')],preGeneratedSchemaCache=new Map();import{wrapHandlerWithErrorShape,statusErrorShape,operationErrorShape,strictStatusErrorShape,dispatchWithHarness}from'./wrap.js';import{withTelemetry}from'../telemetry/index.js';import{handleOnchainOperations}from'./handlers/onchain.js';import{handleAccountOperation,handleMarkOperation,handleInfoOperation}from'./handlers/local.js';import{handleWipOperations}from'./handlers/wip.js';import{handleMessengerOperation}from'./handlers/messenger.js';import{handleGuard2File,handleMachineNode2File}from'./handlers/file-export.js';import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'./handlers/query.js';import{handleSchemaQuery}from'./handlers/schema-query.js';import{handleBridgeOperations}from'./handlers/bridge.js';import{handleProjectOperation}from'./handlers/project.js';import{handleConfigOperation}from'./handlers/config.js';import{handleTrustScore}from'./handlers/trust.js';import{handleEvaluationOperation}from'./handlers/evaluation.js';import{handlePersonaOperation}from'./handlers/persona.js';import{handleIntentRadar}from'./handlers/intent-radar.js';import{handleEmployeeOperation}from'./handlers/employee.js';import{handleQueryTaskStatus}from'./handlers/task-status.js';import{handleIndustryPackOperation}from'./handlers/industry-pack.js';import{handleWorkspaceOperation}from'./handlers/workspace.js';import{handleWorkflowOperation}from'./handlers/workflow.js';import{handlePermissionOperation}from'./handlers/permission.js';import{applyOnchainRules}from'./rules-hook.js';import{createToolMeta,OnchainOperationsSchema,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,WipOperationsSchema,MessengerOperationInputSchema,Guard2File_InputSchema,MachineNode2File_InputSchema,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainEventsInputSchema,ProtocolInfoQuerySchema,SchemaQueryInputSchema,BridgeOperationsSchema,ProjectOperationInputSchema,ConfigOperationInputSchema,TrustScoreInputSchema,CallOutputSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,WipOperationOutputSchema,MessengerOperationOutputSchema,Guard2File_OutputWrappedSchema,MachineNode2File_OutputWrappedSchema,OnchainTableDataResultSchema,OnchainEventsResultSchema,ProtocolInfoResultSchema,SchemaQueryOutputSchema,BridgeCallOutputSchema,ProjectOperationOutputSchema,ConfigOperationOutputSchema,TrustScoreOutputSchema,EvaluationOperationInputSchema,EvaluationOperationOutputSchema,PersonaOperationInputSchema,PersonaOperationOutputSchema,IntentRadarInputSchema,IntentRadarOutputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema,QueryTaskStatusInputSchema,QueryTaskStatusOutputSchema,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema}from'../schema/index.js';export const TOOL_REGISTRY=[{'name':'onchain_operations','handler':handleOnchainOperations,'config':{'title':'⛓️\x20On-chain\x20Operations','summary':'On-chain\x20ops:\x20service,\x20machine,\x20progress,\x20repository,\x20arbitration,\x20etc.','description':'On-chain\x20operations\x20for\x20WoWok\x20object:\x20service\x20(marketplace\x20listings),\x20machine\x20(workflow\x20templates),\x20progress\x20(order\x20tracking),\x20repository\x20(on-chain\x20database),\x20arbitration\x20(dispute\x20resolution),\x20contact\x20(IM\x20management),\x20treasury\x20(team\x20funds),\x20reward\x20(incentive\x20pools),\x20allocation\x20(auto-distribution),\x20permission\x20(access\x20control),\x20guard\x20(programmable\x20trust\x20rules),\x20personal\x20(public\x20profile),\x20payment\x20(direct\x20coin\x20transfers),\x20demand\x20(service\x20requests),\x20order\x20(order\x20management),\x20gen_passport\x20(verified\x20credentials),\x20proof\x20(on-chain\x20proof\x20objects),\x20gen_proof\x20(generate\x20proof\x20shortcut).\x0a\x0a💰\x20FUND\x20SAFETY\x20(service/arbitration/treasury/reward/allocation/payment):\x20amounts\x20are\x20parsed\x20against\x20the\x20target\x20object\x27s\x20IMMUTABLE\x20generic\x20token\x20type\x20(e.g.\x20Treasury<USDT>\x20accepts\x20ONLY\x20USDT\x20—\x20mismatched\x20coins/token_types\x20are\x20BLOCKED\x20before\x20execution).\x20Monetary\x20input\x20with\x20unresolvable\x20token\x20precision\x20is\x20BLOCKED\x20(never\x20guesses\x20decimals)\x20with\x20known-token\x20suggestions;\x20retry\x20once\x20the\x20token\x20info\x20resolves.\x20Display-format\x20amounts\x20like\x20\x222WOW\x22\x20are\x20converted\x20to\x20raw\x20u64\x20using\x20the\x20token\x27s\x20own\x20decimals.\x0a\x0a📌\x20Project\x20association:\x20Pass\x20env.project=\x27<prefix>\x27\x20to\x20auto-tag\x20the\x20object\x20on-chain\x20AND\x20auto-associate\x20it\x20to\x20the\x20SQLite\x20project\x20(created\x20objects\x20are\x20automatically\x20added).\x20For\x20complex\x20builds,\x20create\x20a\x20project\x20first\x20(project_operation\x20action=\x27create_project\x27).\x20For\x20single\x20objects,\x20just\x20pass\x20env.project.\x20See\x20PROJECT\x20ASSOCIATION\x20POLICY\x20in\x20system\x20prompt.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations\x27\x20to\x20retrieve\x20the\x20complete\x20parameter\x20schema.\x20For\x20individual\x20operation\x20schemas\x20(e.g.,\x20\x27onchain_operations_permission\x27),\x20use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20available\x20operation\x20schemas.','inputSchema':OnchainOperationsSchema,'outputSchema':CallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','payment','demand','order','gen_passport','proof','gen_proof','on-chain','blockchain'])},'applyRules':applyOnchainRules},{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20Account\x20-\x20Wallet\x20Management','summary':'LOCAL\x20wallet\x20management\x20(generate,\x20suspend,\x20faucet,\x20sign).','description':'🔒\x20100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20WoWok\x20accounts\x20locally\x20on\x20device:\x20generate,\x20suspend,\x20resume,\x20faucet-test,\x20operate\x20assets,\x20sign\x20data,\x20etc.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27account_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':AccountOperationSchema,'outputSchema':AccountOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['account','local','private','wallet','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_mark_operation','handler':handleMarkOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalMark\x20-\x20Address\x20Book\x20Management','summary':'LOCAL\x20address\x20book\x20(name/tag\x20for\x20addresses\x20and\x20object\x20IDs).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20ID\x20names\x20and\x20tags\x20stored\x20ONLY\x20on\x20your\x20local\x20device\x20for\x20easy\x20identification\x20of\x20user\x20address\x20or\x20object\x20IDs\x20by\x20name.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_mark_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalMarkOperationSchema,'outputSchema':LocalMarkOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['mark','local','private','address-book','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_info_operation','handler':handleInfoOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalInfo\x20-\x20Private\x20Data\x20Management','summary':'LOCAL\x20private\x20data\x20(delivery\x20addresses,\x20phone\x20numbers).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_info_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalInfoOperationSchema,'outputSchema':LocalInfoOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['info','local','private','data-management','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'wip_file','handler':handleWipOperations,'config':{'title':'🤝\x20Witness\x20Immutable\x20Promise\x20File\x20Operations','summary':'WIP\x20promise\x20file\x20operations:\x20generate,\x20verify,\x20sign,\x20wip2html.','description':'generate\x20(create\x20WIP\x20files\x20from\x20markdown\x20and\x20images),\x20verify\x20(integrity\x20check),\x20sign\x20(add\x20signatures),\x20or\x20wip2html\x20(convert\x20to\x20HTML).\x0a\x0a⚠️\x20IMPORTANT\x20—\x20On-chain\x20WIP\x20URL\x20requirement:\x20When\x20using\x20a\x20WIP\x20file\x20URL\x20in\x20`service.sales[].wip`\x20(stored\x20on-chain),\x20the\x20URL\x20MUST\x20be\x20publicly\x20reachable.\x20Local\x20file\x20paths\x20(e.g.,\x20\x27C:\x5c\x5cpath\x5c\x5cfile.wip\x27\x20or\x20\x27/home/user/file.wip\x27)\x20are\x20NOT\x20acceptable\x20on-chain\x20—\x20they\x20only\x20work\x20locally\x20and\x20will\x20fail\x20verification\x20for\x20buyers.\x0a\x0aDeployment\x20options\x20for\x20the\x20.wip\x20file:\x0a\x20\x20•\x20GitHub\x20Pages:\x20https://raw.githubusercontent.com/<user>/<repo>/<branch>/<file>.wip\x0a\x20\x20•\x20IPFS:\x20https://ipfs.io/ipfs/<CID>\x20or\x20https://cloudflare-ipfs.com/ipfs/<CID>\x20(upload\x20via\x20pinata.cloud)\x0a\x20\x20•\x20User\x27s\x20own\x20static\x20website\x20URL\x0a\x0aUse\x20type=\x27generate\x27\x20to\x20create\x20the\x20WIP\x20file\x20first,\x20upload\x20it\x20to\x20any\x20of\x20the\x20above,\x20then\x20use\x20the\x20resulting\x20URL\x20in\x20service.sales[].wip.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27wip_file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':WipOperationsSchema,'outputSchema':z['object']({'result':WipOperationOutputSchema}),'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('operation',['wip','promise','file-generation','verification','signature','local'])}},{'name':'messenger_operation','handler':handleMessengerOperation,'config':{'title':'💬\x20Messenger\x20Operations','summary':'End-to-end\x20encrypted\x20messaging\x20(send/watch/WTS/blacklist).','description':'WoWok\x20encrypted\x20messenger\x20operations:\x20watch\x20conversations\x20(with\x20unread\x20filtering,\x20preview\x20messages),\x20send\x20message,\x20send\x20file,\x20watch\x20messages\x20(with\x20viewed\x20status\x20filtering),\x20extract\x20zip\x20messages,\x20generate\x20WTS,\x20verify\x20WTS,\x20sign\x20WTS,\x20WTS\x20to\x20HTML,\x20proof\x20message\x20on-chain,\x20manage\x20blacklist,\x20friendslist,\x20guardlist,\x20settings,\x20mark\x20messages\x20as\x20viewed,\x20mark\x20conversation\x20as\x20viewed,\x20and\x20pull\x20messages\x20from\x20server.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27messenger_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MessengerOperationInputSchema,'outputSchema':MessengerOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['messenger','message','file','wts','blacklist','friendslist','guardlist','settings','proof','communication'])},'errorShapeBuilder':operationErrorShape,'timeoutMs':0x7530},{'name':'guard2file','handler':handleGuard2File,'config':{'title':'📄\x20Guard\x20to\x20File\x20-\x20Export\x20Guard\x20Definition','summary':'Export\x20guard\x20rules\x20to\x20a\x20local\x20JSON/Markdown\x20file.','description':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20from\x20the\x20blockchain\x20to\x20a\x20local\x20JSON\x20or\x20Markdown\x20file\x20for\x20editing\x20and\x20creating\x20new\x20Guard\x20objects.\x20Note:\x20To\x20query\x20on-chain\x20object\x20information,\x20use\x20the\x20\x27query_toolkit\x27\x20tool\x20instead.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27guard2file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':Guard2File_InputSchema,'outputSchema':Guard2File_OutputWrappedSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('generate\x20file',['guard','export','file','json','markdown','on-chain'])},'errorShapeBuilder':strictStatusErrorShape},{'name':'machineNode2file','handler':handleMachineNode2File,'config':{'title':'⚙️\x20Machine\x20Node\x20to\x20File\x20-\x20Export\x20Machine\x20Node\x20Definition','summary':'Export\x20machine\x20nodes\x20to\x20a\x20local\x20JSON/Markdown\x20file.','description':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20from\x20the\x20blockchain\x20to\x20a\x20local\x20JSON\x20or\x20Markdown\x20file\x20for\x20editing\x20and\x20creating\x20new\x20Machine\x20objects.\x20Note:\x20To\x20query\x20on-chain\x20object\x20information,\x20use\x20the\x20\x27query_toolkit\x27\x20tool\x20instead.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27machineNode2file\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MachineNode2File_InputSchema,'outputSchema':MachineNode2File_OutputWrappedSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('generate\x20file',['machine','export','file','json','markdown','on-chain','workflow'])},'errorShapeBuilder':strictStatusErrorShape},{'name':'query_toolkit','handler':handleWatchQueryOperations,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens\x20(13\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2013\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'12.\x20onchain_address_activity\x20—\x20FORENSICS:\x20all\x20transactions\x20sent\x20by\x20an\x20address\x20(auditing\x20only).\x0a'+'13.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(15\x20item\x20types).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20events\x20(arbitration,\x20order,\x20progress,\x20demand).','description':'Query\x20on-chain\x20WoWok\x20state-transition\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20arbitration\x20events,\x20new\x20order\x20events,\x20progress\x20events,\x20demand\x20presentation\x20events,\x20demand\x20feedback\x20events,\x20and\x20new\x20entity\x20registration\x20events.\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20state-transition\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Protocol\x20constants,\x20built-in\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20or\x20\x27funding\x20guidance\x27.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20+\x20best\x20practices\x20(e.g.\x20signer_verification,\x20progress_node_check).\x20Omit\x20\x27template\x27\x20to\x20list\x20all.\x0a'+'\x20\x20\x27search_examples\x27\x20-\x20Search\x20verified\x20example\x20files\x20by\x20keyword\x20(matches\x20title/description/tags/operation_type/industry).\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}},{'name':'bridge_operation','handler':handleBridgeOperations,'config':{'title':'🌉\x20Bridge\x20-\x20Cross-Chain\x20Operations','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(mainnet\x20only).','description':'🌉\x20Simplified\x20cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.\x0a\x0a'+'Key\x20concepts\x20(transparent\x20to\x20user):\x0a'+'\x20\x20•\x20Global\x20single\x20activeEvmAccount\x20-\x20auto-generated\x20on\x20first\x20use,\x20holds\x20cross-chain\x20assets.\x0a'+'\x20\x20•\x20WOW→EVM:\x20assets\x20auto-claim\x20to\x20activeEvmAccount;\x20optional\x20withdrawTo\x20transfers\x20to\x20a\x20final\x20EVM\x20address.\x0a'+'\x20\x20•\x20EVM→WOW:\x20deposit\x20from\x20activeEvmAccount\x20(balance\x20checked\x20first),\x20assets\x20arrive\x20at\x20the\x20WOW\x20account.\x0a\x0a'+'Operations\x20(operation_type):\x0a'+'\x20\x20•\x20cross_chain_wow_to_evm\x20-\x20WOW→EVM\x20cross-chain\x20(asset\x20to\x20activeEvmAccount\x20or\x20withdrawTo).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20cross_chain_evm_to_wow\x20-\x20EVM→WOW\x20cross-chain\x20(from\x20activeEvmAccount\x20to\x20WOW\x20account).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20withdraw\x20-\x20Withdraw\x20from\x20activeEvmAccount\x20to\x20another\x20EVM\x20address\x20(non-cross-chain).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_active_evm_account\x20-\x20Query\x20activeEvmAccount\x20address\x20+\x20balances\x20(per\x20chain\x20or\x20all).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_evm_chains\x20-\x20List\x20supported\x20EVM\x20chains\x20(enum/description/chainId/RPC\x20health).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_tokens\x20-\x20List\x20supported\x20Bridge\x20tokens\x20per\x20chain\x20(WOW/EVM\x20contract\x20addresses,\x20decimals,\x20description).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_list\x20-\x20Query\x20transfer\x20history\x20list\x20with\x20optional\x20filters\x20(status/direction/token/limit).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_status\x20-\x20Query\x20single\x20transfer\x20detail\x20by\x20transferId.\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20manage_evm_rpc\x20-\x20Manage\x20EVM\x20RPC\x20endpoints\x20(list/add/remove/set/ping)\x20to\x20handle\x20429\x20rate\x20limits.\x20[No\x20env\x20needed]\x0a\x0a'+'Token\x20support\x20follows\x20SDK\x20config\x20(ETH/WETH/WBTC/USDC/USDT).\x20WOW\x20account\x20names\x20are\x20supported\x20(resolved\x20via\x20LocalMark).\x0a'+'NOTE:\x20Use\x20schema_query\x20(name=\x27bridge_operation\x27)\x20to\x20retrieve\x20the\x20exact\x20JSON\x20Schema\x20with\x20all\x20field\x20definitions\x20before\x20calling.','inputSchema':BridgeOperationsSchema,'outputSchema':BridgeCallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['bridge','cross-chain','evm','ethereum','wow','transfer','rpc'])}},{'name':'project_operation','handler':handleProjectOperation,'config':{'title':'🗂️\x20Project\x20-\x20Entity\x20Management\x20&\x20Evaluation','summary':'Project\x20entity\x20management\x20(SQLite)\x20+\x203-pathway\x20graph\x20+\x20evaluation\x20engine.','description':'Project\x20management\x20service\x20—\x20manage\x20projects\x20as\x20first-class\x20entities\x20with\x20SQLite\x20persistence,\x20'+'rigid\x20project-object\x20relationships,\x20three-pathway\x20graph\x20construction,\x20and\x20a\x20dual\x20rule-based\x20+\x20'+'LLM-assisted\x20evaluation\x20engine.\x0a\x0a'+'📌\x20Project\x20policy:\x20Complex\x20builds\x20→\x20auto-create\x20project\x20first\x20+\x20check\x20for\x20similar\x20projects.\x20'+'Single\x20object\x20→\x20remind\x20user\x20to\x20add\x20to\x20a\x20project.\x20'+'Consumer\x20→\x20create_project_from_onchain\x20+\x20evaluate\x20before\x20buying.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20PROJECT\x20ENTITY\x20+\x20EVALUATION\x20(15\x20actions,\x20GLM6)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20list_projects\x20—\x20List\x20all\x20projects\x20(with\x20object\x20count\x20+\x20types).\x20Supports\x20filter_status,\x20filter_perspective,\x20filter_network.\x0a'+'\x20\x20•\x20create_project\x20—\x20Create\x20a\x20new\x20project\x20(producer/consumer/both,\x20bound\x20to\x20a\x20network).\x0a'+'\x20\x20•\x20create_project_from_onchain\x20—\x20Create\x20a\x20consumer\x20project\x20from\x20an\x20on-chain\x20Service\x20address\x20(auto-discovers\x20objects\x20+\x20graph).\x0a'+'\x20\x20•\x20update_project\x20—\x20Update\x20project\x20metadata,\x20status,\x20labels,\x20service\x20address,\x20etc.\x0a'+'\x20\x20•\x20get_project_detail\x20—\x20Get\x20full\x20project\x20detail\x20(objects,\x20graph\x20edges,\x20evaluations,\x20versions).\x0a'+'\x20\x20•\x20add_object\x20—\x20Add\x20an\x20on-chain\x20object\x20to\x20a\x20project\x20(by\x20address\x20or\x20LocalMark\x20name).\x0a'+'\x20\x20•\x20remove_object\x20—\x20Remove\x20an\x20object\x20from\x20a\x20project.\x0a'+'\x20\x20•\x20create_version\x20—\x20Create\x20a\x20project\x20version\x20(e.g.\x20\x27v2\x27)\x20with\x20optional\x20fork\x20from\x20a\x20source\x20version.\x0a'+'\x20\x20•\x20build_graph\x20—\x20Build\x20relationship\x20graph\x20via\x203\x20pathways\x20(internal\x20refs,\x20Registrar,\x20potential).\x20Configurable\x20depth.\x0a'+'\x20\x20•\x20get_graph\x20—\x20Get\x20persisted\x20graph\x20edges.\x0a'+'\x20\x20•\x20evaluate_project\x20—\x20Evaluate\x20project\x20(risk/trust/completeness\x20=\x20rule-based;\x20value/worth_buying\x20=\x20LLM-assisted\x20with\x20prompt).\x0a'+'\x20\x20•\x20save_evaluation\x20—\x20Save\x20an\x20LLM-produced\x20evaluation\x20result.\x0a'+'\x20\x20•\x20compare_projects\x20—\x20Compare\x20multiple\x20projects\x20by\x20evaluation\x20type.\x0a'+'\x20\x20•\x20refresh_objects\x20—\x20Refresh\x20object\x20cache\x20from\x20chain\x20(batch\x20query,\x20rate-limited).\x0a'+'\x20\x20•\x20get_object_diff\x20—\x20Get\x20field-level\x20diff\x20of\x20an\x20object\x20between\x20two\x20timestamps.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20INDUSTRY\x20MODE\x20RECOMMENDATION\x20+\x20REGISTRY\x20(9\x20actions,\x20GLM6/92\x20§E)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20recommend_industry\x20—\x20CALL\x20THIS\x20FIRST\x20when\x20the\x20user\x20describes\x20a\x20business\x20without\x20naming\x20an\x20industry.\x20'+'Returns\x20top-3\x20similar\x20industries\x20+\x20verified\x20reference\x20examples\x20(\x27from\x20scratch\x20vs\x20giants\x27\x20shoulders\x27).\x0a'+'\x20\x20•\x20list_modes\x20—\x20List\x20builtin\x20industry\x20modes\x20+\x20your\x20custom\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20Derive\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20(modify\x20machine_shape/allocator/config).\x20R-M1-11\x20enforced.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20Iterate\x20a\x20custom\x20mode\x20(version\x20bump\x20+\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20Register\x20a\x20fully\x20custom\x20mode\x20(requires\x20machine_shape\x20+\x20key_risk).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20Delete\x20a\x20custom\x20mode.\x0a'+'\x20\x20•\x20register_custom_metric\x20/\x20register_custom_constraint\x20—\x20Extend\x20the\x20evaluation\x20registries.\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20List\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20INTENT\x20→\x20RISK\x20→\x20SUBSTEP\x20PIPELINE\x20(3\x20actions,\x20GLM5-31\x20§V3/V4)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20Business\x20intent\x20text\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x20'+'Required:\x20intent.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20Puzzle\x20snapshots\x20→\x20calibrated\x20risks\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(RISK_BLOCKED\x20/\x20RISK_PENDING_CONFIRM\x20/\x20RISK_PASSED).\x20Required:\x20project\x20+\x20'+'(puzzles\x20OR\x20intent\x20—\x20when\x20intent\x20is\x20given,\x20analyze_intent\x20runs\x20first\x20automatically).\x20'+'Optional:\x20planned_objects\x20(OBJECT_REUSE\x20check),\x20planned_operations\x20(IMMUTABILITY\x20check).\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20Substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20'+'circular\x20refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x20'+'Required:\x20project\x20+\x20substeps.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20MERCHANT\x20ONBOARDING\x20WIZARD\x20(1\x20action,\x20GLM6/93\x20§5)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20guided\x20flow\x20from\x20\x27I\x20want\x20to\x20sell\x20X\x27\x20to\x20a\x20validated\x20creation\x20plan:\x20'+'intent\x20analysis\x20→\x20industry\x20matching\x20→\x20module\x20adoption\x20→\x20semantic\x20blueprint\x20→\x20evaluation\x20preview\x20→\x20'+'harness\x20check\x20→\x20ordered\x20creation\x20plan.\x20Stateless:\x20pass\x20guide_state\x20UNCHANGED\x20between\x20calls,\x20'+'advance\x20via\x20guide_confirm.\x20NEVER\x20executes\x20on-chain\x20—\x20materialize\x20the\x20plan\x20via\x20create_project\x20+\x20'+'onchain_operations.\x20Required:\x20intent\x20(first\x20call)\x20or\x20guide_state.\x0a\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20CONTEXT\x20ASSEMBLY\x20+\x20REVERSE\x20MAPPING\x20(2\x20actions)\x0a'+'═══════════════════════════════════════════════════════════════\x0a'+'\x20\x20•\x20assemble_context\x20—\x20Query\x20on-chain\x20object\x20states\x20+\x20extract\x20embedded\x20history\x20+\x20optional\x20events,\x20'+'and\x20assemble\x20a\x20structured\x20semantic\x20context\x20for\x20LLM\x20consumption.\x20Required:\x20context_objects\x20(array\x20of\x20IDs/names).\x0a'+'\x20\x20•\x20reverse_map\x20—\x20Deterministic\x20L4→L1\x20business\x20report\x20(no\x20LLM):\x20queries\x20the\x20objects,\x20classifies\x20into\x20'+'business\x20semantics,\x20emits\x20merchant\x20profile\x20+\x20user\x20risk\x20assessment\x20+\x20game-theory\x20analysis.\x20Same\x20objects\x20'+'always\x20yield\x20the\x20same\x20report.\x20Required:\x20context_objects\x20(include\x20Service;\x20add\x20Machine/Allocation\x20for\x20'+'refund-path\x20detection).\x20Optional:\x20context_network,\x20reverse_order_amount.\x0a\x0a'+'Correct\x20object\x20creation\x20order\x20(topological):\x20Permission\x20→\x20Allocation\x20→\x20Guard\x20→\x20Machine\x20→\x20Service.\x0a'+'All\x20objects\x20created\x20as\x20draft\x20(publish=false)\x20first;\x20publish\x20Machine\x20before\x20Service\x20(last).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27project_operation\x27\x20for\x20exact\x20field\x20definitions.','inputSchema':ProjectOperationInputSchema,'outputSchema':ProjectOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('project',['project','entity','sqlite','graph','evaluation','risk','trust','completeness','worth_buying','registrar','diff','version','context','assembly'])}},{'name':'config_operation','handler':handleConfigOperation,'config':{'title':'⚙️\x20Config\x20-\x20Runtime\x20Service\x20Toggles','summary':'Runtime\x20service\x20toggles\x20(confirm_gate,\x20harness,\x20etc.).','description':'Phase\x202\x20runtime\x20configuration\x20—\x20toggle\x20Phase\x202\x20services\x20on/off\x20at\x20runtime\x20WITHOUT\x20restarting\x20the\x20MCP\x20server.\x20'+'This\x20is\x20the\x20session-level\x20switch\x20mechanism:\x20AI\x20can\x20toggle\x20based\x20on\x20user\x20conversation\x20context,\x20or\x20users\x20can\x20'+'directly\x20control\x20which\x20Phase\x202\x20features\x20are\x20active.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20List\x20all\x20services\x20with\x20current\x20state\x20+\x20reminders.\x0a'+'\x20\x20•\x20toggle\x20—\x20Toggle\x20a\x20service\x20on/off\x20(requires\x20`service`\x20param).\x20Returns\x20reminder\x20text.\x0a'+'\x20\x20•\x20enable\x20—\x20Enable\x20a\x20service\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20disable\x20—\x20Disable\x20a\x20service\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20reset\x20—\x20Reset\x20a\x20service\x20to\x20its\x20default\x20(requires\x20`service`\x20param).\x0a'+'\x20\x20•\x20info\x20—\x20Get\x20detailed\x20info\x20about\x20a\x20service\x20(requires\x20`service`\x20param).\x0a\x0a'+'Services:\x0a'+'\x20\x20•\x20confirm_gate\x20—\x20Safety\x20Confirmation\x20Gate\x20(default\x20ON)\x0a'+'\x20\x20•\x20project_service\x20—\x20On-chain\x20project\x20tag\x20auto-injection\x20(default\x20ON).\x20When\x20ON,\x20objects\x20created\x20via\x20onchain_operations\x20are\x20auto-tagged\x20with\x20project:<prefix>\x20for\x20on-chain\x20grouping.\x20Use\x20project_operation\x20for\x20SQLite-based\x20project\x20management\x20(evaluation,\x20graph,\x20versioning).\x0a'+'\x20\x20•\x20harness\x20—\x20L4\x20Verify/Recover\x20Loop\x20(default\x20OFF)\x0a'+'\x20\x20•\x20graph_persist\x20—\x20Graph\x20Persistence\x20to\x20File\x20(default\x20OFF)\x0a'+'\x20\x20•\x20semantic_rich\x20—\x20Semantic\x20Layer\x20Enrichment\x20Reminder\x20(default\x20ON)\x0a'+'\x20\x20•\x20experience_layer\x20—\x20Real-time\x20Experience\x20Layer\x20(Phase\x202\x20Topic\x202,\x20default\x20ON)\x0a'+'\x20\x20•\x20customer_intelligence\x20—\x20Buyer\x20Intelligence\x20/\x20Risk\x20&\x20Preference\x20Alerts\x20(Phase\x203\x20C-3,\x20default\x20ON)\x0a'+'\x20\x20•\x20order_monitor\x20—\x20In-progress\x20Order\x20Monitoring\x20(Phase\x203\x20C-3.2,\x20default\x20OFF)\x0a'+'\x20\x20•\x20industry_evolution\x20—\x20Industry\x20Specialization\x20Evolution\x20Flywheel\x20(Phase\x204,\x20default\x20ON)\x0a\x0a'+'NOTE:\x20Toggles\x20persist\x20for\x20the\x20MCP\x20process\x20lifetime.\x20Set\x20WOWOK_RUNTIME_CONFIG_PERSIST=1\x20'+'to\x20persist\x20across\x20sessions\x20to\x20~/.wow/mcp/runtime-config.json.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27config_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20actions\x20and\x20field\x20definitions.','inputSchema':ConfigOperationInputSchema,'outputSchema':ConfigOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('config',['config','toggle','service','runtime','switch','enable','disable'])}},{'name':'trust_score','handler':handleTrustScore,'config':{'title':'🛡️\x20Trust\x20Score\x20-\x20Service\x20Risk\x20&\x20Trust\x20Assessment','summary':'Service\x20trust/risk\x20assessment\x20(0-100\x20score,\x205\x20dimensions).','description':'Proactively\x20query\x20the\x20trust\x20score\x20and\x20risk\x20assessment\x20of\x20a\x20Service\x20object.\x20'+'This\x20is\x20the\x20standalone\x20query\x20form\x20of\x20the\x20trust_score\x20field\x20that\x20is\x20otherwise\x20only\x20'+'passively\x20injected\x20into\x20onchain_operations\x20semantic\x20output.\x0a\x0a'+'Returns:\x0a'+'\x20\x20•\x20trust_score\x20(0-100,\x205\x20dimensions:\x20arbitration/reviews/fulfillment/fund_safety/transparency)\x0a'+'\x20\x20•\x20risk_score\x20(4\x20dimensions:\x20workflow/fund/trust/behavior,\x20100-point)\x20when\x20depth\x20>=\x20\x27evaluate\x27\x0a'+'\x20\x20•\x20info_puzzle\x20completeness\x20+\x20gaps\x20summary\x0a'+'\x20\x20•\x20service_basics\x20snapshot\x20(published/paused/sales/guards/arbitrations)\x0a\x0a'+'Use\x20this\x20tool\x20when\x20the\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27,\x20\x27should\x20I\x20buy\x20from\x20this\x20merchant?\x27,\x20'+'\x27what\x27s\x20the\x20risk\x20of\x20ordering\x20this\x20service?\x27,\x20or\x20any\x20explicit\x20trust/risk\x20inquiry\x20about\x20a\x20Service.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20trust_score\x20=\x20trust/risk\x20of\x20ONE\x20Service;\x20'+'evaluation_operation\x20=\x20game-theory\x20best-move\x20advice\x20at\x20an\x20Arb/Progress\x20state;\x20'+'project_operation.evaluate_project\x20=\x20multi-object\x20project-level\x20evaluation.\x0a\x0a'+'Parameters:\x0a'+'\x20\x20•\x20service\x20(required)\x20—\x20Service\x20object\x20ID\x20or\x20local_mark\x20name.\x0a'+'\x20\x20•\x20order_amount\x20(optional)\x20—\x20Order\x20amount\x20in\x20smallest\x20token\x20unit\x20(e.g.\x202000000000\x20for\x202\x20WOW).\x20'+'Defaults\x20to\x20the\x20service\x27s\x20first\x20active\x20sale\x20price.\x0a'+'\x20\x20•\x20depth\x20(optional,\x20default\x20\x27evaluate\x27)\x20—\x20\x27browse\x27\x20(trust\x20score\x20only),\x20\x27evaluate\x27\x20(+\x20risk\x20assessment),\x20'+'\x27preorder\x27\x20(most\x20thorough,\x20includes\x20market\x20context\x20dimension).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27trust_score\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':TrustScoreInputSchema,'outputSchema':TrustScoreOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('trust',['trust','score','risk','service','merchant','reputation','safety','evaluate'])}},{'name':'query_task_status','handler':handleQueryTaskStatus,'config':{'title':'📊\x20Task\x20Status\x20-\x20Async\x20Operation\x20Tracking','summary':'Query\x20async\x20task\x20status\x20(build_graph\x20/\x20evaluate_project\x20with\x20async_mode).','description':'Query\x20the\x20status\x20of\x20a\x20long-running\x20async\x20task\x20(created\x20by\x20build_graph\x20or\x20evaluate_project\x20'+'with\x20async_mode=true).\x20Returns\x20progress\x20percentage,\x20current\x20status,\x20and\x20the\x20final\x20result\x20'+'when\x20completed.\x0a\x0a'+'Tasks\x20are\x20ephemeral\x20(retained\x205\x20minutes\x20after\x20completion,\x20in-memory\x20only).\x0a\x0a'+'Usage:\x0a'+'\x20\x20•\x20Pass\x20task_id\x20to\x20query\x20a\x20single\x20task\x27s\x20status.\x0a'+'\x20\x20•\x20Omit\x20task_id\x20to\x20list\x20all\x20recent\x20tasks\x20(max\x2050,\x20most\x20recent\x20first).\x0a'+'\x20\x20•\x20Pass\x20project_id\x20(with\x20task_id\x20omitted)\x20to\x20filter\x20by\x20project.\x0a\x0a'+'This\x20tool\x20is\x20read-only\x20and\x20always\x20safe\x20to\x20call.\x20Use\x20it\x20to\x20check\x20if\x20a\x20long-running\x20'+'operation\x20(e.g.\x20build_graph\x20with\x20enablePotential=true)\x20has\x20completed.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_task_status\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':QueryTaskStatusInputSchema,'outputSchema':QueryTaskStatusOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('task',['task','status','async','progress','background','tracker'])}},{'name':'evaluation_operation','handler':handleEvaluationOperation,'config':{'title':'🧠\x20Evaluation\x20-\x20Pluggable\x20Business\x20Intelligence','summary':'Business\x20evaluations:\x20arb/node\x20games,\x20path\x20reasoning,\x20match,\x20arbitration\x20score.','description':'Run\x20pluggable\x20business\x20evaluations\x20(data\x20sources\x20+\x20rules\x20+\x20user\x20injection).\x20'+'Each\x20evaluation\x20returns\x20ranked\x20best-move\x20recommendations\x20with\x20payoff\x20notes\x20and\x20risks.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20arb_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20an\x20Arb\x20state\x20(7-state\x20lifecycle)\x20for\x20a\x20perspective\x20(customer/merchant/arbitrator).\x0a'+'\x20\x20•\x20node_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20a\x20Progress\x20node\x20for\x20a\x20perspective\x20(merchant/customer/prospect/supplier/collaborator/arbitrator).\x0a'+'\x20\x20•\x20capability_gap\x20—\x20compare\x20a\x20demand\x20capability\x20vector\x20against\x20a\x20service\x20capability\x20vector;\x20returns\x20per-capability\x20gaps.\x0a'+'\x20\x20•\x20compose_service\x20—\x20check\x20whether\x20a\x20SET\x20of\x20services\x20can\x20jointly\x20satisfy\x20a\x20demand\x20(supply-chain\x20composition).\x0a'+'\x20\x20•\x20demand_match\x20—\x20rank\x20candidate\x20services\x20against\x20a\x20demand\x20capability\x20vector\x20(+\x20user\x20injection\x20/\x20persona).\x0a'+'\x20\x20•\x20service_match\x20—\x20supplier-side\x20mirror:\x20rank\x20candidate\x20demands\x20against\x20a\x20service\x20capability\x20vector.\x0a'+'\x20\x20•\x20service_risk\x20—\x20risk\x20assessment\x20of\x20ONE\x20service\x20from\x20raw\x20puzzle\x20data\x20(browse/evaluate/preorder/monitor\x20depth).\x0a'+'\x20\x20•\x20path_reasoning\x20—\x20path-level\x20game:\x20enumerate\x20full\x20routes\x20from\x20the\x20current\x20node,\x20rank\x20by\x20value/acceptance\x20reachability\x20(a→b\x20vs\x20a→c\x20competition).\x0a'+'\x20\x20•\x20evidence_review\x20—\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass\x20/\x20auto_reject\x20/\x20manual_review)\x20for\x20arbitration\x20evidence\x20(signature\x20photos,\x20voice\x20recordings,\x20delivery\x20proofs,\x20weather\x20data).\x0a'+'\x20\x20•\x20discover_services\x20—\x20ACTIVE\x20supply\x20discovery:\x20enumerate\x20every\x20published\x20(shared)\x20Service\x20on-chain,\x20gate+rank\x20by\x20location\x20fit\x20under\x20a\x20sensitivity\x20(strict=100%\x20city\x20match\x20/\x20near=neighboring\x20cities\x20/\x20logistics=soft\x20region\x20signal;\x20inferred\x20from\x20description\x20when\x20omitted),\x20and\x20get\x20consent-gated\x20scope-expansion\x20advice.\x20Requires\x20the\x20GraphQL\x20transport\x20(WOWOK_TRANSPORT=graphql).\x20Passive\x20side:\x20post\x20a\x20Demand\x20and\x20Services\x20present\x20via\x20DemandPresenter.\x0a\x0a'+'\x20\x20•\x20discover_demands\x20—\x20enumerate\x20on-chain\x20Demands\x20(supplier-side\x20discovery;\x20optional\x20location\x20substring\x20filter).\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20market_metrics\x20—\x20supply/demand/trust\x20market\x20metrics\x20aggregated\x20from\x20on-chain\x20enumeration.\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20market_operations\x20—\x20operational\x20aggregations:\x20journey_funnel\x20(due-diligence→order→completed→reviews),\x20referral_attribution,\x20customer_relationship,\x20dynamic_pricing\x20(merchant\x20pricing\x20suggestion\x20from\x20market_signals).\x0a\x0a'+'\x20\x20•\x20anti_cheat\x20—\x20governance:\x20detect\x20fake\x20reviews\x20/\x20wash\x20orders\x20/\x20compensation-fund\x20manipulation\x20from\x20service\x20+\x20orders\x20+\x20reviews\x20evidence.\x0a\x0a'+'\x20\x20•\x20match_discover\x20—\x20ONE-SHOT\x20intent→service\x20orchestration:\x20enumerate\x20services\x20+\x20location\x20gate\x20+\x206-dimension\x20demand_match\x20scoring\x20in\x20a\x20single\x20call.\x20Inputs:\x20description\x20+\x20location\x20+\x20optional\x20sensitivity/budget/required_capabilities/coin_type.\x20Returns\x20location-gated\x20Top-N\x20services\x20with\x20per-service\x206-dim\x20breakdown\x20(region/industry/price/trust/capabilities/tags)\x20+\x20recommendation\x20reasons.\x20Requires\x20the\x20GraphQL\x20transport.\x0a\x0a'+'\x20\x20•\x20arbitration_score\x20—\x20dual-perspective\x20arbitration\x20trust\x20assessment:\x20score\x20an\x20Arbitration\x20object\x20from\x20the\x20user-trust\x20angle\x20(timeliness/objection/indemnity/feedback/experience/capital)\x20and\x20the\x20merchant-fairness\x20angle\x20(fee/governance/operational).\x20Inputs:\x20arbitration\x20config\x20+\x20pre-aggregated\x20history[]\x20+\x20optional\x20entity_votes/fee_median.\x20Returns\x20trust\x20+\x20fairness\x20EvaluationResults\x20+\x20combined\x200-100.\x0a\x0a'+'\x20\x20•\x20account_events\x20—\x20account-centric\x20attention\x20feed:\x20run\x20hot-pluggable\x20watchers\x20(messenger_unread,\x20order_collection,\x20demand_presented,\x20reputation_integrity)\x20over\x20one\x20account\x20and\x20return\x20a\x20unified,\x20priority-sorted\x20prompt\x20list\x20of\x20what\x20needs\x20the\x20account\x27s\x20attention.\x20Inputs:\x20account\x20+\x20optional\x20categories[];\x20reputation_integrity\x20additionally\x20consumes\x20review\x20rows\x20(reviews[]\x20from\x20a\x20Service\x27s\x20ReviewRepository\x20via\x20onchain_table_data\x20+\x20optional\x20order_history[]\x20for\x20no-order-no-review\x20verification)\x20and\x20flags\x20manipulation/unverified/declining-trend\x20signals.\x20Read-only\x20(passive\x20check\x20—\x20never\x20marks\x20messages\x20viewed).\x0a\x0a'+'Read-only:\x20computes\x20recommendations\x20from\x20pure\x20data;\x20never\x20mutates\x20chain\x20state.\x20'+'The\x20caller\x20decides\x20and\x20acts\x20via\x20onchain_operations\x20/\x20messenger_operation.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20evaluation_operation\x20=\x20best-move\x20advice\x20at\x20an\x20Arb/Progress\x20state\x20(game\x20theory);\x20'+'trust_score\x20=\x20trust/risk\x20of\x20ONE\x20Service;\x20project_operation\x20=\x20project-level\x20evaluation.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27evaluation_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EvaluationOperationInputSchema,'outputSchema':EvaluationOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('evaluation',['evaluate','risk','match','game','score','arb','node','compose','gap'])}},{'name':'persona_operation','handler':handlePersonaOperation,'config':{'title':'👤\x20Persona\x20-\x20User\x20Identity\x20Setting','summary':'User\x20identity\x20setting\x20(preferences,\x20strategy,\x20spec;\x20long-term\x20+\x20current).','description':'Read/write\x20the\x20user\x27s\x20systematic\x20identity\x20setting\x20(persona):\x20preferences,\x20'+'competitive\x20strategy,\x20experience\x20rules,\x20self\x20profile,\x20and\x20spec.\x0a\x0a'+'LAYERS:\x20long_term\x20=\x20STABLE\x20identity\x20(USER-DRIVEN\x20only\x20—\x20never\x20auto-rewrite).\x20'+'current\x20=\x20transient\x20context\x20(SMART-UPDATABLE\x20—\x20AI\x20may\x20merge/replace\x20from\x20'+'conversation\x20experience\x20or\x20account\x20behavior).\x20Scope:\x20system\x20(all\x20accounts,\x20'+'be\x20conservative)\x20or\x20account\x20(one\x20chain\x20address,\x20higher\x20priority).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20get\x20—\x20resolve\x20the\x20priority-merged\x20effective\x20persona\x20(+\x20injection\x20+\x20context\x20text).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20stored\x20personas\x20and\x20built-in\x20industry\x20defaults.\x0a'+'\x20\x20•\x20set\x20—\x20user-driven\x20write/update\x20of\x20any\x20layer\x20(≤300\x20lines\x20enforced).\x0a'+'\x20\x20•\x20analyze\x20—\x20extract\x20identity\x20signals\x20from\x20free-form\x20context\x20(website\x20/\x20experience\x20summary).\x0a'+'\x20\x20•\x20apply\x20—\x20merge/replace\x20analyzed\x20signals\x20into\x20the\x20CURRENT\x20layer\x20only.\x0a'+'\x20\x20•\x20sync\x20—\x20merge\x20account\x20behavior\x20(experience\x20layer)\x20into\x20the\x20CURRENT\x20layer.\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20a\x20persona\x20(fall\x20back\x20to\x20defaults).\x0a'+'\x20\x20•\x20strategy\x20—\x20resolve\x20a\x20merchant\x27s\x20strategy\x20statements\x20into\x20structured\x20StrategyIntents\x20+\x20deterministic\x20infrastructure-lever\x20suggestions\x20(discount\x20/\x20reward\x20/\x20buy_guard\x20/\x20machine_design).\x20Producer-only;\x20other\x20roles\x20get\x20an\x20explanatory\x20note.\x0a'+'\x20\x20•\x20region_hint\x20—\x20read\x20the\x20locally-stored\x20delivery\x20address\x20as\x20a\x20region-matching\x20hint;\x20or\x20(with\x20`propose`)\x20build\x20a\x20CONSENT-GATED\x20save\x20proposal\x20—\x20never\x20auto-writes\x20private\x20data.\x0a\x0a'+'Read/write\x20local\x20state\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27persona_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PersonaOperationInputSchema,'outputSchema':PersonaOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('persona',['persona','profile','identity','preference','strategy','spec','portrait'])}},{'name':'industry_pack_operation','handler':handleIndustryPackOperation,'config':{'title':'🧩\x20Industry\x20Pack\x20-\x20Knowledge\x20Template\x20Orchestration','summary':'Industry\x20knowledge\x20packs:\x20scaffold,\x20register,\x20list,\x20reset\x20templates.','description':'Manage\x20industry\x20knowledge\x20packs\x20(distributable,\x20registrable,\x20versionable\x20units\x20carrying\x20'+'one\x20industry\x27s\x20object-shape,\x20matching\x20rules,\x20and\x20role\x20personae).\x0a\x0a'+'Pack\x20layout\x20(merged\x20v2):\x20pack.json\x20(settings\x20only\x20—\x20manifest\x20+\x20match\x20+\x20personae\x20+\x20'+'dispute/compliance/supply/rules\x20sections;\x20field\x20explanations\x20live\x20in\x20the\x20industry-root\x20'+'README.md)\x20and\x20playbook.md\x20(chaptered\x20AI\x20prompt\x20guide).\x20Legacy\x20split-file\x20layouts\x20'+'(manifest.json/match.json/personae)\x20are\x20still\x20read\x20for\x20backward\x20compatibility.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20scaffold\x20—\x20generate\x20a\x20pack\x20template\x20skeleton\x20(pack.json\x20+\x20playbook.md,\x20settings\x20only)\x20'+'into\x20the\x20industry\x20directory;\x20the\x20user\x20fills\x20in\x20the\x20content.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20currently\x20registered\x20packs.\x0a'+'\x20\x20•\x20scan\x20—\x20scan\x20+\x20register\x20every\x20pack\x20under\x20the\x20default\x20industry\x20directory.\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20industry\x20root\x20directory.\x0a'+'\x20\x20•\x20list_files\x20—\x20list\x20files\x20under\x20the\x20industry\x20directory.\x0a'+'\x20\x20•\x20read_file\x20—\x20read\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20write_file\x20—\x20write\x20content\x20to\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20+\x20content\x20required).\x0a'+'\x20\x20•\x20get\x20—\x20return\x20registered\x20layer\x20data\x20for\x20an\x20industry\x20(name\x20required;\x20dispute/compliance/supply/rules/playbook).\x0a'+'\x20\x20•\x20diff\x20—\x20compare\x20registered\x20vs\x20on-disk\x20manifest\x20version/layers\x20(name\x20required).\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20(path\x20required).\x0a'+'\x20\x20•\x20delete_file\x20—\x20delete\x20a\x20file\x20or\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20/\x20rename\x20—\x20move\x20or\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27industry_pack_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IndustryPackOperationInputSchema,'outputSchema':IndustryPackOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('industry_pack',['industry','pack','mode','match','persona','scaffold','template'])}},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20write,\x20move,\x20copy,\x20delete.','description':'Manage\x20the\x20local\x20workspace\x20directory\x20(`.wowok/workspace`):\x20files\x20generated\x20for\x20review\x20'+'(machine/guard/wts/wip\x20JSON)\x20and\x20user-created\x20documents.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20workspace\x20root\x20directory.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20files\x20under\x20the\x20workspace.\x0a'+'\x20\x20•\x20read\x20—\x20read\x20a\x20file\x27s\x20content\x20(use\x20as\x20AI\x20context).\x0a'+'\x20\x20•\x20write\x20—\x20write/overwrite\x20a\x20file\x20(path\x20+\x20content).\x0a'+'\x20\x20•\x20delete\x20—\x20delete\x20a\x20file.\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20—\x20move\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20rename\x20—\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workspace_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkspaceOperationInputSchema,'outputSchema':WorkspaceOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('workspace',['workspace','file','document','machine','guard','wts','wip','context'])}},{'name':'workflow_operation','handler':handleWorkflowOperation,'config':{'title':'🔀\x20Workflow\x20-\x20Local-Account\x20Progress\x20Tasks','summary':'List\x20local-account\x20actionable\x20progress\x20+\x20advance/hold/unhold\x20forwards.','description':'Local-account\x20workflow\x20view\x20over\x20ACTIVE\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20active\x20progress\x20that\x20at\x20least\x20one\x20LOCAL\x20account\x20can\x20advance,\x20'+'with\x20every\x20reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20and\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport).\x0a'+'\x20\x20•\x20operate\x20—\x20advance\x20(\x27next\x27)\x20/\x20block\x20(\x27hold\x27)\x20/\x20release\x20(\x27unhold\x27)\x20/\x20force-release\x20'+'(\x27adminUnhold\x27)\x20a\x20forward\x20as\x20a\x20chosen\x20local\x20account\x20(env.account).\x20Delegates\x20to\x20the\x20'+'on-chain\x20progress\x20operation\x20(guard-aware).\x0a\x0a'+'Permission\x20model\x20(chain-authoritative):\x20a\x20forward\x20is\x20executable\x20by\x20an\x20account\x20when\x20'+'(a)\x20namedOperator=\x22\x22\x20and\x20the\x20account\x20is\x20the\x20order\x20holder\x20(order\x20builder\x20or\x20agent),\x20'+'or\x20(b)\x20namedOperator=name\x20and\x20the\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20'+'(c)\x20permissionIndex\x20is\x20set\x20and\x20the\x20account\x20is\x20in\x20permission.admin\x20or\x20permission.table.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workflow_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkflowOperationInputSchema,'outputSchema':WorkflowOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('workflow',['workflow','progress','forward','permission','named-operator','guard','advance','hold'])}},{'name':'permission_operation','handler':handlePermissionOperation,'config':{'title':'🛡️\x20Permissions\x20-\x20Local-Account\x20Overview','summary':'List\x20Permissions\x20related\x20to\x20local\x20accounts\x20with\x20related\x20accounts/objects.','description':'Local-account\x20Permission\x20overview.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20every\x20on-chain\x20Permission\x20object\x20related\x20to\x20at\x20least\x20one\x20LOCAL\x20'+'account\x20(reverse-looked-up\x20via\x20the\x20global\x20entity_permission\x20index\x20@0xaad),\x20deduplicated\x20'+'and\x20merged.\x20Each\x20row\x20includes\x20description,\x20owner,\x20latest\x20on-chain\x20update\x20time,\x20related\x20'+'accounts\x20(owner/admin/entity),\x20and\x20related\x20objects\x20(grouped\x20by\x20type\x20via\x20the\x20registrar\x20'+'linker).\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27permission_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PermissionOperationInputSchema,'outputSchema':PermissionOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('query',['permission','account','role','owner','admin','entity','overview','registrar','reverse-index'])}},{'name':'intent_radar','handler':handleIntentRadar,'config':{'title':'📡\x20Intent\x20Radar\x20-\x20User\x20Intent\x20×\x20Chain\x20Event\x20Matching','summary':'Persist\x20user\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events.','description':'Persist\x20the\x20user\x27s\x20standing\x20business\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events/data.\x20'+'This\x20closes\x20the\x20loop:\x20user\x20records\x20an\x20intent\x20(e.g.\x20\x27find\x20subscription\x20services\x27),\x20'+'the\x20system\x20pulls\x20recent\x20chain\x20events\x20and\x20returns\x20ranked\x20hits.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20save\x20—\x20record\x20an\x20intent\x20(industry/keywords\x20resolved\x20once;\x20optionally\x20bound\x20to\x20an\x20account).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20persisted\x20intents\x20(optionally\x20filtered\x20by\x20account).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20intent.\x0a'+'\x20\x20•\x20match\x20—\x20score\x20events\x20against\x20intents\x20(pass\x20`events`\x20from\x20onchain_events,\x20or\x20auto-pull\x20recent\x20events).\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27intent_radar\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IntentRadarInputSchema,'outputSchema':IntentRadarOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('intent',['intent','radar','match','event','watch','business','intelligence'])}},{'name':'employee_operation','handler':handleEmployeeOperation,'config':{'title':'👥\x20Employee\x20-\x20Merchant\x20Staff\x20Profile','summary':'Merchant\x20employee\x20profile,\x20KPI\x20assessment,\x20liability\x20resolution.','description':'Read/write\x20a\x20merchant\x20employee\x27s\x20LOCAL\x20organizational\x20profile:\x20department\x20'+'(customer_service/logistics/finance/operations),\x20liability\x20(merchant_bears/self_bears/hybrid),\x20'+'and\x20response-time\x20budget.\x20LOCAL\x20ONLY\x20—\x20never\x20mutates\x20chain\x20state;\x20the\x20employee\x27s\x20on-chain\x20'+'authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20set\x20—\x20persist\x20an\x20employee\x20profile\x20(validated:\x20department+liability\x20required,\x20budget\x20must\x20be\x20positive).\x0a'+'\x20\x20•\x20get\x20—\x20read\x20an\x20employee\x20profile\x20(null\x20when\x20absent).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20employee\x20profile.\x0a'+'\x20\x20•\x20assess_kpi\x20—\x20measure\x20an\x20employee\x27s\x20node\x20reaction\x20speed\x20(assigned_at\x20→\x20advanced_at\x20vs\x20budget:\x20pass/warn/fail).\x20Budget\x20precedence:\x20explicit\x20budget_ms\x20>\x20stored\x20profile\x20>\x2048h\x20default.\x0a'+'\x20\x20•\x20resolve_liability\x20—\x20resolve\x20who\x20internally\x20bears\x20an\x20employee-error\x20loss\x20(merchant/employee,\x20hybrid\x20threshold\x20split)\x20and\x20whether\x20the\x20order\x20user\x20must\x20be\x20compensated\x20BEFORE\x20the\x20workflow\x20resumes.\x20Outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27employee_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EmployeeOperationInputSchema,'outputSchema':EmployeeOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('employee',['employee','staff','merchant','department','kpi','liability','local'])}}];export const TOOL_REGISTRY_MAP=new Map(TOOL_REGISTRY['map'](a=>[a['name'],a]));export const SUB_TOOL_COUNT=TOOL_REGISTRY['length'];const SUB_TOOL_NAMES=TOOL_REGISTRY['map'](a=>a['name']),WowokToolRuntimeSchema=fromJsonSchema({'type':'object'}),WowokToolDisplaySchema=z['object']({'tool':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('The\x20sub-tool\x20to\x20execute.\x20Each\x20sub-tool\x20has\x20its\x20own\x20parameter\x20schema.'),'data':z['record'](z['string'](),z['unknown']())['optional']()['describe']('Sub-tool\x20specific\x20parameters.\x20If\x20validation\x20fails,\x20the\x20response\x20includes\x20the\x20correct\x20schema\x20for\x20this\x20sub-tool\x20—\x20read\x20it,\x20fix\x20your\x20params,\x20and\x20retry.'),'tool_name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'args':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.'),'name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'params':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.')})['describe']('WoWok\x20unified\x20tool\x20input.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.\x20'+'Aliases:\x20tool_name/name→tool,\x20args/params→data.'),SUB_TOOL_LIST=TOOL_REGISTRY['map'](a=>'\x20\x20'+a['name']+'\x20—\x20'+a['config']['summary'])['join']('\x0a'),WOWOK_TOOL_DESCRIPTION=['WoWok\x20MCP\x20unified\x20interface.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.','','\x20\x20tool:\x20name\x20of\x20the\x20sub-tool\x20(string)','\x20\x20data:\x20sub-tool\x20parameters\x20(object)','','\x20\x20Aliases\x20accepted\x20(deprecated):\x20tool_name/name\x20for\x20tool,\x20args/params\x20for\x20data.','\x20\x20Inline\x20params\x20also\x20accepted:\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20<param1>:\x20...,\x20<param2>:\x20...\x20}','','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20data:\x20{\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20}\x20})','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22mainnet\x20bridge\x20tokens\x22\x20}\x20})','\x20\x20EXAMPLE\x20(inline\x20params):\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20})','','Available\x20sub-tools\x20('+SUB_TOOL_COUNT+'):',SUB_TOOL_LIST,'','SCHEMA-GATED\x20EXECUTION:','\x20\x20If\x20your\x20parameters\x20don\x27t\x20match\x20the\x20sub-tool\x27s\x20schema,\x20the\x20response\x20will\x20include:','\x20\x20\x20\x20result.status\x20=\x20\x22schema_mismatch\x22','\x20\x20\x20\x20result.errors\x20=\x20specific\x20validation\x20errors\x20(field\x20path\x20+\x20expected\x20type)','\x20\x20\x20\x20result.hint\x20=\x20instructions\x20to\x20fix\x20and\x20retry','\x20\x20\x20\x20schema.input\x20=\x20the\x20correct\x20JSON\x20schema\x20for\x20the\x20sub-tool','\x20\x20\x20\x20schema.tool\x20=\x20which\x20sub-tool\x20this\x20schema\x20belongs\x20to','\x20\x20Read\x20the\x20schema,\x20fix\x20your\x20params,\x20and\x20retry.\x20This\x20is\x20normal\x20—\x20no\x20need\x20to\x20call\x20schema_query\x20separately.','','SCHEMA\x20CACHING:','\x20\x20Each\x20sub-tool\x20has\x20a\x20DIFFERENT\x20schema.\x20When\x20you\x20receive\x20a\x20schema\x20in\x20a\x20mismatch\x20response:','\x20\x20\x20\x201.\x20Read\x20the\x20schema\x20carefully','\x20\x20\x20\x202.\x20Fix\x20your\x20parameters','\x20\x20\x20\x203.\x20Retry\x20the\x20call','\x20\x20\x20\x204.\x20CACHE\x20the\x20schema\x20in\x20your\x20context\x20for\x20future\x20calls\x20to\x20the\x20SAME\x20sub-tool','\x20\x20You\x20should\x20only\x20need\x20to\x20see\x20each\x20sub-tool\x27s\x20schema\x20once\x20per\x20conversation.','','PROJECT\x20MANAGEMENT\x20(SQLite-based):','\x20\x20project_operation\x20action=\x27list_projects\x27\x20→\x20list\x20all\x20projects\x20with\x20object\x20counts','\x20\x20project_operation\x20action=\x27create_project\x27\x20→\x20create\x20a\x20new\x20project\x20(producer/consumer/both)','\x20\x20project_operation\x20action=\x27get_project_detail\x27\x20→\x20full\x20project\x20info\x20(objects,\x20graph,\x20evaluations,\x20versions)','\x20\x20project_operation\x20action=\x27build_graph\x27\x20→\x20build\x203-pathway\x20relationship\x20graph','\x20\x20project_operation\x20action=\x27evaluate_project\x27\x20→\x20rule-based\x20(risk/trust/completeness)\x20or\x20LLM-assisted\x20(value/worth_buying)','\x20\x20project_operation\x20action=\x27assemble_context\x27\x20→\x20assemble\x20semantic\x20context\x20for\x20LLM\x20consumption','','═══════════════════════════════════════════════════════════════','PROJECT\x20ASSOCIATION\x20POLICY\x20(context-aware,\x20read\x20before\x20build/buy):','═══════════════════════════════════════════════════════════════','','Projects\x20are\x20the\x20core\x20organizing\x20unit\x20for\x20all\x20WoWok\x20workflows.\x20The\x20policy\x20is\x20context-aware:','','CASE\x201\x20—\x20COMPLEX\x20REQUIREMENT\x20(user\x20wants\x20to\x20build/deploy\x20a\x20full\x20service):','\x20\x20Examples:\x20\x27build\x20a\x20travel\x20guide\x20service\x27,\x20\x27open\x20a\x20toy\x20store\x27,\x20\x27create\x20a\x20rental\x20service\x27','\x20\x20→\x20You\x20MUST\x20auto-create\x20a\x20project\x20FIRST,\x20then\x20create\x20objects.','\x20\x20→\x20Check\x20for\x20similar\x20existing\x20projects\x20first:\x20project_operation\x20action=\x27list_projects\x27','\x20\x20\x20\x20If\x20similar\x20projects\x20exist\x20(same\x20industry),\x20remind\x20the\x20user:\x20\x27Found\x20similar\x20project\x20X.\x20Reuse\x20or\x20create\x20new?\x27','\x20\x20→\x20Workflow:','\x20\x20\x20\x201.\x20project_operation\x20action=\x27create_project\x27\x20(perspective=\x27producer\x27,\x20project_industry=<best\x20match>)','\x20\x20\x20\x202.\x20Create\x20on-chain\x20objects\x20via\x20onchain_operations\x20with\x20env.project=\x27<prefix>\x27\x20(auto-tags\x20+\x20auto-associates\x20to\x20SQLite\x20project)','\x20\x20\x20\x203.\x20After\x20EACH\x20creation,\x20objects\x20are\x20auto-added\x20to\x20the\x20project\x20(via\x20env.project)','\x20\x20\x20\x204.\x20project_operation\x20action=\x27build_graph\x27\x20—\x20build\x203-pathway\x20relationship\x20graph','\x20\x20\x20\x205.\x20project_operation\x20action=\x27evaluate_project\x27\x20(completeness\x20→\x20R1-R12\x20check,\x20then\x20risk)','\x20\x20\x20\x206.\x20Report\x20results,\x20fix\x20critical\x20findings,\x20then\x20publish\x20Service','','CASE\x202\x20—\x20SINGLE\x20OBJECT\x20CREATION\x20(user\x20wants\x20one\x20specific\x20object):','\x20\x20Examples:\x20\x27create\x20a\x20Permission\x27,\x20\x27add\x20a\x20Contact\x27,\x20\x27build\x20a\x20Guard\x27','\x20\x20→\x20Do\x20NOT\x20auto-create\x20a\x20project.\x20If\x20the\x20user\x20has\x20an\x20existing\x20project,\x20create\x20with\x20env.project=\x27<prefix>\x27\x20to\x20auto-associate.','\x20\x20→\x20If\x20no\x20existing\x20project,\x20after\x20creation,\x20REMIND\x20the\x20user:','\x20\x20\x20\x20\x27This\x20object\x20has\x20been\x20created.\x20Consider\x20adding\x20it\x20to\x20a\x20project\x20for\x20management:\x20project_operation\x20action=\x22add_object\x22','\x20\x20\x20\x20If\x20no\x20project\x20exists\x20yet,\x20use\x20action=\x22create_project\x22\x20to\x20create\x20one.\x20Existing\x20projects:\x20[list\x20projects\x20if\x20any]\x27','\x20\x20→\x20If\x20the\x20user\x20then\x20says\x20\x27yes,\x20create\x20a\x20project\x27\x20or\x20\x27add\x20to\x20project\x20X\x27,\x20proceed\x20accordingly.','','CASE\x203\x20—\x20CONSUMER\x20FLOW\x20(user\x20wants\x20to\x20buy/evaluate\x20a\x20service):','\x20\x20→\x20Suggest:\x20project_operation\x20action=\x27create_project_from_onchain\x27\x20(auto-discovers\x20objects\x20+\x20graph)','\x20\x20→\x20Then:\x20project_operation\x20action=\x27evaluate_project\x27\x20(risk\x20→\x20trust\x20→\x20worth_buying)','\x20\x20→\x20Report\x20findings,\x20let\x20user\x20decide\x20whether\x20to\x20proceed\x20with\x20onchain_operations\x20service_buy','','CASE\x204\x20—\x20SIMPLE\x20QUERY\x20(user\x20wants\x20to\x20check\x20object\x20info,\x20balance,\x20etc.):','\x20\x20→\x20No\x20project\x20needed.\x20Proceed\x20directly\x20with\x20the\x20query.','','INDUSTRY\x20MATCHING\x20(for\x20create_project\x20project_industry\x20param):','\x20\x20travel\x20→\x20tour\x20guides,\x20transportation,\x20accommodation,\x20sightseeing','\x20\x20retail\x20→\x20shops,\x20e-commerce,\x20physical\x20goods','\x20\x20service\x20→\x20professional\x20services,\x20consulting,\x20design','\x20\x20rental\x20→\x20equipment\x20rental,\x20property\x20rental','\x20\x20freelance\x20→\x20freelance\x20work,\x20gig\x20economy','\x20\x20education\x20→\x20courses,\x20training,\x20tutoring','\x20\x20subscription\x20→\x20subscription\x20services,\x20memberships','\x20\x20general\x20→\x20fallback\x20for\x20unclear\x20industry','═══════════════════════════════════════════════════════════════']['join']('\x0a');function formatZodErrors(a,b){return a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](j=>typeof j==='number'?'['+j+']':j)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'];let g='';const h=c;if(e==='invalid_type'){const j=h['expected'],k=h['received'];typeof j==='string'&&typeof k==='string'&&(g='\x20(expected:\x20'+j+';\x20received:\x20'+k+')');}else{if(e==='invalid_value'){const l=h['expected'];if(l!==undefined){const m=typeof l==='string'?l:JSON['stringify'](l);g='\x20(expected:\x20'+m['slice'](0x0,0x3c)+')';}}else{if(e==='too_big'||e==='too_small'){const n=h['maximum']??h['minimum'],o=h['origin'];n!==undefined&&o!==undefined&&(g='\x20('+o+':\x20'+n+')');}}}const i=extractValueAtPath(b,c['path']);if(i!==undefined){const p=typeof i==='string'?'\x22'+i['slice'](0x0,0x3c)+'\x22':typeof i==='object'?JSON['stringify'](i)['slice'](0x0,0x3c):String(i);!g['includes']('received:')&&(g+='\x20(received\x20value:\x20'+p+')');}return d+'\x20['+e+']:\x20'+f+g;});}function generateSuggestion(a,b,c){const d=b;switch(a){case'invalid_type':{const e=d['expected'];if(e==='number'&&typeof c==='string')return'Convert\x20to\x20number:\x20'+Number(c);if(e==='string')return'Wrap\x20in\x20quotes\x20or\x20call\x20String(...)';if(e==='array')return'Wrap\x20in\x20array:\x20['+JSON['stringify'](c)+']';if(e==='object')return'Provide\x20an\x20object,\x20not\x20a\x20primitive';return'Convert\x20value\x20to\x20'+(e??'the\x20expected\x20type');}case'invalid_enum_value':{const f=d['options'],g=Array['isArray'](f)?f['map'](h=>JSON['stringify'](h))['join']('\x20|\x20'):String(f);return'Use\x20one\x20of:\x20'+g;}case'invalid_literal':{const h=d['expected'];return'Use\x20the\x20exact\x20value:\x20'+JSON['stringify'](h);}case'too_small':{const i=d['minimum'],j=d['type'];if(j==='array')return'Add\x20at\x20least\x20'+i+'\x20element(s)\x20to\x20the\x20array';if(j==='string')return'String\x20must\x20be\x20at\x20least\x20'+i+'\x20character(s)\x20long';if(j==='number')return'Use\x20a\x20value\x20>=\x20'+i;return'Value\x20must\x20be\x20>=\x20'+i;}case'too_big':{const k=d['maximum'],l=d['type'];if(l==='array')return'Reduce\x20array\x20to\x20at\x20most\x20'+k+'\x20element(s)';if(l==='string')return'Shorten\x20string\x20to\x20at\x20most\x20'+k+'\x20character(s)';if(l==='number')return'Use\x20a\x20value\x20<=\x20'+k;return'Value\x20must\x20be\x20<=\x20'+k;}case'unrecognized_keys':{const m=d['keys'];return'Remove\x20unknown\x20field(s):\x20'+(m??[])['join'](',\x20')+'.\x20Check\x20the\x20schema\x20for\x20valid\x20field\x20names.';}case'invalid_union':{return'Value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x20variants.\x20Check\x20the\x20schema\x20for\x20valid\x20shapes.';}case'invalid_string':{const n=d['validation'];if(n==='url')return'Provide\x20a\x20valid\x20URL\x20string';if(n==='email')return'Provide\x20a\x20valid\x20email\x20string';if(n==='uuid')return'Provide\x20a\x20valid\x20UUID\x20string';if(n==='regex')return'String\x20does\x20not\x20match\x20the\x20required\x20pattern';return'Provide\x20a\x20valid\x20string\x20matching\x20the\x20validation:\x20'+(n??'unknown');}case'invalid_date':{return'Provide\x20a\x20valid\x20Date\x20object\x20or\x20ISO\x20date\x20string';}case'not_finite':{return'Use\x20a\x20finite\x20number\x20(not\x20Infinity\x20or\x20NaN)';}case'invalid_arguments':{return'Arguments\x20do\x20not\x20match\x20the\x20expected\x20schema';}case'invalid_return_type':{return'Return\x20type\x20does\x20not\x20match\x20the\x20expected\x20schema';}case'custom':{return'Custom\x20validation\x20failed\x20—\x20see\x20the\x20field\x27s\x20description\x20in\x20the\x20schema';}default:{return'Fix\x20the\x20value\x20at\x20\x27'+b['path']['join']('.')+'\x27\x20based\x20on\x20the\x20schema';}}}function formatZodErrorsStructured(a,b){return a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](k=>typeof k==='number'?'['+k+']':k)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'],g=c;let h;if(e==='invalid_type'){const k=g['expected'],l=g['received'];typeof k==='string'&&typeof l==='string'&&(h=k);}else{if(e==='invalid_value'){const m=g['expected'],n=g['options'];if(Array['isArray'](n))h=n['map'](o=>JSON['stringify'](o))['join']('\x20|\x20');else m!==undefined&&(h=typeof m==='string'?m:JSON['stringify'](m));}else{if(e==='too_big'||e==='too_small'){const o=g['maximum']??g['minimum'];o!==undefined&&(h=String(o));}}}const i=extractValueAtPath(b,c['path']),j=generateSuggestion(e,c,i);return{'path':d,'code':e,'message':f,'expected':h,'received_value':i,'suggestion':j};});}function extractValueAtPath(a,b){if(a===undefined||a===null||b['length']===0x0)return undefined;let c=a;for(const d of b){if(c===undefined||c===null)return undefined;if(typeof d==='number'){if(!Array['isArray'](c))return undefined;c=c[d];}else{if(typeof c!=='object')return undefined;c=c[d];}}return c;}function checkUnknownFields(a,b){let c=a;while(!![]){const h=c['_def'];if(!h)break;const i=h['typeName']==='ZodEffects'?h['schema']:h['out']??h['innerType'];if(!i||i===c)break;c=i;}const d=c['_def'],e=typeof d?.['shape']==='function'?d['shape']():d?.['shape'];if(!e||typeof b!=='object'||b===null)return[];const f=Object['keys'](e),g=Object['keys'](b);return g['filter'](j=>!f['includes'](j));}function extractRelevantSchema(a,b,c){if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const d=c['operation_type'];if(typeof d==='string'){const e='onchain_operations_'+d,f=loadPreGeneratedSchema(e);if(f)return f;}}return a;}function isSchemaValidationError(a){return a['startsWith']('Unknown\x20')&&a['includes']('field')||a['includes']('expected')&&a['includes']('received')||a['includes']('Invalid\x20input')||a['includes']('Required');}function buildSchemaPreview(a,b,c){try{const d=['Schema\x20preview\x20for\x20'+b+':'];let e,g=[],h='';if(a['properties']&&typeof a['properties']==='object')e=a['properties'],g=Array['isArray'](a['required'])?a['required']:[],h=typeof a['description']==='string'?a['description']:'';else{if(Array['isArray'](a['oneOf'])||Array['isArray'](a['anyOf'])){const l=a['oneOf']??a['anyOf'];for(const m of l){if(m&&typeof m==='object'){const n=m;if(n['properties']&&typeof n['properties']==='object'){e=n['properties'],g=Array['isArray'](n['required'])?n['required']:[],h=typeof n['description']==='string'?n['description']:'';break;}}}if(!e)return d['push']('\x20\x20(discriminated\x20union\x20with\x20'+l['length']+'\x20variants\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');}}h&&h['length']>0x0&&h['length']<0xc8&&d['push']('\x20\x20'+h);if(!e)return d['push']('\x20\x20(no\x20properties\x20available\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');const i=new Set(g),j=g['length']>0x0?g['join'](',\x20'):'(none)',k=Object['keys'](e)['filter'](o=>!i['has'](o))['join'](',\x20');d['push']('Required:\x20'+j);k&&d['push']('Optional:\x20'+k);d['push']('Fields:');for(const [o,p]of Object['entries'](e)){if(p&&typeof p==='object'){const q=p,r=describeSchemaType(q),s=i['has'](o)?'required':'optional';let t=typeof q['description']==='string'?q['description']:'';if(t['length']>0x78)t=t['slice'](0x0,0x75)+'...';let u='';if(q['properties']&&typeof q['properties']==='object'){const w=Object['keys'](q['properties']);w['length']>0x0&&(u='\x20{\x20'+w['slice'](0x0,0x8)['join'](',\x20')+(w['length']>0x8?',\x20...':'')+'\x20}');}if(q['items']&&typeof q['items']==='object'){const x=q['items'],y=describeSchemaType(x);u='\x20(array\x20of\x20'+y+')';}Array['isArray'](q['enum'])&&(u='\x20(enum:\x20'+q['enum']['slice'](0x0,0x6)['map'](A=>JSON['stringify'](A))['join'](',\x20')+(q['enum']['length']>0x6?',\x20...':'')+')'),d['push']('\x20\x20-\x20'+o+'\x20('+r+',\x20'+s+')'+u+(t?'\x20—\x20'+t:''));}}if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const A=c['operation_type'];typeof A==='string'&&(d['push'](''),d['push']('operation_type-specific\x20schema:\x20onchain_operations_'+A),d['push']('(Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations_'+A+'\x27\x20for\x20the\x20full\x20sub-schema.)'));}return d['join']('\x0a');}catch{return'Schema\x20preview\x20for\x20'+b+':\x20(unable\x20to\x20build\x20preview\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)';}}function describeSchemaType(a){if(typeof a['type']==='string')return a['type'];if(Array['isArray'](a['type']))return a['type']['join']('|');if(a['$ref'])return'$ref';if(Array['isArray'](a['oneOf']))return'oneOf';if(Array['isArray'](a['anyOf']))return'anyOf';if(Array['isArray'](a['allOf']))return'allOf';if(a['enum'])return'enum';if(a['const'])return'const('+JSON['stringify'](a['const'])+')';return'object';}export async function dispatchToolCall(a,b,c){if(a==='wowok')return handleWowok(b);const d=TOOL_REGISTRY_MAP['get'](a);if(!d)throw new Error('Unknown\x20tool:\x20'+a+'.\x20Available:\x20'+TOOL_REGISTRY['map'](h=>h['name'])['join'](',\x20'));if(d['applyRules']&&!c?.['skipRules']){const h=await d['applyRules'](b);if(h)return h;}const e=dispatchWithHarness(d['handler'],a),f=d['timeoutMs']??0xea60,g=wrapHandlerWithErrorShape(e,f,a,d['errorShapeBuilder']);return g(b);}const TOOL_FIELD_ALIASES=['tool','tool_name','name'],DATA_FIELD_ALIASES=['data','args','params','parameters'],RESERVED_FIELD_NAMES=new Set([...TOOL_FIELD_ALIASES,...DATA_FIELD_ALIASES]);function normalizeInput(a){const b=[];if(!a||typeof a!=='object'||Array['isArray'](a))return{'tool':undefined,'data':{},'normalizationNotes':['input\x20is\x20not\x20an\x20object']};const c=a;let d;for(const f of TOOL_FIELD_ALIASES){if(typeof c[f]==='string'&&c[f]){d=c[f];f!=='tool'&&b['push']('normalized\x20\x27'+f+'\x27\x20→\x20\x27tool\x27');break;}}let e;for(const g of DATA_FIELD_ALIASES){const h=c[g];if(h!==undefined&&h!==null&&typeof h==='object'&&!Array['isArray'](h)){e=h;g!=='data'&&b['push']('normalized\x20\x27'+g+'\x27\x20→\x20\x27data\x27');break;}}if(!e){const i={};let j=![];for(const k of Object['keys'](c)){!RESERVED_FIELD_NAMES['has'](k)&&(i[k]=c[k],j=!![]);}j?(e=i,b['push']('extracted\x20inline\x20params\x20→\x20\x27data\x27\x20(no\x20data\x20wrapper\x20was\x20provided)')):e={};}return{'tool':d,'data':e,'normalizationNotes':b};}async function handleWowok(a){const {tool:b,data:c,normalizationNotes:d}=normalizeInput(a);if(a&&typeof a==='object'&&!Array['isArray'](a)){const i=a;if(i['submission']!==undefined){const j=c['submission'];if(j!==undefined)return{'content':[{'type':'text','text':'Schema\x20mismatch\x20for\x20'+b+'.\x201\x20error(s).\x20\x27submission\x27\x20was\x20provided\x20in\x20BOTH\x20the\x20top\x20level\x20and\x20inside\x20\x27data\x27\x20—\x20provide\x20it\x20in\x20only\x20ONE\x20place\x20(top\x20level\x20OR\x20data),\x20not\x20both.'}],'structuredContent':{'result':{'status':'schema_mismatch','errors':['\x27submission\x27\x20provided\x20twice:\x20top\x20level\x20AND\x20inside\x20data.\x20Provide\x20it\x20in\x20only\x20ONE\x20place.'],'structured_errors':[{'path':'submission','code':'duplicate_field','message':'\x27submission\x27\x20provided\x20both\x20at\x20the\x20top\x20level\x20and\x20inside\x20data.','suggestion':'Keep\x20the\x20submission\x20in\x20exactly\x20one\x20place:\x20either\x20wowok({tool,\x20data,\x20submission})\x20or\x20wowok({tool,\x20data:\x20{operation_type,\x20data:\x20{...},\x20env,\x20submission}}).'}],'hint':'Move\x20\x27submission\x27\x20to\x20a\x20single\x20location\x20and\x20retry.'},'schema':null}};c['submission']=i['submission'],d['push']('merged\x20top-level\x20\x27submission\x27\x20into\x20data');}}if(!b){const k=a&&typeof a==='object'&&!Array['isArray'](a)?Object['keys'](a)['join'](',\x20')||'(none)':'(non-object\x20input:\x20'+typeof a+')',l=['Missing\x20\x27tool\x27\x20field.\x20Received\x20keys:\x20'+k,'Expected\x20one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')];return{'content':[{'type':'text','text':'Missing\x20\x27tool\x27\x20field.\x20Call\x20format:\x20wowok({\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}).\x20Received\x20keys:\x20'+k+'.\x20Available\x20sub-tools:\x20'+SUB_TOOL_NAMES['join'](',\x20')}],'structuredContent':{'result':{'status':'schema_mismatch','errors':l,'hint':'Provide\x20\x27tool\x27\x20(one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')+')\x20and\x20\x27data\x27\x20(sub-tool\x20parameters).\x20Aliases\x20accepted:\x20tool_name/name→tool,\x20args/params→data.','received':a},'schema':{'input':zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'),'tool':'wowok'}}};}const e=TOOL_REGISTRY_MAP['get'](b);if(!e){const m=TOOL_REGISTRY['map'](n=>n['name'])['filter'](n=>n['includes'](b)||b['includes'](n))['slice'](0x0,0x5);return{'content':[{'type':'text','text':'Unknown\x20sub-tool:\x20\x27'+b+'\x27.\x20Available:\x20'+TOOL_REGISTRY['map'](n=>n['name'])['join'](',\x20')+(m['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+m['join'](',\x20')+'?':'')}],'structuredContent':{'result':{'status':'error','errors':['Unknown\x20sub-tool:\x20'+b],'hint':'Available\x20sub-tools:\x20'+TOOL_REGISTRY['map'](n=>n['name'])['join'](',\x20')+(m['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+m['join'](',\x20')+'?':''),'suggestions':m},'schema':null}};}d['length']>0x0&&console['warn']('[wowok]\x20input\x20normalization\x20for\x20\x27'+b+'\x27:\x20'+d['join'](';\x20'));const g=e['config']['inputSchema']['safeParse'](c),h=checkUnknownFields(e['config']['inputSchema'],c);if(!g['success']||h['length']>0x0){const n=[];!g['success']&&n['push'](...formatZodErrors(g['error'],c));h['length']>0x0&&n['push']('Unknown\x20field(s):\x20'+h['join'](',\x20'));const o=[];!g['success']&&o['push'](...formatZodErrorsStructured(g['error'],c));if(h['length']>0x0)for(const v of h){o['push']({'path':v,'code':'unrecognized_keys','message':'Unknown\x20field\x20\x27'+v+'\x27\x20is\x20not\x20allowed','suggestion':'Remove\x20field\x20\x27'+v+'\x27\x20or\x20check\x20the\x20schema\x20for\x20valid\x20field\x20names'});}const p=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),q=extractRelevantSchema(p,b,c),r=o[0x0]?.['suggestion']?'\x20FIRST\x20ERROR\x20SUGGESTION:\x20'+o[0x0]['suggestion']:'',s=n['slice'](0x0,0x5)['map']((w,x)=>'\x20\x20'+(x+0x1)+'.\x20'+w)['join']('\x0a'),t=buildSchemaPreview(q,b,c),u=['Schema\x20mismatch\x20for\x20'+b+'.\x20'+n['length']+'\x20error(s).'+r,s,'',t,'','Fix\x20the\x20parameters\x20based\x20on\x20the\x20errors\x20above\x20and\x20the\x20schema\x20summary,\x20then\x20retry.','Full\x20JSON\x20Schema\x20is\x20in\x20the\x20structuredContent.schema.input\x20field\x20(cache\x20it\x20for\x20future\x20'+b+'\x20calls).','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).']['filter'](Boolean)['join']('\x0a');return{'content':[{'type':'text','text':u}],'structuredContent':{'result':{'status':'schema_mismatch','errors':n,'structured_errors':o,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls\x20—\x20you\x20don\x27t\x20need\x20to\x20query\x20it\x20again.'},'schema':{'input':q,'tool':b}}};}try{const w=await dispatchToolCall(b,c),x=w['structuredContent'],y=x?.['result'],A=y?.['status']==='error'||y?.['operation']==='error';if(A)return{'content':w['content'],'structuredContent':{'result':{'status':'error','data':w['structuredContent'],'errors':[w['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']},'schema':null}};return{'content':w['content'],'structuredContent':{'result':{'status':'success','data':w['structuredContent']},'schema':null}};}catch(B){const C=B instanceof Error?B['message']:String(B);if(isSchemaValidationError(C)){const D=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),E=extractRelevantSchema(D,b,c),F=buildSchemaPreview(E,b,c),G=[{'path':'(runtime)','code':'schema_validation_error','message':C,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],H=['Schema\x20mismatch\x20for\x20'+b+':\x20'+C,'',F,'','Fix\x20the\x20parameters\x20and\x20retry.\x20Full\x20JSON\x20Schema\x20is\x20in\x20structuredContent.schema.input.','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).']['join']('\x0a');return{'content':[{'type':'text','text':H}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[C],'structured_errors':G,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls.'},'schema':{'input':E,'tool':b}}};}return{'content':[{'type':'text','text':'Error:\x20'+C}],'structuredContent':{'result':{'status':'error','errors':[C]},'schema':null}};}}function zodToJsonSchemaSafe(a,b){try{const c=z['toJSONSchema'](a,{'unrepresentable':'any','target':'draft-07'});if(c&&typeof c==='object'&&!Array['isArray'](c)){const {$schema:d,...e}=c;return e;}return{'type':'object'};}catch{return{'type':'object','additionalProperties':!![]};}}function resolveSchemaRefs(a){const b=new Set(['definitions','$schema','$id']);function c(e){if(!e['startsWith']('#/'))return null;const f=e['slice'](0x2)['split']('/');let g=a;for(const h of f){if(g==null||typeof g!=='object')return null;g=g[h];}return g;}function d(e,f){if(!e||typeof e!=='object')return e;if(Array['isArray'](e))return e['map'](i=>d(i,f));const g=e;if(typeof g['$ref']==='string'){const i=g['$ref'];if(f['has'](i))return{'type':'object','additionalProperties':!![]};const j=c(i);if(j&&typeof j==='object'&&!Array['isArray'](j)){const l=new Set(f);l['add'](i);const m=d(j,l),n={};for(const [o,p]of Object['entries'](g)){if(o!=='$ref'&&!b['has'](o))n[o]=p;}return{...m,...n};}return{'type':'object','additionalProperties':!![]};}const h={};for(const [q,r]of Object['entries'](g)){if(b['has'](q))continue;h[q]=d(r,f);}return h;}return d(a,new Set());}function loadPreGeneratedSchema(a){const b=preGeneratedSchemaCache['get'](a);if(b)return b;for(const c of SCHEMA_DIR_CANDIDATES){try{const d=join(c,a+'.schema.json'),e=readFileSync(d,'utf-8'),f=JSON['parse'](e),g=resolveSchemaRefs(f);return preGeneratedSchemaCache['set'](a,g),g;}catch{}}return null;}export function listTools(){return[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':resolveSchemaRefs(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'))}];}export function registerAllTools(a){const b=0x1d4c0,c=wrapHandlerWithErrorShape(handleWowok,b,'wowok',undefined);a['registerTool']('wowok',{'title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':WowokToolRuntimeSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}},withTelemetry('wowok',c)),overrideToolsListHandler(a);}function overrideToolsListHandler(a){a['server']['setRequestHandler']('tools/list',()=>({'tools':[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':ensureObjectType(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok')),'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}}]}));}function ensureObjectType(a){if(a['type']==='object')return a;return{...a,'type':'object'};}
|