@wowok/agent-mcp 3.2.7 → 3.3.0
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/README.md +2 -2
- package/dist/chain-semantics/field-capability.js +1 -1
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.d.ts +10 -1
- package/dist/composition/compile.js +1 -1
- package/dist/composition/inflight.d.ts +10 -0
- package/dist/composition/inflight.js +1 -1
- package/dist/extensions/business-modules.d.ts +1 -1
- package/dist/extensions/business-modules.js +1 -1
- package/dist/extensions/capability-manifest.js +1 -1
- package/dist/extensions/industry-audit.spec.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/graph/onchain/edge-schema.js +1 -1
- package/dist/graph/onchain/facts.spec.js +1 -1
- package/dist/graph/onchain/field-manifest.js +1 -1
- package/dist/harness/index.d.ts +1 -0
- package/dist/harness/index.js +1 -1
- package/dist/harness/operation-id.d.ts +1 -0
- package/dist/harness/operation-id.js +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/index.js +1 -1
- package/dist/intent/types.d.ts +1 -1
- package/dist/intent/types.js +1 -1
- package/dist/keeper/KeeperScan.d.ts +2 -1
- package/dist/keeper/KeeperScan.js +1 -1
- package/dist/keeper/keeper.spec.js +1 -1
- package/dist/keeper/types.d.ts +3 -0
- package/dist/keeper/types.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.d.ts +34 -0
- package/dist/knowledge/allocator-rail-verifier.js +1 -0
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/arbitration-venue-order.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +19 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/alloc_audit.json +1 -1
- package/dist/knowledge/baselines/rules/arb.json +1 -1
- package/dist/knowledge/baselines/rules/guard.json +106 -1
- package/dist/knowledge/baselines/rules/machine.json +9 -6
- package/dist/knowledge/baselines/rules/plan.json +40 -17
- package/dist/knowledge/baselines/semantic-facts.js +1 -1
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/contract-invariants.js +1 -1
- package/dist/knowledge/discount-threshold.d.ts +11 -0
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/event-semantics.js +1 -1
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-anchor-reach.d.ts +1 -1
- package/dist/knowledge/guard-anchor-reach.js +1 -1
- package/dist/knowledge/guard-bindings.js +1 -1
- package/dist/knowledge/guard-design-patterns.d.ts +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-ledger.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.d.ts +1 -0
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-submission-brief.d.ts +6 -0
- package/dist/knowledge/guard-submission-brief.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +2 -2
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-ledger.js +1 -1
- package/dist/knowledge/machine-puzzle.d.ts +1 -1
- package/dist/knowledge/machine-puzzle.js +1 -1
- package/dist/knowledge/machine-risk.js +1 -1
- package/dist/knowledge/machine-templates.js +1 -1
- package/dist/knowledge/machine-topology.d.ts +8 -0
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/machine-translation.js +1 -1
- package/dist/knowledge/order-ledger.js +1 -1
- package/dist/knowledge/permission-ledger.js +1 -1
- package/dist/knowledge/protocol-facts.d.ts +16 -0
- package/dist/knowledge/protocol-facts.js +1 -0
- package/dist/knowledge/recipient-constraint.js +1 -1
- package/dist/knowledge/reward-ledger.d.ts +2 -1
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/reward-templates.js +1 -1
- package/dist/knowledge/safety-rules.d.ts +0 -2
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +7 -0
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-loader.d.ts +13 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +2 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tool-constraints.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +7 -3
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/monitor/normalize.d.ts +1 -1
- package/dist/monitor/normalize.js +1 -1
- package/dist/monitor/types.d.ts +1 -1
- package/dist/monitor/types.js +1 -1
- package/dist/participation/radar-core.d.ts +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/game-theory.d.ts +1 -0
- package/dist/playbooks/service-build/game-theory.js +1 -1
- package/dist/playbooks/service-build/intent-analyzer.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +8 -0
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/object-panorama.d.ts +28 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.d.ts +2 -0
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/playbooks/service-build/service-quote.spec.js +1 -1
- package/dist/relationship/registry.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/role/profiles.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/safety/preview.d.ts +1 -0
- package/dist/safety/preview.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +19 -1
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +1 -1
- package/dist/schema/call/arbitration.d.ts +8 -8
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +52 -5
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +3 -0
- package/dist/schema/call/contact.d.ts +5 -5
- package/dist/schema/call/demand.d.ts +5 -5
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/guard.d.ts +3 -3
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +13 -5
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +5 -5
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/permission.d.ts +5 -5
- package/dist/schema/call/personal.d.ts +4 -4
- package/dist/schema/call/progress.d.ts +5 -5
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/proof.js +1 -1
- package/dist/schema/call/receipt.d.ts +8 -0
- package/dist/schema/call/receipt.js +1 -1
- package/dist/schema/call/repository.d.ts +9 -9
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/reward.d.ts +25 -5
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +10 -5
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +5 -5
- package/dist/schema/common/index.d.ts +6 -6
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/index.d.ts +17 -1
- package/dist/schema/goal/planning.d.ts +28 -2
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +3 -0
- package/dist/schema/industry-pack/index.js +1 -1
- package/dist/schema/intent-radar/index.d.ts +9 -0
- package/dist/schema/intent-radar/index.js +1 -1
- package/dist/schema/local/index.d.ts +31 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +57 -43
- package/dist/schema/operations.js +1 -1
- package/dist/schema/query/bi.d.ts +22 -6
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +164 -102
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +2 -0
- package/dist/schema/schema-query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/utils/permission-machine-check.d.ts +2 -0
- package/dist/schema/utils/permission-machine-check.js +1 -1
- package/dist/schema/workflow/index.d.ts +1 -1
- package/dist/schema-query-impl/index.d.ts +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +3 -0
- package/dist/schemas/account_operation.schema.json +4 -4
- package/dist/schemas/benchmark_migration_operation.output.json +42 -0
- package/dist/schemas/benchmark_migration_operation.schema.json +40 -3
- package/dist/schemas/bridge_operation.output.json +3 -0
- package/dist/schemas/goal_operation.schema.json +52 -2
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/industry_pack_operation.output.json +8 -0
- package/dist/schemas/industry_pack_operation.schema.json +9 -0
- package/dist/schemas/intent_radar.output.json +8 -2
- package/dist/schemas/intent_radar.schema.json +4 -1
- package/dist/schemas/local_cache_operation.output.json +3 -0
- package/dist/schemas/local_history_operation.output.json +3 -0
- package/dist/schemas/local_info_operation.output.json +3 -0
- package/dist/schemas/local_mark_operation.output.json +3 -0
- package/dist/schemas/messenger_operation.schema.json +4 -4
- package/dist/schemas/monitor_events.schema.json +3 -1
- package/dist/schemas/onchain_events.output.json +275 -11
- package/dist/schemas/onchain_events.schema.json +25 -1
- package/dist/schemas/onchain_operations.output.json +47 -5
- package/dist/schemas/onchain_operations.schema.json +664 -179
- package/dist/schemas/onchain_operations_allocation.schema.json +7 -7
- package/dist/schemas/onchain_operations_arbitration.schema.json +21 -15
- package/dist/schemas/onchain_operations_contact.schema.json +15 -10
- package/dist/schemas/onchain_operations_demand.schema.json +15 -10
- package/dist/schemas/onchain_operations_gen_passport.schema.json +5 -5
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +346 -8
- package/dist/schemas/onchain_operations_machine.schema.json +24 -11
- package/dist/schemas/onchain_operations_order.schema.json +17 -12
- package/dist/schemas/onchain_operations_permission.schema.json +10 -5
- package/dist/schemas/onchain_operations_personal.schema.json +2 -2
- package/dist/schemas/onchain_operations_progress.schema.json +17 -12
- package/dist/schemas/onchain_operations_proof.schema.json +6 -6
- package/dist/schemas/onchain_operations_repository.schema.json +19 -14
- package/dist/schemas/onchain_operations_reward.schema.json +96 -15
- package/dist/schemas/onchain_operations_service.schema.json +33 -21
- package/dist/schemas/onchain_operations_treasury.schema.json +15 -10
- package/dist/schemas/onchain_table_data.output.json +7 -7
- package/dist/schemas/query_toolkit.output.json +268 -44
- package/dist/schemas/query_toolkit.schema.json +1 -1
- package/dist/schemas/schema_query.schema.json +7 -2
- package/dist/schemas/workflow_operation.schema.json +5 -5
- package/dist/schemas/wowok_buildin_info.output.json +140 -3
- package/dist/schemas/wowok_buildin_info.schema.json +2 -2
- package/dist/tools/handlers/benchmark-migration.d.ts +66 -1
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/dispatch-expectations.d.ts +0 -1
- package/dist/tools/handlers/dispatch-expectations.js +1 -1
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/intent-radar.js +1 -1
- package/dist/tools/handlers/keeper.d.ts +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +12 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.d.ts +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/registry/agent.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/files.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/upgrade-check.d.ts +23 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wip-deploy-assist.d.ts +6 -0
- package/dist/tools/wip-deploy-assist.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{handleIntentRadar}from'../handlers/intent-radar.js';import{handleGoalOperation}from'../handlers/goal.js';import{handleEmployeeOperation}from'../handlers/employee.js';import{createToolMeta,IntentRadarInputSchema,IntentRadarOutputSchema,GoalOperationInputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema}from'../../schema/index.js';export const AGENT_TOOLS=[{'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'+'Watchable\x20event\x20families\x20(target_types):\x20market\x20opportunity\x20(ServiceEvent,\x20DemandChangedEvent,\x20'+'DemandPresentEvent\x20—\x20the\x20supply/demand\x20discovery\x20signals),\x20order/workflow\x20(NewOrderEvent,\x20'+'ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20'+'NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20'+'NewPaymentEvent).\x20Each\x20hit\x27s\x20business_meaning\x20comes\x20from\x20the\x20Event\x20Semantics\x20Registry.\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'goal_operation','handler':handleGoalOperation,'config':{'title':'🎯\x20Goal\x20-\x20Goal-Driven\x20Lifecycle\x20(GoalEngine)','summary':'Goal-driven\x20lifecycle:\x20create/list/get/approve/advance/pause/complete/abandon/delete\x20goals\x20+\x20event-bridged\x20advancement\x20suggestions\x20+\x20G5\x20boundaries/pursue/next-steps\x20(self-driving\x20within\x20user-granted\x20autonomy).','description':'GoalEngine\x20Agent\x20portal\x20(K3\x2024)\x20—\x20the\x20business-layer\x20storyline\x20ABOVE\x20projects/tasks:\x20'+'record\x20a\x20user\x20goal\x20once,\x20then\x20track\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20'+'RECOGNIZE\x20→\x20CONFIRM\x20→\x20BIND\x20→\x20PLAN\x20→\x20APPROVE\x20→\x20ACT\x20→\x20MONITOR\x20→\x20COMPLETE\x20(→\x20REFLECT).\x20'+'Near-duplicate\x20create\x20calls\x20ADOPT\x20the\x20existing\x20active\x20goal\x20(same\x20type\x20+\x20account\x20+\x20similar\x20intent)\x20'+'instead\x20of\x20forking\x20a\x20second\x20storyline.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20create\x20—\x20record\x20a\x20goal\x20from\x20intent_text\x20(goal_type\x20auto-classified;\x20override\x20with\x20goal_type).\x20'+'Pass\x20account\x20to\x20BIND\x20immediately\x20(local-account\x20preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).\x20'+'Goal\x20types\x20with\x20a\x20dedicated\x20playbook\x20(publish_service,\x20fulfill_order,\x20capture_demand,\x20publish_demand,\x20'+'purchase_service)\x20AUTOMATICALLY\x20attach\x20a\x20TaskProcess\x20(K3\x2024\x20§3.5):\x20the\x20long-task\x20carrier\x20with\x20a\x20named\x20'+'stage\x20sequence\x20+\x20events/problems/feedback/decisions\x20memory\x20streams;\x20create_process=true\x20forces\x20one\x20for\x20'+'the\x20other\x20(generic)\x20goal\x20types.\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20goals\x20(stage/account\x20filters;\x20include_finished\x20for\x20completed/abandoned)\x20+\x20per-stage\x20counts.\x0a'+'\x20\x20•\x20get\x20—\x20one\x20goal\x27s\x20full\x20record\x20(stage,\x20objects,\x20monitor\x20bindings,\x20approvals,\x20outcome).\x20Goals\x20with\x20a\x20'+'TaskProcess\x20also\x20return\x20process_summary\x20(current\x20stage,\x20per-stage\x20progress,\x20open\x20problems,\x20pending\x20'+'suggestions,\x20last\x20events,\x20feedback\x20count)\x20—\x20the\x20interrupted-task\x20resume\x20surface:\x20read\x20it,\x20then\x20continue\x20'+'with\x20advance\x20(there\x20is\x20no\x20separate\x20resume\x20action).\x0a'+'\x20\x20•\x20approve\x20—\x20APPROVE\x20station:\x20records\x20a\x20plan\x20approval;\x20while\x20active,\x20fail-open\x20ConfirmGate\x20rules\x20'+'(standard/none\x20levels)\x20auto-pass\x20for\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>,\x20and\x20successful\x20'+'creation\x20operations\x20carrying\x20that\x20stamp\x20auto-register\x20their\x20created\x20objects\x20into\x20the\x20goal\x20'+'(ACT\x20station\x20\x27execution\x20registers\x27).\x20'+'Fail-closed\x20levels\x20(irreversible/publish/amount)\x20ALWAYS\x20still\x20ask.\x0a'+'\x20\x20•\x20advance\x20—\x20forward\x20stage\x20move\x20(BIND/PLAN/ACT/MONITOR)\x20and/or\x20ACT\x20object\x20registration\x20'+'(objects:\x20[{type,\x20object}];\x20also\x20written\x20back\x20into\x20the\x20goal\x27s\x20TaskProcess\x20manifest).\x20'+'Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20for\x20the\x20goal\x27s\x20objects\x20'+'(and\x20a\x20radar\x20intent\x20for\x20demand\x20goals),\x20so\x20progress\x20surfaces\x20in\x20the\x20monitor\x20todo\x20stream.\x0a'+'\x20\x20•\x20pause\x20—\x20off-axis\x20hold\x20from\x20any\x20non-terminal\x20stage;\x20resume\x20via\x20advance.\x0a'+'\x20\x20•\x20complete\x20—\x20COMPLETE\x20station:\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20'+'(e.g.\x20publish_service\x20needs\x20a\x20live\x20Service;\x20purchase_service\x20needs\x20a\x20completed\x20Order).\x20'+'force=true\x20skips\x20verification\x20(audited\x20as\x20outcome.forced).\x20Tears\x20down\x20the\x20goal\x27s\x20monitor\x20bindings.\x20'+'Pass\x20feedback\x20{sentiment,\x20comment}\x20to\x20record\x20user\x20feedback\x20on\x20the\x20process;\x20the\x20outcome\x20is\x20distilled\x20'+'into\x20the\x20experience\x20layer\x20(REFLECT).\x0a'+'\x20\x20•\x20abandon\x20—\x20terminal\x20give-up\x20(reason\x20required);\x20same\x20monitor\x20teardown,\x20outcome.success=false.\x0a'+'\x20\x20•\x20delete\x20—\x20housekeeping:\x20remove\x20a\x20TERMINAL\x20goal\x20record\x20entirely\x20(record\x20+\x20stage-index\x20entries\x20+\x20'+'TaskProcess\x20dir).\x20force=true\x20also\x20allows\x20non-terminal\x20goals\x20(monitor\x20teardown\x20runs\x20first).\x0a'+'\x20\x20•\x20suggestions\x20—\x20T5-C:\x20the\x20goal\x27s\x20PENDING\x20advancement\x20suggestions\x20(monitor-bridged\x20POSITIVE\x20events:\x20'+'first\x20order\x20received\x20→\x20enter\x20monitoring;\x20arbitration\x20finished\x20→\x20verify\x20completion;\x20service\x20live\x20→\x20'+'verify\x20completion)\x20joined\x20with\x20its\x20OPEN\x20problems\x20—\x20the\x20single\x20consumption\x20face\x20for\x20\x27what\x20wants\x20my\x20'+'decision\x20on\x20this\x20goal\x27.\x20include_resolved=true\x20also\x20returns\x20confirmed/dismissed\x20ones.\x0a'+'\x20\x20•\x20suggestion_resolve\x20—\x20one-shot\x20decision\x20on\x20one\x20suggestion:\x20confirm\x20(apply=true\x20runs\x20the\x20suggested\x20'+'move\x20through\x20the\x20NORMAL\x20engine\x20stations\x20—\x20advance/complete\x20with\x20chain\x20verification\x20still\x20gating;\x20'+'apply=false\x20just\x20acknowledges)\x20or\x20dismiss\x20(note\x20optional,\x20audited).\x20A\x20suggestion\x20NEVER\x20auto-applies;\x20'+'when\x20applying\x20fails\x20the\x20suggestion\x20stays\x20pending\x20and\x20apply_error\x20explains\x20why.\x0a'+'\x20\x20•\x20boundaries\x20—\x20G5\x20CONFIRM\x20station:\x20the\x20boundary\x20questions\x20to\x20ask\x20the\x20user\x20BEFORE\x20the\x20goal\x20pursues\x20'+'autonomously\x20(budget\x20/\x20deadline\x20/\x20acceptance\x20requirements\x20/\x20autonomy)\x20+\x20the\x20current\x20boundaries\x20and\x20'+'what\x20is\x20still\x20missing.\x0a'+'\x20\x20•\x20boundaries_set\x20—\x20G5\x20CONFIRM\x20station:\x20set/merge-patch\x20the\x20boundaries.\x20budget\x20=\x20total\x20spend\x20ceiling\x20'+'(smallest\x20unit,\x20decimal\x20string;\x20over-budget\x20candidates\x20are\x20rejected,\x20never\x20asked),\x20deadline\x20=\x20ms\x20epoch\x20'+'(past\x20it\x20everything\x20stalls),\x20requirements\x20=\x20hard\x20acceptance\x20red\x20lines\x20(commitment\x20moves\x20wait\x20for\x20'+'verification),\x20autonomy\x20=\x20confirm_all\x20|\x20execute_low_risk\x20|\x20execute_all\x20(irreversible/publish/amount\x20'+'operations\x20ALWAYS\x20ask\x20regardless).\x20Setting\x20any\x20field\x20marks\x20CONFIRM\x20done.\x0a'+'\x20\x20•\x20pursue\x20—\x20G5\x20self-driving\x20tick:\x20gathers\x20the\x20goal\x27s\x20pending\x20suggestions\x20+\x20the\x20engine\x20completion\x20'+'check\x20(monitoring\x20station),\x20runs\x20them\x20through\x20the\x20boundary\x20filter\x20and\x20the\x20autonomy\x20mapping,\x20then\x20'+'APPLIES\x20the\x20allowed\x20moves\x20through\x20the\x20normal\x20engine\x20stations\x20(execute)\x20or\x20surfaces\x20them\x20as\x20pending\x20'+'suggestions\x20(ask_user).\x20Boundary\x20violations\x20stall\x20and\x20are\x20reported.\x20A\x20paused\x20goal\x20does\x20not\x20pursue.\x20'+'Call\x20it\x20after\x20monitor\x20events\x20/\x20periodically\x20—\x20the\x20monitor\x20loop\x20bridges\x20events\x20into\x20suggestions\x20in\x20'+'the\x20background\x20either\x20way.\x0a'+'\x20\x20•\x20next_steps\x20—\x20G5\x20user-driven\x20follow-ups:\x20recommended\x20next\x20steps\x20for\x20this\x20goal\x20—\x20station\x20steps\x20'+'(confirm\x20boundaries,\x20bind,\x20resolve\x20pending\x20suggestions,\x20advance),\x20the\x20G2\x20role-interest\x20view\x20pointer\x20'+'(when\x20the\x20goal\x20has\x20objects\x20+\x20a\x20binding:\x20operable\x20forwards,\x20blocked\x20moves,\x20risks\x20via\x20topology_bi\x20'+'interest_role),\x20and\x20business-loop\x20follow-ups\x20(what\x20goals\x20naturally\x20follow\x20this\x20one).\x20Works\x20for\x20'+'completed\x20goals\x20too\x20(follow-ups\x20lead).\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20natural-language\x20business\x20intent\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20puzzle\x20snapshots\x20→\x20cross-object\x20risk\x20calibration\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(STATIC_ANALYZERS_CLEAN/RISK_BLOCKED/RISK_PENDING_CONFIRM).\x20Omit\x20\x27puzzles\x27\x20but\x20pass\x20\x27intent\x27\x20'+'to\x20run\x20C1→C2\x20in\x20one\x20call.\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20circular\x20'+'refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20merchant\x20onboarding\x20wizard:\x20intent\x20→\x20industry\x20confirmation\x20→\x20module\x20adoption\x20→\x20'+'Blueprint\x20(L1\x20plan\x20projection)\x20→\x20evaluation\x20preview\x20→\x20harness\x20check\x20→\x20creation\x20plan.\x20Stateless\x20(pass\x20'+'guide_state/guide_confirm\x20to\x20advance);\x20NEVER\x20executes\x20on-chain\x20operations.\x0a\x0a'+'Local\x20goal\x20state\x20only;\x20the\x20only\x20chain\x20access\x20is\x20READ-ONLY\x20completion\x20verification\x20(complete\x20/\x20the\x20pursue\x20tick\x27s\x20completion\x20check).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27goal_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':GoalOperationInputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('goal',['goal','lifecycle','plan','approve','monitor','complete','abandon','objective'])}},{'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).\x20Timestamps:\x20pass\x20them\x20explicitly,\x20OR\x20pass\x20`progress`\x20(progress\x20object\x20address)\x20to\x20auto-derive\x20them\x20from\x20monitored\x20ProgressEvents\x20—\x20explicit\x20values\x20override\x20derived\x20ones.\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'+'\x20\x20•\x20suggest_incentive\x20—\x20the\x20employment\x20relationship\x27s\x20action\x20layer:\x20node\x20KPIs\x20(from\x20assess_kpi)\x20+\x20WIP\x20acceptance\x20evidence\x20+\x20liability\x20resolution\x20→\x20a\x20Reward\x20suggestion\x20(reward_grant\x20/\x20compensation_offset\x20/\x20correction_notice\x20/\x20none)\x20with\x20rationale\x20and\x20execution\x20hints.\x20Suggestion\x20ONLY\x20—\x20never\x20auto-executes;\x20the\x20merchant\x20confirms\x20and\x20runs\x20the\x20on-chain\x20reward/payment\x20ops\x20separately.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])}}];
|
|
1
|
+
import{handleIntentRadar}from'../handlers/intent-radar.js';import{handleGoalOperation}from'../handlers/goal.js';import{handleEmployeeOperation}from'../handlers/employee.js';import{createToolMeta,IntentRadarInputSchema,IntentRadarOutputSchema,GoalOperationInputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema}from'../../schema/index.js';export const AGENT_TOOLS=[{'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'+'Watchable\x20event\x20families\x20(target_types):\x20market\x20opportunity\x20(ServiceEvent,\x20DemandChangedEvent,\x20'+'DemandPresentEvent\x20—\x20the\x20supply/demand\x20discovery\x20signals),\x20order/workflow\x20(NewOrderEvent,\x20'+'ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20'+'NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20'+'RewardWithdrawEvent,\x20NewPaymentEvent),\x20audit/watch\x20(PermissionChangedEvent,\x20'+'RepositoryDataOverwriteEvent).\x20Each\x20hit\x27s\x20business_meaning\x20comes\x20from\x20the\x20Event\x20Semantics\x20Registry.\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'goal_operation','handler':handleGoalOperation,'config':{'title':'🎯\x20Goal\x20-\x20Goal-Driven\x20Lifecycle\x20(GoalEngine)','summary':'Goal-driven\x20lifecycle:\x20create/list/get/approve/advance/pause/complete/abandon/delete\x20goals\x20+\x20event-bridged\x20advancement\x20suggestions\x20+\x20G5\x20boundaries/pursue/next-steps\x20(self-driving\x20within\x20user-granted\x20autonomy).','description':'GoalEngine\x20Agent\x20portal\x20(K3\x2024)\x20—\x20the\x20business-layer\x20storyline\x20ABOVE\x20projects/tasks:\x20'+'record\x20a\x20user\x20goal\x20once,\x20then\x20track\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20'+'RECOGNIZE\x20→\x20CONFIRM\x20→\x20BIND\x20→\x20PLAN\x20→\x20APPROVE\x20→\x20ACT\x20→\x20MONITOR\x20→\x20COMPLETE\x20(→\x20REFLECT).\x20'+'Near-duplicate\x20create\x20calls\x20ADOPT\x20the\x20existing\x20active\x20goal\x20(same\x20type\x20+\x20account\x20+\x20similar\x20intent)\x20'+'instead\x20of\x20forking\x20a\x20second\x20storyline.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20create\x20—\x20record\x20a\x20goal\x20from\x20intent_text\x20(goal_type\x20auto-classified;\x20override\x20with\x20goal_type).\x20'+'Pass\x20account\x20to\x20BIND\x20immediately\x20(local-account\x20preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).\x20'+'Goal\x20types\x20with\x20a\x20dedicated\x20playbook\x20(publish_service,\x20fulfill_order,\x20capture_demand,\x20publish_demand,\x20'+'purchase_service)\x20AUTOMATICALLY\x20attach\x20a\x20TaskProcess\x20(K3\x2024\x20§3.5):\x20the\x20long-task\x20carrier\x20with\x20a\x20named\x20'+'stage\x20sequence\x20+\x20events/problems/feedback/decisions\x20memory\x20streams;\x20create_process=true\x20forces\x20one\x20for\x20'+'the\x20other\x20(generic)\x20goal\x20types.\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20goals\x20(stage/account\x20filters;\x20include_finished\x20for\x20completed/abandoned)\x20+\x20per-stage\x20counts.\x0a'+'\x20\x20•\x20get\x20—\x20one\x20goal\x27s\x20full\x20record\x20(stage,\x20objects,\x20monitor\x20bindings,\x20approvals,\x20outcome).\x20Goals\x20with\x20a\x20'+'TaskProcess\x20also\x20return\x20process_summary\x20(current\x20stage,\x20per-stage\x20progress,\x20open\x20problems,\x20pending\x20'+'suggestions,\x20last\x20events,\x20feedback\x20count)\x20—\x20the\x20interrupted-task\x20resume\x20surface:\x20read\x20it,\x20then\x20continue\x20'+'with\x20advance\x20(there\x20is\x20no\x20separate\x20resume\x20action).\x0a'+'\x20\x20•\x20approve\x20—\x20APPROVE\x20station:\x20records\x20a\x20plan\x20approval;\x20while\x20active,\x20fail-open\x20ConfirmGate\x20rules\x20'+'(standard/none\x20levels)\x20auto-pass\x20for\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>,\x20and\x20successful\x20'+'creation\x20operations\x20carrying\x20that\x20stamp\x20auto-register\x20their\x20created\x20objects\x20into\x20the\x20goal\x20'+'(ACT\x20station\x20\x27execution\x20registers\x27).\x20'+'Fail-closed\x20levels\x20(irreversible/publish/amount)\x20ALWAYS\x20still\x20ask.\x0a'+'\x20\x20•\x20advance\x20—\x20forward\x20stage\x20move\x20(BIND/PLAN/ACT/MONITOR)\x20and/or\x20ACT\x20object\x20registration\x20'+'(objects:\x20[{type,\x20object}];\x20also\x20written\x20back\x20into\x20the\x20goal\x27s\x20TaskProcess\x20manifest).\x20'+'Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20for\x20the\x20goal\x27s\x20objects\x20'+'(and\x20a\x20radar\x20intent\x20for\x20demand\x20goals),\x20so\x20progress\x20surfaces\x20in\x20the\x20monitor\x20todo\x20stream.\x0a'+'\x20\x20•\x20pause\x20—\x20off-axis\x20hold\x20from\x20any\x20non-terminal\x20stage;\x20resume\x20via\x20advance.\x0a'+'\x20\x20•\x20complete\x20—\x20COMPLETE\x20station:\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20'+'(e.g.\x20publish_service\x20needs\x20a\x20live\x20Service;\x20purchase_service\x20needs\x20a\x20completed\x20Order).\x20'+'force=true\x20skips\x20verification\x20(audited\x20as\x20outcome.forced).\x20Tears\x20down\x20the\x20goal\x27s\x20monitor\x20bindings.\x20'+'Pass\x20feedback\x20{sentiment,\x20comment}\x20to\x20record\x20user\x20feedback\x20on\x20the\x20process;\x20the\x20outcome\x20is\x20distilled\x20'+'into\x20the\x20experience\x20layer\x20(REFLECT).\x0a'+'\x20\x20•\x20abandon\x20—\x20terminal\x20give-up\x20(reason\x20required);\x20same\x20monitor\x20teardown,\x20outcome.success=false.\x0a'+'\x20\x20•\x20delete\x20—\x20housekeeping:\x20remove\x20a\x20TERMINAL\x20goal\x20record\x20entirely\x20(record\x20+\x20stage-index\x20entries\x20+\x20'+'TaskProcess\x20dir).\x20force=true\x20also\x20allows\x20non-terminal\x20goals\x20(monitor\x20teardown\x20runs\x20first).\x0a'+'\x20\x20•\x20suggestions\x20—\x20T5-C:\x20the\x20goal\x27s\x20PENDING\x20advancement\x20suggestions\x20(monitor-bridged\x20POSITIVE\x20events:\x20'+'first\x20order\x20received\x20→\x20enter\x20monitoring;\x20arbitration\x20finished\x20→\x20verify\x20completion;\x20service\x20live\x20→\x20'+'verify\x20completion)\x20joined\x20with\x20its\x20OPEN\x20problems\x20—\x20the\x20single\x20consumption\x20face\x20for\x20\x27what\x20wants\x20my\x20'+'decision\x20on\x20this\x20goal\x27.\x20include_resolved=true\x20also\x20returns\x20confirmed/dismissed\x20ones.\x0a'+'\x20\x20•\x20suggestion_resolve\x20—\x20one-shot\x20decision\x20on\x20one\x20suggestion:\x20confirm\x20(apply=true\x20runs\x20the\x20suggested\x20'+'move\x20through\x20the\x20NORMAL\x20engine\x20stations\x20—\x20advance/complete\x20with\x20chain\x20verification\x20still\x20gating;\x20'+'apply=false\x20just\x20acknowledges)\x20or\x20dismiss\x20(note\x20optional,\x20audited).\x20A\x20suggestion\x20NEVER\x20auto-applies;\x20'+'when\x20applying\x20fails\x20the\x20suggestion\x20stays\x20pending\x20and\x20apply_error\x20explains\x20why.\x0a'+'\x20\x20•\x20boundaries\x20—\x20G5\x20CONFIRM\x20station:\x20the\x20boundary\x20questions\x20to\x20ask\x20the\x20user\x20BEFORE\x20the\x20goal\x20pursues\x20'+'autonomously\x20(budget\x20/\x20deadline\x20/\x20acceptance\x20requirements\x20/\x20autonomy)\x20+\x20the\x20current\x20boundaries\x20and\x20'+'what\x20is\x20still\x20missing.\x0a'+'\x20\x20•\x20boundaries_set\x20—\x20G5\x20CONFIRM\x20station:\x20set/merge-patch\x20the\x20boundaries.\x20budget\x20=\x20total\x20spend\x20ceiling\x20'+'(smallest\x20unit,\x20decimal\x20string;\x20over-budget\x20candidates\x20are\x20rejected,\x20never\x20asked),\x20deadline\x20=\x20ms\x20epoch\x20'+'(past\x20it\x20everything\x20stalls),\x20requirements\x20=\x20hard\x20acceptance\x20red\x20lines\x20(commitment\x20moves\x20wait\x20for\x20'+'verification),\x20autonomy\x20=\x20confirm_all\x20|\x20execute_low_risk\x20|\x20execute_all\x20(irreversible/publish/amount\x20'+'operations\x20ALWAYS\x20ask\x20regardless).\x20Setting\x20any\x20field\x20marks\x20CONFIRM\x20done.\x0a'+'\x20\x20•\x20pursue\x20—\x20G5\x20self-driving\x20tick:\x20gathers\x20the\x20goal\x27s\x20pending\x20suggestions\x20+\x20the\x20engine\x20completion\x20'+'check\x20(monitoring\x20station),\x20runs\x20them\x20through\x20the\x20boundary\x20filter\x20and\x20the\x20autonomy\x20mapping,\x20then\x20'+'APPLIES\x20the\x20allowed\x20moves\x20through\x20the\x20normal\x20engine\x20stations\x20(execute)\x20or\x20surfaces\x20them\x20as\x20pending\x20'+'suggestions\x20(ask_user).\x20Boundary\x20violations\x20stall\x20and\x20are\x20reported.\x20A\x20paused\x20goal\x20does\x20not\x20pursue.\x20'+'Call\x20it\x20after\x20monitor\x20events\x20/\x20periodically\x20—\x20the\x20monitor\x20loop\x20bridges\x20events\x20into\x20suggestions\x20in\x20'+'the\x20background\x20either\x20way.\x0a'+'\x20\x20•\x20next_steps\x20—\x20G5\x20user-driven\x20follow-ups:\x20recommended\x20next\x20steps\x20for\x20this\x20goal\x20—\x20station\x20steps\x20'+'(confirm\x20boundaries,\x20bind,\x20resolve\x20pending\x20suggestions,\x20advance),\x20the\x20G2\x20role-interest\x20view\x20pointer\x20'+'(when\x20the\x20goal\x20has\x20objects\x20+\x20a\x20binding:\x20operable\x20forwards,\x20blocked\x20moves,\x20risks\x20via\x20topology_bi\x20'+'interest_role),\x20and\x20business-loop\x20follow-ups\x20(what\x20goals\x20naturally\x20follow\x20this\x20one).\x20Works\x20for\x20'+'completed\x20goals\x20too\x20(follow-ups\x20lead).\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20natural-language\x20business\x20intent\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20puzzle\x20snapshots\x20→\x20cross-object\x20risk\x20calibration\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(STATIC_ANALYZERS_CLEAN/RISK_BLOCKED/RISK_PENDING_CONFIRM).\x20Omit\x20\x27puzzles\x27\x20but\x20pass\x20\x27intent\x27\x20'+'to\x20run\x20C1→C2\x20in\x20one\x20call.\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20circular\x20'+'refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20merchant\x20onboarding\x20wizard:\x20intent\x20→\x20industry\x20confirmation\x20→\x20module\x20adoption\x20→\x20'+'Blueprint\x20(L1\x20plan\x20projection)\x20→\x20evaluation\x20preview\x20→\x20harness\x20check\x20→\x20creation\x20plan.\x20Stateless\x20(pass\x20'+'guide_state/guide_confirm\x20to\x20advance);\x20NEVER\x20executes\x20on-chain\x20operations.\x0a\x0a'+'Local\x20goal\x20state\x20only;\x20the\x20only\x20chain\x20access\x20is\x20READ-ONLY\x20completion\x20verification\x20(complete\x20/\x20the\x20pursue\x20tick\x27s\x20completion\x20check).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27goal_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':GoalOperationInputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('goal',['goal','lifecycle','plan','approve','monitor','complete','abandon','objective'])}},{'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).\x20Timestamps:\x20pass\x20them\x20explicitly,\x20OR\x20pass\x20`progress`\x20(progress\x20object\x20address)\x20to\x20auto-derive\x20them\x20from\x20monitored\x20ProgressEvents\x20—\x20explicit\x20values\x20override\x20derived\x20ones.\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'+'\x20\x20•\x20suggest_incentive\x20—\x20the\x20employment\x20relationship\x27s\x20action\x20layer:\x20node\x20KPIs\x20(from\x20assess_kpi)\x20+\x20WIP\x20acceptance\x20evidence\x20+\x20liability\x20resolution\x20→\x20a\x20Reward\x20suggestion\x20(reward_grant\x20/\x20compensation_offset\x20/\x20correction_notice\x20/\x20none)\x20with\x20rationale\x20and\x20execution\x20hints.\x20Suggestion\x20ONLY\x20—\x20never\x20auto-executes;\x20the\x20merchant\x20confirms\x20and\x20runs\x20the\x20on-chain\x20reward/payment\x20ops\x20separately.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{handleIndustryPackOperation}from'../handlers/industry-pack.js';import{handleBenchmarkMigrationOperation}from'../handlers/benchmark-migration.js';import{handleStrategyReviewOperation}from'../handlers/strategy-review.js';import{handleWorkspaceOperation}from'../handlers/workspace.js';import{handleWorkflowOperation}from'../handlers/workflow.js';import{handlePermissionOperation}from'../handlers/permission.js';import{handleServiceCloneOperation}from'../handlers/service-clone.js';import{createToolMeta,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,BenchmarkMigrationSchema,BenchmarkMigrationOutputSchema,StrategyReviewOperationInputSchema,StrategyReviewOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema,ServiceCloneSchema,ServiceCloneOutputSchema}from'../../schema/index.js';import{BUILTIN_TEMPLATES}from'../../knowledge/builtin-templates.js';const BUILTIN_TEMPLATE_COUNT=BUILTIN_TEMPLATES['length'],BUILTIN_INDUSTRY_COUNT=new Set(BUILTIN_TEMPLATES['map'](a=>a['industry']))['size'];export const BUSINESS_TOOLS=[{'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?\x20template_drift\x20-\x20REPORT\x20builtin\x20template\x20files\x20whose\x20on-disk\x20body\x20differs\x20from\x20the\x20'+'in-code\x20catalog\x20(no_sentinel_legacy\x20/\x20stale_release\x20/\x20user_modified).\x20Run\x20this\x20FIRST\x20when\x20a\x20'+'template\x20change\x20appears\x20to\x20have\x20no\x20effect:\x20a\x20builtin\x20file\x20seeded\x20before\x20the\x20release\x20'+'sentinel\x20existed\x20carries\x20no\x20sentinel\x20and\x20is\x20never\x20upgraded\x20automatically.'+'\x20\x20?\x20repair_builtin_templates\x20-\x20RESEED\x20those\x20legacy\x20files\x20from\x20the\x20in-code\x20catalog.\x20'+'Identity-gated\x20on\x20a\x20known\x20builtin\x20id;\x20the\x20previous\x20body\x20is\x20kept\x20as\x20<file>.bak\x20and\x20a\x20'+'custom\x20(user)\x20template\x20is\x20never\x20touched.'+'\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'+'\x20\x20•\x20recommend_industry\x20—\x20business\x20intent\x20text\x20→\x20top-3\x20similar\x20industry\x20modes\x20(trait\x20similarity;\x20optional\x20strategy\x20statements\x20re-rank\x20by\x20lever\x20alignment).\x0a'+'\x20\x20•\x20list_modes\x20—\x20list\x20builtin\x20+\x20caller\x27s\x20custom\x20industry\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20derive\x20(and\x20register)\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20mode.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20iterate\x20an\x20existing\x20custom\x20mode\x20(version-bumped\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20register\x20a\x20fully\x20custom\x20mode\x20(machine_shape\x20+\x20key_risk\x20required).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20delete\x20a\x20custom\x20mode\x20(owner\x20only).\x0a'+'\x20\x20•\x20register_custom_metric\x20—\x20register\x20a\x20global\x20custom\x20evaluation\x20metric\x20(risk/benefit;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_metric\x20—\x20delete\x20a\x20custom\x20metric\x20(custom\x20only;\x20builtin\x20metrics\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20register_custom_constraint\x20—\x20register\x20a\x20custom\x20mode\x20constraint\x20(4\x20rule\x20types;\x20hard/soft;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_constraint\x20—\x20delete\x20a\x20custom\x20constraint\x20(custom\x20only;\x20builtin\x20constraints\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20list\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'benchmark_migration_operation','handler':handleBenchmarkMigrationOperation,'config':{'title':'🏆\x20Template\x20Migration\x20-\x20Industry\x20Templates\x20&\x20Competitor\x20Migration','summary':'MD\x20industry-archetype\x20templates\x20(hot-loaded,\x20'+BUILTIN_TEMPLATE_COUNT+'\x20built-ins)\x20+\x20pre-deploy\x20risk\x20scan\x20+\x20one-click\x20competitor\x20migration.','description':'Industry-archetype\x20MD\x20templates\x20and\x20one-click\x20competitor\x20migration\x20(V2\x20MD-template\x20architecture).\x20'+'Templates\x20live\x20in\x20`.wowok/industry/<industry>/templates/<variant>.md`\x20(the\x20client\x27s\x20industry\x20drawer\x20tree\x20—\x20hot-loaded,\x20zod-validated\x20frontmatter;\x20'+(BUILTIN_TEMPLATE_COUNT+'\x20built-in\x20archetypes\x20across\x20'+BUILTIN_INDUSTRY_COUNT+'\x20industries\x20are\x20seeded\x20idempotently\x20and\x20never\x20')+'overwritten).\x20Each\x20template\x20is\x20a\x20ScenarioMode-compatible\x20build\x20shape\x20(machine_shape\x20/\x20guards\x20/\x20'+'allocator)\x20plus\x20fee\x20parameters\x20and\x20R1-R10\x20trust\x20mechanisms.\x0a\x0a'+'Product\x20tagging:\x20every\x20built-in\x20carries\x20a\x20`product_ref`\x20benchmark\x20slug\x20(e.g.\x20retail/scale-marketplace\x20→\x20'+'\x27amazon\x27,\x20travel/global-ota\x20→\x20\x27booking-com\x27).\x20This\x20is\x20the\x20ONLY\x20sanctioned\x20company\x20name\x20—\x20it\x20lets\x20a\x20user\x20'+'pick\x20a\x20template\x20by\x20naming\x20the\x20incumbent\x20product\x20they\x20want\x20to\x20migrate\x20from.\x20When\x20the\x20user\x20names\x20a\x20product,\x20'+'call\x20template_list\x20and\x20match\x20on\x20product_ref,\x20then\x20template_generate/migration_apply\x20with\x20that\x20template_id.\x0a\x0a'+'Three\x20build\x20modes\x20(choose\x20from\x20the\x20user\x27s\x20intent):\x0a'+'\x20\x20•\x20template-driven\x20—\x20pick\x20the\x20closest\x20product_ref/industry\x20template,\x20adopt\x20it\x20as-is\x20(template_generate).\x0a'+'\x20\x20•\x20template\x20+\x20partial\x20customization\x20—\x20start\x20from\x20a\x20template,\x20then\x20override\x20fee_params\x20(fee_overrides)\x20or\x20'+'edit\x20the\x20MD\x20file\x20via\x20industry_pack_operation\x20write_file\x20before\x20generating.\x0a'+'\x20\x20•\x20fully\x20custom\x20—\x20skip\x20templates;\x20drive\x20the\x20merchant-guide\x20pipeline\x20from\x20a\x20free-text\x20description.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20template_list\x20—\x20list\x20the\x20loaded\x20MD\x20templates\x20(optional\x20industry\x20filter;\x20rows\x20carry\x20product_ref);\x20load\x20errors\x20are\x20'+'reported,\x20never\x20silently\x20dropped.\x0a'+'\x20\x20•\x20template_get\x20—\x20fetch\x20one\x20template\x20by\x20template_id\x20(full\x20machine_shape/guards/allocator/'+'fee_params/trust_mechanisms/body).\x0a'+'\x20\x20•\x20template_generate\x20—\x20generate\x20a\x20creation\x20plan\x20from\x20a\x20template\x20via\x20the\x20merchant-guide\x20pipeline\x20'+'(template_id\x20required;\x20scan-first\x20—\x20CRITICAL\x20findings\x20block;\x20description\x20optional\x20as\x20the\x20intent\x20'+'text;\x20fee_overrides\x20optional;\x20never\x20executes\x20on-chain).\x0a'+'\x20\x20•\x20template_scan\x20—\x20pre-deploy\x20risk\x20scan\x20of\x20one\x20template\x20(template_id\x20required):\x20synthetic\x20draft\x20'+'topology\x20through\x20the\x20same\x20rule\x20surface\x20as\x20on-chain\x20analyze\x20+\x20static\x20R1-R10\x20checks;\x20returns\x20'+'risk_level/findings/red_flags;\x20CRITICAL\x20blocks\x20generation/apply.\x0a'+'\x20\x20•\x20migration_import\x20—\x20competitor\x20URL/description\x20→\x20structured\x20MigrationLog:\x20mapped\x20/\x20'+'unmapped\x20/\x20manual_review\x20entries,\x20WoWok\x20advantages,\x20customizable\x20modules,\x20role\x20assessment\x20'+'and\x20a\x20dry-run\x20risk\x20check\x20(description\x20required;\x20url\x20recorded\x20as\x20provenance\x20only;\x20default\x20'+'network\x20testnet).\x0a'+'\x20\x20•\x20migration_review\x20—\x20surface\x20a\x20prior\x20MigrationLog\x20with\x20counts\x20+\x20risk\x20status\x20for\x20user\x20'+'confirmation\x20(log\x20required).\x0a'+'\x20\x20•\x20migration_apply\x20—\x20run\x20the\x20approved\x20template\x20through\x20the\x20merchant-guide\x20pipeline\x20'+'(template_id\x20required;\x20scan-first\x20—\x20CRITICAL\x20findings\x20block;\x20creation\x20plan\x20only\x20—\x20never\x20executes\x20'+'on-chain;\x20default\x20network\x20testnet,\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).\x0a\x0a'+'Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27benchmark_migration_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':BenchmarkMigrationSchema,'outputSchema':BenchmarkMigrationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('benchmark_migration',['template','migration','competitor','industry','leader','challenger','scan','risk'])}},{'name':'service_clone_operation','handler':handleServiceCloneOperation,'config':{'title':'🧬\x20Service\x20Clone\x20-\x20Rebuild\x20On-chain\x20Services','summary':'Read\x20an\x20existing\x20Service\x27s\x20full\x20configuration\x20and\x20rebuild\x20it\x20as\x20a\x20new\x20object\x20with\x20optional\x20overrides\x20(token,\x20network,\x20fees).','description':'Clone\x20an\x20existing\x20on-chain\x20Service\x20into\x20a\x20new\x20object.\x20'+'Two\x20actions:\x0a'+'\x20\x20•\x20clone_plan\x20—\x20read\x20the\x20source\x20Service\x20(service\x20fields,\x20machine\x20graph,\x20guards,\x20permission,\x20'+'allocators)\x20and\x20emit\x20a\x20reconstruction\x20plan.\x20Optional\x20overrides:\x20token_type\x20(change\x20payment\x20'+'token),\x20network\x20(target\x20network),\x20description,\x20location,\x20sales,\x20compensation_fund,\x20'+'order_allocators.\x20Never\x20executes\x20on-chain.\x0a'+'\x20\x20•\x20clone_apply\x20—\x20take\x20a\x20prior\x20clone_plan\x20(possibly\x20user-edited),\x20apply\x20overrides,\x20run\x20the\x20'+'pre-publish\x20gate\x20(machine\x20topology,\x20allocator\x20guard\x20lint,\x20immutability\x20warnings),\x20and\x20emit\x20'+'the\x20exact\x20onchain_operations\x20payloads\x20in\x20execution\x20order.\x20Never\x20executes\x20on-chain.\x0a\x0a'+'Workflow:\x20clone_plan\x20→\x20review/edit\x20the\x20plan\x20→\x20clone_apply\x20→\x20review\x20gate\x20findings\x20→\x20execute\x20'+'the\x20operations\x20via\x20onchain_operations.\x0a\x0a'+'Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27service_clone_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':ServiceCloneSchema,'outputSchema':ServiceCloneOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('service_clone',['clone','service','rebuild','token','network','migrate'])}},{'name':'strategy_review_operation','handler':handleStrategyReviewOperation,'config':{'title':'📈\x20Strategy\x20Review\x20-\x20Posture-Weighted\x20Scorecard\x20&\x20Periodic\x20Review','summary':'Collect\x20on-chain/derived\x20evidence\x20for\x20an\x20(account,\x20industry),\x20snapshot\x20it\x20locally,\x20and\x20assemble\x20posture-weighted\x20strategy\x20reviews\x20with\x20current-layer\x20persona\x20proposals.','description':'Evidence-driven\x20operating\x20review\x20for\x20one\x20merchant\x20account\x20in\x20one\x20industry,\x20built\x20on\x20the\x20six-industry\x20'+'strategy\x20catalog\x20(education/rental/freelance/subscription/travel/retail\x20+\x20pack-registered\x20ids).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20collect\x20—\x20gather\x20fresh\x20evidence\x20(journey\x20funnel,\x20order\x20flow,\x20market\x20metrics,\x20service\x20discovery\x20/\x20'+'competitor\x20count,\x20arbitration\x20trust,\x20account\x20attention),\x20persist\x20ONE\x20append-only\x20snapshot\x20in\x20local\x20'+'SQLite\x20KV,\x20and\x20return\x20the\x20raw\x20collection.\x20Failed\x20evidence\x20sources\x20degrade\x20single\x20metrics\x20to\x20'+'unavailable/error\x20—\x20never\x20zero-filled;\x20storage\x20failure\x20is\x20fail-soft\x20and\x20never\x20loses\x20the\x20collection.\x0a'+'\x20\x20•\x20review\x20—\x20gather\x20fresh\x20evidence\x20WITHOUT\x20persisting,\x20diff\x20against\x20the\x20latest\x20stored\x20snapshot,\x20'+'score\x200–100\x20under\x20the\x20persona\x27s\x20merchant\x20posture\x20(volume/balanced/margin,\x20renormalized\x20over\x20'+'available\x20anchored\x20metrics),\x20and\x20return\x20findings,\x20deterministic\x20pricing/posture\x20recommendations,\x20'+'cadence\x20status\x20and\x20at\x20most\x20two\x20persona\x20proposals.\x20Proposals\x20target\x20the\x20CURRENT\x20layer\x20ONLY\x20and\x20are\x20'+'applied\x20only\x20when\x20the\x20user\x20explicitly\x20calls\x20persona_operation\x20apply\x20—\x20this\x20tool\x20never\x20writes\x20the\x20'+'persona\x20and\x20never\x20mutates\x20chain\x20state.\x0a'+'\x20\x20•\x20list_snapshots\x20—\x20list\x20stored\x20snapshot\x20summaries\x20(oldest-first)\x20for\x20account+industry.\x0a\x0a'+'Posture\x20defaults:\x20explicit\x20`posture`\x20arg\x20→\x20merchant\x20posture\x20in\x20the\x20effective\x20persona\x20→\x20\x27balanced\x27.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27strategy_review_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':StrategyReviewOperationInputSchema,'outputSchema':StrategyReviewOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('strategy',['strategy','scorecard','review','posture','metrics','industry','competitor','retention','dispute'])},'timeoutMs':0x1d4c0},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20search,\x20glob,\x20edit,\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);\x20optional\x20offset/limit\x20line\x20slicing\x20'+'(1-based\x20offset,\x20max\x202000\x20lines)\x20and\x20encoding=\x27base64\x27\x20for\x20raw\x20bytes\x20(≤10MB).\x0a'+'\x20\x20•\x20search\x20—\x20regex\x20content\x20search\x20across\x20workspace\x20files\x20(pattern\x20required;\x20optional\x20path\x20scope,\x20'+'glob\x20basename\x20filter,\x20ignore_case,\x20max_results\x20≤200,\x20context_lines\x20≤5).\x20Skips\x20binary/large\x20files.\x0a'+'\x20\x20•\x20glob\x20—\x20list\x20files\x20whose\x20workspace-relative\x20path\x20matches\x20a\x20wildcard\x20pattern\x20(\x27**\x27\x20spans\x20'+'directories,\x20\x27*\x27\x20stays\x20within\x20one\x20segment,\x20\x27?\x27\x20=\x20one\x20char,\x20\x27{a,b}\x27\x20alternation).\x0a'+'\x20\x20•\x20edit\x20—\x20exact\x20string\x20replacement\x20inside\x20a\x20file\x20(path\x20+\x20old_string\x20+\x20new_string\x20required;\x20'+'errors\x20when\x20old_string\x20is\x20not\x20unique\x20unless\x20replace_all=true;\x20files\x20≤2MB).\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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\x20progress\x20(actionable\x20+\x20related/history)\x20+\x20advance/hold/unhold\x20forwards\x20+\x20view\x20progress\x20history.','description':'Local-account\x20workflow\x20view\x20over\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20progress\x20related\x20to\x20local\x20accounts:\x20actionable\x20first\x20(a\x20'+'local\x20account\x20can\x20advance\x20a\x20forward),\x20plus\x20related\x20/\x20completed\x20progress\x20(order\x20'+'holder,\x20named\x20operator,\x20or\x20session\x20operator\x20involvement)\x20so\x20the\x20user\x20always\x20'+'keeps\x20visibility\x20of\x20their\x20own\x20progress\x20history.\x20Each\x20task\x20carries\x20every\x20'+'reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport),\x20and\x20'+'the\x20on-chain\x20history_count.\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'+'\x20\x20•\x20history\x20—\x20incrementally\x20sync\x20a\x20progress\x27s\x20ON-CHAIN\x20history\x20(Progress.history\x20'+'append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20'+'(only\x20NEW\x20records\x20are\x20pulled),\x20then\x20return\x20the\x20migration\x20timeline\x20(newest\x20first)\x20'+'with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20address\x20/\x20weight\x20/\x20time).\x20'+'Also\x20runs\x20a\x2090-day\x20retention\x20cleanup\x20of\x20stale\x20progress\x20histories\x20by\x20default.\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])},'timeoutMs':0x1d4c0},{'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).\x20Pass\x20`permission`\x20to\x20scope\x20the\x20listing\x20to\x20ONE\x20Permission\x20address\x20—\x20fast\x20path\x20'+'(metadata\x20+\x20local-account\x20roles\x20only;\x20skips\x20the\x20per-permission\x20linker/tx-time\x20fan-out)\x20'+'for\x20detail-page\x20Permission\x20rows.\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])}}];
|
|
1
|
+
import{handleIndustryPackOperation}from'../handlers/industry-pack.js';import{handleBenchmarkMigrationOperation}from'../handlers/benchmark-migration.js';import{handleStrategyReviewOperation}from'../handlers/strategy-review.js';import{handleWorkspaceOperation}from'../handlers/workspace.js';import{handleWorkflowOperation}from'../handlers/workflow.js';import{handlePermissionOperation}from'../handlers/permission.js';import{handleServiceCloneOperation}from'../handlers/service-clone.js';import{createToolMeta,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,BenchmarkMigrationSchema,BenchmarkMigrationOutputSchema,StrategyReviewOperationInputSchema,StrategyReviewOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema,ServiceCloneSchema,ServiceCloneOutputSchema}from'../../schema/index.js';import{BUILTIN_TEMPLATES}from'../../knowledge/builtin-templates.js';const BUILTIN_TEMPLATE_COUNT=BUILTIN_TEMPLATES['length'],BUILTIN_INDUSTRY_COUNT=new Set(BUILTIN_TEMPLATES['map'](a=>a['industry']))['size'];export const BUSINESS_TOOLS=[{'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?\x20template_drift\x20-\x20REPORT\x20builtin\x20template\x20files\x20whose\x20on-disk\x20body\x20differs\x20from\x20the\x20'+'in-code\x20catalog\x20(no_sentinel_legacy\x20/\x20stale_release\x20/\x20user_modified).\x20Run\x20this\x20FIRST\x20when\x20a\x20'+'template\x20change\x20appears\x20to\x20have\x20no\x20effect:\x20a\x20builtin\x20file\x20seeded\x20before\x20the\x20release\x20'+'sentinel\x20existed\x20carries\x20no\x20sentinel\x20and\x20is\x20never\x20upgraded\x20automatically.'+'\x20\x20?\x20repair_builtin_templates\x20-\x20RESEED\x20those\x20legacy\x20files\x20from\x20the\x20in-code\x20catalog.\x20'+'Identity-gated\x20on\x20a\x20known\x20builtin\x20id;\x20the\x20previous\x20body\x20is\x20kept\x20as\x20<file>.bak\x20and\x20a\x20'+'custom\x20(user)\x20template\x20is\x20never\x20touched.'+'\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'+'\x20\x20•\x20recommend_industry\x20—\x20business\x20intent\x20text\x20→\x20top-3\x20similar\x20industry\x20modes\x20(trait\x20similarity;\x20optional\x20strategy\x20statements\x20re-rank\x20by\x20lever\x20alignment).\x0a'+'\x20\x20•\x20list_modes\x20—\x20list\x20builtin\x20+\x20caller\x27s\x20custom\x20industry\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20derive\x20(and\x20register)\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20mode.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20iterate\x20an\x20existing\x20custom\x20mode\x20(version-bumped\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20register\x20a\x20fully\x20custom\x20mode\x20(machine_shape\x20+\x20key_risk\x20required).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20delete\x20a\x20custom\x20mode\x20(owner\x20only).\x0a'+'\x20\x20•\x20register_custom_metric\x20—\x20register\x20a\x20global\x20custom\x20evaluation\x20metric\x20(risk/benefit;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_metric\x20—\x20delete\x20a\x20custom\x20metric\x20(custom\x20only;\x20builtin\x20metrics\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20register_custom_constraint\x20—\x20register\x20a\x20custom\x20mode\x20constraint\x20(4\x20rule\x20types;\x20hard/soft;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_constraint\x20—\x20delete\x20a\x20custom\x20constraint\x20(custom\x20only;\x20builtin\x20constraints\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20list\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'benchmark_migration_operation','handler':handleBenchmarkMigrationOperation,'config':{'title':'🏆\x20Template\x20Migration\x20-\x20Industry\x20Templates\x20&\x20Competitor\x20Migration','summary':'MD\x20industry-archetype\x20templates\x20(hot-loaded,\x20'+BUILTIN_TEMPLATE_COUNT+'\x20built-ins)\x20+\x20pre-deploy\x20risk\x20scan\x20+\x20one-click\x20competitor\x20migration.','description':'Industry-archetype\x20MD\x20templates\x20and\x20one-click\x20competitor\x20migration\x20(V2\x20MD-template\x20architecture).\x20'+'Templates\x20live\x20in\x20`.wowok/industry/<industry>/templates/<variant>.md`\x20(the\x20client\x27s\x20industry\x20drawer\x20tree\x20—\x20hot-loaded,\x20zod-validated\x20frontmatter;\x20'+(BUILTIN_TEMPLATE_COUNT+'\x20built-in\x20archetypes\x20across\x20'+BUILTIN_INDUSTRY_COUNT+'\x20industries\x20are\x20seeded\x20idempotently\x20and\x20never\x20')+'overwritten).\x20Each\x20template\x20is\x20a\x20ScenarioMode-compatible\x20build\x20shape\x20(machine_shape\x20/\x20guards\x20/\x20'+'allocator)\x20plus\x20fee\x20parameters\x20and\x20R1-R10\x20trust\x20mechanisms.\x0a\x0a'+'Product\x20tagging:\x20every\x20built-in\x20carries\x20a\x20`product_ref`\x20benchmark\x20slug\x20(e.g.\x20retail/scale-marketplace\x20→\x20'+'\x27amazon\x27,\x20travel/global-ota\x20→\x20\x27booking-com\x27).\x20This\x20is\x20the\x20ONLY\x20sanctioned\x20company\x20name\x20—\x20it\x20lets\x20a\x20user\x20'+'pick\x20a\x20template\x20by\x20naming\x20the\x20incumbent\x20product\x20they\x20want\x20to\x20migrate\x20from.\x20When\x20the\x20user\x20names\x20a\x20product,\x20'+'call\x20template_list\x20and\x20match\x20on\x20product_ref,\x20then\x20template_generate/migration_apply\x20with\x20that\x20template_id.\x0a\x0a'+'Three\x20build\x20modes\x20(choose\x20from\x20the\x20user\x27s\x20intent):\x0a'+'\x20\x20•\x20template-driven\x20—\x20pick\x20the\x20closest\x20product_ref/industry\x20template,\x20adopt\x20it\x20as-is\x20(template_generate).\x0a'+'\x20\x20•\x20template\x20+\x20partial\x20customization\x20—\x20start\x20from\x20a\x20template,\x20then\x20override\x20fee_params\x20(fee_overrides)\x20or\x20'+'edit\x20the\x20MD\x20file\x20via\x20industry_pack_operation\x20write_file\x20before\x20generating.\x0a'+'\x20\x20•\x20fully\x20custom\x20—\x20skip\x20templates;\x20drive\x20the\x20merchant-guide\x20pipeline\x20from\x20a\x20free-text\x20description.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20template_list\x20—\x20list\x20the\x20loaded\x20MD\x20templates\x20(optional\x20industry\x20filter;\x20rows\x20carry\x20product_ref);\x20load\x20errors\x20are\x20'+'reported,\x20never\x20silently\x20dropped.\x0a'+'\x20\x20•\x20template_get\x20—\x20fetch\x20one\x20template\x20by\x20template_id\x20(full\x20machine_shape/guards/allocator/'+'fee_params/trust_mechanisms/body).\x0a'+'\x20\x20•\x20template_generate\x20—\x20generate\x20a\x20creation\x20plan\x20from\x20a\x20template\x20via\x20the\x20merchant-guide\x20pipeline\x20'+'(template_id\x20required;\x20scan-first\x20—\x20CRITICAL\x20findings\x20block;\x20description\x20optional\x20as\x20the\x20intent\x20'+'text;\x20fee_overrides\x20optional;\x20never\x20executes\x20on-chain).\x0a'+'\x20\x20•\x20template_scan\x20—\x20pre-deploy\x20risk\x20scan\x20of\x20one\x20template\x20(template_id\x20required):\x20synthetic\x20draft\x20'+'topology\x20through\x20the\x20same\x20rule\x20surface\x20as\x20on-chain\x20analyze\x20+\x20static\x20R1-R10\x20checks;\x20returns\x20'+'risk_level/findings/red_flags\x20plus\x20a\x20drift\x20face\x20(disk-vs-catalog\x20provenance\x20of\x20the\x20scanned\x20'+'body\x20—\x20blocked=true\x20means\x20the\x20audited\x20body\x20is\x20not\x20the\x20shipped\x20catalog\x20body);\x20CRITICAL\x20blocks\x20'+'generation/apply.\x0a'+'\x20\x20•\x20migration_import\x20—\x20competitor\x20URL/description\x20→\x20structured\x20MigrationLog:\x20mapped\x20/\x20'+'unmapped\x20/\x20manual_review\x20entries,\x20WoWok\x20advantages,\x20customizable\x20modules,\x20role\x20assessment\x20'+'and\x20a\x20dry-run\x20risk\x20check\x20(description\x20required;\x20url\x20recorded\x20as\x20provenance\x20only;\x20default\x20'+'network\x20testnet).\x0a'+'\x20\x20•\x20migration_review\x20—\x20surface\x20a\x20prior\x20MigrationLog\x20with\x20counts\x20+\x20risk\x20status\x20for\x20user\x20'+'confirmation\x20(log\x20required).\x0a'+'\x20\x20•\x20migration_apply\x20—\x20run\x20the\x20approved\x20template\x20through\x20the\x20merchant-guide\x20pipeline\x20'+'(template_id\x20required;\x20scan-first\x20—\x20CRITICAL\x20findings\x20block;\x20creation\x20plan\x20only\x20—\x20never\x20executes\x20'+'on-chain;\x20default\x20network\x20testnet,\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).\x0a\x0a'+'Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27benchmark_migration_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':BenchmarkMigrationSchema,'outputSchema':BenchmarkMigrationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('benchmark_migration',['template','migration','competitor','industry','leader','challenger','scan','risk'])}},{'name':'service_clone_operation','handler':handleServiceCloneOperation,'config':{'title':'🧬\x20Service\x20Clone\x20-\x20Rebuild\x20On-chain\x20Services','summary':'Read\x20an\x20existing\x20Service\x27s\x20full\x20configuration\x20and\x20rebuild\x20it\x20as\x20a\x20new\x20object\x20with\x20optional\x20overrides\x20(token,\x20network,\x20fees).','description':'Clone\x20an\x20existing\x20on-chain\x20Service\x20into\x20a\x20new\x20object.\x20'+'Two\x20actions:\x0a'+'\x20\x20•\x20clone_plan\x20—\x20read\x20the\x20source\x20Service\x20(service\x20fields,\x20machine\x20graph,\x20guards,\x20permission,\x20'+'allocators)\x20and\x20emit\x20a\x20reconstruction\x20plan.\x20Optional\x20overrides:\x20token_type\x20(change\x20payment\x20'+'token),\x20network\x20(target\x20network),\x20description,\x20location,\x20sales,\x20compensation_fund,\x20'+'order_allocators.\x20Never\x20executes\x20on-chain.\x0a'+'\x20\x20•\x20clone_apply\x20—\x20take\x20a\x20prior\x20clone_plan\x20(possibly\x20user-edited),\x20apply\x20overrides,\x20run\x20the\x20'+'pre-publish\x20gate\x20(machine\x20topology,\x20allocator\x20guard\x20lint,\x20immutability\x20warnings),\x20and\x20emit\x20'+'the\x20exact\x20onchain_operations\x20payloads\x20in\x20execution\x20order.\x20Never\x20executes\x20on-chain.\x0a\x0a'+'Workflow:\x20clone_plan\x20→\x20review/edit\x20the\x20plan\x20→\x20clone_apply\x20→\x20review\x20gate\x20findings\x20→\x20execute\x20'+'the\x20operations\x20via\x20onchain_operations.\x0a\x0a'+'Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27service_clone_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':ServiceCloneSchema,'outputSchema':ServiceCloneOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('service_clone',['clone','service','rebuild','token','network','migrate'])}},{'name':'strategy_review_operation','handler':handleStrategyReviewOperation,'config':{'title':'📈\x20Strategy\x20Review\x20-\x20Posture-Weighted\x20Scorecard\x20&\x20Periodic\x20Review','summary':'Collect\x20on-chain/derived\x20evidence\x20for\x20an\x20(account,\x20industry),\x20snapshot\x20it\x20locally,\x20and\x20assemble\x20posture-weighted\x20strategy\x20reviews\x20with\x20current-layer\x20persona\x20proposals.','description':'Evidence-driven\x20operating\x20review\x20for\x20one\x20merchant\x20account\x20in\x20one\x20industry,\x20built\x20on\x20the\x20six-industry\x20'+'strategy\x20catalog\x20(education/rental/freelance/subscription/travel/retail\x20+\x20pack-registered\x20ids).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20collect\x20—\x20gather\x20fresh\x20evidence\x20(journey\x20funnel,\x20order\x20flow,\x20market\x20metrics,\x20service\x20discovery\x20/\x20'+'competitor\x20count,\x20arbitration\x20trust,\x20account\x20attention),\x20persist\x20ONE\x20append-only\x20snapshot\x20in\x20local\x20'+'SQLite\x20KV,\x20and\x20return\x20the\x20raw\x20collection.\x20Failed\x20evidence\x20sources\x20degrade\x20single\x20metrics\x20to\x20'+'unavailable/error\x20—\x20never\x20zero-filled;\x20storage\x20failure\x20is\x20fail-soft\x20and\x20never\x20loses\x20the\x20collection.\x0a'+'\x20\x20•\x20review\x20—\x20gather\x20fresh\x20evidence\x20WITHOUT\x20persisting,\x20diff\x20against\x20the\x20latest\x20stored\x20snapshot,\x20'+'score\x200–100\x20under\x20the\x20persona\x27s\x20merchant\x20posture\x20(volume/balanced/margin,\x20renormalized\x20over\x20'+'available\x20anchored\x20metrics),\x20and\x20return\x20findings,\x20deterministic\x20pricing/posture\x20recommendations,\x20'+'cadence\x20status\x20and\x20at\x20most\x20two\x20persona\x20proposals.\x20Proposals\x20target\x20the\x20CURRENT\x20layer\x20ONLY\x20and\x20are\x20'+'applied\x20only\x20when\x20the\x20user\x20explicitly\x20calls\x20persona_operation\x20apply\x20—\x20this\x20tool\x20never\x20writes\x20the\x20'+'persona\x20and\x20never\x20mutates\x20chain\x20state.\x0a'+'\x20\x20•\x20list_snapshots\x20—\x20list\x20stored\x20snapshot\x20summaries\x20(oldest-first)\x20for\x20account+industry.\x0a\x0a'+'Posture\x20defaults:\x20explicit\x20`posture`\x20arg\x20→\x20merchant\x20posture\x20in\x20the\x20effective\x20persona\x20→\x20\x27balanced\x27.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27strategy_review_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':StrategyReviewOperationInputSchema,'outputSchema':StrategyReviewOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('strategy',['strategy','scorecard','review','posture','metrics','industry','competitor','retention','dispute'])},'timeoutMs':0x1d4c0},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20search,\x20glob,\x20edit,\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);\x20optional\x20offset/limit\x20line\x20slicing\x20'+'(1-based\x20offset,\x20max\x202000\x20lines)\x20and\x20encoding=\x27base64\x27\x20for\x20raw\x20bytes\x20(≤10MB).\x0a'+'\x20\x20•\x20search\x20—\x20regex\x20content\x20search\x20across\x20workspace\x20files\x20(pattern\x20required;\x20optional\x20path\x20scope,\x20'+'glob\x20basename\x20filter,\x20ignore_case,\x20max_results\x20≤200,\x20context_lines\x20≤5).\x20Skips\x20binary/large\x20files.\x0a'+'\x20\x20•\x20glob\x20—\x20list\x20files\x20whose\x20workspace-relative\x20path\x20matches\x20a\x20wildcard\x20pattern\x20(\x27**\x27\x20spans\x20'+'directories,\x20\x27*\x27\x20stays\x20within\x20one\x20segment,\x20\x27?\x27\x20=\x20one\x20char,\x20\x27{a,b}\x27\x20alternation).\x0a'+'\x20\x20•\x20edit\x20—\x20exact\x20string\x20replacement\x20inside\x20a\x20file\x20(path\x20+\x20old_string\x20+\x20new_string\x20required;\x20'+'errors\x20when\x20old_string\x20is\x20not\x20unique\x20unless\x20replace_all=true;\x20files\x20≤2MB).\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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\x20progress\x20(actionable\x20+\x20related/history)\x20+\x20advance/hold/unhold\x20forwards\x20+\x20view\x20progress\x20history.','description':'Local-account\x20workflow\x20view\x20over\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20progress\x20related\x20to\x20local\x20accounts:\x20actionable\x20first\x20(a\x20'+'local\x20account\x20can\x20advance\x20a\x20forward),\x20plus\x20related\x20/\x20completed\x20progress\x20(order\x20'+'holder,\x20named\x20operator,\x20or\x20session\x20operator\x20involvement)\x20so\x20the\x20user\x20always\x20'+'keeps\x20visibility\x20of\x20their\x20own\x20progress\x20history.\x20Each\x20task\x20carries\x20every\x20'+'reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport),\x20and\x20'+'the\x20on-chain\x20history_count.\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'+'\x20\x20•\x20history\x20—\x20incrementally\x20sync\x20a\x20progress\x27s\x20ON-CHAIN\x20history\x20(Progress.history\x20'+'append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20'+'(only\x20NEW\x20records\x20are\x20pulled),\x20then\x20return\x20the\x20migration\x20timeline\x20(newest\x20first)\x20'+'with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20address\x20/\x20weight\x20/\x20time).\x20'+'Also\x20runs\x20a\x2090-day\x20retention\x20cleanup\x20of\x20stale\x20progress\x20histories\x20by\x20default.\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])},'timeoutMs':0x1d4c0},{'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).\x20Pass\x20`permission`\x20to\x20scope\x20the\x20listing\x20to\x20ONE\x20Permission\x20address\x20—\x20fast\x20path\x20'+'(metadata\x20+\x20local-account\x20roles\x20only;\x20skips\x20the\x20per-permission\x20linker/tx-time\x20fan-out)\x20'+'for\x20detail-page\x20Permission\x20rows.\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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'])}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from'zod';import{handleWipOperations}from'../handlers/wip.js';import{handleGuard2File,handleMachineNode2File}from'../handlers/file-export.js';import{strictStatusErrorShape}from'../wrap.js';import{createToolMeta,WipOperationsSchema,WipOperationOutputSchema,Guard2File_InputSchema,Guard2File_OutputWrappedSchema,MachineNode2File_InputSchema,MachineNode2File_OutputWrappedSchema}from'../../schema/index.js';export const FILE_TOOLS=[{'name':'wip_file','handler':handleWipOperations,'config':{'title':'🤝\x20Witness\x20Immutable\x20Promise\x20File\x20Operations','summary':'WIP\x20promise\x20file\x20operations:\x20generate,\x20verify,\x20sign,\x20wip2html,\x20upload/list/delete\x20on\x20wip\x20storage.','description':'
|
|
1
|
+
import{z}from'zod';import{handleWipOperations}from'../handlers/wip.js';import{handleGuard2File,handleMachineNode2File}from'../handlers/file-export.js';import{strictStatusErrorShape}from'../wrap.js';import{createToolMeta,WipOperationsSchema,WipOperationOutputSchema,Guard2File_InputSchema,Guard2File_OutputWrappedSchema,MachineNode2File_InputSchema,MachineNode2File_OutputWrappedSchema}from'../../schema/index.js';export const FILE_TOOLS=[{'name':'wip_file','handler':handleWipOperations,'config':{'title':'🤝\x20Witness\x20Immutable\x20Promise\x20File\x20Operations','summary':'WIP\x20promise\x20file\x20operations:\x20generate,\x20verify,\x20sign,\x20wip2html,\x20upload/list/delete\x20on\x20wip\x20storage.','description':'WIP\x20promise\x20file\x20operations:\x20generate,\x20verify,\x20sign,\x20wip2html,\x20upload/list/delete\x20on\x20wip\x20storage.\x0a\x0aCALL\x20PLACEMENT\x20(F11):\x20`type`/`options`/`outputPath`\x20live\x20INSIDE\x20`data`\x20—\x20wowok({tool:\x22wip_file\x22,\x20data:{type:\x22generate\x22,\x20options:{markdown_text:\x22...\x22}}}).\x20They\x20are\x20NOT\x20root-level\x20params\x20of\x20the\x20wowok\x20call,\x20and\x20wip_file\x20is\x20its\x20OWN\x20top-level\x20sub-tool\x20(never\x20nested\x20inside\x20onchain_operations).\x0a\x0agenerate\x20(create\x20WIP\x20files\x20from\x20markdown\x20and\x20images),\x20verify\x20(integrity\x20check),\x20sign\x20(add\x20signatures),\x20wip2html\x20(convert\x20to\x20HTML),\x20or\x20storage\x20operations:\x20upload\x20/\x20storage_list\x20/\x20storage_delete.\x0a\x0aStorage\x20options\x20for\x20type=\x27upload\x27:\x0a\x20\x20•\x20storage=\x27store\x27\x20(default):\x20official\x20FREE\x20store\x20wip.store.wowok.net\x20—\x20zero\x20setup,\x20files\x20get\x20a\x20public\x20hash-addressed\x20URL\x20(https://wip.store.wowok.net/f/{hash}).\x20Free\x20tier\x20limited\x20to\x2010\x20files\x20per\x20account;\x20when\x20the\x20quota\x20is\x20hit\x20the\x20error\x20returns\x20the\x20stored\x20file\x20list\x20for\x20deletion\x20(use\x20storage_delete).\x20Declaration:\x20files\x20are\x20retained\x20for\x206\x20months\x20(180\x20days);\x20free\x20best-effort\x20service\x20—\x20availability\x20and\x20data\x20survival\x20are\x20not\x20guaranteed\x20(force\x20majeure\x20excepted);\x20expired\x20files\x20are\x20NEVER\x20deleted\x20automatically\x20(manual\x20administrator\x20purge\x20only).\x0a\x20\x20•\x20storage=\x27custom\x27\x20(recommended):\x20your\x20own\x20or\x20any\x20third-party\x20wip-storage-compatible\x20service\x20via\x20customBaseUrl\x20—\x20no\x20store\x20quota,\x20full\x20control,\x20permanent\x20self-managed\x20hosting.\x0a\x0a🌐\x20Network\x20independence:\x20WIP\x20files\x20are\x20OFF-CHAIN\x20—\x20the\x20same\x20public\x20URL\x20and\x20the\x20same\x20stored\x20files\x20work\x20on\x20BOTH\x20testnet\x20and\x20mainnet;\x20storage_list/storage_delete\x20authenticate\x20with\x20the\x20account\x20key\x20and\x20never\x20touch\x20the\x20chain.\x0a\x0a⚠️\x20Large\x20WIP\x20files\x20(multi-MB,\x20image-heavy)\x20are\x20sensitive\x20to\x20network\x20conditions:\x20keep\x20files\x20small\x20(compress\x20images\x20before\x20generate;\x20each\x20image\x20≤\x202MB,\x20total\x20≤\x2010MB),\x20expect\x20longer\x20upload\x20times,\x20retry\x20on\x20transient\x20network\x20failures,\x20and\x20confirm\x20reachability\x20afterwards\x20with\x20type=\x27verify\x27\x20on\x20the\x20returned\x20public\x20URL.\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•\x20wip\x20storage\x20service\x20(type=\x27upload\x27)\x20—\x20preferred,\x20gives\x20a\x20stable\x20public\x20URL\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,\x20sign\x20it\x20with\x20type=\x27sign\x27,\x20upload\x20with\x20type=\x27upload\x27,\x20then\x20use\x20the\x20resulting\x20URL\x20in\x20service.sales[].wip.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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','upload','storage','wip.store.wowok.net'])}},{'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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\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.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\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.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\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_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\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'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','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_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\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'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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\x20and\x20fund-flow\x20events\x20(all\x2016\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2016\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20NewPaymentEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\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\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\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,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\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','getting-started','skills','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\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.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
|
|
1
|
+
import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\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.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\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.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\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_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\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'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\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'+'🌐\x20Network\x20parameter:\x20on-chain\x20query\x20types\x20accept\x20`network`\x20and\x20`context_network`\x20INTERCHANGEABLY\x20—\x20either\x20spelling\x20is\x20normalized\x20to\x20the\x20right\x20field\x20before\x20validation,\x20and\x20the\x20response\x20echoes\x20the\x20resolved\x20network\x20(`network`\x20+\x20`network_source`)\x20so\x20results\x20can\x20never\x20be\x20silently\x20misattributed.\x20The\x20different\x20key\x20names\x20per\x20query\x20type\x20are\x20a\x20display\x20convention,\x20NOT\x20a\x20trap:\x20passing\x20the\x20opposite\x20spelling\x20still\x20works.\x20local_*\x20/\x20account_list\x20/\x20token_list\x20queries\x20are\x20device-local\x20and\x20network-free\x20BY\x20DESIGN\x20—\x20they\x20ignore\x20a\x20network\x20key\x20rather\x20than\x20erroring.\x0a\x0a'+'🕒\x20Runtime\x20freshness:\x20when\x20an\x20observed\x20behavior\x20contradicts\x20documented\x20schema/knowledge\x20text,\x20FIRST\x20check\x20the\x20running\x20process\x20is\x20not\x20stale\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20—\x20its\x20build_stamp\x20reports\x20mcp_dist_stale\x20/\x20sdk_dist_stale\x20(source-newer-than-dist\x20detection)\x20and\x20runtime_health\x20before\x20you\x20classify\x20the\x20mismatch\x20as\x20a\x20design\x20defect.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','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_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\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'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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\x20and\x20fund-flow\x20events\x20(all\x2022\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2022\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent,\x20ArbStatementEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent,\x20VoteEvictedEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20RewardWithdrawEvent,\x20NewPaymentEvent),\x20service\x20administration\x20(OrderAllocatorsAppendedEvent),\x20audit/watch\x20(PermissionChangedEvent,\x20RepositoryDataOverwriteEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\x20RewardWithdrawEvent\x20is\x20the\x20only\x20non-claim\x20outflow\x20from\x20a\x20reward\x20pool\x20(permission-gated)\x20and\x20mirrors\x20the\x20claim\x20event\x27s\x20balance_left.\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\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\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,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\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','getting-started','skills','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\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.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
|
package/dist/tools/rules-hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{OnchainOperationsSchema,BridgeOperationsSchema,strictParse,getEnvConfig}from'../schema/index.js';import{buildPendingConfirmation,buildConstraintError}from'./shared.js';import{validateOperation,hasBlockingViolations}from'../knowledge/index.js';import{BRIDGE_FUND_OPERATION_TYPES}from'../knowledge/safety-rules.js';import{resolveGateControls}from'../persona/index.js';import{Config}from'@wowok/wowok/w/local';export async function networkMismatchGate(a,b,c='onchain_operations'){if(!b?.['network']||b['confirmed']===!![])return null;let d;try{d=await Config['Instance']()['network_get']();}catch{return null;}if(!d||d===b['network'])return null;const e='NETWORK\x20MISMATCH:\x20the\x20operation\x20targets\x20\x27'+b['network']+'\x27\x20while\x20the\x20user\x27s\x20'+('current\x20network\x20is\x20\x27'+d+'\x27.\x20The\x20operation\x20was\x20NOT\x20executed.\x20')+'Exemption:\x20if\x20the\x20user\x27s\x20request\x20ALREADY\x20explicitly\x20names\x20this\x20target\x20network\x20'+('(e.g.\x20\x22run\x20this\x20on\x20'+b['network']+'\x22\x20/\x20\x22switch\x20to\x20'+b['network']+'\x22),\x20that\x20instruction\x20IS\x20')+'the\x20consent\x20—\x20re-call\x20with\x20env.confirmed=true\x20directly\x20without\x20asking\x20again.',f={'message':e,'result':{'type':'pending_confirmation','preview':{'level':'irreversible','operation':a,'network':b['network'],'account':b['account'],'irreversible':!![],'warnings':['operation\x20targets\x20'+b['network']+'\x20while\x20current\x20network\x20is\x20'+d,'Re-call\x20with\x20env.confirmed=true\x20ONLY\x20if\x20the\x20user\x20explicitly\x20wants\x20this\x20other\x20network.','Exemption\x20wording:\x20an\x20explicit\x20network\x20instruction\x20in\x20the\x20user\x27s\x20prompt\x20(e.g.\x20\x22run\x20on\x20'+b['network']+'\x22)\x20counts\x20as\x20consent\x20—\x20pass\x20env.confirmed=true\x20in\x20that\x20same\x20flow\x20without\x20a\x20second\x20user\x20round-trip.']},'rule_id':'network_mismatch'},'semantic':{'intent':a+'_awaiting_confirmation','status':'pending_input','summary':'Operation\x20blocked:\x20network\x20mismatch\x20(requested\x20\x27'+b['network']+'\x27\x20vs\x20current\x20\x27'+d+'\x27).\x20Re-call\x20with\x20env.confirmed=true\x20after\x20the\x20user\x20confirms\x20—\x20or\x20directly\x20when\x20the\x20user\x27s\x20prompt\x20already\x20named\x20this\x20network.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'The\x20user\x20explicitly\x20confirmed\x20running\x20on\x20the\x20named\x20network.','tool':c,'priority':'required'},{'action':'exemption:\x20if\x20the\x20user\x27s\x20request\x20already\x20explicitly\x20says\x20to\x20use\x20'+b['network']+',\x20re-call\x20with\x20env.confirmed=true\x20immediately\x20—\x20no\x20extra\x20question\x20needed','reason':'An\x20explicit\x20network\x20instruction\x20in\x20the\x20user\x27s\x20prompt\x20is\x20itself\x20the\x20consent\x20(blind-confirm\x20stays,\x20the\x20copy\x20documents\x20the\x20exemption).','tool':c,'priority':'recommended'},{'action':'Or\x20omit\x20env.network\x20to\x20use\x20the\x20user\x27s\x20current\x20network','reason':'Preferred:\x20the\x20runtime\x20resolves\x20the\x20user\x27s\x20current\x20network\x20automatically.','tool':c,'priority':'recommended'}],'warnings':['operation\x20targets\x20'+b['network']+'\x20while\x20current\x20network\x20is\x20'+d]}};return{'content':[{'type':'text','text':e}],'structuredContent':f};}export async function applyOnchainRules(a){let b;try{b=strictParse(OnchainOperationsSchema,a,'onchain_operations\x20input');}catch{return null;}const c=getEnvConfig(b['env']),d=await networkMismatchGate(b['operation_type'],c);if(d)return d;const e=await resolveGateControls(c?.['account']),f='data'in b?b['data']:undefined,g=buildPendingConfirmation(b['operation_type'],f,c,e['overrides'],{'intent_bypass':e['policy']['confirm']?.['intent_bypass']});if(g['structuredContent'])return g;const h=validateOperation(b['operation_type'],f);if(hasBlockingViolations(h))return buildConstraintError(b['operation_type'],h);return null;}export async function applyBridgeRules(a){let b;try{b=strictParse(BridgeOperationsSchema,a,'bridge_operations\x20input');}catch{return null;}const c=b['operation_type'];if(!c||!BRIDGE_FUND_OPERATION_TYPES['includes'](c))return null;const d=b['data'],e=getEnvConfig('env'in b?b['env']:undefined),f=await networkMismatchGate(c,e,'bridge_operation');if(f)return f;const g=await resolveGateControls(e?.['account']),h=buildPendingConfirmation(c,d,e,g['overrides'],{'intent_bypass':g['policy']['confirm']?.['intent_bypass']});if(h['structuredContent'])return h;return null;}
|
|
1
|
+
import{OnchainOperationsSchema,BridgeOperationsSchema,strictParse,getEnvConfig}from'../schema/index.js';import{buildPendingConfirmation,buildConstraintError}from'./shared.js';import{validateOperation,hasBlockingViolations}from'../knowledge/index.js';import{BRIDGE_FUND_OPERATION_TYPES}from'../knowledge/safety-rules.js';import{resolveGateControls}from'../persona/index.js';import{Config}from'@wowok/wowok/w/local';import{deriveTotalPayIfOmitted}from'./handlers/onchain.js';export async function networkMismatchGate(a,b,c='onchain_operations'){if(!b?.['network']||b['confirmed']===!![])return null;if(b['dry_run']===!![])return null;let d;try{d=await Config['Instance']()['network_get']();}catch{return null;}if(!d||d===b['network'])return null;const e='NETWORK\x20MISMATCH:\x20the\x20operation\x20targets\x20\x27'+b['network']+'\x27\x20while\x20the\x20user\x27s\x20'+('current\x20network\x20is\x20\x27'+d+'\x27.\x20The\x20operation\x20was\x20NOT\x20executed.\x20')+'Exemption:\x20if\x20the\x20user\x27s\x20request\x20ALREADY\x20explicitly\x20names\x20this\x20target\x20network\x20'+('(e.g.\x20\x22run\x20this\x20on\x20'+b['network']+'\x22\x20/\x20\x22switch\x20to\x20'+b['network']+'\x22),\x20that\x20instruction\x20IS\x20')+'the\x20consent\x20—\x20re-call\x20with\x20env.confirmed=true\x20directly\x20without\x20asking\x20again.',f={'message':e,'result':{'type':'pending_confirmation','preview':{'level':'irreversible','operation':a,'network':b['network'],'account':b['account'],'irreversible':!![],'warnings':['operation\x20targets\x20'+b['network']+'\x20while\x20current\x20network\x20is\x20'+d,'Re-call\x20with\x20env.confirmed=true\x20ONLY\x20if\x20the\x20user\x20explicitly\x20wants\x20this\x20other\x20network.','Exemption\x20wording:\x20an\x20explicit\x20network\x20instruction\x20in\x20the\x20user\x27s\x20prompt\x20(e.g.\x20\x22run\x20on\x20'+b['network']+'\x22)\x20counts\x20as\x20consent\x20—\x20pass\x20env.confirmed=true\x20in\x20that\x20same\x20flow\x20without\x20a\x20second\x20user\x20round-trip.']},'rule_id':'network_mismatch'},'semantic':{'intent':a+'_awaiting_confirmation','status':'pending_input','summary':'Operation\x20blocked:\x20network\x20mismatch\x20(requested\x20\x27'+b['network']+'\x27\x20vs\x20current\x20\x27'+d+'\x27).\x20Re-call\x20with\x20env.confirmed=true\x20after\x20the\x20user\x20confirms\x20—\x20or\x20directly\x20when\x20the\x20user\x27s\x20prompt\x20already\x20named\x20this\x20network.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'The\x20user\x20explicitly\x20confirmed\x20running\x20on\x20the\x20named\x20network.','tool':c,'priority':'required'},{'action':'exemption:\x20if\x20the\x20user\x27s\x20request\x20already\x20explicitly\x20says\x20to\x20use\x20'+b['network']+',\x20re-call\x20with\x20env.confirmed=true\x20immediately\x20—\x20no\x20extra\x20question\x20needed','reason':'An\x20explicit\x20network\x20instruction\x20in\x20the\x20user\x27s\x20prompt\x20is\x20itself\x20the\x20consent\x20(blind-confirm\x20stays,\x20the\x20copy\x20documents\x20the\x20exemption).','tool':c,'priority':'recommended'},{'action':'Or\x20omit\x20env.network\x20to\x20use\x20the\x20user\x27s\x20current\x20network','reason':'Preferred:\x20the\x20runtime\x20resolves\x20the\x20user\x27s\x20current\x20network\x20automatically.','tool':c,'priority':'recommended'}],'warnings':['operation\x20targets\x20'+b['network']+'\x20while\x20current\x20network\x20is\x20'+d]}};return{'content':[{'type':'text','text':e}],'structuredContent':f};}export async function applyOnchainRules(a){let b;try{b=strictParse(OnchainOperationsSchema,a,'onchain_operations\x20input');}catch{return null;}const c=getEnvConfig(b['env']),d=await networkMismatchGate(b['operation_type'],c);if(d)return d;const e=await resolveGateControls(c?.['account']),f='data'in b?b['data']:undefined;if(f&&f?.['order_new']&&c?.['confirmed']!==!![]&&c?.['dry_run']!==!![])try{await deriveTotalPayIfOmitted(f,c?.['network']);}catch{}const g=buildPendingConfirmation(b['operation_type'],f,c,e['overrides'],{'intent_bypass':e['policy']['confirm']?.['intent_bypass']});if(g['structuredContent'])return g;const h=validateOperation(b['operation_type'],f);if(hasBlockingViolations(h))return buildConstraintError(b['operation_type'],h);return null;}export async function applyBridgeRules(a){let b;try{b=strictParse(BridgeOperationsSchema,a,'bridge_operations\x20input');}catch{return null;}const c=b['operation_type'];if(!c||!BRIDGE_FUND_OPERATION_TYPES['includes'](c))return null;const d=b['data'],e=getEnvConfig('env'in b?b['env']:undefined),f=await networkMismatchGate(c,e,'bridge_operation');if(f)return f;const g=await resolveGateControls(e?.['account']),h=buildPendingConfirmation(c,d,e,g['overrides'],{'intent_bypass':g['policy']['confirm']?.['intent_bypass']});if(h['structuredContent'])return h;return null;}
|
|
@@ -4,6 +4,14 @@ export interface UpgradeCheckComponent {
|
|
|
4
4
|
latest: string | null;
|
|
5
5
|
outdated: boolean;
|
|
6
6
|
}
|
|
7
|
+
export interface ChainStamp {
|
|
8
|
+
network: string | null;
|
|
9
|
+
protocol_version: string | null;
|
|
10
|
+
system_state_version: string | null;
|
|
11
|
+
epoch: string | null;
|
|
12
|
+
fetched: boolean;
|
|
13
|
+
fetched_at: string | null;
|
|
14
|
+
}
|
|
7
15
|
export interface UpgradeCheckResult {
|
|
8
16
|
mcp: UpgradeCheckComponent;
|
|
9
17
|
sdk: UpgradeCheckComponent;
|
|
@@ -11,6 +19,12 @@ export interface UpgradeCheckResult {
|
|
|
11
19
|
client_install_hint: string | null;
|
|
12
20
|
upgrade_available: boolean;
|
|
13
21
|
runtime_health: RuntimeHealth;
|
|
22
|
+
build_stamp: {
|
|
23
|
+
builtin_templates_version: number;
|
|
24
|
+
mcp_dist_stale: WorkspaceStaleness | null;
|
|
25
|
+
sdk_dist_stale: WorkspaceStaleness | null;
|
|
26
|
+
chain_stamp: ChainStamp;
|
|
27
|
+
};
|
|
14
28
|
reminder: {
|
|
15
29
|
type: "upgrade" | "install_client" | "restart_mcp" | "none";
|
|
16
30
|
due: boolean;
|
|
@@ -25,4 +39,13 @@ export interface RuntimeHealth {
|
|
|
25
39
|
runtime_faults: ReturnType<typeof getRuntimeModuleFaults>;
|
|
26
40
|
hint: string | null;
|
|
27
41
|
}
|
|
42
|
+
export interface WorkspaceStaleness {
|
|
43
|
+
stale: boolean;
|
|
44
|
+
lag_minutes: number;
|
|
45
|
+
}
|
|
46
|
+
export declare function computeSrcDistStaleness(srcDir: string, distDir: string, opts?: {
|
|
47
|
+
srcExt?: string;
|
|
48
|
+
distExt?: string;
|
|
49
|
+
}): WorkspaceStaleness | null;
|
|
50
|
+
export declare function readChainStamp(timeoutMs?: number): Promise<ChainStamp>;
|
|
28
51
|
export declare function checkUpgrade(): Promise<UpgradeCheckResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readFileSync,existsSync,writeFileSync,mkdirSync,readdirSync}from'fs';import{join,dirname}from'path';import{fileURLToPath}from'url';import{getWowMcpDir}from'@wowok/wowok';import{getRuntimeModuleFaults}from'./runtime-health.js';const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_PACKAGE='@wowok/agent-mcp',SDK_PACKAGE='@wowok/wowok',WEEK_MS=0x7*0x18*0x3c*0x3c*0x3e8,REMINDER_FILE=join(getWowMcpDir(),'upgrade-reminder.json');function readMcpVersion(){try{const a=join(__dirname,'..','..','package.json'),b=JSON['parse'](readFileSync(a,'utf-8'));return b['version']??null;}catch{return null;}}function findSdkPackageDir(){try{const a=fileURLToPath(import.meta.resolve(SDK_PACKAGE));let b=dirname(a);for(let c=0x0;c<0x6;c++){const d=join(b,'package.json');if(existsSync(d)){const e=JSON['parse'](readFileSync(d,'utf-8'));if(e['name']===SDK_PACKAGE)return b;}b=dirname(b);}return null;}catch{return null;}}function readSdkVersion(){const a=findSdkPackageDir();if(!a)return null;try{const b=JSON['parse'](readFileSync(join(a,'package.json'),'utf-8'));return b['version']??null;}catch{return null;}}function scanSdkDistConsistency(a){const b=[];if(!a)return{'consistent':!![],'broken':b};const c=join(a,'dist','esm');if(!existsSync(c))return{'consistent':!![],'broken':b};let d;try{d=readdirSync(c)['filter'](e=>e['endsWith']('.mjs'));}catch{return{'consistent':!![],'broken':b};}for(const e of d){let g;try{g=readFileSync(join(c,e),'utf-8');}catch{continue;}const h=/(?:from\s*|import\s*\(\s*)(["'])(\.[^"']+)\1/g;let i;while((i=h['exec'](g))!==null){const j=i[0x2]['split']('?')[0x0],k=[j,j+'.mjs',j+'.js'];if(!k['some'](l=>existsSync(join(c,l)))){b['push'](e+'\x20->\x20'+i[0x2]);if(b['length']>=0x5)return{'consistent':![],'broken':b};}}}return{'consistent':b['length']===0x0,'broken':b};}function computeRuntimeHealth(){const a=getRuntimeModuleFaults(),b=scanSdkDistConsistency(findSdkPackageDir()),c=!b['consistent']||a['length']>0x0;return{'dist_consistent':b['consistent'],'broken_count':b['broken']['length'],'broken_examples':b['broken'],'runtime_faults':a,'hint':c?'The\x20SDK\x20runtime\x20of\x20this\x20MCP\x20process\x20is\x20unhealthy:\x20the\x20loaded\x20module\x20graph\x20and/or\x20the\x20SDK\x20dist\x20on\x20disk\x20reference\x20chunk(s)\x20that\x20no\x20longer\x20exist.\x20Restart\x20the\x20MCP\x20server\x20process\x20to\x20reload\x20the\x20rebuilt\x20dist\x20—\x20version\x20numbers\x20alone\x20cannot\x20detect\x20this\x20state.':null};}async function fetchNpmLatest(a){const b='https://registry.npmjs.org/'+encodeURIComponent(a)+'/latest',c=new AbortController(),d=setTimeout(()=>c['abort'](),0x1770);try{const e=await fetch(b,{'signal':c['signal']});if(!e['ok'])return null;const f=await e['json']();return f['version']??null;}catch{return null;}finally{clearTimeout(d);}}function compareVersions(c,e){const f=c['split']('.')['map'](h=>parseInt(h,0xa)||0x0),g=e['split']('.')['map'](h=>parseInt(h,0xa)||0x0);for(let h=0x0;h<Math['max'](f['length'],g['length']);h++){const j=(f[h]||0x0)-(g[h]||0x0);if(j!==0x0)return j;}return 0x0;}function detectClientInstall(){const a=[];if(process['platform']==='win32'){const b=process['env']['LOCALAPPDATA'];b&&(a['push'](join(b,'WoWok','WoWok.exe')),a['push'](join(b,'Programs','WoWok','WoWok.exe')));}else{if(process['platform']==='darwin')a['push']('/Applications/WoWok.app');else{const d=process['env']['HOME']||process['env']['USERPROFILE']||'';d&&(a['push'](join(d,'.local','share','applications','wowok.desktop')),a['push'](join(d,'Applications','WoWok.AppImage')),a['push'](join(d,'.local','bin','wowok')));}}for(const e of a){if(e&&existsSync(e))return{'installed':!![],'hint':null};}return{'installed':![],'hint':'https://download.wowok.net'};}function readReminderState(){try{const a=readFileSync(REMINDER_FILE,'utf-8'),b=JSON['parse'](a);return{'lastInstallClientReminderAt':Number(b['lastInstallClientReminderAt'])||0x0};}catch{return{'lastInstallClientReminderAt':0x0};}}function writeReminderState(a){try{mkdirSync(dirname(REMINDER_FILE),{'recursive':!![]}),writeFileSync(REMINDER_FILE,JSON['stringify'](a),'utf-8');}catch{}}export async function checkUpgrade(){const a=readMcpVersion(),b=readSdkVersion(),[c,d]=await Promise['all']([fetchNpmLatest(MCP_PACKAGE),fetchNpmLatest(SDK_PACKAGE)]),e=detectClientInstall(),f=readReminderState(),g=Date['now'](),h=computeRuntimeHealth(),i=!!(a&&c&&compareVersions(c,a)>0x0),j=!!(b&&d&&compareVersions(d,b)>0x0),k=i||j;let l='none',m=![],n=null;if(h['hint']!==null){l='restart_mcp',m=!![];const o=h['runtime_faults']['map'](p=>p['operation']);n='This\x20WoWok\x20MCP\x20process\x20has\x20a\x20broken\x20SDK\x20runtime:\x20its\x20loaded\x20module\x20graph\x20references\x20chunk(s)\x20that\x20were\x20replaced\x20by\x20a\x20rebuild'+(o['length']>0x0?'\x20(failed\x20so\x20far:\x20'+[...new Set(o)]['join'](',\x20')+')':'')+'.\x20Affected\x20operations\x20fail\x20100%\x20of\x20the\x20time\x20until\x20the\x20process\x20is\x20restarted.\x20Restart\x20the\x20MCP\x20server\x20(no\x20reinstall\x20needed)\x20to\x20reload\x20the\x20rebuilt\x20SDK.';}else{if(k){l='upgrade',m=!![];const p=c??d??'',q=a??'';n='A\x20newer\x20WoWok\x20version\x20is\x20available\x20(current\x20v'+q+'\x20→\x20latest\x20v'+p+').\x20'+('Upgrade\x20for\x20more\x20features\x20and\x20improvements.\x20Run:\x20npm\x20install\x20-g\x20'+MCP_PACKAGE+'@latest');}else!e['installed']&&g-f['lastInstallClientReminderAt']>=WEEK_MS&&(l='install_client',m=!![],n='The\x20WoWok\x20desktop\x20client\x20is\x20not\x20installed\x20yet.\x20It\x20provides\x20wallet\x20management,\x20encrypted\x20Messenger,\x20project\x20management\x20and\x20more.\x20'+'Download\x20it\x20at\x20https://download.wowok.net\x20to\x20get\x20started.',f['lastInstallClientReminderAt']=g,writeReminderState(f));}return{'mcp':{'current':a,'latest':c,'outdated':i},'sdk':{'current':b,'latest':d,'outdated':j},'client_installed':e['installed'],'client_install_hint':e['hint'],'upgrade_available':k,'runtime_health':h,'reminder':{'type':l,'due':m,'message':n},'checked_at':new Date()['toISOString']()};}
|
|
1
|
+
import{readFileSync,existsSync,writeFileSync,mkdirSync,readdirSync,statSync}from'fs';import{join,dirname}from'path';import{fileURLToPath}from'url';import{getWowMcpDir,getFullnodeUrl,WowClient}from'@wowok/wowok';import{getRuntimeModuleFaults}from'./runtime-health.js';import{BUILTIN_TEMPLATES_VERSION}from'../knowledge/builtin-templates.js';import{resolveNetwork}from'./handlers/network.js';const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_PACKAGE='@wowok/agent-mcp',SDK_PACKAGE='@wowok/wowok',WEEK_MS=0x7*0x18*0x3c*0x3c*0x3e8,REMINDER_FILE=join(getWowMcpDir(),'upgrade-reminder.json');function readMcpVersion(){try{const a=join(__dirname,'..','..','package.json'),b=JSON['parse'](readFileSync(a,'utf-8'));return b['version']??null;}catch{return null;}}export function computeSrcDistStaleness(a,b,c={}){try{const d=c['srcExt']??'.ts',f=c['distExt']??'.mjs';if(!existsSync(a)||!existsSync(b))return null;let g=0x0;const h=k=>{for(const l of readdirSync(k,{'withFileTypes':!![]})){const m=join(k,l['name']);if(l['isDirectory']())h(m);else{if(l['name']['endsWith'](d))g=Math['max'](g,statSync(m)['mtimeMs']);}}};h(a);let i=0x0;for(const k of readdirSync(b,{'withFileTypes':!![]})){if(k['isFile']()&&k['name']['endsWith'](f))i=Math['max'](i,statSync(join(b,k['name']))['mtimeMs']);}if(g===0x0||i===0x0)return null;const j=g-i;return{'stale':j>0x1388,'lag_minutes':Math['max'](0x0,Math['round'](j/0xea60))};}catch{return null;}}export async function readChainStamp(a=0xbb8){const b={'network':null,'protocol_version':null,'system_state_version':null,'epoch':null,'fetched':![],'fetched_at':null};try{const c=await resolveNetwork(),d=new WowClient({'url':getFullnodeUrl(c),'network':c}),e=await Promise['race']([d['core']['getCurrentSystemState'](),new Promise((g,h)=>setTimeout(()=>h(new Error('chain\x20stamp\x20timeout')),a))]),f=e['systemState'];return{'network':c,'protocol_version':f['protocolVersion']!=null?String(f['protocolVersion']):null,'system_state_version':f['systemStateVersion']!=null?String(f['systemStateVersion']):null,'epoch':f['epoch']!=null?String(f['epoch']):null,'fetched':!![],'fetched_at':new Date()['toISOString']()};}catch{return b;}}function findSdkPackageDir(){try{const a=fileURLToPath(import.meta.resolve(SDK_PACKAGE));let b=dirname(a);for(let c=0x0;c<0x6;c++){const d=join(b,'package.json');if(existsSync(d)){const e=JSON['parse'](readFileSync(d,'utf-8'));if(e['name']===SDK_PACKAGE)return b;}b=dirname(b);}return null;}catch{return null;}}function readSdkVersion(){const a=findSdkPackageDir();if(!a)return null;try{const b=JSON['parse'](readFileSync(join(a,'package.json'),'utf-8'));return b['version']??null;}catch{return null;}}function scanSdkDistConsistency(a){const b=[];if(!a)return{'consistent':!![],'broken':b};const c=join(a,'dist','esm');if(!existsSync(c))return{'consistent':!![],'broken':b};let d;try{d=readdirSync(c)['filter'](e=>e['endsWith']('.mjs'));}catch{return{'consistent':!![],'broken':b};}for(const e of d){let g;try{g=readFileSync(join(c,e),'utf-8');}catch{continue;}const h=/(?:from\s*|import\s*\(\s*)(["'])(\.[^"']+)\1/g;let i;while((i=h['exec'](g))!==null){const j=i[0x2]['split']('?')[0x0],k=[j,j+'.mjs',j+'.js'];if(!k['some'](l=>existsSync(join(c,l)))){b['push'](e+'\x20->\x20'+i[0x2]);if(b['length']>=0x5)return{'consistent':![],'broken':b};}}}return{'consistent':b['length']===0x0,'broken':b};}function computeRuntimeHealth(){const a=getRuntimeModuleFaults(),b=scanSdkDistConsistency(findSdkPackageDir()),c=!b['consistent']||a['length']>0x0;return{'dist_consistent':b['consistent'],'broken_count':b['broken']['length'],'broken_examples':b['broken'],'runtime_faults':a,'hint':c?'The\x20SDK\x20runtime\x20of\x20this\x20MCP\x20process\x20is\x20unhealthy:\x20the\x20loaded\x20module\x20graph\x20and/or\x20the\x20SDK\x20dist\x20on\x20disk\x20reference\x20chunk(s)\x20that\x20no\x20longer\x20exist.\x20Restart\x20the\x20MCP\x20server\x20process\x20to\x20reload\x20the\x20rebuilt\x20dist\x20—\x20version\x20numbers\x20alone\x20cannot\x20detect\x20this\x20state.':null};}async function fetchNpmLatest(a){const b='https://registry.npmjs.org/'+encodeURIComponent(a)+'/latest',c=new AbortController(),d=setTimeout(()=>c['abort'](),0x1770);try{const e=await fetch(b,{'signal':c['signal']});if(!e['ok'])return null;const f=await e['json']();return f['version']??null;}catch{return null;}finally{clearTimeout(d);}}function compareVersions(c,e){const f=c['split']('.')['map'](h=>parseInt(h,0xa)||0x0),g=e['split']('.')['map'](h=>parseInt(h,0xa)||0x0);for(let h=0x0;h<Math['max'](f['length'],g['length']);h++){const j=(f[h]||0x0)-(g[h]||0x0);if(j!==0x0)return j;}return 0x0;}function detectClientInstall(){const a=[];if(process['platform']==='win32'){const b=process['env']['LOCALAPPDATA'];b&&(a['push'](join(b,'WoWok','WoWok.exe')),a['push'](join(b,'Programs','WoWok','WoWok.exe')));}else{if(process['platform']==='darwin')a['push']('/Applications/WoWok.app');else{const d=process['env']['HOME']||process['env']['USERPROFILE']||'';d&&(a['push'](join(d,'.local','share','applications','wowok.desktop')),a['push'](join(d,'Applications','WoWok.AppImage')),a['push'](join(d,'.local','bin','wowok')));}}for(const e of a){if(e&&existsSync(e))return{'installed':!![],'hint':null};}return{'installed':![],'hint':'https://download.wowok.net'};}function readReminderState(){try{const a=readFileSync(REMINDER_FILE,'utf-8'),b=JSON['parse'](a);return{'lastInstallClientReminderAt':Number(b['lastInstallClientReminderAt'])||0x0};}catch{return{'lastInstallClientReminderAt':0x0};}}function writeReminderState(a){try{mkdirSync(dirname(REMINDER_FILE),{'recursive':!![]}),writeFileSync(REMINDER_FILE,JSON['stringify'](a),'utf-8');}catch{}}export async function checkUpgrade(){const a=readMcpVersion(),b=readSdkVersion(),[c,d]=await Promise['all']([fetchNpmLatest(MCP_PACKAGE),fetchNpmLatest(SDK_PACKAGE)]),e=detectClientInstall(),f=readReminderState(),g=Date['now'](),h=computeRuntimeHealth(),i=!!(a&&c&&compareVersions(c,a)>0x0),j=!!(b&&d&&compareVersions(d,b)>0x0),k=i||j;let l='none',m=![],n=null;if(h['hint']!==null){l='restart_mcp',m=!![];const o=h['runtime_faults']['map'](p=>p['operation']);n='This\x20WoWok\x20MCP\x20process\x20has\x20a\x20broken\x20SDK\x20runtime:\x20its\x20loaded\x20module\x20graph\x20references\x20chunk(s)\x20that\x20were\x20replaced\x20by\x20a\x20rebuild'+(o['length']>0x0?'\x20(failed\x20so\x20far:\x20'+[...new Set(o)]['join'](',\x20')+')':'')+'.\x20Affected\x20operations\x20fail\x20100%\x20of\x20the\x20time\x20until\x20the\x20process\x20is\x20restarted.\x20Restart\x20the\x20MCP\x20server\x20(no\x20reinstall\x20needed)\x20to\x20reload\x20the\x20rebuilt\x20SDK.';}else{if(k){l='upgrade',m=!![];const p=c??d??'',q=a??'';n='A\x20newer\x20WoWok\x20version\x20is\x20available\x20(current\x20v'+q+'\x20→\x20latest\x20v'+p+').\x20'+('Upgrade\x20for\x20more\x20features\x20and\x20improvements.\x20Run:\x20npm\x20install\x20-g\x20'+MCP_PACKAGE+'@latest');}else!e['installed']&&g-f['lastInstallClientReminderAt']>=WEEK_MS&&(l='install_client',m=!![],n='The\x20WoWok\x20desktop\x20client\x20is\x20not\x20installed\x20yet.\x20It\x20provides\x20wallet\x20management,\x20encrypted\x20Messenger,\x20project\x20management\x20and\x20more.\x20'+'Download\x20it\x20at\x20https://download.wowok.net\x20to\x20get\x20started.',f['lastInstallClientReminderAt']=g,writeReminderState(f));}return{'mcp':{'current':a,'latest':c,'outdated':i},'sdk':{'current':b,'latest':d,'outdated':j},'client_installed':e['installed'],'client_install_hint':e['hint'],'upgrade_available':k,'runtime_health':h,'build_stamp':{'builtin_templates_version':BUILTIN_TEMPLATES_VERSION,'mcp_dist_stale':computeSrcDistStaleness(join(__dirname,'..','..','src'),join(__dirname,'..','..','dist'),{'srcExt':'.ts','distExt':'.js'}),'sdk_dist_stale':((()=>{const r=findSdkPackageDir();return r?computeSrcDistStaleness(join(r,'src'),join(r,'dist')):null;})()),'chain_stamp':await readChainStamp()},'reminder':{'type':l,'due':m,'message':n},'checked_at':new Date()['toISOString']()};}
|
|
@@ -6,6 +6,12 @@ export interface WipPathClassification {
|
|
|
6
6
|
description: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function classifyWipPath(path: string): WipPathClassification;
|
|
9
|
+
export interface WipReachability {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
status?: number;
|
|
12
|
+
reason?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function probeWipReachability(url: string, timeoutMs?: number): Promise<WipReachability>;
|
|
9
15
|
export interface WipDeployOption {
|
|
10
16
|
name: string;
|
|
11
17
|
description: string;
|