@wowok/agent-mcp 3.4.4 → 3.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +3 -3
- package/dist/chain-semantics/composition-truth.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.js +1 -1
- package/dist/composition/emit-phases.js +1 -1
- package/dist/composition/guard-fill.js +1 -1
- package/dist/composition/input-normalize.js +1 -1
- package/dist/composition/materialize.js +1 -1
- package/dist/composition/mode-gates.js +1 -1
- package/dist/composition/param-disclosure.js +1 -1
- package/dist/composition/plan-run-store.js +1 -0
- package/dist/composition/reflux.js +1 -1
- package/dist/composition/role-bindings.js +1 -0
- package/dist/composition/shape-expand.js +1 -1
- package/dist/composition/supply-chain-emit.js +1 -1
- package/dist/config/judgment.d.ts +13 -25
- package/dist/config/judgment.js +1 -1
- package/dist/config/match-policy-file.js +1 -1
- package/dist/config/rule-engine.d.ts +4 -10
- package/dist/config/rule-engine.js +1 -1
- package/dist/config/template-params.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/capability.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/harness/forward-roster-preflight.js +1 -0
- package/dist/keeper/detectors.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arb-operation-face.js +1 -1
- package/dist/knowledge/arbitration-rail-verifier.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +17 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/alloc_audit.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/allocation.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/arb.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/arbitration.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/bridge.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/contact.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/demand.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/graph.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/guard.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/machine.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/oracle.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/order.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/payment.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/permission.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/personal.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/plan.json +153 -33
- package/dist/knowledge/baselines/rules/plan.json.good +153 -33
- package/dist/knowledge/baselines/rules/plan.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/progress.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/proof.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/registrar.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/repository.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/resource.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/reward.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/service.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/treasury.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/util.json.good.sha256 +1 -0
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.js +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +3 -2
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/knob-docs.js +1 -1
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -1
- package/dist/knowledge/path-oracle/products/amazon.js +1 -1
- package/dist/knowledge/path-oracle/products/booking-com.js +1 -1
- package/dist/knowledge/path-oracle/products/contra.js +1 -1
- package/dist/knowledge/path-oracle/products/costco.js +1 -1
- package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -1
- package/dist/knowledge/path-oracle/products/etsy.js +1 -1
- package/dist/knowledge/path-oracle/products/gamefound.js +1 -1
- package/dist/knowledge/path-oracle/products/gofundme.js +1 -1
- package/dist/knowledge/path-oracle/products/klook.js +1 -1
- package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -1
- package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -1
- package/dist/knowledge/path-oracle/products/shansong.js +1 -1
- package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -1
- package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -1
- package/dist/knowledge/path-oracle/products/upwork.js +1 -1
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/protocol-facts.js +1 -1
- package/dist/knowledge/publish-gate.js +1 -1
- package/dist/knowledge/publish-surface-contract.js +1 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/time-units.js +1 -0
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/radar-core.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +110 -2
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/boundary-coercion.js +1 -0
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +56 -8
- package/dist/schema/call/order.d.ts +37 -10
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/permission.d.ts +210 -30
- package/dist/schema/call/personal.d.ts +56 -8
- package/dist/schema/call/progress.d.ts +28 -4
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +84 -12
- package/dist/schema/common/index.d.ts +14 -2
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +1 -1
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +168 -24
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +655 -22
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +22 -110
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/workflow/index.d.ts +4 -0
- package/dist/schema/workflow/index.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/benchmark_migration_operation.schema.json +1 -1
- package/dist/schemas/evaluation_operation.schema.json +1 -1
- package/dist/schemas/goal_operation.schema.json +1 -1
- package/dist/schemas/guard_rebind_replacement.schema.json +1 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/messenger_operation.schema.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +1 -1
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
- package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1
- package/dist/schemas/onchain_operations_contact.schema.json +1 -1
- package/dist/schemas/onchain_operations_demand.schema.json +1 -1
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
- package/dist/schemas/onchain_operations_machine.schema.json +1 -1
- package/dist/schemas/onchain_operations_order.schema.json +1 -1
- package/dist/schemas/onchain_operations_permission.schema.json +1 -1
- package/dist/schemas/onchain_operations_personal.schema.json +1 -1
- package/dist/schemas/onchain_operations_progress.schema.json +1 -1
- package/dist/schemas/onchain_operations_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_repository.schema.json +1 -1
- package/dist/schemas/onchain_operations_reward.schema.json +1 -1
- package/dist/schemas/onchain_operations_service.schema.json +1 -1
- package/dist/schemas/onchain_operations_treasury.schema.json +1 -1
- package/dist/schemas/persona_operation.schema.json +1 -1
- package/dist/schemas/time_convert.schema.json +1 -0
- package/dist/schemas/wip_file.schema.json +1 -1
- package/dist/schemas/workflow_operation.schema.json +1 -1
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/fund-rail-recipe.js +1 -1
- package/dist/tools/handlers/guard-rebind-replacement.js +1 -0
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/mark-namespace.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/settle-sweep.js +1 -1
- package/dist/tools/handlers/time-convert.js +1 -0
- package/dist/tools/handlers/wip.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/local.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/wip-verify-ledger.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{handleAccountOperation,handleMarkOperation,handleInfoOperation,handleHistoryOperation,handleCacheOperation}from'../handlers/local.js';import{statusErrorShape}from'../wrap.js';import{createToolMeta,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,LocalHistoryOperationSchema,LocalCacheOperationSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,LocalHistoryOperationOutputWrappedSchema,LocalCacheOperationOutputWrappedSchema}from'../../schema/index.js';export const LOCAL_TOOLS=[{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'Account\x20-\x20Wallet\x20Management\x20&\x20On-Chain\x20Coin\x20Transactions','summary':'Wallet\x20management\x20(local):\x20gen/faucet/suspend/resume/sign\x20+\x20on-chain\x20token\x20transfer\x20and\x20coin\x20production.','description':'Manage\x20WoWok\x20accounts\x20locally:\x20generate,\x20suspend,\x20resume,\x20sign\x20data,\x20and\x20claim\x20test\x20coins\x20via\x20the\x20faucet.\x0a\x0a🚰\x20FAUCET\x20(test\x20coins):\x20{faucet:\x20{name_or_address:\x20\x22\x22,\x20network:\x20\x22testnet\x22}}\x20claims\x20test\x20coins\x20IN-APP\x20(\x27\x27\x20=\x20default\x20account;\x20network\x20accepts\x20testnet/localnet\x20only\x20—\x20mainnet\x20has\x20no\x20faucet).\x20Never\x20send\x20the\x20user\x20to\x20an\x20external\x20faucet\x20website.\x0a\x0a💰\x20ON-CHAIN\x20COIN\x20TRANSACTIONS\x20(IRREVERSIBLE,\x20confirmed):\x20`transfer`\x20moves\x20tokens\x20to\x20another\x20account\x20(fund\x20movement);\x20`get`\x20splits/merges\x20the\x20account\x27s\x20coins\x20to\x20produce\x20a\x20coin\x20object\x20carrying\x20at\x20least\x20the\x20required\x20balance\x20and\x20self-delivers\x20it\x20to\x20the\x20same\x20account\x20(fund\x20never\x20leaves\x20the\x20account\x20minus\x20gas,\x20but\x20a\x20real\x20transaction\x20IS\x20executed\x20and\x20SPENDS\x20GAS,\x20and\x20its\x20digest\x20is\x20returned).\x20Both\x20amounts\x20accept\x20display\x20format\x20with\x20symbol\x20(\x222.5WOW\x22)\x20—\x20converted\x20with\x20the\x20token\x27s\x20decimals\x20—\x20or\x20raw\x20smallest-unit\x20integers;\x20bare\x20decimals\x20are\x20rejected.\x20The\x20first\x20call\x20returns\x20a\x20pending_confirmation\x20preview\x20(amount,\x20token\x20full\x20type,\x20counterparty/account);\x20re-call\x20with\x20transfer.confirmed=true\x20or\x20get.confirmed=true\x20after\x20user\x20consent\x20to\x20execute.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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','transfer','fund'])},'errorShapeBuilder':statusErrorShape,'timeoutMs':0x1d4c0},{'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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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),\x20partitioned\x20per\x20account.','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0aInfo\x20entries\x20are\x20isolated\x20per\x20account\x20—\x20pass\x20the\x20optional\x20top-level\x20\x27account\x27\x20(name\x20or\x20address)\x20to\x20scope\x20an\x20operation\x20to\x20one\x20account\x27s\x20partition;\x20omit\x20it\x20for\x20the\x20default\x20account.\x20An\x20unresolvable\x20account\x20ref\x20FAILS\x20rather\x20than\x20silently\x20touching\x20another\x20partition.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'local_history_operation','handler':handleHistoryOperation,'config':{'title':'🕘\x20LOCAL\x20ONLY:\x20LocalHistory\x20-\x20Explorer\x20Visit\x20History','summary':'LOCAL\x20visit\x20history\x20of\x20Explorer\x20objects\x20(recently\x20viewed,\x20newest\x20first).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20the\x20Explorer\x20visit\x20history\x20stored\x20ONLY\x20on\x20your\x20device.\x20Each\x20entry\x20keeps\x20the\x20stable\x20object\x20key,\x20canonical\x200x\x20address,\x20object\x20type\x20tag\x20(detail\x20visits\x20only),\x20network\x20and\x20visit\x20timestamp\x20—\x20display\x20names\x20are\x20NEVER\x20stored\x20and\x20are\x20resolved\x20live\x20at\x20render\x20time.\x0a\x0aOmit\x20every\x20operation\x20field\x20to\x20LIST\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20the\x20last\x2030\x20recorded\x20days\x20/\x20300\x20entries).\x20Use\x20{add:{op:\x27add\x27,data:[...]}}\x20to\x20record\x20visits\x20(upsert\x20by\x20key),\x20{remove:{op:\x27remove\x27,keys:[...]}}\x20to\x20delete\x20entries,\x20or\x20{clear:{op:\x27clear\x27}}\x20to\x20erase\x20all\x20history.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_history_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalHistoryOperationSchema,'outputSchema':LocalHistoryOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['history','local','private','recent','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_cache_operation','handler':handleCacheOperation,'config':{'title':'🧹\x20LOCAL\x20ONLY:\x20SDK\x20Read\x20Cache\x20-\x20Diagnose\x20&\x20Clear','summary':'LOCAL\x20SDK\x20read\x20cache:\x20report\x20diagnostics,\x20clear\x20a\x20prefix\x20or\x20everything,\x20re-detect\x20chain\x20identity\x20after\x20a\x20node\x20reset,\x20release\x20parked\x20in-flight\x20markers.','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Inspect\x20and\x20clear\x20this\x20device\x27s\x20WoWok\x20SDK\x20read\x20cache.\x20Does\x20NOT\x20touch\x20accounts,\x20marks,\x20info\x20or\x20history\x20(separate\x20stores,\x20separate\x20tools)\x20and\x20never\x20touches\x20the\x20blockchain.\x0a\x0a'+'WHEN\x20TO\x20USE:\x20after\x20the\x20chain\x20node\x20was\x20restarted\x20or\x20reset,\x20or\x20when\x20a\x20call\x20fails\x20with\x20\x27object\x200x…\x20version\x200x…\x20is\x20unavailable\x27.\x20The\x20SDK\x20namespaces\x20its\x20cache\x20by\x20CHAIN\x20IDENTITY\x20(the\x20genesis\x20checkpoint\x20digest\x20from\x20w_getChainIdentifier),\x20which\x20changes\x20exactly\x20when\x20the\x20chain\x20is\x20replaced\x20—\x20so\x20a\x20reset\x20normally\x20needs\x20no\x20action.\x20Use\x20{refresh_chain_scope:\x20{op:\x27refresh_chain_scope\x27}}\x20to\x20force\x20that\x20re-detection\x20when\x20the\x20node\x20was\x20unreachable\x20at\x20startup\x20(leaving\x20the\x20cache\x20unscoped),\x20{status:\x20{op:\x27status\x27}}\x20to\x20see\x20whether\x20a\x20chain\x20identity\x20is\x20active,\x20{clear_prefix:\x20{op:\x27clear_prefix\x27,\x20prefix:\x27objectv2\x27}}\x20to\x20drop\x20only\x20the\x20on-chain\x20object\x20cache,\x20{clear:\x20{op:\x27clear\x27}}\x20to\x20drop\x20everything,\x20or\x20{clear_inflight:\x20{op:\x27clear_inflight\x27}}\x20to\x20release\x20parked\x20in-flight\x20operation\x20markers\x20after\x20a\x20transport\x20drop\x20(use\x20only\x20once\x20on-chain\x20verification\x20is\x20settled\x20—\x20the\x20markers\x20exist\x20to\x20prevent\x20a\x20duplicate\x20fund-moving\x20resend).\x0a\x0a'+'READ-ONLY\x20SUB-OP:\x20`status`\x20changes\x20nothing.\x20The\x20others\x20discard\x20cached\x20reads\x20only\x20—\x20the\x20next\x20call\x20re-reads\x20from\x20the\x20node.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_cache_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalCacheOperationSchema,'outputSchema':LocalCacheOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['cache','local','private','diagnostics','off-chain','stale'])},'errorShapeBuilder':statusErrorShape}];
|
|
1
|
+
import{handleAccountOperation,handleMarkOperation,handleInfoOperation,handleHistoryOperation,handleCacheOperation}from'../handlers/local.js';import{handleTimeConvert,TimeConvertInputSchema,TimeConvertOutputSchema}from'../handlers/time-convert.js';import{statusErrorShape}from'../wrap.js';import{createToolMeta,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,LocalHistoryOperationSchema,LocalCacheOperationSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,LocalHistoryOperationOutputWrappedSchema,LocalCacheOperationOutputWrappedSchema}from'../../schema/index.js';export const LOCAL_TOOLS=[{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'Account\x20-\x20Wallet\x20Management\x20&\x20On-Chain\x20Coin\x20Transactions','summary':'Wallet\x20management\x20(local):\x20gen/faucet/suspend/resume/sign\x20+\x20on-chain\x20token\x20transfer\x20and\x20coin\x20production.','description':'Manage\x20WoWok\x20accounts\x20locally:\x20generate,\x20suspend,\x20resume,\x20sign\x20data,\x20and\x20claim\x20test\x20coins\x20via\x20the\x20faucet.\x0a\x0a🚰\x20FAUCET\x20(test\x20coins):\x20{faucet:\x20{name_or_address:\x20\x22\x22,\x20network:\x20\x22testnet\x22}}\x20claims\x20test\x20coins\x20IN-APP\x20(\x27\x27\x20=\x20default\x20account;\x20network\x20accepts\x20testnet/localnet\x20only\x20—\x20mainnet\x20has\x20no\x20faucet).\x20Never\x20send\x20the\x20user\x20to\x20an\x20external\x20faucet\x20website.\x0a\x0a💰\x20ON-CHAIN\x20COIN\x20TRANSACTIONS\x20(IRREVERSIBLE,\x20confirmed):\x20`transfer`\x20moves\x20tokens\x20to\x20another\x20account\x20(fund\x20movement);\x20`get`\x20splits/merges\x20the\x20account\x27s\x20coins\x20to\x20produce\x20a\x20coin\x20object\x20carrying\x20at\x20least\x20the\x20required\x20balance\x20and\x20self-delivers\x20it\x20to\x20the\x20same\x20account\x20(fund\x20never\x20leaves\x20the\x20account\x20minus\x20gas,\x20but\x20a\x20real\x20transaction\x20IS\x20executed\x20and\x20SPENDS\x20GAS,\x20and\x20its\x20digest\x20is\x20returned).\x20Both\x20amounts\x20accept\x20display\x20format\x20with\x20symbol\x20(\x222.5WOW\x22)\x20—\x20converted\x20with\x20the\x20token\x27s\x20decimals\x20—\x20or\x20raw\x20smallest-unit\x20integers;\x20bare\x20decimals\x20are\x20rejected.\x20The\x20first\x20call\x20returns\x20a\x20pending_confirmation\x20preview\x20(amount,\x20token\x20full\x20type,\x20counterparty/account);\x20re-call\x20with\x20transfer.confirmed=true\x20or\x20get.confirmed=true\x20after\x20user\x20consent\x20to\x20execute.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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','transfer','fund'])},'errorShapeBuilder':statusErrorShape,'timeoutMs':0x1d4c0},{'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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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),\x20partitioned\x20per\x20account.','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0aInfo\x20entries\x20are\x20isolated\x20per\x20account\x20—\x20pass\x20the\x20optional\x20top-level\x20\x27account\x27\x20(name\x20or\x20address)\x20to\x20scope\x20an\x20operation\x20to\x20one\x20account\x27s\x20partition;\x20omit\x20it\x20for\x20the\x20default\x20account.\x20An\x20unresolvable\x20account\x20ref\x20FAILS\x20rather\x20than\x20silently\x20touching\x20another\x20partition.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'local_history_operation','handler':handleHistoryOperation,'config':{'title':'🕘\x20LOCAL\x20ONLY:\x20LocalHistory\x20-\x20Explorer\x20Visit\x20History','summary':'LOCAL\x20visit\x20history\x20of\x20Explorer\x20objects\x20(recently\x20viewed,\x20newest\x20first).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20the\x20Explorer\x20visit\x20history\x20stored\x20ONLY\x20on\x20your\x20device.\x20Each\x20entry\x20keeps\x20the\x20stable\x20object\x20key,\x20canonical\x200x\x20address,\x20object\x20type\x20tag\x20(detail\x20visits\x20only),\x20network\x20and\x20visit\x20timestamp\x20—\x20display\x20names\x20are\x20NEVER\x20stored\x20and\x20are\x20resolved\x20live\x20at\x20render\x20time.\x0a\x0aOmit\x20every\x20operation\x20field\x20to\x20LIST\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20the\x20last\x2030\x20recorded\x20days\x20/\x20300\x20entries).\x20Use\x20{add:{op:\x27add\x27,data:[...]}}\x20to\x20record\x20visits\x20(upsert\x20by\x20key),\x20{remove:{op:\x27remove\x27,keys:[...]}}\x20to\x20delete\x20entries,\x20or\x20{clear:{op:\x27clear\x27}}\x20to\x20erase\x20all\x20history.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_history_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalHistoryOperationSchema,'outputSchema':LocalHistoryOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['history','local','private','recent','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_cache_operation','handler':handleCacheOperation,'config':{'title':'🧹\x20LOCAL\x20ONLY:\x20SDK\x20Read\x20Cache\x20-\x20Diagnose\x20&\x20Clear','summary':'LOCAL\x20SDK\x20read\x20cache:\x20report\x20diagnostics,\x20clear\x20a\x20prefix\x20or\x20everything,\x20re-detect\x20chain\x20identity\x20after\x20a\x20node\x20reset,\x20release\x20parked\x20in-flight\x20markers.','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Inspect\x20and\x20clear\x20this\x20device\x27s\x20WoWok\x20SDK\x20read\x20cache.\x20Does\x20NOT\x20touch\x20accounts,\x20marks,\x20info\x20or\x20history\x20(separate\x20stores,\x20separate\x20tools)\x20and\x20never\x20touches\x20the\x20blockchain.\x0a\x0a'+'WHEN\x20TO\x20USE:\x20after\x20the\x20chain\x20node\x20was\x20restarted\x20or\x20reset,\x20or\x20when\x20a\x20call\x20fails\x20with\x20\x27object\x200x…\x20version\x200x…\x20is\x20unavailable\x27.\x20The\x20SDK\x20namespaces\x20its\x20cache\x20by\x20CHAIN\x20IDENTITY\x20(the\x20genesis\x20checkpoint\x20digest\x20from\x20w_getChainIdentifier),\x20which\x20changes\x20exactly\x20when\x20the\x20chain\x20is\x20replaced\x20—\x20so\x20a\x20reset\x20normally\x20needs\x20no\x20action.\x20Use\x20{refresh_chain_scope:\x20{op:\x27refresh_chain_scope\x27}}\x20to\x20force\x20that\x20re-detection\x20when\x20the\x20node\x20was\x20unreachable\x20at\x20startup\x20(leaving\x20the\x20cache\x20unscoped),\x20{status:\x20{op:\x27status\x27}}\x20to\x20see\x20whether\x20a\x20chain\x20identity\x20is\x20active,\x20{clear_prefix:\x20{op:\x27clear_prefix\x27,\x20prefix:\x27objectv2\x27}}\x20to\x20drop\x20only\x20the\x20on-chain\x20object\x20cache,\x20{clear:\x20{op:\x27clear\x27}}\x20to\x20drop\x20everything,\x20or\x20{clear_inflight:\x20{op:\x27clear_inflight\x27}}\x20to\x20release\x20parked\x20in-flight\x20operation\x20markers\x20after\x20a\x20transport\x20drop\x20(use\x20only\x20once\x20on-chain\x20verification\x20is\x20settled\x20—\x20the\x20markers\x20exist\x20to\x20prevent\x20a\x20duplicate\x20fund-moving\x20resend).\x0a\x0a'+'READ-ONLY\x20SUB-OP:\x20`status`\x20changes\x20nothing.\x20The\x20others\x20discard\x20cached\x20reads\x20only\x20—\x20the\x20next\x20call\x20re-reads\x20from\x20the\x20node.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_cache_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalCacheOperationSchema,'outputSchema':LocalCacheOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['cache','local','private','diagnostics','off-chain','stale'])},'errorShapeBuilder':statusErrorShape},{'name':'time_convert','handler':handleTimeConvert,'config':{'title':'⏱️\x20Time\x20Convert\x20-\x20Chain-Aligned\x20Time\x20Window\x20Kernel\x20(R-TIME-LOCAL-CONST)','summary':'Convert\x20any\x20time\x20expression\x20to\x20ONE\x20chain-aligned\x20ms\x20constant\x20(the\x20general\x20time\x20kernel,\x20on\x20demand).','description':'The\x20general\x20time-conversion\x20kernel\x20of\x20the\x20MCP\x20—\x20ANY\x20WOW\x20object\x27s\x20time\x20field\x20(Machine\x20window,\x20Governance\x20'+'TTL,\x20Arbitration\x20voting\x20window,\x20custom\x20guard\x20slot,\x20template\x20knob)\x20resolves\x20here\x20to\x20ONE\x20whole-millisecond\x20'+'constant\x20that\x20you\x20paste\x20into\x20its\x20U64\x20slot\x20AS-IS.\x0a\x0a'+'DOCTRINE\x20(2026-11-10\x20ruling):\x20NO\x20multiply\x20on\x20chain,\x20not\x20even\x20a\x20×1\x20identity\x20stub\x20—\x20the\x20conversion\x20happens\x20'+'entirely\x20LOCALLY,\x20deterministically;\x20guards\x20consume\x20the\x20returned\x20constant\x20directly.\x0a\x0a'+'Accepted\x20inputs\x20(the\x20canonical\x20grammar):\x0a'+'\x20\x20•\x20whole\x20milliseconds\x20—\x205000\x20or\x20\x225000\x22\x20(already\x20chain-aligned;\x20never\x20scaled);\x0a'+'\x20\x20•\x20\x27<n><unit>\x27\x20—\x2014d,\x202h,\x2090min,\x201.5d,\x2030s;\x0a'+'\x20\x20•\x20compound\x20—\x201w2d,\x201d12h;\x0a'+'\x20\x20•\x20spaced\x20—\x20\x2214\x20days\x22,\x20\x222\x20w\x22;\x0a'+'\x20\x20•\x20ISO-8601\x20duration\x20—\x20P14D,\x20PT48H,\x20P1DT12H,\x20P2W;\x0a'+'\x20\x20•\x20{value:\x202,\x20unit:\x20\x22hour\x22}\x20—\x20unit-quantified\x20form.\x0a\x0a'+'window_profile:\x20\x22production\x22\x20(default)\x20=\x20exact;\x20\x22test\x22\x20=\x20trial\x20compression\x20(1\x20declared\x20day/hour\x20=\x201\x20'+'minute,\x20nonzero\x20floor\x201\x20minute,\x20ms\x20literals\x20never\x20scale)\x20—\x20test-profile\x20constants\x20are\x20hard-blocked\x20from\x20'+'real-network\x20publish.\x0a\x0a'+'🤖\x20LLM\x20FRAMEWORK\x20(multilingual):\x20the\x20kernel\x20is\x20deterministic\x20and\x20language-neutral.\x20An\x20expression\x20your\x20'+'language\x20model\x20understands\x20but\x20the\x20grammar\x20does\x20not\x20(any\x20language:\x20\x272\x20semanas\x27,\x20anchored\x20or\x20relative\x20'+'phrases\x20like\x20\x27end\x20of\x20next\x20month\x27)\x20returns\x20`llm_hint`\x20—\x20the\x20NORMALIZATION\x20CONTRACT.\x20Translate\x20it\x20with\x20YOUR\x20'+'OWN\x20language\x20model\x20into\x20the\x20canonical\x20\x27<number><unit>\x27\x20segments\x20(units\x20ms|s|m|h|d|w|mo|y),\x20resolving\x20'+'date-anchored\x20phrases\x20AGAINST\x20THE\x20CURRENT\x20DATE\x20into\x20a\x20plain\x20day\x20count,\x20then\x20retry.\x20Understanding\x20via\x20'+'prompt\x20outside,\x20deterministic\x20math\x20inside\x20—\x20compile\x20stays\x20golden-freezable.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27time_convert\x27\x20to\x20retrieve\x20'+'the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':TimeConvertInputSchema,'outputSchema':TimeConvertOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('convert',['time','convert','duration','window','ms','milliseconds','iso8601','days','hours'])}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{handleOnchainOperations,onchainTimeoutVerify}from'../handlers/onchain.js';import{handleSettleSweep}from'../handlers/settle-sweep.js';import{handleVerifyGuardDryRun}from'../handlers/verify-guard-dry-run.js';import{applyOnchainRules}from'../rules-hook.js';import{createToolMeta,OnchainOperationsSchema,CallOutputSchema,SettleSweepInputSchema,SettleSweepOutputSchema,VerifyGuardDryRunInputSchema,VerifyGuardDryRunOutputSchema}from'../../schema/index.js';export const ONCHAIN_TOOLS=[{'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🎯\x20NETWORK\x20(CRITICAL):\x20never\x20guess\x20or\x20hardcode\x20a\x20network.\x20OMIT\x20env.network\x20—\x20the\x20runtime\x20stamps\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20client\x27s\x20UI\x20selection)\x20onto\x20every\x20call;\x20the\x20confirmation\x20card\x20and\x20response\x20echo\x20the\x20actual\x20network.\x20Set\x20env.network\x20ONLY\x20when\x20the\x20user\x20explicitly\x20names\x20a\x20different\x20network\x20(a\x20mismatch\x20pauses\x20for\x20user\x20confirmation).\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🔒\x20GUARD\x20PRESET\x20BINDINGS:\x20objects\x20declare\x20preset\x20slots\x20where\x20guard\x20submissions\x20gain\x20business\x20meaning\x20—\x20Reward\x20reads\x20claim\x20recipient\x20(address)\x20/\x20amount\x20(u64)\x20/\x20expiration_time\x20(claim\x20deadline;\x20contract\x20asserts\x20clock\x20≤\x20expiration_time);\x20Allocation\x20reads\x20split\x20payee\x20(address)\x20and\x20Rate\x20(basis\x20points,\x20must\x20complete\x2010000\x20unless\x20a\x20Surplus\x20entry\x20exists);\x20Demand\x20reads\x20the\x20presented\x20service\x20(address);\x20Treasury\x20reads\x20deposit/withdraw\x20amounts\x20(number)\x20—\x20external_withdraw\x20is\x20a\x20PAYMENT\x20AUTHORIZATION;\x20Repository\x20reads\x20row\x20key\x20(address)\x20and\x20row\x20data\x20(any\x20type);\x20its\x20composite\x20(order,\x20tag)\x20evidence\x20plane\x20(repository\x20op\x20order_tag_add\x20/\x20order_tag_remove,\x20v140)\x20files\x20per-order\x20rows\x20under\x20the\x20policy\x20NAMED\x20by\x20the\x20tag\x20—\x20the\x20policy\x20must\x20exist\x20with\x20id_from=None,\x20write_guard\x20is\x20mandatory,\x20the\x20passport\x20is\x20REQUIRED\x20on-chain,\x20and\x20write_once\x20policies\x20refuse\x20BOTH\x20overwrite\x20and\x20(while\x20enable_repo_write_once_remove_guard\x20is\x20on)\x20removal\x20with\x20the\x20repository\x20write-once\x20conflict\x20abort\x20(E_POLICY_WRITE_ONCE_CONFLICT);\x20Arbitration\x20reads\x20vote\x20weight\x20(number)\x20and\x20usage_guard\x20(dispute-opening\x20gate);\x20Machine\x20Forward\x20requires\x20retained_submissions\x20as\x20mandatory\x20evidence.\x20When\x20configuring\x20rewards\x20for\x20staff:\x20consider\x20an\x20owner\x20fund-recovery\x20escape\x20guard\x20(Signer\x20recipient\x20+\x20GuardU64Identifier\x20amount\x20+\x20Clock-based\x20lock)\x20—\x20claim\x20is\x20the\x20ONLY\x20exit\x20from\x20a\x20Reward\x27s\x20balance\x20(owner_receive\x20extracts\x20RECEIVED\x20objects,\x20never\x20the\x20balance).\x20relationship_profile\x20surfaces\x20these\x20creator/user\x20semantics\x20on\x20touched\x20objects.\x0a\x0a🌐\x20SCENARIO\x20TOPOLOGY:\x20object\x20fields\x20that\x20reference\x20other\x20objects\x20are\x20SCENARIO\x20BRIDGES,\x20not\x20data\x20pointers\x20—\x20Demand.present(Service)\x20welds\x20need-expression\x20and\x20product-listing\x20into\x20a\x20matchmaking\x20capability\x20that\x20belongs\x20to\x20neither\x20object\x20alone;\x20Order\x20copies\x20the\x20Service\x27s\x20machine\x20at\x20creation\x20(order\x20keeps\x20its\x20own\x20fulfillment\x20path);\x20Service\x20pre-binds\x20arbitrations\x20+\x20compensation_fund\x20(fairness:\x20E_ARBITRATION_PERMISSION_CONFLICT\x20rejects\x20arbitrations\x20sharing\x20the\x20service\x27s\x20own\x20permission);\x20um\x20binds\x20a\x20Contact\x20per\x20object;\x20permission\x20fields\x20route\x20ALL\x20admin\x20operations\x20through\x20one\x20governance\x20backbone.\x20Whole\x20applications\x20are\x20BRIDGE\x20CHAINS\x20(standard\x20e-commerce:\x20qualification→purchase→communication→fulfillment→escrow_split→incentive;\x20procurement\x20tender:\x20supply_match→…→dispute).\x20relationship_profile\x20auto-surfaces\x20the\x20bridges\x20implied\x20by\x20a\x20topology\x27s\x20touched\x20objects\x20(K3\x2003\x20§3.5).\x0a\x0a⚡\x20MACHINE\x20FORWARD\x20LOCK\x20(threshold\x20design):\x20each\x20forward\x20is\x20SINGLE-OPERATOR-LOCKED\x20—\x20it\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20(a\x20second\x20operator\x20re-executing\x20the\x20same\x20accomplished\x20forward\x20aborts\x20E_NOT_THE_HOLDER).\x20A\x20Pair\x27s\x20maximum\x20achievable\x20weight\x20=\x20sum\x20of\x20its\x20DISTINCT\x20forward\x20weights;\x20if\x20that\x20sum\x20<\x20threshold\x20the\x20transition\x20can\x20never\x20migrate\x20(workflow\x20stuck).\x20Multi-operator\x20cooperation\x20(threshold\x20>\x201)\x20MUST\x20use\x20one\x20DISTINCT\x20forward\x20per\x20contributing\x20operator\x20(e.g.\x20threshold\x202\x20→\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201)\x20—\x20never\x20one\x20forward\x20reused\x20by\x20several\x20people.\x20machine-risk\x20R-M1-12/13\x20and\x20machine-confirm\x20C-12\x20flag\x20such\x20designs\x20before\x20publish.\x0a\x0a🧱\x20REBUILD\x20COST\x20(machine\x20publish\x20/\x20re-publish\x20class\x20ops,\x20S12-②):\x20publishing\x20a\x20Machine\x20is\x20a\x20one-way\x20door\x20—\x20business\x20constants\x20baked\x20into\x20the\x20node\x20graph\x20(deadline/goal/windows)\x20freeze\x20WITH\x20it.\x20Any\x20later\x20change\x20requires\x20a\x20NEW\x20machine\x20+\x20a\x20NEW\x20Service\x20+\x20re-hanging\x20every\x20repository/reward/arbitration/allocator\x20(≈5\x20txs\x20/\x20~1\x20min\x20on\x20a\x2016-node\x20graph);\x20in-flight\x20orders\x20stay\x20on\x20the\x20OLD\x20machine\x20forever.\x20THIS\x20OPERATION\x20WILL\x20REQUIRE\x20A\x20NEW\x20SERVICE\x20if\x20a\x20baked-in\x20parameter\x20later\x20changes\x20—\x20finalize\x20mutable\x20parameters\x20BEFORE\x20publish\x20(details\x20in\x20the\x20machine\x20publish\x20field\x20description;\x20protocol-train\x20item\x20for\x20a\x20Campaign\x20structure).\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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.\x0a\x0a🏷️\x20AUTO\x20NAMING:\x20a\x20successful\x20creation\x20auto-registers\x20the\x20primary\x20created\x20object\x20in\x20the\x20local\x20name\x20index\x20as\x20<type>_<last-6-hex>\x20(e.g.\x20guard_a1b2c3)\x20unless\x20you\x20supplied\x20a\x20name\x20—\x20you\x20NEVER\x20need\x20local_mark_operation\x20add\x20after\x20a\x20create;\x20keep\x20the\x20returned\x20address\x20(or\x20the\x20derived\x20name)\x20and\x20reference\x20either\x20everywhere.','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,'onTimeoutVerify':onchainTimeoutVerify,'timeoutMs':0x493e0},{'name':'settle_sweep','handler':handleSettleSweep,'config':{'title':'🧹\x20Settle\x20Sweep','summary':'One-shot\x20batch\x20settlement\x20of\x20pending\x20terminal\x20escrows:\x20enumerate\x20→\x20static\x20guard\x20screen\x20→\x20alloc_by_guard\x20per\x20order\x20(dry-run\x20first).','description':'Settle\x20every\x20order\x20whose\x20escrow\x20sits\x20stranded\x20on\x20a\x20TERMINAL\x20node\x20(balance\x20>\x200,\x20no\x20Payment\x20'+'yet)\x20in\x20ONE\x20call,\x20from\x20a\x20Service\x20(batch)\x20or\x20a\x20single\x20Order\x20source.\x20The\x20chain\x20NEVER\x20'+'auto-settles:\x20each\x20order\x20needs\x20a\x20manual\x20alloc_by_guard\x20+\x20a\x20recipient\x20claim\x20hop\x20—\x20this\x20tool\x20'+'does\x20the\x20alloc\x20hop\x20per\x20order\x20and\x20hands\x20back\x20the\x20per-order\x20claim\x20path.\x0a\x0a'+'🔒\x20DRY-RUN\x20FIRST\x20(default\x20dry_run:true):\x20the\x20default\x20call\x20only\x20enumerates\x20and\x20lists\x20the\x20'+'alloc_by_guard\x20actions\x20it\x20WOULD\x20fire\x20—\x20zero\x20transactions,\x20zero\x20gas\x20—\x20and\x20registers\x20the\x20'+'payload\x20in\x20the\x20session\x20dry-run\x20ledger.\x20A\x20real\x20face\x20(dry_run:false)\x20is\x20BLOCKED\x20unless\x20the\x20'+'same\x20payload\x20passed\x20a\x20dry_run:true\x20face\x20earlier\x20in\x20this\x20session\x20or\x20you\x20pass\x20confirm:true.\x0a\x0a'+'🧠\x20SHARED\x20JUDGMENT:\x20enumeration\x20reuses\x20the\x20exact\x20settlement\x20judgment\x20of\x20the\x20keeper\x20'+'detector,\x20the\x20PENDING\x20SETTLEMENT\x20receipt\x20and\x20service_panorama\x20pending_allocations\x20(single\x20'+'throat)\x20—\x20this\x20tool\x20adds\x20no\x20state\x20opinion\x20of\x20its\x20own.\x0a\x0a'+'🛡️\x20GUARD\x20SCREEN:\x20candidate\x20settle\x20guards\x20are\x20screened\x20STATICALLY\x20—\x20a\x20guard\x20whose\x20'+'submission\x20slots\x20are\x20all\x20deterministic\x20auto-fill\x20tiers\x20(254\x20task-binding\x20/\x206\x20caller-auth\x20'+'Permission)\x20is\x20dispatchable;\x20anything\x20else\x20is\x20skipped\x20as\x20needs_context\x20(guard\x20semantics\x20'+'need\x20human\x20review,\x20never\x20guessed).\x20max_orders\x20(default\x2010)\x20caps\x20the\x20batch\x20against\x20'+'batch-amplified\x20mistakes;\x20overflow\x20is\x20deferred,\x20re-run\x20to\x20continue.\x0a\x0a'+'🧯\x20ISOLATION:\x20execution\x20goes\x20per\x20order\x20through\x20the\x20SAME\x20onchain\x20pipeline\x20and\x20gates\x20'+'(dual-payout\x20refusal,\x20missing-slot\x20refusal,\x20in-flight\x20resend\x20hold).\x20One\x20failed\x20order\x20lands\x20'+'in\x20failed[]\x20and\x20never\x20blocks\x20the\x20rest.\x20Enumeration\x20failure\x20returns\x20an\x20EMPTY\x20plan\x20+\x20reason\x20—\x20'+'never\x20a\x20throw.\x0a\x0a'+'💰\x20CLAIM\x20HOP:\x20a\x20settled\x20pool\x20is\x20NOT\x20spendable\x20yet\x20—\x20refund\x20terminals\x20pay\x20into\x20the\x20Order\x20'+'(order\x20receive:\x27recently\x27);\x20completion\x20terminals\x20pay\x20CoinWrappers\x20to\x20each\x20recipient\x20'+'(payment\x20receive:true;\x20find\x20them\x20via\x20onchain_received).\x20Every\x20receipt\x20carries\x20the\x20exact\x20path.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27settle_sweep\x27\x20'+'to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':SettleSweepInputSchema,'outputSchema':SettleSweepOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['allocation','settlement','alloc_by_guard','sweep','escrow','keeper'])},'timeoutMs':0x927c0},{'name':'verify_guard_dry_run','handler':handleVerifyGuardDryRun,'config':{'title':'🧪\x20Guard\x20Dry-Run\x20Pre-Check','summary':'Read-only\x20pre-submission\x20guard\x20check:\x20evaluates\x20an\x20INTENDED\x20submission\x20against\x20the\x20guard\x27s\x20production\x20on-chain\x20evaluator\x20(devInspect)\x20and\x20reports\x20per-slot/per-leg\x20satisfied/missing/unknown\x20with\x20a\x20would_pass/would_fail/inconclusive\x20verdict\x20and\x20completion\x20remedies.','description':'Pre-check\x20whether\x20a\x20guard\x20submission\x20would\x20pass\x20BEFORE\x20spending\x20gas\x20on\x20it\x20(K3\x20PDK-05).\x20'+'Reads\x20the\x20guard\x20from\x20the\x20chain\x20(or\x20resolves\x20a\x20Service\x27s\x20on-chain\x20buy_guard),\x20evaluates\x20the\x20'+'INTENDED\x20submission\x20with\x20the\x20SAME\x20production\x20evaluator\x20the\x20failure\x20diagnosis\x20replays\x20with\x20'+'(devInspect\x20—\x20no\x20signature,\x20no\x20gas,\x20no\x20state\x20change),\x20and\x20reports:\x0a\x0a'+'•\x20per\x20required\x20submission\x20slot:\x20satisfied\x20/\x20missing\x20(with\x20the\x20exact\x20identifier/value_type\x20'+'submission\x20shape\x20to\x20complete\x20it)\x20/\x20unknown\x20(runtime-derived\x20task\x20binding\x20254\x20or\x20caller-auth\x20'+'Permission\x206\x20—\x20supply\x20task:<order>\x20or\x20an\x20explicit\x20entry\x20to\x20pre-check);\x0a'+'•\x20per\x20top-level\x20leg\x20of\x20the\x20guard\x27s\x20root\x20logic:\x20satisfied\x20/\x20missing\x20(evaluated\x20FALSE\x20—\x20the\x20failing\x20'+'leg\x20is\x20named\x20with\x20what\x20it\x20reads)\x20/\x20unknown;\x0a'+'•\x20a\x20verdict:\x20would_pass\x20(every\x20slot\x20supplied\x20AND\x20the\x20evaluator\x20returned\x20pass\x20on\x20this\x20snapshot),\x20'+'would_fail\x20(a\x20missing\x20slot,\x20or\x20the\x20evaluator\x20returned\x20fail\x20/\x20structured\x20absence-reject),\x20or\x20'+'inconclusive\x20(any\x20unknown\x20leg\x20or\x20an\x20evaluation\x20error\x20—\x20NEVER\x20reported\x20as\x20would_pass).\x0a\x0a'+'⚠️\x20SNAPSHOT\x20DISCIPLINE\x20(anti-fake-green):\x20the\x20verdict\x20is\x20a\x20simulation\x20over\x20the\x20CURRENT\x20on-chain\x20'+'snapshot\x20—\x20every\x20response\x20carries\x20snapshot_note,\x20and\x20the\x20real\x20submission\x20is\x20still\x20judged\x20by\x20'+'actual\x20execution.\x20Re-run\x20after\x20any\x20state\x20change.\x0a\x0a'+'🎯\x20WHEN\x20TO\x20USE:\x20before\x20a\x20progress\x20forward\x20/\x20allocation\x20alloc_by_guard\x20/\x20service\x20buy\x20that\x20carries\x20'+'a\x20guard\x20submission\x20—\x20especially\x20after\x20a\x20first\x20E_VERIFY_FAILED\x20attempt\x20(the\x20failure\x20copy\x20points\x20'+'here)\x20or\x20whenever\x20a\x20guard\x20has\x20submission\x20slots\x20you\x20are\x20not\x20sure\x20how\x20to\x20fill.\x20Use\x20service:<address>\x20'+'to\x20pre-check\x20a\x20buy\x20admission\x20gate.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27verify_guard_dry_run\x27\x20'+'to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':VerifyGuardDryRunInputSchema,'outputSchema':VerifyGuardDryRunOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['guard','dry-run','pre-check','verify','submission','legs','E_VERIFY_FAILED'])}}];
|
|
1
|
+
import{handleOnchainOperations,onchainTimeoutVerify}from'../handlers/onchain.js';import{handleSettleSweep}from'../handlers/settle-sweep.js';import{handleVerifyGuardDryRun}from'../handlers/verify-guard-dry-run.js';import{handleGuardRebindReplacement}from'../handlers/guard-rebind-replacement.js';import{applyOnchainRules}from'../rules-hook.js';import{createToolMeta,OnchainOperationsSchema,CallOutputSchema,SettleSweepInputSchema,SettleSweepOutputSchema,VerifyGuardDryRunInputSchema,VerifyGuardDryRunOutputSchema,GuardRebindReplacementInputSchema,GuardRebindReplacementOutputSchema}from'../../schema/index.js';export const ONCHAIN_TOOLS=[{'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🎯\x20NETWORK\x20(CRITICAL):\x20never\x20guess\x20or\x20hardcode\x20a\x20network.\x20OMIT\x20env.network\x20—\x20the\x20runtime\x20stamps\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20client\x27s\x20UI\x20selection)\x20onto\x20every\x20call;\x20the\x20confirmation\x20card\x20and\x20response\x20echo\x20the\x20actual\x20network.\x20Set\x20env.network\x20ONLY\x20when\x20the\x20user\x20explicitly\x20names\x20a\x20different\x20network\x20(a\x20mismatch\x20pauses\x20for\x20user\x20confirmation).\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🔒\x20GUARD\x20PRESET\x20BINDINGS:\x20objects\x20declare\x20preset\x20slots\x20where\x20guard\x20submissions\x20gain\x20business\x20meaning\x20—\x20Reward\x20reads\x20claim\x20recipient\x20(address)\x20/\x20amount\x20(u64)\x20/\x20expiration_time\x20(claim\x20deadline;\x20contract\x20asserts\x20clock\x20≤\x20expiration_time);\x20Allocation\x20reads\x20split\x20payee\x20(address)\x20and\x20Rate\x20(basis\x20points,\x20must\x20complete\x2010000\x20unless\x20a\x20Surplus\x20entry\x20exists);\x20Demand\x20reads\x20the\x20presented\x20service\x20(address);\x20Treasury\x20reads\x20deposit/withdraw\x20amounts\x20(number)\x20—\x20external_withdraw\x20is\x20a\x20PAYMENT\x20AUTHORIZATION;\x20Repository\x20reads\x20row\x20key\x20(address)\x20and\x20row\x20data\x20(any\x20type);\x20its\x20composite\x20(order,\x20tag)\x20evidence\x20plane\x20(repository\x20op\x20order_tag_add\x20/\x20order_tag_remove,\x20v140)\x20files\x20per-order\x20rows\x20under\x20the\x20policy\x20NAMED\x20by\x20the\x20tag\x20—\x20the\x20policy\x20must\x20exist\x20with\x20id_from=None,\x20write_guard\x20is\x20mandatory,\x20the\x20passport\x20is\x20REQUIRED\x20on-chain,\x20and\x20write_once\x20policies\x20refuse\x20BOTH\x20overwrite\x20and\x20(while\x20enable_repo_write_once_remove_guard\x20is\x20on)\x20removal\x20with\x20the\x20repository\x20write-once\x20conflict\x20abort\x20(E_POLICY_WRITE_ONCE_CONFLICT);\x20Arbitration\x20reads\x20vote\x20weight\x20(number)\x20and\x20usage_guard\x20(dispute-opening\x20gate);\x20Machine\x20Forward\x20requires\x20retained_submissions\x20as\x20mandatory\x20evidence.\x20When\x20configuring\x20rewards\x20for\x20staff:\x20consider\x20an\x20owner\x20fund-recovery\x20escape\x20guard\x20(Signer\x20recipient\x20+\x20GuardU64Identifier\x20amount\x20+\x20Clock-based\x20lock)\x20—\x20claim\x20is\x20the\x20ONLY\x20exit\x20from\x20a\x20Reward\x27s\x20balance\x20(owner_receive\x20extracts\x20RECEIVED\x20objects,\x20never\x20the\x20balance).\x20relationship_profile\x20surfaces\x20these\x20creator/user\x20semantics\x20on\x20touched\x20objects.\x0a\x0a🌐\x20SCENARIO\x20TOPOLOGY:\x20object\x20fields\x20that\x20reference\x20other\x20objects\x20are\x20SCENARIO\x20BRIDGES,\x20not\x20data\x20pointers\x20—\x20Demand.present(Service)\x20welds\x20need-expression\x20and\x20product-listing\x20into\x20a\x20matchmaking\x20capability\x20that\x20belongs\x20to\x20neither\x20object\x20alone;\x20Order\x20copies\x20the\x20Service\x27s\x20machine\x20at\x20creation\x20(order\x20keeps\x20its\x20own\x20fulfillment\x20path);\x20Service\x20pre-binds\x20arbitrations\x20+\x20compensation_fund\x20(fairness:\x20E_ARBITRATION_PERMISSION_CONFLICT\x20rejects\x20arbitrations\x20sharing\x20the\x20service\x27s\x20own\x20permission);\x20um\x20binds\x20a\x20Contact\x20per\x20object;\x20permission\x20fields\x20route\x20ALL\x20admin\x20operations\x20through\x20one\x20governance\x20backbone.\x20Whole\x20applications\x20are\x20BRIDGE\x20CHAINS\x20(standard\x20e-commerce:\x20qualification→purchase→communication→fulfillment→escrow_split→incentive;\x20procurement\x20tender:\x20supply_match→…→dispute).\x20relationship_profile\x20auto-surfaces\x20the\x20bridges\x20implied\x20by\x20a\x20topology\x27s\x20touched\x20objects\x20(K3\x2003\x20§3.5).\x0a\x0a⚡\x20MACHINE\x20FORWARD\x20LOCK\x20(threshold\x20design):\x20each\x20forward\x20is\x20SINGLE-OPERATOR-LOCKED\x20—\x20it\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20(a\x20second\x20operator\x20re-executing\x20the\x20same\x20accomplished\x20forward\x20aborts\x20E_NOT_THE_HOLDER).\x20A\x20Pair\x27s\x20maximum\x20achievable\x20weight\x20=\x20sum\x20of\x20its\x20DISTINCT\x20forward\x20weights;\x20if\x20that\x20sum\x20<\x20threshold\x20the\x20transition\x20can\x20never\x20migrate\x20(workflow\x20stuck).\x20Multi-operator\x20cooperation\x20(threshold\x20>\x201)\x20MUST\x20use\x20one\x20DISTINCT\x20forward\x20per\x20contributing\x20operator\x20(e.g.\x20threshold\x202\x20→\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201)\x20—\x20never\x20one\x20forward\x20reused\x20by\x20several\x20people.\x20machine-risk\x20R-M1-12/13\x20and\x20machine-confirm\x20C-12\x20flag\x20such\x20designs\x20before\x20publish.\x0a\x0a🧱\x20REBUILD\x20COST\x20(machine\x20publish\x20/\x20re-publish\x20class\x20ops,\x20S12-②):\x20publishing\x20a\x20Machine\x20is\x20a\x20one-way\x20door\x20—\x20business\x20constants\x20baked\x20into\x20the\x20node\x20graph\x20(deadline/goal/windows)\x20freeze\x20WITH\x20it.\x20Any\x20later\x20change\x20requires\x20a\x20NEW\x20machine\x20+\x20a\x20NEW\x20Service\x20+\x20re-hanging\x20every\x20repository/reward/arbitration/allocator\x20(≈5\x20txs\x20/\x20~1\x20min\x20on\x20a\x2016-node\x20graph);\x20in-flight\x20orders\x20stay\x20on\x20the\x20OLD\x20machine\x20forever.\x20THIS\x20OPERATION\x20WILL\x20REQUIRE\x20A\x20NEW\x20SERVICE\x20if\x20a\x20baked-in\x20parameter\x20later\x20changes\x20—\x20finalize\x20mutable\x20parameters\x20BEFORE\x20publish\x20(details\x20in\x20the\x20machine\x20publish\x20field\x20description;\x20protocol-train\x20item\x20for\x20a\x20Campaign\x20structure).\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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.\x0a\x0a🏷️\x20AUTO\x20NAMING:\x20a\x20successful\x20creation\x20auto-registers\x20the\x20primary\x20created\x20object\x20in\x20the\x20local\x20name\x20index\x20as\x20<type>_<last-6-hex>\x20(e.g.\x20guard_a1b2c3)\x20unless\x20you\x20supplied\x20a\x20name\x20—\x20you\x20NEVER\x20need\x20local_mark_operation\x20add\x20after\x20a\x20create;\x20keep\x20the\x20returned\x20address\x20(or\x20the\x20derived\x20name)\x20and\x20reference\x20either\x20everywhere.','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,'onTimeoutVerify':onchainTimeoutVerify,'timeoutMs':0x493e0},{'name':'settle_sweep','handler':handleSettleSweep,'config':{'title':'🧹\x20Settle\x20Sweep','summary':'One-shot\x20batch\x20settlement\x20of\x20pending\x20terminal\x20escrows:\x20enumerate\x20→\x20static\x20guard\x20screen\x20→\x20alloc_by_guard\x20per\x20order\x20(dry-run\x20first).','description':'Settle\x20every\x20order\x20whose\x20escrow\x20sits\x20stranded\x20on\x20a\x20TERMINAL\x20node\x20(balance\x20>\x200,\x20no\x20Payment\x20'+'yet)\x20in\x20ONE\x20call,\x20from\x20a\x20Service\x20(batch)\x20or\x20a\x20single\x20Order\x20source.\x20The\x20chain\x20NEVER\x20'+'auto-settles:\x20each\x20order\x20needs\x20a\x20manual\x20alloc_by_guard\x20+\x20a\x20recipient\x20claim\x20hop\x20—\x20this\x20tool\x20'+'does\x20the\x20alloc\x20hop\x20per\x20order\x20and\x20hands\x20back\x20the\x20per-order\x20claim\x20path.\x0a\x0a'+'🔒\x20DRY-RUN\x20FIRST\x20(default\x20dry_run:true):\x20the\x20default\x20call\x20only\x20enumerates\x20and\x20lists\x20the\x20'+'alloc_by_guard\x20actions\x20it\x20WOULD\x20fire\x20—\x20zero\x20transactions,\x20zero\x20gas\x20—\x20and\x20registers\x20the\x20'+'payload\x20in\x20the\x20session\x20dry-run\x20ledger.\x20A\x20real\x20face\x20(dry_run:false)\x20is\x20BLOCKED\x20unless\x20the\x20'+'same\x20payload\x20passed\x20a\x20dry_run:true\x20face\x20earlier\x20in\x20this\x20session\x20or\x20you\x20pass\x20confirm:true.\x0a\x0a'+'🧠\x20SHARED\x20JUDGMENT:\x20enumeration\x20reuses\x20the\x20exact\x20settlement\x20judgment\x20of\x20the\x20keeper\x20'+'detector,\x20the\x20PENDING\x20SETTLEMENT\x20receipt\x20and\x20service_panorama\x20pending_allocations\x20(single\x20'+'throat)\x20—\x20this\x20tool\x20adds\x20no\x20state\x20opinion\x20of\x20its\x20own.\x0a\x0a'+'🛡️\x20GUARD\x20SCREEN:\x20candidate\x20settle\x20guards\x20are\x20screened\x20STATICALLY\x20—\x20a\x20guard\x20whose\x20'+'submission\x20slots\x20are\x20all\x20deterministic\x20auto-fill\x20tiers\x20(254\x20task-binding\x20/\x206\x20caller-auth\x20'+'Permission)\x20is\x20dispatchable;\x20anything\x20else\x20is\x20skipped\x20as\x20needs_context\x20(guard\x20semantics\x20'+'need\x20human\x20review,\x20never\x20guessed).\x20max_orders\x20(default\x2010)\x20caps\x20the\x20batch\x20against\x20'+'batch-amplified\x20mistakes;\x20overflow\x20is\x20deferred,\x20re-run\x20to\x20continue.\x0a\x0a'+'🧯\x20ISOLATION:\x20execution\x20goes\x20per\x20order\x20through\x20the\x20SAME\x20onchain\x20pipeline\x20and\x20gates\x20'+'(dual-payout\x20refusal,\x20missing-slot\x20refusal,\x20in-flight\x20resend\x20hold).\x20One\x20failed\x20order\x20lands\x20'+'in\x20failed[]\x20and\x20never\x20blocks\x20the\x20rest.\x20Enumeration\x20failure\x20returns\x20an\x20EMPTY\x20plan\x20+\x20reason\x20—\x20'+'never\x20a\x20throw.\x0a\x0a'+'💰\x20CLAIM\x20HOP:\x20a\x20settled\x20pool\x20is\x20NOT\x20spendable\x20yet\x20—\x20refund\x20terminals\x20pay\x20into\x20the\x20Order\x20'+'(order\x20receive:\x27recently\x27);\x20completion\x20terminals\x20pay\x20CoinWrappers\x20to\x20each\x20recipient\x20'+'(payment\x20receive:true;\x20find\x20them\x20via\x20onchain_received).\x20Every\x20receipt\x20carries\x20the\x20exact\x20path.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27settle_sweep\x27\x20'+'to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':SettleSweepInputSchema,'outputSchema':SettleSweepOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['allocation','settlement','alloc_by_guard','sweep','escrow','keeper'])},'timeoutMs':0x927c0},{'name':'verify_guard_dry_run','handler':handleVerifyGuardDryRun,'config':{'title':'🧪\x20Guard\x20Dry-Run\x20Pre-Check','summary':'Read-only\x20pre-submission\x20guard\x20check:\x20evaluates\x20an\x20INTENDED\x20submission\x20against\x20the\x20guard\x27s\x20production\x20on-chain\x20evaluator\x20(devInspect)\x20and\x20reports\x20per-slot/per-leg\x20satisfied/missing/unknown\x20with\x20a\x20would_pass/would_fail/inconclusive\x20verdict\x20and\x20completion\x20remedies.','description':'Pre-check\x20whether\x20a\x20guard\x20submission\x20would\x20pass\x20BEFORE\x20spending\x20gas\x20on\x20it\x20(K3\x20PDK-05).\x20'+'Reads\x20the\x20guard\x20from\x20the\x20chain\x20(or\x20resolves\x20a\x20Service\x27s\x20on-chain\x20buy_guard),\x20evaluates\x20the\x20'+'INTENDED\x20submission\x20with\x20the\x20SAME\x20production\x20evaluator\x20the\x20failure\x20diagnosis\x20replays\x20with\x20'+'(devInspect\x20—\x20no\x20signature,\x20no\x20gas,\x20no\x20state\x20change),\x20and\x20reports:\x0a\x0a'+'•\x20per\x20required\x20submission\x20slot:\x20satisfied\x20/\x20missing\x20(with\x20the\x20exact\x20identifier/value_type\x20'+'submission\x20shape\x20to\x20complete\x20it)\x20/\x20unknown\x20(runtime-derived\x20task\x20binding\x20254\x20or\x20caller-auth\x20'+'Permission\x206\x20—\x20supply\x20task:<order>\x20or\x20an\x20explicit\x20entry\x20to\x20pre-check);\x0a'+'•\x20per\x20top-level\x20leg\x20of\x20the\x20guard\x27s\x20root\x20logic:\x20satisfied\x20/\x20missing\x20(evaluated\x20FALSE\x20—\x20the\x20failing\x20'+'leg\x20is\x20named\x20with\x20what\x20it\x20reads)\x20/\x20unknown;\x0a'+'•\x20a\x20verdict:\x20would_pass\x20(every\x20slot\x20supplied\x20AND\x20the\x20evaluator\x20returned\x20pass\x20on\x20this\x20snapshot),\x20'+'would_fail\x20(a\x20missing\x20slot,\x20or\x20the\x20evaluator\x20returned\x20fail\x20/\x20structured\x20absence-reject),\x20or\x20'+'inconclusive\x20(any\x20unknown\x20leg\x20or\x20an\x20evaluation\x20error\x20—\x20NEVER\x20reported\x20as\x20would_pass).\x0a\x0a'+'⚠️\x20SNAPSHOT\x20DISCIPLINE\x20(anti-fake-green):\x20the\x20verdict\x20is\x20a\x20simulation\x20over\x20the\x20CURRENT\x20on-chain\x20'+'snapshot\x20—\x20every\x20response\x20carries\x20snapshot_note,\x20and\x20the\x20real\x20submission\x20is\x20still\x20judged\x20by\x20'+'actual\x20execution.\x20Re-run\x20after\x20any\x20state\x20change.\x0a\x0a'+'🎯\x20WHEN\x20TO\x20USE:\x20before\x20a\x20progress\x20forward\x20/\x20allocation\x20alloc_by_guard\x20/\x20service\x20buy\x20that\x20carries\x20'+'a\x20guard\x20submission\x20—\x20especially\x20after\x20a\x20first\x20E_VERIFY_FAILED\x20attempt\x20(the\x20failure\x20copy\x20points\x20'+'here)\x20or\x20whenever\x20a\x20guard\x20has\x20submission\x20slots\x20you\x20are\x20not\x20sure\x20how\x20to\x20fill.\x20Use\x20service:<address>\x20'+'to\x20pre-check\x20a\x20buy\x20admission\x20gate.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27verify_guard_dry_run\x27\x20'+'to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':VerifyGuardDryRunInputSchema,'outputSchema':VerifyGuardDryRunOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['guard','dry-run','pre-check','verify','submission','legs','E_VERIFY_FAILED'])}},{'name':'guard_rebind_replacement','handler':handleGuardRebindReplacement,'config':{'title':'🔁\x20Guard\x20Recreate\x20+\x20Rebind\x20(one\x20shot)','summary':'Creates\x20the\x20corrected\x20guard,\x20gates\x20it\x20through\x20the\x20binding-semantics\x20lint\x20AND\x20the\x20production\x20dry-run\x20pre-check,\x20then\x20rebinds\x20the\x20host\x20ONLY\x20on\x20would_pass\x20(service\x20buy_guard,\x20or\x20one\x20machine\x20forward\x20on\x20an\x20unpublished\x20machine\x20with\x20rollback).','description':'Guards\x20are\x20immutable\x20on-chain\x20—\x20this\x20closes\x20the\x20write-once-slot\x20fix\x20loop\x20into\x20ONE\x20gated\x20receipt\x20(VFY-6):\x0a\x0a'+'1.\x20CREATE\x20the\x20corrected\x20guard\x20from\x20your\x20definition\x20(fresh\x20object;\x20the\x20old\x20one\x20is\x20never\x20edited);\x0a'+'2.\x20BINDING\x20GATE:\x20the\x20same\x20binding-semantics\x20lint\x20a\x20binding\x20op\x20runs\x20(critical\x20findings\x20BLOCK);\x0a'+'3.\x20DRY-RUN\x20GATE:\x20the\x20shared\x20production\x20evaluator\x20over\x20the\x20intended\x20submissions\x20—\x20only\x20would_pass\x20proceeds;\x0a'+'4.\x20REBIND:\x20service\x20buy_guard\x20in\x20one\x20update,\x20or\x20machine_forward\x20via\x20remove\x20+\x20add\x20on\x20an\x20UNPUBLISHED\x20machine\x20(a\x20failed\x20re-add\x20restores\x20the\x20OLD\x20forward\x20—\x20rollback).\x0a\x0a'+'A\x20refused\x20rebind\x20leaves\x20the\x20old\x20binding\x20untouched\x20and\x20names\x20the\x20exact\x20remedy;\x20the\x20new\x20guard\x20stays\x20on\x20chain\x20unbound\x20and\x20inert.\x20Note:\x20a\x20published\x20Machine\x20freezes\x20its\x20graph\x20—\x20use\x20the\x20service_buy_guard\x20host\x20there.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27guard_rebind_replacement\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':GuardRebindReplacementInputSchema,'outputSchema':GuardRebindReplacementOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('onchain',['guard','rebind','replace','write-once','254','fix','dry-run'])}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const records=new Map(),canonicalRef=a=>a['trim']();export function recordWipVerify(a,b){const c=canonicalRef(a);if(c==='')return;const d=records['get'](c);records['set'](c,{'ref':c,'hash_equal':b['hash_equal']!==undefined?b['hash_equal']:d?.['hash_equal'],'signature_verified':b['signature_verified']||(d?.['signature_verified']??![]),'upload_account':d?.['upload_account'],'wip_hash':d?.['wip_hash'],'at':Date['now']()});}export function recordWipUploadAccount(a,b){const c=canonicalRef(a);if(c===''||b['trim']()==='')return;const d=records['get'](c);records['set'](c,d??{'ref':c,'signature_verified':![],'upload_account':b['trim'](),'at':Date['now']()}),d&&d['upload_account']===undefined&&(d['upload_account']=b['trim']());}export function recordWipUploadHash(a,b,c){const d=canonicalRef(a),e=b['trim']();if(d===''||e==='')return;const f=records['get'](d);records['set'](d,{'ref':d,'hash_equal':f?.['hash_equal'],'signature_verified':f?.['signature_verified']??![],'upload_account':c?.['trim']()||f?.['upload_account'],'wip_hash':e,'at':Date['now']()});}export function getWipVerifyRecord(a){return records['get'](canonicalRef(a));}export function resetWipVerifyLedgerForTests(){records['clear']();}
|
|
1
|
+
const records=new Map(),canonicalRef=a=>a['trim']();export function recordWipVerify(a,b){const c=canonicalRef(a);if(c==='')return;const d=records['get'](c);records['set'](c,{'ref':c,'hash_equal':b['hash_equal']!==undefined?b['hash_equal']:d?.['hash_equal'],'signature_verified':b['signature_verified']||(d?.['signature_verified']??![]),'upload_account':d?.['upload_account'],'wip_hash':d?.['wip_hash'],'at':Date['now']()});}export function recordWipUploadAccount(a,b){const c=canonicalRef(a);if(c===''||b['trim']()==='')return;const d=records['get'](c);records['set'](c,d??{'ref':c,'signature_verified':![],'upload_account':b['trim'](),'at':Date['now']()}),d&&d['upload_account']===undefined&&(d['upload_account']=b['trim']());}export function recordWipUploadHash(a,b,c){const d=canonicalRef(a),e=b['trim']();if(d===''||e==='')return;const f=records['get'](d);records['set'](d,{'ref':d,'hash_equal':f?.['hash_equal'],'signature_verified':f?.['signature_verified']??![],'upload_account':c?.['trim']()||f?.['upload_account'],'wip_hash':e,'at':Date['now']()});}export function getWipVerifyRecord(a){return records['get'](canonicalRef(a));}export function wipRefsForHash(a){const b=a['trim']();if(b==='')return[];const c=[];for(const d of records['values']()){if(d['wip_hash']===b||d['hash_equal']===b)c['push'](d['ref']);}return c;}export function resetWipVerifyLedgerForTests(){records['clear']();}
|