@wowok/agent-mcp 3.4.0 → 3.4.2
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 +8 -0
- package/dist/chain-semantics/composition-truth.d.ts +102 -0
- package/dist/chain-semantics/composition-truth.js +1 -0
- package/dist/chain-semantics/eval-order.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/index.d.ts +1 -0
- package/dist/chain-semantics/index.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/blueprint-view.d.ts +3 -3
- package/dist/composition/blueprint-view.js +1 -1
- package/dist/composition/compile.d.ts +24 -3
- package/dist/composition/compile.js +1 -1
- package/dist/composition/emit-phases.d.ts +206 -0
- package/dist/composition/emit-phases.js +1 -0
- package/dist/composition/generate.d.ts +40 -0
- package/dist/composition/generate.js +1 -0
- package/dist/composition/guard-fill.d.ts +44 -0
- package/dist/composition/guard-fill.js +1 -0
- package/dist/composition/inflight.d.ts +20 -2
- package/dist/composition/inflight.js +1 -1
- package/dist/composition/input-normalize.d.ts +15 -0
- package/dist/composition/input-normalize.js +1 -0
- package/dist/composition/materialize.d.ts +18 -13
- package/dist/composition/materialize.js +1 -1
- package/dist/composition/mode-gates.d.ts +35 -0
- package/dist/composition/mode-gates.js +1 -0
- package/dist/composition/param-disclosure.js +1 -1
- package/dist/composition/plan-retry-ledger.d.ts +21 -0
- package/dist/composition/plan-retry-ledger.js +1 -0
- package/dist/composition/plan.d.ts +7 -2
- package/dist/composition/plan.js +1 -1
- package/dist/composition/product-card.d.ts +94 -0
- package/dist/composition/product-card.js +1 -0
- package/dist/composition/supply-chain-emit.d.ts +46 -0
- package/dist/composition/supply-chain-emit.js +1 -0
- package/dist/config/config-audit.spec.js +1 -1
- package/dist/config/config-warnings.d.ts +2 -0
- package/dist/config/config-warnings.js +1 -0
- package/dist/config/exposure.d.ts +2 -2
- package/dist/config/judgment.d.ts +31 -5
- package/dist/config/judgment.js +1 -1
- package/dist/config/judgment.spec.js +1 -1
- package/dist/config/match-policy-file.d.ts +34 -0
- package/dist/config/match-policy-file.js +1 -0
- package/dist/config/match-policy-file.spec.d.ts +1 -0
- package/dist/config/match-policy-file.spec.js +1 -0
- package/dist/config/rule-engine.d.ts +5 -5
- package/dist/config/rule-engine.js +1 -1
- package/dist/config/runtime.d.ts +0 -1
- package/dist/config/runtime.js +1 -1
- package/dist/config/severity.d.ts +0 -2
- package/dist/config/severity.js +1 -1
- package/dist/config/store-policy.spec.js +1 -1
- package/dist/config/template-params.d.ts +42 -0
- package/dist/config/template-params.js +1 -0
- package/dist/config/template-params.spec.d.ts +1 -0
- package/dist/config/template-params.spec.js +1 -0
- package/dist/data/api/api.spec.js +1 -1
- package/dist/data/api/server.js +1 -1
- package/dist/data/projection/store.d.ts +2 -1
- package/dist/data/projection/store.js +1 -1
- package/dist/data/projection/types.d.ts +22 -0
- package/dist/data/sync/cdc.d.ts +1 -2
- package/dist/data/sync/cdc.js +1 -1
- package/dist/evaluation/acceptance.d.ts +8 -0
- package/dist/evaluation/acceptance.js +1 -1
- package/dist/evaluation/builtins/demand-match.js +1 -1
- package/dist/evaluation/builtins/graph-service.spec.js +1 -1
- package/dist/evaluation/capability.d.ts +2 -0
- package/dist/evaluation/category-match-rules.d.ts +0 -1
- package/dist/evaluation/category-match-rules.js +1 -1
- package/dist/evaluation/composer.d.ts +25 -0
- package/dist/evaluation/composer.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/evaluation/extract.d.ts +7 -0
- package/dist/evaluation/extract.js +1 -1
- package/dist/evaluation/game-strategy.d.ts +0 -3
- package/dist/evaluation/game-strategy.js +1 -1
- package/dist/evaluation/match-operation.d.ts +9 -0
- package/dist/evaluation/match-operation.js +1 -1
- package/dist/evaluation/match-policy-resolver.d.ts +9 -0
- package/dist/evaluation/match-policy-resolver.js +1 -0
- package/dist/evaluation/match-policy.d.ts +3 -1
- package/dist/evaluation/match-policy.js +1 -1
- package/dist/evaluation/region.d.ts +0 -6
- package/dist/evaluation/region.js +1 -1
- package/dist/evaluation/standards.d.ts +2 -1
- package/dist/evaluation/standards.js +1 -1
- package/dist/evaluation/structured-lines.d.ts +8 -0
- package/dist/evaluation/structured-lines.js +1 -0
- package/dist/evaluation/types.d.ts +6 -0
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/capability-manifest.d.ts +1 -0
- package/dist/extensions/capability-manifest.js +1 -1
- package/dist/extensions/capability.d.ts +91 -0
- package/dist/extensions/capability.js +1 -0
- package/dist/extensions/industry-audit.spec.js +1 -1
- package/dist/extensions/industry-pack.d.ts +13 -0
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/extensions/registry.d.ts +0 -2
- package/dist/extensions/registry.js +1 -1
- package/dist/goal/GoalEngine.js +1 -1
- package/dist/graph/onchain/analyze.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/facts.js +1 -1
- package/dist/graph/onchain/order-status.d.ts +0 -1
- package/dist/graph/onchain/order-status.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/harness/verify.d.ts +0 -3
- package/dist/harness/verify.js +1 -1
- package/dist/intent/types.d.ts +0 -1
- package/dist/intent/types.js +1 -1
- package/dist/keeper/detectors.js +1 -1
- package/dist/keeper/types.d.ts +0 -1
- package/dist/keeper/types.js +1 -1
- package/dist/knowledge/allocation-risk.d.ts +1 -0
- package/dist/knowledge/allocation-risk.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.d.ts +6 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/arbitration-puzzle.js +1 -1
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +4 -3
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/judgment-baselines.json +21 -2
- package/dist/knowledge/baselines/rules/oracle.json +120 -0
- package/dist/knowledge/baselines/rules/plan.json +384 -17
- package/dist/knowledge/baselines/rules/progress.json +20 -2
- package/dist/knowledge/builtin-templates.d.ts +28 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/component-schema.js +1 -1
- package/dist/knowledge/contact-templates.d.ts +0 -1
- package/dist/knowledge/contact-templates.js +1 -1
- package/dist/knowledge/dynamic-pricing.js +1 -1
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +1 -0
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/game-scenarios.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.d.ts +52 -0
- package/dist/knowledge/guard-binding-table.js +1 -0
- package/dist/knowledge/guard-binding-verifier.d.ts +30 -0
- package/dist/knowledge/guard-binding-verifier.js +1 -0
- package/dist/knowledge/guard-bindings.js +1 -1
- package/dist/knowledge/guard-blueprint.d.ts +68 -0
- package/dist/knowledge/guard-blueprint.js +1 -0
- 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-host-context.d.ts +24 -0
- package/dist/knowledge/guard-host-context.js +1 -0
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-node-gates.d.ts +3 -0
- package/dist/knowledge/guard-node-gates.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-submission-prompt.d.ts +11 -0
- package/dist/knowledge/guard-submission-prompt.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.d.ts +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-generalizer.d.ts +6 -1
- package/dist/knowledge/industry-generalizer.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.d.ts +38 -0
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/machine-translation.js +1 -1
- package/dist/knowledge/object-dependency.d.ts +31 -0
- package/dist/knowledge/object-dependency.js +1 -0
- package/dist/knowledge/onchain-constants.d.ts +2 -0
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/param-schema.d.ts +23 -0
- package/dist/knowledge/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/passport-ledger.js +1 -1
- package/dist/knowledge/path-oracle/coverage.d.ts +16 -0
- package/dist/knowledge/path-oracle/coverage.js +1 -0
- package/dist/knowledge/path-oracle/index.d.ts +5 -0
- package/dist/knowledge/path-oracle/index.js +1 -0
- package/dist/knowledge/path-oracle/products/food-delivery.d.ts +2 -0
- package/dist/knowledge/path-oracle/products/food-delivery.js +1 -0
- package/dist/knowledge/path-oracle/schema.d.ts +188 -0
- package/dist/knowledge/path-oracle/schema.js +1 -0
- package/dist/knowledge/pattern-resolutions.d.ts +2 -0
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/progress-ledger.js +1 -1
- package/dist/knowledge/progress-risk.js +1 -1
- package/dist/knowledge/projection.spec.js +1 -1
- package/dist/knowledge/protocol-facts.js +1 -1
- package/dist/knowledge/requirement-families.d.ts +13 -0
- package/dist/knowledge/requirement-families.js +1 -0
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +1 -0
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/semantic-ir.d.ts +4 -0
- package/dist/knowledge/semantic-ir.js +1 -1
- package/dist/knowledge/service-ledger.d.ts +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/sku-name-gate.d.ts +17 -0
- package/dist/knowledge/sku-name-gate.js +1 -0
- package/dist/knowledge/supply-chain.d.ts +9 -0
- package/dist/knowledge/supply-chain.js +1 -1
- package/dist/knowledge/template-loader.d.ts +14 -6
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-nav.d.ts +3 -1
- package/dist/knowledge/template-nav.js +1 -1
- package/dist/knowledge/template-prose.d.ts +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +62 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/template-test-profiles.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +5 -0
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/customer-interest.d.ts +4 -0
- package/dist/participation/customer-interest.js +1 -1
- package/dist/participation/node-action-advisor.d.ts +4 -0
- package/dist/participation/node-action-advisor.js +1 -1
- package/dist/participation/radar-core.js +1 -1
- package/dist/participation/time-window.d.ts +11 -0
- package/dist/participation/time-window.js +1 -1
- package/dist/persona/address-format.d.ts +0 -1
- package/dist/persona/address-format.js +1 -1
- package/dist/persona/bridge.js +1 -1
- package/dist/persona/index.d.ts +0 -2
- package/dist/persona/index.js +1 -1
- package/dist/persona/model.js +1 -1
- package/dist/persona/persona-audit.spec.js +1 -1
- package/dist/persona/types.d.ts +6 -0
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/game-theory.d.ts +2 -2
- 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 +50 -23
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.d.ts +2 -0
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/mode-actions.js +1 -1
- package/dist/playbooks/service-build/object-panorama.d.ts +8 -0
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping.d.ts +6 -0
- package/dist/playbooks/service-build/reverse-mapping.js +1 -1
- package/dist/playbooks/service-build/service-panorama.d.ts +1 -0
- 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/playbooks/service-build/workflow-design-assessment.d.ts +10 -1
- package/dist/playbooks/service-build/workflow-design-assessment.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/review/repository.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +104 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +15 -6
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.d.ts +256 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +32 -6
- package/dist/schema/call/demand.d.ts +15 -6
- package/dist/schema/call/demand.js +1 -1
- package/dist/schema/call/guard.d.ts +8 -8
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/handler.d.ts +3 -0
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +32 -8
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +26 -8
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/payment.d.ts +20 -8
- package/dist/schema/call/payment.js +1 -1
- package/dist/schema/call/permission-handler.js +1 -1
- package/dist/schema/call/permission.d.ts +330 -114
- package/dist/schema/call/permission.js +1 -1
- package/dist/schema/call/personal.d.ts +10 -4
- package/dist/schema/call/personal.js +1 -1
- package/dist/schema/call/progress.d.ts +16 -4
- package/dist/schema/call/proof.js +1 -1
- package/dist/schema/call/reward.d.ts +10 -4
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.d.ts +1 -0
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +143 -45
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +15 -6
- package/dist/schema/call/treasury.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/config/index.d.ts +61 -0
- package/dist/schema/config/index.js +1 -1
- package/dist/schema/envelope-unify.d.ts +4 -0
- package/dist/schema/envelope-unify.js +1 -0
- package/dist/schema/evaluation/index.d.ts +216 -19
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +47 -0
- package/dist/schema/goal/planning.d.ts +115 -1
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +137 -6
- package/dist/schema/industry-pack/index.js +1 -1
- package/dist/schema/industry-pack/modes.d.ts +6 -6
- package/dist/schema/keeper/index.d.ts +26 -0
- package/dist/schema/local/index.d.ts +137 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/local/wip.d.ts +6 -0
- package/dist/schema/local/wip.js +1 -1
- package/dist/schema/messenger/index.d.ts +26 -0
- package/dist/schema/operations.d.ts +345 -84
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +2907 -640
- package/dist/schema/persona/index.js +1 -1
- package/dist/schema/query/bi.d.ts +145 -4
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +266 -73
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +1 -1
- 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/watch/index.d.ts +16 -0
- package/dist/schema/watch/index.js +1 -1
- package/dist/schema/workflow/index.d.ts +2 -2
- package/dist/schema/workflow/index.js +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 +94 -0
- package/dist/schemas/benchmark_migration_operation.output.json +338 -9
- package/dist/schemas/benchmark_migration_operation.schema.json +27 -2
- package/dist/schemas/bridge_operation.output.json +94 -0
- package/dist/schemas/config_operation.output.json +352 -0
- package/dist/schemas/config_operation.schema.json +20 -2
- package/dist/schemas/evaluation_operation.output.json +570 -4
- package/dist/schemas/evaluation_operation.schema.json +194 -3
- package/dist/schemas/goal_operation.schema.json +183 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/industry_pack_operation.output.json +621 -0
- package/dist/schemas/industry_pack_operation.schema.json +20 -2
- package/dist/schemas/keeper_operation.output.json +94 -0
- package/dist/schemas/local_cache_operation.output.json +94 -0
- package/dist/schemas/local_history_operation.output.json +94 -0
- package/dist/schemas/local_info_operation.output.json +94 -0
- package/dist/schemas/local_mark_operation.output.json +94 -0
- package/dist/schemas/messenger_operation.output.json +94 -0
- package/dist/schemas/monitor_events.output.json +94 -0
- package/dist/schemas/monitor_subscription.output.json +94 -0
- package/dist/schemas/onchain_events.output.json +94 -0
- package/dist/schemas/onchain_operations.output.json +313 -1
- package/dist/schemas/onchain_operations.schema.json +1265 -671
- package/dist/schemas/onchain_operations_allocation.schema.json +30 -15
- package/dist/schemas/onchain_operations_arbitration.schema.json +9 -2
- package/dist/schemas/onchain_operations_contact.schema.json +8 -1
- package/dist/schemas/onchain_operations_demand.schema.json +29 -14
- package/dist/schemas/onchain_operations_gen_passport.schema.json +8 -1
- package/dist/schemas/onchain_operations_guard.schema.json +290 -105
- package/dist/schemas/onchain_operations_machine.schema.json +49 -34
- package/dist/schemas/onchain_operations_order.schema.json +63 -40
- package/dist/schemas/onchain_operations_payment.schema.json +26 -11
- package/dist/schemas/onchain_operations_permission.schema.json +362 -235
- package/dist/schemas/onchain_operations_personal.schema.json +27 -15
- package/dist/schemas/onchain_operations_progress.schema.json +45 -30
- package/dist/schemas/onchain_operations_proof.schema.json +9 -2
- package/dist/schemas/onchain_operations_repository.schema.json +8 -1
- package/dist/schemas/onchain_operations_reward.schema.json +32 -17
- package/dist/schemas/onchain_operations_service.schema.json +232 -125
- package/dist/schemas/onchain_operations_treasury.schema.json +32 -17
- package/dist/schemas/onchain_table_data.output.json +258 -6
- package/dist/schemas/onchain_table_data.schema.json +92 -52
- package/dist/schemas/persona_operation.output.json +7752 -0
- package/dist/schemas/persona_operation.schema.json +1232 -4
- package/dist/schemas/query_toolkit.output.json +756 -116
- package/dist/schemas/query_toolkit.schema.json +138 -7
- package/dist/schemas/schema_query.schema.json +1 -1
- package/dist/schemas/watch_operation.output.json +83 -0
- package/dist/schemas/wip_file.output.json +8 -0
- package/dist/schemas/workflow_operation.schema.json +2 -2
- package/dist/tools/handlers/benchmark-migration.d.ts +20 -3
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/evaluation.spec.js +1 -1
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +30 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/persona.js +1 -1
- package/dist/tools/handlers/query.d.ts +8 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/winner-derivation.d.ts +20 -0
- package/dist/tools/handlers/winner-derivation.js +1 -0
- package/dist/tools/handlers/wip-upload.js +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/config.js +1 -1
- package/dist/tools/registry/evaluation.js +1 -1
- package/dist/tools/registry/identity.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/transport-integrity.d.ts +7 -0
- package/dist/tools/transport-integrity.js +1 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wrap.d.ts +5 -0
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
- package/dist/extensions/business-modules.d.ts +0 -54
- package/dist/extensions/business-modules.js +0 -1
- package/dist/schemas/guard-templates.json +0 -379
|
@@ -1 +1 @@
|
|
|
1
|
-
import{strictParse}from'../../schema/index.js';import{BenchmarkMigrationSchema}from'../../schema/benchmark-migration/index.js';import{getTemplate,listTemplates,validateAllocatorRows,platformShareBps,builtinTemplateDrift}from'../../knowledge/template-loader.js';import{BUILTIN_TEMPLATES,auditTemplateOnceSlotArms,BUILTIN_TEMPLATES_VERSION,DISCOVERY_PRODUCT_REFS,DISCOVERY_TAG_VOCABULARY,discoveryTagsForTemplate}from'../../knowledge/builtin-templates.js';import{landPlatformCommission}from'../../knowledge/commission-landing.js';import{scanTemplate,buildFeeParamLandingTable}from'../../knowledge/template-scanner.js';import{planMigration}from'../../playbooks/service-build/migration-planner.js';import{handleMerchantGuide}from'../../playbooks/service-build/merchant-guide.js';import{inferArbitration}from'../../playbooks/service-build/intent-analyzer.js';import{getIndustryModeRegistry}from'../../extensions/index.js';import{listIndustries,resolveIndustryName}from'../../knowledge/industry-registry.js';import{claimNumber,discoverySignal,normalizeSemanticIR}from'../../knowledge/semantic-ir.js';import{handleRecommendIndustry}from'../../playbooks/service-build/mode-actions.js';import{handlerExecutor,materializePlan}from'../../composition/materialize.js';import{LocalMark}from'@wowok/wowok';import{join,dirname}from'node:path';import{fileURLToPath}from'node:url';import{computeSrcDistStaleness}from'../upgrade-check.js';const __dirname=dirname(fileURLToPath(import.meta.url));function collectLateMarks(a,b=new Set()){if(Array['isArray'](a)){for(const c of a)collectLateMarks(c,b);return b;}if(a&&typeof a==='object'){const d=a,e=d['$late'];if(e&&typeof e==='object'){const f=e;if(f['by']==='local_name'&&typeof f['mark']==='string')b['add'](f['mark']);}for(const g of Object['values'](d))collectLateMarks(g,b);}return b;}export function platformMarkRefusal(a,b){const c=a['toLowerCase']()['replace'](/^0x/,'');if(/^0x[0-9a-fA-F]{1,64}$/['test'](a)&&!/^0+$/['test'](c))return undefined;return'action=\x27plan_execute\x27:\x20the\x20LocalMark\x20\x27platform\x27\x20resolves\x20to\x20\x27'+a+'\x27\x20on\x20'+b+'\x20network\x20—\x20not\x20a\x20usable\x20account\x20address.\x20'+'This\x20plan\x20names\x20\x27platform\x27\x20as\x20a\x20settlement\x20recipient\x20and\x20order_allocators\x20freezes\x20at\x20Service\x20publish,\x20so\x20a\x20wrong\x20payee\x20can\x20only\x20be\x20fixed\x20by\x20re-publishing\x20the\x20Service.\x20'+'An\x20empty\x20name\x20makes\x20the\x20SDK\x20substitute\x20the\x20deploying\x20account\x20(the\x20share\x20lands\x20in\x20whoever\x20runs\x20the\x20deploy);\x20an\x20object-id\x20/\x20zero-address\x20recipient\x20is\x20transferred\x20and\x20cannot\x20be\x20retrieved.\x20'+'Re-point\x20the\x20mark\x20at\x20a\x20real\x20account\x20address\x20—\x20local_mark_operation\x20{add:{op:\x22add\x22,data:[{name:\x22platform\x22,address:\x220x...\x22}]}}\x20—\x20then\x20re-run.\x20Nothing\x20was\x20executed.';}export function staleBuildFace(a=join(__dirname,'..','..','..','src'),b=join(__dirname,'..','..','..','dist')){let c=null;try{c=computeSrcDistStaleness(a,b,{'srcExt':'.ts','distExt':'.js'});}catch{c=null;}if(!c)return{'stale':![],'known':![],'lag_minutes':null,'detail':'Stale-build\x20state\x20UNKNOWN\x20—\x20the\x20source\x20and\x20build-output\x20trees\x20were\x20not\x20both\x20resolvable\x20(installed\x20dist-only\x20'+'package\x20or\x20a\x20build\x20in\x20progress),\x20so\x20template\x20freshness\x20could\x20not\x20be\x20verified.\x20Treat\x20the\x20'+'scan/plan\x20verdicts\x20as\x20unconfirmed.'};if(!c['stale'])return{'stale':![],'known':!![],'lag_minutes':c['lag_minutes'],'detail':'dist\x20is\x20current\x20with\x20src\x20(newest\x20compiled\x20.js\x20vs\x20newest\x20source\x20.ts\x20mtime\x20lag\x20'+c['lag_minutes']+'\x20'+'minute(s))\x20—\x20the\x20scan/plan\x20verdicts\x20reflect\x20this\x20workspace\x20checkout.'};return{'stale':!![],'known':!![],'lag_minutes':c['lag_minutes'],'detail':'dist\x20is\x20'+c['lag_minutes']+'\x20minute(s)\x20OLDER\x20than\x20src\x20(newest\x20compiled\x20.js\x20vs\x20newest\x20source\x20.ts\x20mtime)\x20'+'—\x20the\x20scan/plan\x20above\x20may\x20describe\x20superseded\x20template\x20knowledge.\x20Rebuild\x20(pnpm\x20build)\x20and\x20re-run\x20'+'before\x20acting\x20on\x20these\x20verdicts.'};}function templateSummary(a){return{'id':a['id'],'industry':a['industry'],'variant':a['variant'],'product_ref':a['product_ref'],'archetype':a['archetype'],'key_risk':a['key_risk'],'node_count':a['machine_shape']['length'],'guard_count':a['guards']['length'],'recommended_role':a['recommended_role'],'tags':discoveryTagsForTemplate(a['id'])};}function templateGetAids(a){const b=a['machine_shape']['some'](c=>c['name']==='reviewed');return{'claim_anchor':b?'review_node+final':'final_only','claim_anchor_note':b?'machine_shape\x20mounts\x20a\x20\x27reviewed\x27\x20node\x20—\x20the\x20buyer\x27s\x20structured\x20review\x20rides\x20that\x20node\x20alongside\x20the\x20final\x20settlement.':'no\x20\x27reviewed\x27\x20node\x20—\x20sanctioned\x20variant:\x20the\x20buyer\x27s\x20voice\x20rides\x20the\x20claim/arbitration\x20rail\x20only\x20(no\x20separate\x20review\x20stop).','allocator_count_note':'allocator.count\x20=\x20'+a['allocator']['count']+'\x20counts\x20SETTLEMENT-track\x20legs\x20only;\x20refund-track\x20legs\x20(rows[]\x20with\x20track:\x22refund\x22)\x20are\x20additional\x20and\x20NOT\x20included\x20in\x20this\x20count.\x20rows[]\x20carries\x20the\x20complete\x20executable\x20split\x20plan.','onchain_field_notes':['passport.impack\x20—\x20the\x20on-chain\x20field\x20is\x20spelled\x20`impack`\x20(the\x20on-chain\x20passport\x20contract\x27s\x20own\x20field\x20name,\x20packed\x20business\x20objects\x20in\x20the\x20passport\x20verification\x20context).\x20It\x20is\x20the\x20contract\x27s\x20own\x20field\x20name,\x20not\x20a\x20typo;\x20echo\x20it\x20verbatim.']};}function requireTemplate(a,b){if(!a)throw new Error('\x27template_id\x27\x20is\x20required\x20for\x20action=\x27'+b+'\x27');const c=getTemplate(a);if(!c)throw new Error('Unknown\x20template\x20id:\x20'+a+'\x20(use\x20action=\x27template_list\x27\x20to\x20see\x20valid\x20ids)');return c;}function driftFace(a){const b=builtinTemplateDrift()['find'](c=>c['template']===a);if(!b){const c=BUILTIN_TEMPLATES['some'](d=>d['id']===a);return c?{'template':a,'state':'current','catalog_version':BUILTIN_TEMPLATES_VERSION,'blocked':![],'repairable':![],'detail':'disk\x20body\x20matches\x20the\x20shipped\x20catalog\x20(hash-verified\x20sentinel)'}:{'template':a,'state':'untracked','catalog_version':undefined,'blocked':![],'repairable':![],'detail':'user-authored\x20template\x20—\x20no\x20builtin\x20catalog\x20binding\x20to\x20compare\x20against'};}return{'template':b['template'],'state':b['state'],'catalog_version':BUILTIN_TEMPLATES_VERSION,'blocked':!![],'repairable':b['repairable'],'detail':b['detail']};}function withOnceSlotAdvisories(a){try{const b=auditTemplateOnceSlotArms()['find'](c=>c['template_id']===a['template_id']);if(!b)return a;return{...a,'findings':[...a['findings'],{'rule_id':'R-ONCE-SLOT-ARM-254','severity':'medium','title':'Once-slot\x20arming\x20on\x20a\x20periodic\x20rail\x20('+b['kind']+')','detail':b['message'],'suggestion':'Arm\x20the\x20re-enterable\x20settlement/renewal\x20guard\x20with\x20identifier\x20255\x20plus\x20a\x20per-period\x20key\x20(period-<N>\x20from\x20chain\x20state,\x20e.g.\x20progress\x20history\x20count)\x20and\x20have\x20the\x20trigger\x20Passport\x20submit\x20the\x20same\x20value;\x20keep\x20254\x20for\x20one-shot-per-order\x20rails\x20only.\x20Re-run\x20action=\x27template_scan\x27\x20after\x20the\x20fix.'}]};}catch{return a;}}function scanSummary(a,b){a=withOnceSlotAdvisories(a);const c={};for(const d of a['findings'])c[d['severity']]=(c[d['severity']]??0x0)+0x1;return{'template_id':a['template_id'],'risk_level':a['risk_level'],'preflight_scan_passed':a['red_flags']['length']===0x0,'finding_count':a['findings']['length'],'findings_by_severity':c,'red_flags':a['red_flags'],'findings':a['findings'],'drift':b};}function assertScanPassed(a,b){const c=a['red_flags'];if(a['passed']||c['length']===0x0)return;throw new Error('action=\x27'+b+'\x27\x20blocked:\x20pre-deploy\x20scan\x20of\x20template\x20\x27'+a['template_id']+'\x27\x20found\x20CRITICAL\x20risk\x20—\x20'+c['join'](';\x20')+'.\x20Fix\x20the\x20template\x20(frontmatter\x20or\x20body)\x20and\x20re-run\x20action=\x27template_scan\x27.');}const GENERATE_HIGH_TOLERATED=new Set([]);function assertGenerateScanPassed(a,b){assertScanPassed(a,b);if(b!=='template_generate')return;const c=generateHighBlockers(a['template_id'],a['findings']);if(c['length']===0x0)return;throw new Error('action=\x27'+b+'\x27\x20blocked:\x20pre-deploy\x20scan\x20of\x20template\x20\x27'+a['template_id']+'\x27\x20found\x20'+c['length']+'\x20HIGH\x20finding(s)\x20—\x20'+c['map'](d=>(d['rule_id']??'HIGH')+':\x20'+d['title'])['join'](';\x20')+'.\x20Fix\x20the\x20template\x20(frontmatter\x20or\x20body)\x20and\x20re-run\x20action=\x27template_scan\x27.');}function generateHighBlockers(a,b){return b['filter'](c=>c['severity']==='high'&&!(c['rule_id']&&GENERATE_HIGH_TOLERATED['has'](a+'/'+c['rule_id'])));}export function buildVerdict(a,b,c){const d=[];!a['preflight_scan_passed']&&d['push']('scan:\x20'+(a['findings_by_severity']['critical']??0x0)+'\x20CRITICAL\x20finding(s)\x20(preflight\x20scan\x20failed)');if(c){const j=generateHighBlockers(a['template_id'],a['findings']??[]);j['length']>0x0&&d['push']('scan:\x20'+j['length']+'\x20HIGH\x20finding(s)\x20—\x20template_generate\x20would\x20refuse\x20(N-21):\x20'+j['map'](k=>((k['rule_id']??'HIGH')+':\x20'+(k['title']??''))['trim']())['join'](';\x20'));}const e=b['graph_validation'];if(e&&e['valid']===![]){const k=Array['isArray'](e['hard_violations'])?e['hard_violations']['length']:0x0,l=Array['isArray'](e['hard_violations'])?e['hard_violations']['map'](m=>m['id'])['join'](',\x20'):'';d['push']('graph_validation:\x20'+k+'\x20hard\x20violation(s)'+(l?'\x20('+l+')':''));}const f=b['audit'];if(f&&f['blocking']===!![]){const m=(f['findings']??[])['filter'](n=>n['level']==='critical'||n['level']==='high');d['push'](m['length']===0x0?'audit:\x20guide\x20audit\x20flagged\x20blocking\x20issue(s)\x20(plan.audit)':'audit:\x20'+m['length']+'\x20blocking\x20finding(s)\x20—\x20'+m['slice'](0x0,0x5)['map'](n=>((n['rule_id']??'?')+':\x20'+(n['title']??''))['trim']())['join'](';\x20')+(m['length']>0x5?'\x20(+'+(m['length']-0x5)+'\x20more\x20in\x20plan.audit.findings)':''));}const g=b['harness_check'],h=[...new Set((g?.['blocking_issues']??[])['filter'](n=>n['module']==='template')['flatMap'](n=>n['missing_constraints']??[]))];h['length']>0x0&&d['push']('compile:\x20'+h['length']+'\x20blocker(s)\x20—\x20merchant_guide\x20refuses\x20to\x20materialize\x20this\x20plan:\x20'+h['join'](',\x20'));const i=d['length']===0x0;return{'buildable':i,'blockers':d,'status':i?'READY':'BLOCKED'};}async function templateScanDryRun(a){const b=[{'name':'scan-probe','price':'1000000000','quantity':0x1}],c=a['review_mode']==='review_reward'?{'review_mode':'review_reward','reward_funding':'20000000','reward_claim_amount':'1000000'}:undefined;try{const d=await runGuide(a,undefined,undefined,undefined,c,b),f=buildVerdict(scanSummary(scanTemplate(a)),d,!![]);return{'status':f['buildable']?'ready':'blocked','buildable':f['buildable'],'blockers':f['blockers'],'note':'Compile\x20dry-run\x20on\x20synthetic\x20probe\x20inputs\x20(single\x20probe\x20SKU,\x20benchmark\x20reward\x20funding),\x20mirrored\x20to\x20the\x20template_generate\x20gate\x20(CRITICAL\x20+\x20N-21\x20HIGH\x20+\x20graph\x20+\x20audit).\x20Structural\x20blockers\x20are\x20REAL\x20—\x20the\x20generate\x20face\x20refuses\x20for\x20the\x20same\x20reason.\x20Blockers\x20naming\x20caller\x20inputs\x20(fee_overrides\x20/\x20guard_resolutions\x20/\x20catalog)\x20may\x20clear\x20with\x20real\x20values.'};}catch(g){return{'status':'unavailable','note':'Compile\x20dry-run\x20could\x20not\x20run\x20on\x20synthetic\x20probe\x20inputs\x20('+(g instanceof Error?g['message']:String(g))+').\x20This\x20is\x20a\x20probe\x20limitation,\x20NOT\x20a\x20template\x20verdict\x20—\x20run\x20template_generate\x20for\x20the\x20authoritative\x20buildability.'};}}export function planNextAction(a,b,c){const d=a['next_action'];if(typeof d==='string'&&d['startsWith']('Plan\x20ready.'))return d;if(c?.['buildable']){const f=Array['isArray'](a['pending_guard_designs'])?a['pending_guard_designs']['length']:0x0;return'Plan\x20is\x20buildable\x20(verdict.buildable=true).\x20Materialize\x20the\x20objects\x20in\x20plan.steps\x20order'+(f>0x0?',\x20resolving\x20the\x20'+f+'\x20pending\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20via\x20guard_resolutions\x20before\x20the\x20Machine\x20publish':'')+'.';}const e=Array['isArray'](a['pending_guard_designs'])?a['pending_guard_designs']['length']:0x0;return'Plan\x20BLOCKED\x20by\x20the\x20guide\x20audit\x20(see\x20plan.audit\x20/\x20plan.next_action).\x20Do\x20NOT\x20materialize,\x20'+'and\x20do\x20NOT\x20hand-build\x20the\x20objects\x20instead:\x20this\x20plan\x20is\x20the\x20wiring\x20authority\x20(Arbitration\x20+\x20'+'compensation-fund,\x20Contact/um,\x20allocator\x20rows)\x20and\x20hand-built\x20replicas\x20silently\x20drop\x20those\x20wirings.\x20'+(e>0x0?'Resolve\x20the\x20'+e+'\x20pending\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20via\x20guard_resolutions\x20(kind\x20\x27inline\x27\x20with\x20the\x20Guard\x20table+root,\x20kind\x20\x27template\x27\x20with\x20a\x20tpl_*\x20id,\x20or\x20{kind:\x27omit\x27}\x20for\x20advisory\x20designs\x20that\x20do\x20not\x20apply\x20to\x20this\x20shop),\x20':'Adjust\x20fee_overrides,\x20pick\x20another\x20template\x20variant,\x20or\x20fix\x20the\x20template,\x20')+('then\x20re-run\x20action=\x27'+b+'\x27.');}function templateIntent(a,b){if(b&&b['trim']())return b['trim']();return'Adopt\x20the\x20'+a['id']+'\x20industry\x20archetype\x20template\x20('+a['archetype']+')\x20for\x20the\x20'+a['industry']+'\x20industry.\x20'+('Primary\x20risk\x20to\x20mitigate:\x20'+a['key_risk']+'.');}function effectiveFeeParams(a,b){return{...a['fee_params'],...b??{}};}const REWARD_POOL_PATTERNS=[/(?:reward|review|bonus|tip|prize)[\s-]*pools?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:reward|review|bonus|tip|prize)[\s-]*pools?\b/i];export function extractRewardPoolCandidate(a){if(!a)return undefined;for(const b of REWARD_POOL_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}function rewardPoolPrefill(a,b,c,d){if(a['fee_params']['review_reward_pool']===undefined)return undefined;if(c?.['review_reward_pool']!==undefined)return undefined;const e=d?claimNumber(d,'reward_pool_amount'):undefined;if(e!==undefined)return{'fee_key':'review_reward_pool','value':e,'claim_source':'semantic_ir'};const f=extractRewardPoolCandidate(b);return f===undefined?undefined:{'fee_key':'review_reward_pool','value':f};}const FUNDING_THRESHOLD_PATTERNS=[/(?:funding|campaign|round)[\s-]*(?:threshold|goal)s?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:funding|campaign|round)[\s-]*(?:threshold|goal)\b/i],MIN_ORDER_PATTERNS=[/(?:min(?:imum)?)\s+order(?:\s+(?:price|value|amount))?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:min(?:imum)?)\s+order\b/i];export function extractFundingThresholdCandidate(a){if(!a)return undefined;for(const b of FUNDING_THRESHOLD_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}export function extractMinOrderCandidate(a){if(!a)return undefined;for(const b of MIN_ORDER_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}function numericFeePrefill(a,b,c,d,e,f,g){if(a['fee_params'][b]===undefined)return undefined;if(f?.[b]!==undefined)return undefined;const h=g?claimNumber(g,c):undefined;if(h!==undefined)return{'fee_key':b,'value':h,'claim_source':'semantic_ir'};const i=d(e);return i===undefined?undefined:{'fee_key':b,'value':i};}function validateFeeParams(a,b){const c=[];let d=0x0;for(const [e,f]of Object['entries'](a)){if(typeof f!=='number'||!Number['isFinite'](f))continue;if(e['endsWith']('_bps')){(!Number['isInteger'](f)||f<0x0||f>0x2710)&&c['push'](e+'='+f+'\x20is\x20not\x20an\x20integer\x20rate\x20in\x20[0,\x2010000]\x20bps');if(e['endsWith']('_share_bps'))d+=Math['max'](0x0,f);}else{if(e['endsWith']('_days')){if(f<=0x0||f>0xe42)c['push'](e+'='+f+'\x20is\x20outside\x20the\x20sane\x20window\x20range\x20(0,\x203650]\x20days');}else{if(e['endsWith']('_hours')){if(f<=0x0||f>0x2238)c['push'](e+'='+f+'\x20is\x20outside\x20the\x20sane\x20window\x20range\x20(0,\x208760]\x20hours');}}}}if(d>0x2710)c['push']('*_share_bps\x20sum\x20'+d+'\x20exceeds\x2010000\x20(a\x20pool\x20splits\x20into\x20at\x20most\x20100%)');if(c['length']>0x0)throw new Error('invalid\x20fee\x20parameters\x20for\x20template\x20\x27'+b+'\x27:\x20'+c['join'](';\x20')+'.\x20'+'Correct\x20the\x20template\x27s\x20fee_params\x20or\x20pass\x20valid\x20\x27fee_overrides\x27.');}export{validateAllocatorRows};export function variantPaymentModel(a){if(a['payment_model'])return a['payment_model'];const b=a['allocator']['rows']??[];if(b['some'](d=>d['track']==='refund'))return'escrow';const c=a['machine_shape']['map'](d=>d['name'])['join']('\x20')['toLowerCase']();if(/\b(milestone|revision|revis|draft|deliverable)\b/['test'](c))return'milestone';if(/\b(charge|renew|subscription|cycle|billing|monthly)\b/['test'](c))return'subscription';return'escrow';}function variantRefundPolicy(a){const b=a['allocator']['description']['toLowerCase']();if(/full[ -]?refund|100% refund|refund .*100/['test'](b))return'full';if(/pro-?rata|prorated/['test'](b))return'milestone_prorated';if(/partial/['test'](b))return'partial';return undefined;}export function variantDeliverables(a,b){const c=a['machine_shape']['filter'](g=>g['semantic_role']==='final'),d=c[c['length']-0x1]??[...a['machine_shape']]['reverse']()['find'](g=>!/refund|cancel|dispute|terminat/i['test'](g['name']+'\x20'+g['role']))??a['machine_shape'][a['machine_shape']['length']-0x1],e=b?.['has_logistics']?'physical':b?.['pure_digital']?'digital':'service_session',f=(a['guards']??[])['filter'](h=>/repository_data_check|required_info_evidence_gate|allocator_order_anchor/['test'](h['template_id']));return[{'name':a['variant']+'\x20fulfillment','type':e,'acceptanceCriteria':'Order\x20reaches\x20the\x20terminal\x20workflow\x20node\x20\x27'+d['name']+'\x27\x20('+d['role']+')','proofOfDelivery':f['length']>0x0?'wip_hash':'manual_confirm'}];}function validateConditionalParams(a,b){for(const d of a['conditional_guards']??[]){const e=b[d['param']];if(e===undefined)continue;if(typeof e!=='string'||!d['values']['includes'](e))throw new Error('invalid\x20\x27'+d['param']+'='+String(e)+'\x27\x20for\x20template\x20\x27'+a['id']+'\x27:\x20must\x20be\x20one\x20of\x20'+d['values']['map'](f=>'\x27'+f+'\x27')['join']('\x20|\x20')+('\x20(the\x20guard\x20variant\x20mounts\x20at\x20\x27'+d['emit_value']+'\x27)'));}}async function runGuide(a,b,c,d,e,f,g){const h=effectiveFeeParams(a,c),i=rewardPoolPrefill(a,b,c,g);if(i)h[i['fee_key']]=i['value'];const j=numericFeePrefill(a,'funding_threshold','funding_threshold_amount',extractFundingThresholdCandidate,b,c,g);if(j)h[j['fee_key']]=j['value'];const k=numericFeePrefill(a,'min_order_price','min_order_price_amount',extractMinOrderCandidate,b,c,g);if(k)h[k['fee_key']]=k['value'];validateFeeParams(h,a['id']),validateConditionalParams(a,h);const l=landPlatformCommission(a,h);if(l['error']!==undefined)throw new Error(l['error']);const m=l['rows']?{...a,'allocator':{...a['allocator'],'rows':l['rows'],'count':l['rows']['filter'](y=>y['track']==='settlement')['length']}}:a,n=getIndustryModeRegistry()['getMode'](a['industry']),o=platformShareBps(h),q={'model':variantPaymentModel(a)},r=[],s=(m['allocator']['rows']?.['length']??0x0)>0x0;if(o!==undefined&&o>0x0&&!s&&a['allocator']['mode']==='rate'){const y=Math['round'](o)/0x64;r['push']({'recipient':'merchant','percentage':Math['round']((0x64-y)*0x64)/0x64}),r['push']({'recipient':'platform','percentage':y}),q['allocation']=r;}const u=variantRefundPolicy(a),v={'escrow':!![]};if(u)v['refundPolicy']=u;v['arbitration']=a['arbitration_mode']??v['arbitration']??inferArbitration(templateIntent(a,b));const w=await handleMerchantGuide({'intent':templateIntent(a,b),'guide_confirm':{'industry':a['industry'],'payment':q,'trust':v,'deliverables':variantDeliverables(a,n?.['traits']),...d&&Object['keys'](d)['length']>0x0?{'guard_resolutions':d}:{},...e?.['review_mode']?{'review_mode':e['review_mode']}:{},...e?.['reward_funding']!==undefined?{'reward_funding':e['reward_funding']}:{},...e?.['reward_claim_amount']!==undefined?{'reward_claim_amount':e['reward_claim_amount']}:{},...e?.['after_sales_mode']?{'after_sales_mode':e['after_sales_mode']}:{},...e?.['acceptance_mode']?{'acceptance_mode':e['acceptance_mode']}:{},...e?.['installment_mode']?{'installment_mode':e['installment_mode']}:{},...e?.['affiliate_mode']?{'affiliate_mode':e['affiliate_mode']}:{},...e?.['crowdfunding_mode']?{'crowdfunding_mode':e['crowdfunding_mode']}:{},...e?.['logistics_mode']?{'logistics_mode':e['logistics_mode']}:{},...f?.['length']?{'sales':f}:{}},'template_override':{...m,'fee_params':h},'name_base':a['id']});m['allocator']['rows']?.['length']&&(w['template_allocator_rows']=m['allocator']['rows']['map'](z=>({...z})));if(l['landing']!==undefined)w['commission_landing']=l['landing'];w['template']={'id':a['id'],'archetype':a['archetype'],'recommended_role':a['recommended_role'],'fee_params':h},w['catalog_version']=BUILTIN_TEMPLATES_VERSION;{const z=[...collectLateMarks(w['plan']??{})]['sort']();z['length']>0x0&&(w['required_local_marks']=z,w['required_local_marks_note']='plan_execute\x20resolves\x20each\x20of\x20these\x20local\x20names\x20against\x20the\x20LocalMark\x20store\x20of\x20the\x20target\x20network\x20and\x20refuses\x20to\x20execute\x20while\x20any\x20is\x20unregistered.\x20'+'Register\x20them\x20BEFORE\x20executing\x20(local_mark_operation\x20add).\x20A\x20name\x20that\x20matches\x20an\x20object\x20this\x20plan\x20itself\x20creates\x20is\x20bound\x20to\x20that\x20object\x20automatically.\x20'+'A\x20recipient\x20mark\x20must\x20point\x20at\x20a\x20real\x20account\x20address:\x20an\x20empty\x20name\x20makes\x20the\x20SDK\x20substitute\x20the\x20deploying\x20account\x20(the\x20share\x20lands\x20in\x20whoever\x20runs\x20the\x20deploy),\x20and\x20an\x20object-id\x20/\x20zero-address\x20recipient\x20is\x20transferred\x20and\x20cannot\x20be\x20retrieved.\x20'+'A\x20Rate-0\x20Entity\x20leg\x20still\x20listed\x20in\x20template_allocator_rows\x20is\x20dropped\x20at\x20compile\x20time\x20and\x20needs\x20no\x20mark\x20(the\x20direct-sales\x20default\x20pays\x20nobody).');}w['template_fee_param_landings']=buildFeeParamLandingTable(m,h);if(c&&Object['keys'](c)['length']>0x0)w['template_fee_overrides']=c;const x=[];if(i)x['push'](i);if(j)x['push'](j);if(k)x['push'](k);if(x['length']>0x0){w['fee_overrides_prefills']=x;for(const A of x){const B=A['fee_key']==='review_reward_pool'?'Reward\x20pool':A['fee_key']==='funding_threshold'?'Funding\x20threshold':'Minimum\x20order',C=A['claim_source']==='semantic_ir'?'\x20(from\x20the\x20semantic\x20IR\x20claim)':'';w['next_action']=w['next_action']+'\x20'+B+'\x20prefilled\x20from\x20your\x20request:\x20'+A['value']+C+'\x20—\x20adjust\x20via\x20fee_overrides.';}}return w;}export async function handleBenchmarkMigrationOperation(a){const b=strictParse(BenchmarkMigrationSchema,a,'benchmark_migration_operation\x20input'),c=b['industry']?resolveIndustryName(b['industry'])??b['industry']['toLowerCase']():undefined,d=b['semantic_ir']?normalizeSemanticIR(b['semantic_ir'],{'source_text':b['description']}):undefined,e=d?{'semantic_ir_digest':d['digest'],...d['issues']['length']>0x0?{'semantic_ir_issues':d['issues']}:{}}:undefined;let f;switch(b['action']){case'template_list':{const {templates:g,errors:h}=listTemplates(),i=c?g['filter'](k=>k['industry']===c):g,j=new Map(builtinTemplateDrift()['map'](k=>[k['template'],k['state']]));f={'action':'template_list','count':i['length'],'templates':i['map'](k=>({...templateSummary(k),'disk_state':j['get'](k['id'])??(BUILTIN_TEMPLATES['some'](l=>l['id']===k['id'])?'current':'untracked')})),'discovery_vocabulary':{'industries':listIndustries()['map'](k=>k['name'])['sort'](),'tags':[...DISCOVERY_TAG_VOCABULARY],'product_refs':[...DISCOVERY_PRODUCT_REFS]},'load_errors':h};break;}case'template_get':{const k=requireTemplate(b['template_id'],'template_get');f={'action':'template_get','template':{...k,...templateGetAids(k)}};break;}case'template_generate':{const l=requireTemplate(b['template_id'],'template_generate'),m=b['review_mode']??l['review_mode']??'none',n=[];m==='review_reward'&&!b['reward_funding']&&n['push']('reward_funding\x20is\x20required:\x20template\x20\x27'+l['id']+'\x27\x20resolves\x20to\x20review_mode\x20\x27review_reward\x27\x20(input'+(b['review_mode']?'':'\x20via\x20template\x20declaration')+'),\x20which\x20promises\x20buyers\x20a\x20claimable\x20review\x20bounty\x20—\x20an\x20unfunded\x20pool\x20must\x20not\x20ship\x20(INV-4).\x20Pass\x20reward_funding\x20(smallest-unit\x20string;\x20expected\x20orders\x20x\x20per-order\x20reward\x20—\x20fee_param\x20review_reward_pool\x20is\x20the\x20planning\x20benchmark),\x20or\x20drop\x20the\x20mode\x20explicitly\x20(review_mode\x20\x27review\x27\x20keeps\x20the\x20review\x20rail\x20without\x20the\x20bounty;\x20\x27none\x27\x20removes\x20the\x20rail).');(!Array['isArray'](b['sales'])||b['sales']['length']===0x0)&&n['push']('sales\x20is\x20required:\x20a\x20plan\x20without\x20a\x20sellable\x20catalog\x20publishes\x20a\x20Service\x20frozen\x20with\x20sales:\x20[]\x20and\x20every\x20order_new\x20aborts\x20(PLAN-SALES-01,\x20upgraded\x20to\x20an\x20input\x20requirement,\x20amz9\x20A-2).\x20Pass\x20sales:\x20[{\x20name,\x20price,\x20quantity?,\x20wip_hash?\x20}]\x20—\x20one\x20entry\x20per\x20sellable\x20SKU,\x20price\x20in\x20smallest\x20units\x20(wip_hash\x20from\x20the\x20wip_file\x20tool\x20upload).');if(n['length']>0x0)return{'content':[{'type':'text','text':'template_generate\x20refused\x20—\x20no\x20plan\x20was\x20built.\x20'+n['length']+'\x20input\x20gap(s),\x20ALL\x20listed\x20at\x20once\x20(AR-4\x20T-05):\x20'+n['map']((q,r)=>'('+(r+0x1)+')\x20'+q)['join']('\x20')}],'structuredContent':{'result':{'type':'error','error':'template_generate\x20input\x20preflight\x20failed\x20with\x20'+n['length']+'\x20gap(s)\x20on\x20template\x20\x27'+l['id']+'\x27\x20—\x20all\x20gaps\x20reported\x20in\x20this\x20single\x20response\x20(do\x20not\x20fix\x20one\x20and\x20rediscover\x20the\x20next).','error_code':'input_preflight_failed','retryable':!![],'recovery_hint':n['join']('\x20|\x20'),'gaps':n},'message':'Refused:\x20input\x20preflight\x20failed.\x20Fix\x20ALL\x20listed\x20gaps,\x20then\x20re-send\x20ONCE.\x20See\x20recovery_hint.'}};const o=scanTemplate(l);assertGenerateScanPassed(o,'template_generate');const p=await runGuide(l,b['description'],b['fee_overrides'],b['guard_resolutions'],{'review_mode':b['review_mode'],'reward_funding':b['reward_funding'],'reward_claim_amount':b['reward_claim_amount'],'after_sales_mode':b['after_sales_mode'],'acceptance_mode':b['acceptance_mode'],'installment_mode':b['installment_mode'],'affiliate_mode':b['affiliate_mode'],'crowdfunding_mode':b['crowdfunding_mode']},b['sales'],d?.['ir']);f=((()=>{const q=scanSummary(o,driftFace(l['id'])),r=buildVerdict(q,p);return{'action':'template_generate','template_id':l['id'],...e,'stale_build':staleBuildFace(),'scan':q,'plan':p,'verdict':r,'next_action':planNextAction(p,'template_generate',r)};})());break;}case'template_scan':{const q=requireTemplate(b['template_id'],'template_scan'),r=await templateScanDryRun(q);f={'action':'template_scan','stale_build':staleBuildFace(),'scan':{...withOnceSlotAdvisories(scanTemplate(q)),'drift':driftFace(q['id']),'compile_dry_run':r},...r['status']==='unavailable'?{}:{'buildable':r['buildable']===!![],'build_blockers':r['blockers']??[]},'next_action':r['status']==='blocked'?'compile_dry_run\x20BLOCKED\x20—\x20the\x20static\x20rule\x20scan\x20passed,\x20but\x20the\x20compile\x20kernel\x20refuses\x20this\x20template\x20(see\x20build_blockers;\x20the\x20same\x20verdict\x20template_generate\x20enforces).\x20Do\x20NOT\x20publish\x20from\x20this\x20scan:\x20run\x20template_generate\x20for\x20the\x20full\x20verdict,\x20or\x20fix\x20the\x20template\x20and\x20re-scan.':r['status']==='ready'?'compile_dry_run\x20READY\x20on\x20probe\x20inputs\x20—\x20proceed\x20with\x20template_generate.':'compile_dry_run\x20unavailable\x20on\x20probe\x20inputs\x20—\x20run\x20template_generate\x20for\x20the\x20authoritative\x20buildability.'};break;}case'migration_import':{if(!b['description']||!b['description']['trim']())throw new Error('\x27description\x27\x20is\x20required\x20for\x20action=\x27migration_import\x27');const s=d?handleRecommendIndustry({'intent':b['description'],'semantic_ir':b['semantic_ir']}):undefined,t=planMigration({'url':b['url'],'description':b['description'],'industry':c,'ir_industry':c?undefined:s?.['recommendations'][0x0]?.['industry'],'ir_discovery':d?discoverySignal(d['ir']):undefined,'network':b['network']});if(!t)throw new Error('No\x20industry\x20template\x20matched\x20the\x20description.\x20Refine\x20the\x20description\x20or\x20pass\x20an\x20explicit\x20\x27industry\x27\x20hint'+(d?',\x20or\x20add\x20discovery\x20tags\x20/\x20a\x20product_ref\x20to\x20semantic_ir\x20(tags\x20vocabulary:\x20template_list.discovery_vocabulary).':'\x20(or\x20provide\x20semantic_ir\x20with\x20discovery\x20tags\x20/\x20traits\x20for\x20a\x20non-English\x20description).'));f={'action':'migration_import','log':t,...s?{'inference_source':s['inference_source']}:{},...e,'next_action':'MigrationLog\x20ready.\x20Next:\x20call\x20action=\x27migration_review\x27\x20with\x20this\x20log\x20to\x20surface\x20the\x20mapped/unmapped/manual_review\x20items\x20for\x20user\x20confirmation.'};break;}case'plan_execute':{if(!b['plan']||typeof b['plan']!=='object'||Array['isArray'](b['plan']))throw new Error('\x27plan\x27\x20is\x20required\x20for\x20action=\x27plan_execute\x27\x20—\x20pass\x20the\x20object\x20returned\x20under\x20\x27plan\x27\x20by\x20template_generate\x20verbatim');const u=b['plan'],v=u['plan']!==undefined&&typeof u['plan']==='object'&&!Array['isArray'](u['plan'])&&Array['isArray'](u['plan']['steps'])?u['plan']:u;if(!Array['isArray'](v['steps']))throw new Error('action=\x27plan_execute\x27:\x20the\x20passed\x20plan\x20carries\x20no\x20steps[]\x20—\x20pass\x20the\x20template_generate\x20\x27plan\x27\x20object\x20verbatim');const w=typeof v['catalog_version']==='number'?v['catalog_version']:undefined;if(w!==undefined&&w!==BUILTIN_TEMPLATES_VERSION)throw new Error('action=\x27plan_execute\x27:\x20STALE\x20PLAN\x20—\x20the\x20plan\x20was\x20generated\x20against\x20catalog\x20v'+w+',\x20'+('but\x20this\x20server\x20runs\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+';\x20shapes,\x20guards\x20and\x20emissions\x20may\x20have\x20')+'changed\x20since.\x20Re-run\x20template_generate\x20(or\x20migration_apply)\x20to\x20regenerate\x20the\x20plan\x20against\x20the\x20'+'current\x20catalog,\x20then\x20execute\x20THAT\x20verbatim.\x20Nothing\x20was\x20executed.');const x=Array['isArray'](b['completed_steps'])&&b['completed_steps']['length']>0x0||b['previous_outputs']?{'completedSteps':b['completed_steps']??[],'outputs':b['previous_outputs']??{}}:undefined,y=((()=>{const K=new Map();for(const M of v['steps']??[]){const N=M['params'];M['op']==='create'&&typeof N?.['name']==='string'&&K['set'](N['name'],String(M['id']));}const L=O=>{if(Array['isArray'](O))return O['map'](L);if(O&&typeof O==='object'){const P=O,Q=P['$late'],R=Object['keys'](P);if(Q?.['by']==='local_name'&&typeof Q['mark']==='string'&&R['length']===0x1&&K['has'](Q['mark']))return{'$ref':K['get'](Q['mark'])};return Object['fromEntries'](Object['entries'](P)['map'](([S,T])=>[S,L(T)]));}return O;};return L(v);})()),z=[...collectLateMarks(y)],A=b['env']?.['network'],B=new Map(),C=[];for(const K of z){const L=await LocalMark['Instance']()['get_address'](K,A)['catch'](()=>undefined);if(typeof L==='string'&&L['length']>0x0)B['set'](K,L);else C['push'](K);}if(C['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20unresolved\x20LocalMark(s)\x20['+C['join'](',\x20')+']\x20on\x20'+(A??'default')+'\x20network.\x20'+'This\x20plan\x20pays\x20an\x20Entity\x20bound\x20by\x20local\x20name.\x20Register\x20the\x20mark\x20first\x20—\x20'+('local_mark_operation\x20{add:{op:\x22add\x22,data:[{name:\x22'+C[0x0]+'\x22,address:\x22<your\x20entity\x20address>\x22}]}}\x20—\x20then\x20re-run.\x20')+'Nothing\x20was\x20executed.');const D=B['get']('platform');if(D!==undefined){const M=platformMarkRefusal(D,A??'default');if(M!==undefined)throw new Error(M);}const E=await materializePlan(y,{'execute':handlerExecutor(b['env']),'envByAccount':b['accounts'],'timeoutMs':b['timeout_ms'],'resolveLate':N=>{if(N['by']==='address')return N['address'];const O=B['get'](N['mark']);if(O===undefined)throw new Error('unresolved\x20late\x20binding:\x20local_name\x20\x27'+N['mark']+'\x27');return O;}},x),F=E['steps']['filter'](N=>N['status']==='blocked')['length'],G=E['steps']['find'](N=>N['status']==='failed'),H=E['steps']['some'](N=>N['status']==='blocked'&&typeof N['error']==='string'&&N['error']['startsWith']('preflight\x20failed:')),I=E['steps']['find'](N=>N['status']==='failed'&&typeof N['digest']==='string'&&N['digest']['length']>0x0),J=E['steps']['find'](N=>N['status']==='blocked'&&typeof N['error']==='string'&&N['error']['startsWith']('time\x20budget'));f={'action':'plan_execute','completed':E['completed'],'steps':E['steps'],'outputs':E['outputs'],'preflight':{'issues':E['preflight']['issues'],'findings':E['preflight']['findings']},'readback':E['readback'],'next_action':E['completed']?'Deployed.\x20Verify\x20the\x20store\x20(query_toolkit:\x20service\x20/\x20machine\x20/\x20orders),\x20then\x20discharge\x20any\x20post-deploy\x20module\x20obligations\x20the\x20guide\x20listed\x20under\x20harness_check.module_gaps.':H?'A\x20publish\x20step\x20was\x20BLOCKED\x20by\x20the\x20freeze\x20gate\x20—\x20the\x20store\x20is\x20NOT\x20live.\x20Fix\x20the\x20listed\x20preflight\x20checks\x20at\x20the\x20SOURCE\x20(re-run\x20template_generate);\x20never\x20patch\x20plan\x20steps\x20by\x20hand.':I!==undefined?'Step\x20\x27'+I['stepId']+'\x27\x20FAILED\x20with\x20digest\x20'+I['digest']+'\x20—\x20the\x20transaction\x20MAY\x20have\x20committed\x20(transport\x20face).\x20VERIFY\x20FIRST:\x20onchain_transaction\x20with\x20that\x20digest.\x20If\x20committed:\x20ADOPT\x20it\x20—\x20add\x20\x27'+I['stepId']+'\x27\x20to\x20completed_steps\x20(and\x20its\x20created\x20object\x20address\x20to\x20previous_outputs)\x20in\x20the\x20resume\x20call.\x20If\x20confirmed\x20absent:\x20re-send\x20with\x20completed_steps/previous_outputs\x20from\x20this\x20response\x20alone.\x20Never\x20blind-resume\x20a\x20digest-bearing\x20failure\x20(ghost\x20duplicates).':E['budgetExhausted']?'Time\x20budget\x20('+String(b['timeout_ms'])+'ms)\x20reached\x20before\x20step\x20\x27'+(J?.['stepId']??'?')+'\x27\x20—\x20the\x20run\x20stopped\x20cleanly\x20mid-plan\x20with\x20NO\x20unknown-state\x20step.\x20RESUME:\x20send\x20plan_execute\x20again\x20with\x20the\x20SAME\x20plan,\x20completed_steps\x20=\x20every\x20stepId\x20whose\x20status\x20is\x20\x27executed\x27\x20in\x20this\x20response,\x20previous_outputs\x20=\x20this\x20response\x27s\x20outputs\x20('+F+'\x20step(s)\x20remain;\x20raise\x20or\x20omit\x20timeout_ms\x20to\x20take\x20fewer\x20slices).':'Step\x20\x27'+(G?.['stepId']??'?')+'\x27\x20FAILED:\x20'+(G?.['error']??'unknown')+'.\x20RESUME\x20—\x20do\x20NOT\x20re-run\x20from\x20scratch\x20(duplicate\x20objects):\x20send\x20plan_execute\x20again\x20with\x20completed_steps\x20=\x20every\x20stepId\x20whose\x20status\x20is\x20\x27executed\x27\x20in\x20this\x20response,\x20and\x20previous_outputs\x20=\x20this\x20response\x27s\x20outputs.'};break;}case'migration_review':{if(!b['log'])throw new Error('\x27log\x27\x20is\x20required\x20for\x20action=\x27migration_review\x27');const N=b['log'],O=Array['isArray'](N['mapped'])?N['mapped']:[],P=Array['isArray'](N['unmapped'])?N['unmapped']:[],Q=Array['isArray'](N['manual_review'])?N['manual_review']:[],R=N['risk_check']??{},S=N['source']?.['matched_template']??'',T=N['template_match']??{},U=typeof T['source']==='string'?T['source']:'unknown',V=typeof T['confidence']==='number'?T['confidence']:0x0,W=U==='unknown'||U==='industry_leader'||U==='ir_industry_fallback'||V<0.5,X=P['length']===0x0&&Q['length']===0x0&&R['passed']===!![]&&!W;f={'action':'migration_review','log':N,'review_summary':{'mapped_count':O['length'],'unmapped_count':P['length'],'manual_review_count':Q['length'],'risk_passed':R['passed']===!![],'template_match':{'template_id':S,'source':U,'confidence':V,'weak_match':W}},'next_action':X?'Review\x20clean.\x20Proceed:\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+S+'\x27\x20to\x20produce\x20the\x20creation\x20plan\x20(network\x20defaults\x20to\x20testnet;\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).':W?'WEAK\x20TEMPLATE\x20MATCH:\x20\x27'+S+'\x27\x20was\x20chosen\x20by\x20\x27'+U+'\x27\x20at\x20confidence\x20'+V+'\x20—\x20a\x20fallback,\x20not\x20evidence\x20(ssng\x20A-1:\x20a\x20Chinese\x20one-liner\x20silently\x20built\x20the\x20wrong\x20store\x20this\x20way).\x20Play\x20the\x20match\x20back\x20to\x20the\x20user\x20and\x20confirm\x20the\x20business\x20model.\x20To\x20get\x20an\x20EVIDENCE-based\x20match,\x20translate\x20through\x20the\x20caller\x20mechanism\x20(any\x20locale\x20works;\x20translation\x20happens\x20in\x20the\x20caller,\x20never\x20in\x20keyword\x20tables):\x20produce\x20a\x20semantic_ir\x20carrying\x20discovery.english_summary\x20(an\x20English\x20restatement\x20of\x20the\x20intent),\x20discovery.tags\x20(each\x20from\x20template_list.discovery_vocabulary)\x20and\x20discovery.product_ref\x20(a\x20benchmark-product\x20slug),\x20with\x20every\x20evidence\x20quote\x20verbatim\x20in\x20the\x20description\x20—\x20then\x20re-run\x20migration_plan.\x20Only\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+S+'\x27\x20after\x20the\x20user\x20approves\x20THAT\x20template.':'Surface\x20the\x20'+P['length']+'\x20unmapped\x20and\x20'+Q['length']+'\x20manual_review\x20items'+(R['passed']===!![]?'':'\x20plus\x20the\x20risk_check\x20findings')+'\x20to\x20the\x20user\x20for\x20a\x20decision\x20before\x20action=\x27migration_apply\x27\x20(template_id=\x27'+S+'\x27).'};break;}case'migration_apply':{const Y=requireTemplate(b['template_id'],'migration_apply'),Z=scanTemplate(Y);assertScanPassed(Z,'migration_apply');const a0=b['network']??'testnet',a1=await runGuide(Y,b['description'],b['fee_overrides'],b['guard_resolutions'],{'review_mode':b['review_mode'],'reward_funding':b['reward_funding'],'reward_claim_amount':b['reward_claim_amount'],'after_sales_mode':b['after_sales_mode'],'acceptance_mode':b['acceptance_mode'],'installment_mode':b['installment_mode'],'affiliate_mode':b['affiliate_mode'],'crowdfunding_mode':b['crowdfunding_mode']},b['sales'],d?.['ir']);f=((()=>{const a2=scanSummary(Z,driftFace(Y['id'])),a3=buildVerdict(a2,a1);return{'action':'migration_apply','template_id':Y['id'],'network':a0,...e,'scan':a2,'plan':a1,'verdict':a3,'next_action':planNextAction(a1,'migration_apply',a3)};})());break;}default:throw new Error('Unknown\x20benchmark_migration_operation\x20action:\x20'+String(b['action']));}return{'content':[{'type':'text','text':JSON['stringify']({'result':f})}],'structuredContent':{'result':f}};}
|
|
1
|
+
import{strictParse}from'../../schema/index.js';import{BenchmarkMigrationSchema}from'../../schema/benchmark-migration/index.js';import{getTemplate,getTemplateLoadError,listTemplates,validateAllocatorRows,platformShareBps,builtinTemplateDrift,templateCatalogDigest}from'../../knowledge/template-loader.js';import{BUILTIN_TEMPLATES,auditTemplateOnceSlotArms,auditTemplateNodeOperatorOverwrite,auditTemplateReturnNoExit,BUILTIN_TEMPLATES_VERSION,DISCOVERY_PRODUCT_REFS,DISCOVERY_TAG_VOCABULARY,discoveryTagsForTemplate}from'../../knowledge/builtin-templates.js';import{landPlatformCommission}from'../../knowledge/commission-landing.js';import{getTemplateParamFileLayer,templateParamsFilePath}from'../../config/template-params.js';import{scanTemplate,buildFeeParamLandingTable}from'../../knowledge/template-scanner.js';import{planMigration}from'../../playbooks/service-build/migration-planner.js';import{handleMerchantGuide}from'../../playbooks/service-build/merchant-guide.js';import{inferArbitration}from'../../playbooks/service-build/intent-analyzer.js';import{getIndustryModeRegistry}from'../../extensions/index.js';import{listIndustries,resolveIndustryName}from'../../knowledge/industry-registry.js';import{claimNumber,discoverySignal,normalizeSemanticIR}from'../../knowledge/semantic-ir.js';import{handleRecommendIndustry}from'../../playbooks/service-build/mode-actions.js';import{bindAuditPlan,bindAuditReport,bindRecoveryList,handlerExecutor,materializePlan}from'../../composition/materialize.js';import{clearPlanStep,lockedFreshStep,planLedgerKey,recordPlanRound,repeatedPlanFailures}from'../../composition/plan-retry-ledger.js';import{collectLateMarks,collectAddressSlotBareNames,validatePlan}from'../../composition/plan.js';import{LocalMark}from'@wowok/wowok';import{join,dirname,resolve}from'node:path';import{readFileSync}from'node:fs';import{fileURLToPath}from'node:url';import{computeSrcDistStaleness}from'../upgrade-check.js';const __dirname=dirname(fileURLToPath(import.meta.url));export function platformMarkRefusal(a,b){const c=a['toLowerCase']()['replace'](/^0x/,'');if(/^0x[0-9a-fA-F]{1,64}$/['test'](a)&&!/^0+$/['test'](c))return undefined;return'action=\x27plan_execute\x27:\x20the\x20LocalMark\x20\x27platform\x27\x20resolves\x20to\x20\x27'+a+'\x27\x20on\x20'+b+'\x20network\x20—\x20not\x20a\x20usable\x20account\x20address.\x20'+'This\x20plan\x20names\x20\x27platform\x27\x20as\x20a\x20settlement\x20recipient\x20and\x20order_allocators\x20freezes\x20at\x20Service\x20publish,\x20so\x20a\x20wrong\x20payee\x20can\x20only\x20be\x20fixed\x20by\x20re-publishing\x20the\x20Service.\x20'+'An\x20empty\x20name\x20makes\x20the\x20SDK\x20substitute\x20the\x20deploying\x20account\x20(the\x20share\x20lands\x20in\x20whoever\x20runs\x20the\x20deploy);\x20an\x20object-id\x20/\x20zero-address\x20recipient\x20is\x20transferred\x20and\x20cannot\x20be\x20retrieved.\x20'+'Re-point\x20the\x20mark\x20at\x20a\x20real\x20account\x20address\x20—\x20local_mark_operation\x20{add:{op:\x22add\x22,data:[{name:\x22platform\x22,address:\x220x...\x22}]}}\x20—\x20then\x20re-run.\x20Nothing\x20was\x20executed.';}export function staleBuildFace(a=join(__dirname,'..','..','..','src'),b=join(__dirname,'..','..','..','dist')){let c=null;try{c=computeSrcDistStaleness(a,b,{'srcExt':'.ts','distExt':'.js'});}catch{c=null;}if(!c)return{'stale':![],'known':![],'actionable':![],'lag_minutes':null,'detail':'Stale-build\x20state\x20UNKNOWN\x20—\x20the\x20source\x20and\x20build-output\x20trees\x20were\x20not\x20both\x20resolvable\x20(installed\x20dist-only\x20'+'package\x20or\x20a\x20build\x20in\x20progress),\x20so\x20template\x20freshness\x20could\x20not\x20be\x20verified.\x20NOT\x20actionable:\x20treat\x20the\x20'+'scan/plan\x20verdicts\x20as\x20unconfirmed\x20—\x20do\x20not\x20act\x20on\x20them\x20until\x20a\x20rebuild\x20resolves\x20freshness.'};if(!c['stale'])return{'stale':![],'known':!![],'actionable':!![],'lag_minutes':c['lag_minutes'],'detail':'dist\x20is\x20current\x20with\x20src\x20(newest\x20compiled\x20.js\x20vs\x20newest\x20source\x20.ts\x20mtime\x20lag\x20'+c['lag_minutes']+'\x20'+'minute(s))\x20—\x20the\x20scan/plan\x20verdicts\x20reflect\x20this\x20workspace\x20checkout.'};return{'stale':!![],'known':!![],'actionable':![],'lag_minutes':c['lag_minutes'],'detail':'NOT\x20ACTIONABLE\x20—\x20do\x20not\x20act\x20on\x20the\x20verdicts\x20in\x20this\x20response.\x20dist\x20is\x20'+c['lag_minutes']+'\x20minute(s)\x20OLDER\x20'+'than\x20src\x20(newest\x20compiled\x20.js\x20vs\x20newest\x20source\x20.ts\x20mtime),\x20so\x20every\x20scan/plan\x20conclusion\x20above\x20may\x20'+'describe\x20superseded\x20template\x20knowledge\x20(live\x20rq-tn-261030-8693be:\x20a\x20508-minute-stale\x20dist\x20produced\x20two\x20'+'false\x20defect\x20reports,\x20F-RQ-09/14).\x20Rebuild\x20(pnpm\x20build),\x20restart\x20the\x20MCP\x20process,\x20and\x20re-run\x20before\x20'+'acting\x20on\x20ANY\x20conclusion\x20here.'};}function templateSummary(a){return{'id':a['id'],'industry':a['industry'],'variant':a['variant'],'product_ref':a['product_ref'],'archetype':a['archetype'],'key_risk':a['key_risk'],'node_count':a['machine_shape']['length'],'guard_count':a['guards']['length'],'recommended_role':a['recommended_role'],'tags':discoveryTagsForTemplate(a['id'])};}function templateGetAids(a){const b=a['machine_shape']['find'](g=>g['name']==='reviewed'),c=b!==undefined&&a['review_mode']!=='none'&&b['operator']!=='merchant',d=a['allocator']['rows']??[],e=[...new Set(d['map'](g=>g['guard_key'])['filter'](g=>typeof g==='string'&&g!==''))],f=d['length']>0x0?'\x20On-chain\x20this\x20materialises\x20as\x20~'+e['length']+'\x20Allocator\x20OBJECT(S)\x20(one\x20per\x20distinct\x20guard_key:\x20'+e['join'](',\x20')+')\x20across\x20'+d['length']+'\x20row(s)\x20—\x20model\x20capacity/monitoring\x20on\x20the\x20object\x20count,\x20never\x20on\x20allocator.count.':'\x20rows[]\x20is\x20empty\x20—\x20no\x20allocator\x20legs\x20are\x20declared.';return{'claim_anchor':c?'review_node+final':b!==undefined?'no_buyer_review_rail':'final_only','claim_anchor_note':c?'machine_shape\x20mounts\x20a\x20\x27reviewed\x27\x20node\x20—\x20the\x20buyer\x27s\x20structured\x20review\x20rides\x20that\x20node\x20alongside\x20the\x20final\x20settlement.':b!==undefined?'a\x20\x27reviewed\x27\x20node\x20exists\x20but\x20is\x20NOT\x20a\x20buyer\x20review\x20rail\x20(review_mode\x20\x27none\x27,\x20or\x20the\x20marker\x20is\x20merchant/triager-operated)\x20—\x20no\x20buyer-structured\x20review\x20is\x20mounted;\x20the\x20buyer\x27s\x20voice\x20rides\x20the\x20claim/arbitration\x20rail\x20only.':'no\x20\x27reviewed\x27\x20node\x20—\x20sanctioned\x20variant:\x20the\x20buyer\x27s\x20voice\x20rides\x20the\x20claim/arbitration\x20rail\x20only\x20(no\x20separate\x20review\x20stop).','allocator_count_note':'allocator.count\x20=\x20'+a['allocator']['count']+'\x20counts\x20SETTLEMENT-track\x20legs\x20only;\x20refund-track\x20legs\x20(rows[]\x20with\x20track:\x22refund\x22)\x20are\x20additional\x20and\x20NOT\x20included\x20in\x20this\x20count.\x20rows[]\x20carries\x20the\x20complete\x20executable\x20split\x20plan.'+f,'onchain_field_notes':['passport.impack\x20—\x20the\x20on-chain\x20field\x20is\x20spelled\x20`impack`\x20(the\x20on-chain\x20passport\x20contract\x27s\x20own\x20field\x20name,\x20packed\x20business\x20objects\x20in\x20the\x20passport\x20verification\x20context).\x20It\x20is\x20the\x20contract\x27s\x20own\x20field\x20name,\x20not\x20a\x20typo;\x20echo\x20it\x20verbatim.']};}function requireTemplate(a,b){if(!a)throw new Error('\x27template_id\x27\x20is\x20required\x20for\x20action=\x27'+b+'\x27');const c=getTemplate(a);if(!c){const d=getTemplateLoadError(a);if(d)throw new Error('Template\x20\x27'+a+'\x27\x20is\x20BLOCKED\x20for\x20action=\x27'+b+'\x27:\x20its\x20machine\x20file\x20failed\x20to\x20load/validate\x20and\x20is\x20invisible\x20to\x20every\x20action\x20until\x20fixed\x20(T-18\x20—\x20see\x20action=\x27template_list\x27\x20load_errors).\x20Loader:\x20'+d);throw new Error('Unknown\x20template\x20id:\x20'+a+'\x20(use\x20action=\x27template_list\x27\x20to\x20see\x20valid\x20ids)');}return c;}export function wipAnchorFace(a){if(!Array['isArray'](a)||a['length']===0x0)return undefined;const b=a['filter'](c=>c&&typeof c==='object'&&typeof c['name']==='string'&&String(c['wip_hash']??'')==='')['map'](c=>c['name']);if(b['length']===0x0)return undefined;return{'status':'unpinned','rule_id':'R-WIP-UNPINNED','severity':'high','unpinned_skus':b,'remediation':'These\x20SKU(s)\x20publish\x20with\x20NO\x20wip\x20pin\x20—\x20buyers\x20get\x20no\x20delivery-integrity\x20guarantee\x20(the\x20merchant\x20can\x20swap\x20the\x20.wip\x20file\x20later\x20undetected).\x20'+'After\x20publish,\x20rebind\x20via\x20the\x20per-item\x20sales\x20op\x20wip_set\x20(MCP\x20composite:\x20touches\x20only\x20wip/wip_hash)\x20or\x20a\x20full\x20op:set\x20rewrite\x20—\x20live-tested\x200.00272\x20gas.\x20'+'Prefer\x20passing\x20wip_hash\x20from\x20the\x20wip_file\x20tool\x20upload\x20at\x20build\x20time\x20instead.'};}export function returnNoExitFace(a){try{const b=BUILTIN_TEMPLATES['find'](d=>d['id']===a);if(!b)return undefined;const c=auditTemplateReturnNoExit([b])[0x0];return c?{'status':'return_no_exit','rule_id':c['rule_id'],'severity':c['severity'],'stranded_nodes':c['stranded_nodes'],'remediation':c['remediation']}:undefined;}catch{return undefined;}}function driftFace(a){const b=builtinTemplateDrift()['find'](c=>c['template']===a);if(!b){const c=BUILTIN_TEMPLATES['some'](d=>d['id']===a);return c?{'template':a,'state':'current','catalog_version':BUILTIN_TEMPLATES_VERSION,'blocked':![],'repairable':![],'detail':'disk\x20body\x20matches\x20the\x20shipped\x20catalog\x20(hash-verified\x20sentinel)'}:{'template':a,'state':'untracked','catalog_version':undefined,'blocked':![],'repairable':![],'detail':'user-authored\x20template\x20—\x20no\x20builtin\x20catalog\x20binding\x20to\x20compare\x20against'};}return{'template':b['template'],'state':b['state'],'catalog_version':BUILTIN_TEMPLATES_VERSION,'blocked':!![],'repairable':b['repairable'],'detail':b['detail']};}function withOnceSlotAdvisories(a){try{const b=auditTemplateOnceSlotArms()['find'](e=>e['template_id']===a['template_id']),c=auditTemplateNodeOperatorOverwrite()['filter'](e=>e['template_id']===a['template_id']);if(!b&&c['length']===0x0)return a;const d=c['map'](e=>({'rule_id':'NODE_OPERATOR_OVERWRITTEN','severity':'medium','title':'Edge\x20operator\x20inherited\x20past\x20an\x20explicit\x20source-node\x20operator','detail':e['message'],'suggestion':'Declare\x20edge.operator\x20explicitly\x20on\x20this\x20forward\x20(or\x20add\x20a\x20buyer-favour\x20timeout\x20exit\x20from\x20the\x20request\x20node).\x20The\x20kernel\x20inheritance\x20chain\x20(edge\x20??\x20dest-node\x20??\x20default)\x20never\x20consults\x20the\x20SOURCE\x20node,\x20so\x20an\x20un-annotated\x20edge\x20out\x20of\x20an\x20order_payer\x20request\x20node\x20silently\x20ships\x20as\x20a\x20merchant\x20permission\x20rail\x20(F-40/F-42:\x20the\x20buyer\x20parked\x20on\x20the\x20request\x20node\x20has\x20zero\x20executable\x20forwards\x20and\x20the\x20merchant\x20rewrite\x20ships\x20unguarded).\x20Re-run\x20action=\x27template_scan\x27\x20after\x20the\x20fix.'}));return{...a,'findings':[...a['findings'],...b?[{'rule_id':'R-ONCE-SLOT-ARM-254','severity':'medium','title':'Once-slot\x20arming\x20on\x20a\x20periodic\x20rail\x20('+b['kind']+')','detail':b['message'],'suggestion':'Arm\x20the\x20re-enterable\x20settlement/renewal\x20guard\x20with\x20identifier\x20255\x20plus\x20a\x20per-period\x20key\x20(period-<N>\x20from\x20chain\x20state,\x20e.g.\x20progress\x20history\x20count)\x20and\x20have\x20the\x20trigger\x20Passport\x20submit\x20the\x20same\x20value;\x20keep\x20254\x20for\x20one-shot-per-order\x20rails\x20only.\x20Re-run\x20action=\x27template_scan\x27\x20after\x20the\x20fix.'}]:[],...d]};}catch{return a;}}export function planEnvelopeFromInput(a){if(!a||typeof a!=='object'||Array['isArray'](a))throw new Error('\x27plan\x27\x20is\x20required\x20for\x20action=\x27plan_execute\x27\x20—\x20pass\x20the\x20object\x20returned\x20under\x20\x27plan\x27\x20by\x20template_generate\x20verbatim,\x20or\x20{root:\x27file\x27,\x20path}\x20to\x20read\x20it\x20from\x20disk');let b=a;if(b['root']==='file'){const c=typeof b['path']==='string'?b['path']:'';if(!c)throw new Error('action=\x27plan_execute\x27:\x20plan\x20{root:\x27file\x27}\x20requires\x20a\x20\x27path\x27\x20field\x20pointing\x20at\x20the\x20saved\x20plan\x20JSON');let d;try{d=readFileSync(resolve(c),'utf-8');}catch(g){throw new Error('action=\x27plan_execute\x27:\x20failed\x20to\x20read\x20plan\x20file\x20\x27'+c+'\x27:\x20'+g['message']);}let f;try{f=JSON['parse'](d);}catch(h){throw new Error('action=\x27plan_execute\x27:\x20plan\x20file\x20\x27'+c+'\x27\x20is\x20not\x20valid\x20JSON:\x20'+h['message']);}if(!f||typeof f!=='object'||Array['isArray'](f))throw new Error('action=\x27plan_execute\x27:\x20plan\x20file\x20\x27'+c+'\x27\x20must\x20contain\x20a\x20JSON\x20object\x20—\x20the\x20template_generate\x20plan\x20envelope\x20({plan:{steps,...}})\x20or\x20the\x20bare\x20plan\x20({steps,...})');b=f;}return b;}export function templateAdvisoryFaces(a){try{if(!a)return{};const b=getTemplate(a);if(!b)return{};const c=scanSummary(withOnceSlotAdvisories(scanTemplate(b)),driftFace(a)),d=returnNoExitFace(a);return d?{'scan':c,'return_no_exit':d}:{'scan':c};}catch{return{};}}function scanSummary(a,b){a=withOnceSlotAdvisories(a);const c={};for(const d of a['findings'])c[d['severity']]=(c[d['severity']]??0x0)+0x1;return{'template_id':a['template_id'],'risk_level':a['risk_level'],'preflight_scan_passed':a['red_flags']['length']===0x0,'finding_count':a['findings']['length'],'findings_by_severity':c,'red_flags':a['red_flags'],'findings':a['findings'],'drift':b};}function assertScanPassed(a,b){const c=a['red_flags'];if(a['passed']||c['length']===0x0)return;throw new Error('action=\x27'+b+'\x27\x20blocked:\x20pre-deploy\x20scan\x20of\x20template\x20\x27'+a['template_id']+'\x27\x20found\x20CRITICAL\x20risk\x20—\x20'+c['join'](';\x20')+'.\x20Fix\x20the\x20template\x20(frontmatter\x20or\x20body)\x20and\x20re-run\x20action=\x27template_scan\x27.');}const GENERATE_HIGH_TOLERATED=new Set([]);function assertGenerateScanPassed(a,b){assertScanPassed(a,b);if(b!=='template_generate')return;const c=generateHighBlockers(a['template_id'],a['findings']);if(c['length']===0x0)return;throw new Error('action=\x27'+b+'\x27\x20blocked:\x20pre-deploy\x20scan\x20of\x20template\x20\x27'+a['template_id']+'\x27\x20found\x20'+c['length']+'\x20HIGH\x20finding(s)\x20—\x20'+c['map'](d=>(d['rule_id']??'HIGH')+':\x20'+d['title'])['join'](';\x20')+'.\x20Fix\x20the\x20template\x20(frontmatter\x20or\x20body)\x20and\x20re-run\x20action=\x27template_scan\x27.');}function generateHighBlockers(a,b){return b['filter'](c=>c['severity']==='high'&&!(c['rule_id']&&GENERATE_HIGH_TOLERATED['has'](a+'/'+c['rule_id'])));}export function buildVerdict(a,b,c,d){const e=[];!a['preflight_scan_passed']&&e['push']('scan:\x20'+(a['findings_by_severity']['critical']??0x0)+'\x20CRITICAL\x20finding(s)\x20(preflight\x20scan\x20failed)');if(c){const m=generateHighBlockers(a['template_id'],a['findings']??[]);m['length']>0x0&&e['push']('scan:\x20'+m['length']+'\x20HIGH\x20finding(s)\x20—\x20template_generate\x20would\x20refuse\x20(N-21):\x20'+m['map'](n=>((n['rule_id']??'HIGH')+':\x20'+(n['title']??''))['trim']())['join'](';\x20'));}const f=b['graph_validation'];if(f&&f['valid']===![]){const n=Array['isArray'](f['hard_violations'])?f['hard_violations']['length']:0x0,o=Array['isArray'](f['hard_violations'])?f['hard_violations']['map'](p=>p['id'])['join'](',\x20'):'';e['push']('graph_validation:\x20'+n+'\x20hard\x20violation(s)'+(o?'\x20('+o+')':''));}const g=b['audit'];if(g&&g['blocking']===!![]){const p=(g['findings']??[])['filter'](q=>q['level']==='critical'||q['level']==='high');e['push'](p['length']===0x0?'audit:\x20guide\x20audit\x20flagged\x20blocking\x20issue(s)\x20(plan.audit)':'audit:\x20'+p['length']+'\x20blocking\x20finding(s)\x20—\x20'+p['slice'](0x0,0x5)['map'](q=>((q['rule_id']??'?')+':\x20'+(q['title']??''))['trim']())['join'](';\x20')+(p['length']>0x5?'\x20(+'+(p['length']-0x5)+'\x20more\x20in\x20plan.audit.findings)':''));}const h=b['harness_check'],i=[...new Set((h?.['blocking_issues']??[])['filter'](q=>q['module']==='template')['flatMap'](q=>q['missing_constraints']??[]))];i['length']>0x0&&e['push']('compile:\x20'+i['length']+'\x20blocker(s)\x20—\x20merchant_guide\x20refuses\x20to\x20materialize\x20this\x20plan:\x20'+i['join'](',\x20'));const j=(Array['isArray'](b['pending_guard_designs'])?b['pending_guard_designs']:[])['filter'](q=>q!=null&&q['bound']===!![])['length'];j>0x0&&e['push']('pending_guard_designs:\x20'+j+'\x20unresolved\x20BOUND\x20guard\x20design(s)\x20—\x20the\x20guard\x20surface\x20is\x20not\x20final.\x20'+'Resolve\x20each\x20via\x20guard_resolutions\x20(kind\x20\x27inline\x27\x20with\x20the\x20Guard\x20table+root,\x20kind\x20\x27template\x27\x20with\x20a\x20tpl_*\x20id,\x20or\x20{kind:\x27omit\x27}\x20for\x20advisory\x20designs\x20that\x20do\x20not\x20apply\x20to\x20this\x20shop),\x20then\x20re-run.');const k=b['steps'];if(Array['isArray'](k)&&k['length']>0x0){const q=validatePlan(b);q['length']>0x0&&e['push']('executability:\x20'+q['length']+'\x20structural\x20issue(s)\x20—\x20the\x20plan\x20would\x20abort\x20mid-flight:\x20'+q['slice'](0x0,0x5)['map'](r=>''+r['code']+(r['step']?'@'+r['step']:''))['join'](',\x20')+(q['length']>0x5?'\x20(+'+(q['length']-0x5)+'\x20more)':''));}if(d&&!d['actionable'])return{'buildable':![],'blockers':['UNVERIFIED\x20(stale_build):\x20'+(d['stale']?'the\x20running\x20dist\x20lags\x20the\x20workspace\x20src\x20by\x20'+(d['lag_minutes']??'?')+'\x20minute(s)':'template\x20freshness\x20could\x20NOT\x20be\x20resolved\x20(dist-only\x20install\x20or\x20a\x20build\x20in\x20progress)')+'\x20—\x20every\x20conclusion\x20in\x20this\x20response\x20may\x20describe\x20superseded\x20template\x20knowledge.\x20'+'This\x20is\x20a\x20VERIFICATION\x20failure,\x20NOT\x20a\x20plan\x20defect;\x20the\x20plan\x27s\x20own\x20signal\x20faces\x20below\x20are\x20listed\x20unverified.\x20'+'Rebuild\x20the\x20MCP\x20dist\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace),\x20restart\x20the\x20process,\x20and\x20re-run\x20for\x20a\x20verified\x20verdict.',...e],'status':'UNVERIFIED'};const l=e['length']===0x0;return{'buildable':l,'blockers':e,'status':l?'READY':'BLOCKED'};}async function templateScanDryRun(a,b){const c=[{'name':'scan-probe','price':'1000000000','quantity':0x1}],d=a['review_mode']==='review_reward'?{'review_mode':'review_reward','reward_funding':'20000000','reward_claim_amount':'1000000'}:undefined;try{const f=await runGuide(a,undefined,undefined,undefined,d,c),g=buildVerdict(scanSummary(scanTemplate(a)),f,!![],b);return{'status':g['status']==='UNVERIFIED'?'unverified':g['buildable']?'ready':'blocked','buildable':g['buildable'],'blockers':g['blockers'],'note':'Compile\x20dry-run\x20on\x20synthetic\x20probe\x20inputs\x20(single\x20probe\x20SKU,\x20benchmark\x20reward\x20funding),\x20mirrored\x20to\x20the\x20template_generate\x20gate\x20(CRITICAL\x20+\x20N-21\x20HIGH\x20+\x20graph\x20+\x20audit).\x20Structural\x20blockers\x20are\x20REAL\x20—\x20the\x20generate\x20face\x20refuses\x20for\x20the\x20same\x20reason.\x20Blockers\x20naming\x20caller\x20inputs\x20(fee_overrides\x20/\x20guard_resolutions\x20/\x20catalog)\x20may\x20clear\x20with\x20real\x20values.'};}catch(h){return{'status':'unavailable','note':'Compile\x20dry-run\x20could\x20not\x20run\x20on\x20synthetic\x20probe\x20inputs\x20('+(h instanceof Error?h['message']:String(h))+').\x20This\x20is\x20a\x20probe\x20limitation,\x20NOT\x20a\x20template\x20verdict\x20—\x20run\x20template_generate\x20for\x20the\x20authoritative\x20buildability.'};}}export function planNextAction(a,b,c,d){if(d&&!d['actionable'])return'DO\x20NOT\x20execute\x20this\x20plan\x20yet\x20—\x20'+(d['stale']?'the\x20running\x20dist\x20lags\x20the\x20workspace\x20src\x20by\x20'+(d['lag_minutes']??'?')+'\x20min':'template\x20freshness\x20could\x20NOT\x20be\x20verified')+'\x20(stale_build\x20above;\x20verdicts\x20unconfirmed).\x20Rebuild\x20the\x20MCP\x20dist\x20first\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace),\x20restart\x20the\x20server,\x20then\x20re-run\x20'+b+'\x20—\x20the\x20plan\x20just\x20returned\x20was\x20compiled\x20from\x20code\x20that\x20may\x20not\x20be\x20what\x20is\x20running.';const e=a['next_action'],f=(Array['isArray'](a['pending_guard_designs'])?a['pending_guard_designs']:[])['filter'](g=>g!=null&&g['bound']===!![])['length'];if(c&&!c['buildable'])return(f>0x0?'Plan\x20BLOCKED\x20—\x20'+f+'\x20unresolved\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20(verdict).\x20Do\x20NOT\x20materialize,\x20':'Plan\x20BLOCKED\x20by\x20the\x20guide\x20audit\x20(see\x20plan.audit\x20/\x20plan.next_action).\x20Do\x20NOT\x20materialize,\x20')+'and\x20do\x20NOT\x20hand-build\x20the\x20objects\x20instead:\x20this\x20plan\x20is\x20the\x20wiring\x20authority\x20(Arbitration\x20+\x20'+'compensation-fund,\x20Contact/um,\x20allocator\x20rows)\x20and\x20hand-built\x20replicas\x20silently\x20drop\x20those\x20wirings.\x20'+(f>0x0?'Resolve\x20the\x20'+f+'\x20pending\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20via\x20guard_resolutions\x20(kind\x20\x27inline\x27\x20with\x20the\x20Guard\x20table+root,\x20kind\x20\x27template\x27\x20with\x20a\x20tpl_*\x20id,\x20or\x20{kind:\x27omit\x27}\x20for\x20advisory\x20designs\x20that\x20do\x20not\x20apply\x20to\x20this\x20shop),\x20':'Adjust\x20fee_overrides,\x20pick\x20another\x20template\x20variant,\x20or\x20fix\x20the\x20template,\x20')+('then\x20re-run\x20action=\x27'+b+'\x27.');if(typeof e==='string'&&e['startsWith']('Plan\x20ready.'))return e;if(c?.['buildable'])return'Plan\x20is\x20buildable\x20(verdict.buildable=true).\x20Materialize\x20the\x20objects\x20in\x20plan.steps\x20order'+(f>0x0?',\x20resolving\x20the\x20'+f+'\x20pending\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20via\x20guard_resolutions\x20before\x20the\x20Machine\x20publish':'')+'.';return'Plan\x20BLOCKED\x20by\x20the\x20guide\x20audit\x20(see\x20plan.audit\x20/\x20plan.next_action).\x20Do\x20NOT\x20materialize,\x20'+'and\x20do\x20NOT\x20hand-build\x20the\x20objects\x20instead:\x20this\x20plan\x20is\x20the\x20wiring\x20authority\x20(Arbitration\x20+\x20'+'compensation-fund,\x20Contact/um,\x20allocator\x20rows)\x20and\x20hand-built\x20replicas\x20silently\x20drop\x20those\x20wirings.\x20'+(f>0x0?'Resolve\x20the\x20'+f+'\x20pending\x20guard\x20design(s)\x20in\x20plan.pending_guard_designs\x20via\x20guard_resolutions\x20(kind\x20\x27inline\x27\x20with\x20the\x20Guard\x20table+root,\x20kind\x20\x27template\x27\x20with\x20a\x20tpl_*\x20id,\x20or\x20{kind:\x27omit\x27}\x20for\x20advisory\x20designs\x20that\x20do\x20not\x20apply\x20to\x20this\x20shop),\x20':'Adjust\x20fee_overrides,\x20pick\x20another\x20template\x20variant,\x20or\x20fix\x20the\x20template,\x20')+('then\x20re-run\x20action=\x27'+b+'\x27.');}function templateIntent(a,b){if(b&&b['trim']())return b['trim']();return'Adopt\x20the\x20'+a['id']+'\x20industry\x20archetype\x20template\x20('+a['archetype']+')\x20for\x20the\x20'+a['industry']+'\x20industry.\x20'+('Primary\x20risk\x20to\x20mitigate:\x20'+a['key_risk']+'.');}function effectiveFeeParams(a,b){return{...a['fee_params'],...b??{}};}const REWARD_POOL_PATTERNS=[/(?:reward|review|bonus|tip|prize)[\s-]*pools?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:reward|review|bonus|tip|prize)[\s-]*pools?\b/i];export function extractRewardPoolCandidate(a){if(!a)return undefined;for(const b of REWARD_POOL_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}function rewardPoolPrefill(a,b,c,d){if(a['fee_params']['review_reward_pool']===undefined)return undefined;if(c?.['review_reward_pool']!==undefined)return undefined;const e=d?claimNumber(d,'reward_pool_amount'):undefined;if(e!==undefined)return{'fee_key':'review_reward_pool','value':e,'claim_source':'semantic_ir'};const f=extractRewardPoolCandidate(b);return f===undefined?undefined:{'fee_key':'review_reward_pool','value':f};}const FUNDING_THRESHOLD_PATTERNS=[/(?:funding|campaign|round)[\s-]*(?:threshold|goal)s?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:funding|campaign|round)[\s-]*(?:threshold|goal)\b/i],MIN_ORDER_PATTERNS=[/(?:min(?:imum)?)\s+order(?:\s+(?:price|value|amount))?\s*(?:of|is|at|:|=)?\s*([0-9][0-9_,]*(?:\.[0-9]+)?)/i,/([0-9][0-9_,]*(?:\.[0-9]+)?)\s*(?:min(?:imum)?)\s+order\b/i];export function extractFundingThresholdCandidate(a){if(!a)return undefined;for(const b of FUNDING_THRESHOLD_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}export function extractMinOrderCandidate(a){if(!a)return undefined;for(const b of MIN_ORDER_PATTERNS){const c=b['exec'](a);if(!c)continue;const d=Number(c[0x1]['replaceAll'](/[,_]/g,''));if(Number['isFinite'](d)&&d>=0x0)return d;}return undefined;}function numericFeePrefill(a,b,c,d,e,f,g){if(a['fee_params'][b]===undefined)return undefined;if(f?.[b]!==undefined)return undefined;const h=g?claimNumber(g,c):undefined;if(h!==undefined)return{'fee_key':b,'value':h,'claim_source':'semantic_ir'};const i=d(e);return i===undefined?undefined:{'fee_key':b,'value':i};}function validateFeeParams(a,b){const c=[];let d=0x0;for(const [e,f]of Object['entries'](a)){if(typeof f!=='number'||!Number['isFinite'](f))continue;if(e['endsWith']('_bps')){(!Number['isInteger'](f)||f<0x0||f>0x2710)&&c['push'](e+'='+f+'\x20is\x20not\x20an\x20integer\x20rate\x20in\x20[0,\x2010000]\x20bps');if(e['endsWith']('_share_bps'))d+=Math['max'](0x0,f);}else{if(e['endsWith']('_days')){if(f<=0x0||f>0xe42)c['push'](e+'='+f+'\x20is\x20outside\x20the\x20sane\x20window\x20range\x20(0,\x203650]\x20days');}else{if(e['endsWith']('_hours')){if(f<=0x0||f>0x2238)c['push'](e+'='+f+'\x20is\x20outside\x20the\x20sane\x20window\x20range\x20(0,\x208760]\x20hours');}}}}if(d>0x2710)c['push']('*_share_bps\x20sum\x20'+d+'\x20exceeds\x2010000\x20(a\x20pool\x20splits\x20into\x20at\x20most\x20100%)');if(c['length']>0x0)throw new Error('invalid\x20fee\x20parameters\x20for\x20template\x20\x27'+b+'\x27:\x20'+c['join'](';\x20')+'.\x20'+'Correct\x20the\x20template\x27s\x20fee_params\x20or\x20pass\x20valid\x20\x27fee_overrides\x27.');}export{validateAllocatorRows};export function variantPaymentModel(a){if(a['payment_model'])return a['payment_model'];const b=a['allocator']['rows']??[];if(b['some'](d=>d['track']==='refund'))return'escrow';const c=a['machine_shape']['map'](d=>d['name'])['join']('\x20')['toLowerCase']();if(/\b(milestone|revision|revis|draft|deliverable)\b/['test'](c))return'milestone';if(/\b(charge|renew|subscription|cycle|billing|monthly)\b/['test'](c))return'subscription';return'escrow';}function variantRefundPolicy(a){const b=a['allocator']['description']['toLowerCase']();if(/full[ -]?refund|100% refund|refund .*100/['test'](b))return'full';if(/pro-?rata|prorated/['test'](b))return'milestone_prorated';if(/partial/['test'](b))return'partial';return undefined;}export function variantDeliverables(a,b){const c=a['machine_shape']['filter'](g=>g['semantic_role']==='final'),d=c[c['length']-0x1]??[...a['machine_shape']]['reverse']()['find'](g=>!/refund|cancel|dispute|terminat/i['test'](g['name']+'\x20'+g['role']))??a['machine_shape'][a['machine_shape']['length']-0x1],e=b?.['has_logistics']?'physical':b?.['pure_digital']?'digital':'service_session',f=(a['guards']??[])['filter'](h=>/repository_data_check|required_info_evidence_gate|allocator_order_anchor/['test'](h['template_id']));return[{'name':a['variant']+'\x20fulfillment','type':e,'acceptanceCriteria':'Order\x20reaches\x20the\x20terminal\x20workflow\x20node\x20\x27'+d['name']+'\x27\x20('+d['role']+')','proofOfDelivery':f['length']>0x0?'wip_hash':'manual_confirm'}];}function validateConditionalParams(a,b){for(const d of a['conditional_guards']??[]){const e=b[d['param']];if(e===undefined)continue;if(typeof e!=='string'||!d['values']['includes'](e))throw new Error('invalid\x20\x27'+d['param']+'='+String(e)+'\x27\x20for\x20template\x20\x27'+a['id']+'\x27:\x20must\x20be\x20one\x20of\x20'+d['values']['map'](f=>'\x27'+f+'\x27')['join']('\x20|\x20')+('\x20(the\x20guard\x20variant\x20mounts\x20at\x20\x27'+d['emit_value']+'\x27)'));}}async function runGuide(a,b,c,d,e,f,g){const h=effectiveFeeParams(a,c),i=rewardPoolPrefill(a,b,c,g);if(i)h[i['fee_key']]=i['value'];const j=numericFeePrefill(a,'funding_threshold','funding_threshold_amount',extractFundingThresholdCandidate,b,c,g);if(j)h[j['fee_key']]=j['value'];const k=numericFeePrefill(a,'min_order_price','min_order_price_amount',extractMinOrderCandidate,b,c,g);if(k)h[k['fee_key']]=k['value'];validateFeeParams(h,a['id']),validateConditionalParams(a,h);const l=landPlatformCommission(a,h);if(l['error']!==undefined)throw new Error(l['error']);const m=l['rows']?{...a,'allocator':{...a['allocator'],'rows':l['rows'],'count':l['rows']['filter'](z=>z['track']==='settlement')['length']}}:a,n=getIndustryModeRegistry()['getMode'](a['industry']),o=platformShareBps(h),q={'model':variantPaymentModel(a)},r=[],s=(m['allocator']['rows']?.['length']??0x0)>0x0;if(o!==undefined&&o>0x0&&!s&&a['allocator']['mode']==='rate'){const z=Math['round'](o)/0x64;r['push']({'recipient':'merchant','percentage':Math['round']((0x64-z)*0x64)/0x64}),r['push']({'recipient':'platform','percentage':z}),q['allocation']=r;}const u=variantRefundPolicy(a),v={'escrow':!![]};if(u)v['refundPolicy']=u;v['arbitration']=a['arbitration_mode']??v['arbitration']??inferArbitration(templateIntent(a,b));const w=await handleMerchantGuide({'intent':templateIntent(a,b),'guide_confirm':{'industry':a['industry'],'payment':q,'trust':v,'deliverables':variantDeliverables(a,n?.['traits']),...d&&Object['keys'](d)['length']>0x0?{'guard_resolutions':d}:{},...e?.['review_mode']?{'review_mode':e['review_mode']}:{},...e?.['reward_funding']!==undefined?{'reward_funding':e['reward_funding']}:{},...e?.['reward_claim_amount']!==undefined?{'reward_claim_amount':e['reward_claim_amount']}:{},...e?.['after_sales_mode']?{'after_sales_mode':e['after_sales_mode']}:{},...e?.['acceptance_mode']?{'acceptance_mode':e['acceptance_mode']}:{},...e?.['installment_mode']?{'installment_mode':e['installment_mode']}:{},...e?.['affiliate_mode']?{'affiliate_mode':e['affiliate_mode']}:{},...e?.['crowdfunding_mode']?{'crowdfunding_mode':e['crowdfunding_mode']}:{},...e?.['logistics_mode']?{'logistics_mode':e['logistics_mode']}:{},...f?.['length']?{'sales':f}:{}},'template_override':{...m,'fee_params':h},'name_base':a['id']});m['allocator']['rows']?.['length']&&(w['template_allocator_rows']=m['allocator']['rows']['map'](A=>({...A})));if(l['landing']!==undefined)w['commission_landing']=l['landing'];w['template']={'id':a['id'],'archetype':a['archetype'],'recommended_role':a['recommended_role'],'fee_params':h},w['catalog_version']=BUILTIN_TEMPLATES_VERSION;const x=templateCatalogDigest(a['id']);if(x!==undefined)w['template_digest']=x;if(w['plan']&&typeof w['plan']==='object'&&!Array['isArray'](w['plan'])){w['plan']['catalog_version']=BUILTIN_TEMPLATES_VERSION;if(x!==undefined)w['plan']['template_digest']=x;}{const A=[...collectLateMarks(w['plan']??{})]['sort']();A['length']>0x0&&(w['required_local_marks']=A,w['required_local_marks_note']='plan_execute\x20resolves\x20each\x20of\x20these\x20local\x20names\x20against\x20the\x20LocalMark\x20store\x20of\x20the\x20target\x20network\x20and\x20refuses\x20to\x20execute\x20while\x20any\x20is\x20unregistered.\x20'+'Register\x20them\x20BEFORE\x20executing\x20(local_mark_operation\x20add).\x20A\x20name\x20that\x20matches\x20an\x20object\x20this\x20plan\x20itself\x20creates\x20is\x20bound\x20to\x20that\x20object\x20automatically.\x20'+'A\x20recipient\x20mark\x20must\x20point\x20at\x20a\x20real\x20account\x20address:\x20an\x20empty\x20name\x20makes\x20the\x20SDK\x20substitute\x20the\x20deploying\x20account\x20(the\x20share\x20lands\x20in\x20whoever\x20runs\x20the\x20deploy),\x20and\x20an\x20object-id\x20/\x20zero-address\x20recipient\x20is\x20transferred\x20and\x20cannot\x20be\x20retrieved.\x20'+'A\x20Rate-0\x20Entity\x20leg\x20still\x20listed\x20in\x20template_allocator_rows\x20is\x20dropped\x20at\x20compile\x20time\x20and\x20needs\x20no\x20mark\x20(the\x20direct-sales\x20default\x20pays\x20nobody).');}w['template_fee_param_landings']=buildFeeParamLandingTable(m,h);if(c&&Object['keys'](c)['length']>0x0)w['template_fee_overrides']=c;const y=[];if(i)y['push'](i);if(j)y['push'](j);if(k)y['push'](k);if(y['length']>0x0){w['fee_overrides_prefills']=y;for(const B of y){const C=B['fee_key']==='review_reward_pool'?'Reward\x20pool':B['fee_key']==='funding_threshold'?'Funding\x20threshold':'Minimum\x20order',D=B['claim_source']==='semantic_ir'?'\x20(from\x20the\x20semantic\x20IR\x20claim)':'';w['next_action']=w['next_action']+'\x20'+C+'\x20prefilled\x20from\x20your\x20request:\x20'+B['value']+D+'\x20—\x20adjust\x20via\x20fee_overrides.';}}return w;}export async function handleBenchmarkMigrationOperation(a){const b=strictParse(BenchmarkMigrationSchema,a,'benchmark_migration_operation\x20input'),c=b['industry']?resolveIndustryName(b['industry'])??b['industry']['toLowerCase']():undefined,d=b['semantic_ir']?normalizeSemanticIR(b['semantic_ir'],{'source_text':b['description']}):undefined,e=d?{'semantic_ir_digest':d['digest'],...d['issues']['length']>0x0?{'semantic_ir_issues':d['issues']}:{}}:undefined;let f;switch(b['action']){case'template_list':{const {templates:g,errors:h}=listTemplates(),i=c?g['filter'](k=>k['industry']===c):g,j=new Map(builtinTemplateDrift()['map'](k=>[k['template'],k['state']]));f={'action':'template_list','count':i['length'],'templates':i['map'](k=>({...templateSummary(k),'disk_state':j['get'](k['id'])??(BUILTIN_TEMPLATES['some'](l=>l['id']===k['id'])?'current':'untracked')})),'discovery_vocabulary':{'industries':listIndustries()['map'](k=>k['name'])['sort'](),'tags':[...DISCOVERY_TAG_VOCABULARY],'product_refs':[...DISCOVERY_PRODUCT_REFS]},'load_errors':h};break;}case'template_get':{const k=requireTemplate(b['template_id'],'template_get');f={'action':'template_get','template':{...k,...templateGetAids(k)}};break;}case'template_generate':{const l=requireTemplate(b['template_id'],'template_generate'),m=b['review_mode']??l['review_mode']??'none',n=[];m==='review_reward'&&!b['reward_funding']&&n['push']('reward_funding\x20is\x20required:\x20template\x20\x27'+l['id']+'\x27\x20resolves\x20to\x20review_mode\x20\x27review_reward\x27\x20(input'+(b['review_mode']?'':'\x20via\x20template\x20declaration')+'),\x20which\x20promises\x20buyers\x20a\x20claimable\x20review\x20bounty\x20—\x20an\x20unfunded\x20pool\x20must\x20not\x20ship\x20(INV-4).\x20Pass\x20reward_funding\x20(smallest-unit\x20string;\x20expected\x20orders\x20x\x20per-order\x20reward\x20—\x20fee_param\x20review_reward_pool\x20is\x20the\x20planning\x20benchmark),\x20or\x20drop\x20the\x20mode\x20explicitly\x20(review_mode\x20\x27review\x27\x20keeps\x20the\x20review\x20rail\x20without\x20the\x20bounty;\x20\x27none\x27\x20removes\x20the\x20rail).');(!Array['isArray'](b['sales'])||b['sales']['length']===0x0)&&n['push']('sales\x20is\x20required:\x20a\x20plan\x20without\x20a\x20sellable\x20catalog\x20publishes\x20a\x20Service\x20frozen\x20with\x20sales:\x20[]\x20and\x20every\x20order_new\x20aborts\x20(PLAN-SALES-01,\x20upgraded\x20to\x20an\x20input\x20requirement,\x20amz9\x20A-2).\x20Pass\x20sales:\x20[{\x20name,\x20price,\x20quantity?,\x20wip_hash?\x20}]\x20—\x20one\x20entry\x20per\x20sellable\x20SKU,\x20price\x20in\x20smallest\x20units\x20(wip_hash\x20from\x20the\x20wip_file\x20tool\x20upload).');if(n['length']>0x0)return{'content':[{'type':'text','text':'template_generate\x20refused\x20—\x20no\x20plan\x20was\x20built.\x20'+n['length']+'\x20input\x20gap(s),\x20ALL\x20listed\x20at\x20once\x20(AR-4\x20T-05):\x20'+n['map']((t,u)=>'('+(u+0x1)+')\x20'+t)['join']('\x20')}],'structuredContent':{'result':{'type':'error','error':'template_generate\x20input\x20preflight\x20failed\x20with\x20'+n['length']+'\x20gap(s)\x20on\x20template\x20\x27'+l['id']+'\x27\x20—\x20all\x20gaps\x20reported\x20in\x20this\x20single\x20response\x20(do\x20not\x20fix\x20one\x20and\x20rediscover\x20the\x20next).','error_code':'input_preflight_failed','retryable':!![],'recovery_hint':n['join']('\x20|\x20'),'gaps':n},'message':'Refused:\x20input\x20preflight\x20failed.\x20Fix\x20ALL\x20listed\x20gaps,\x20then\x20re-send\x20ONCE.\x20See\x20recovery_hint.'}};const o=scanTemplate(l);assertGenerateScanPassed(o,'template_generate');const p=getTemplateParamFileLayer(l['id']),q=Object['keys'](p)['length']>0x0,r=q?{...p,...b['fee_overrides']??{}}:b['fee_overrides'],s=await runGuide(l,b['description'],r,b['guard_resolutions'],{'review_mode':b['review_mode'],'reward_funding':b['reward_funding'],'reward_claim_amount':b['reward_claim_amount'],'after_sales_mode':b['after_sales_mode'],'acceptance_mode':b['acceptance_mode'],'installment_mode':b['installment_mode'],'affiliate_mode':b['affiliate_mode'],'crowdfunding_mode':b['crowdfunding_mode']},b['sales'],d?.['ir']);f=((()=>{const t=scanSummary(o,driftFace(l['id'])),u=staleBuildFace(),v=buildVerdict(t,s,undefined,u),w=wipAnchorFace(b['sales']),x=returnNoExitFace(l['id']),y=planNextAction(s,'template_generate',v,u);return{'action':'template_generate','template_id':l['id'],...e,'stale_build':u,'scan':t,'plan':s,'verdict':v,...q?{'template_params_file':{'path':templateParamsFilePath(),'applied':p}}:{},...w?{'wip_anchor':w}:{},...x?{'return_no_exit':x}:{},'next_action':y};})());break;}case'template_scan':{const t=requireTemplate(b['template_id'],'template_scan'),u=staleBuildFace(),v=await templateScanDryRun(t,u),w=returnNoExitFace(t['id']);f={'action':'template_scan','stale_build':u,'scan':{...withOnceSlotAdvisories(scanTemplate(t)),'drift':driftFace(t['id']),'compile_dry_run':v},...v['status']==='unavailable'?{}:{'buildable':v['buildable']===!![],'build_blockers':v['blockers']??[]},...w?{'return_no_exit':w}:{},'next_action':v['status']==='blocked'?'compile_dry_run\x20BLOCKED\x20—\x20the\x20static\x20rule\x20scan\x20passed,\x20but\x20the\x20compile\x20kernel\x20refuses\x20this\x20template\x20(see\x20build_blockers;\x20the\x20same\x20verdict\x20template_generate\x20enforces).\x20Do\x20NOT\x20publish\x20from\x20this\x20scan:\x20run\x20template_generate\x20for\x20the\x20full\x20verdict,\x20or\x20fix\x20the\x20template\x20and\x20re-scan.':v['status']==='unverified'?'compile_dry_run\x20UNVERIFIED\x20—\x20the\x20running\x20dist\x20is\x20stale\x20against\x20the\x20workspace\x20src\x20(stale_build\x20above):\x20the\x20findings\x20and\x20verdict\x20may\x20describe\x20superseded\x20template\x20knowledge.\x20Do\x20NOT\x20act\x20on\x20ANY\x20conclusion\x20here.\x20Rebuild\x20the\x20MCP\x20dist\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace),\x20restart\x20the\x20process,\x20and\x20re-scan.':v['status']==='ready'?'compile_dry_run\x20READY\x20on\x20probe\x20inputs\x20—\x20proceed\x20with\x20template_generate.':'compile_dry_run\x20unavailable\x20on\x20probe\x20inputs\x20—\x20run\x20template_generate\x20for\x20the\x20authoritative\x20buildability.'};break;}case'migration_import':{if(!b['description']||!b['description']['trim']())throw new Error('\x27description\x27\x20is\x20required\x20for\x20action=\x27migration_import\x27');const x=d?handleRecommendIndustry({'intent':b['description'],'semantic_ir':b['semantic_ir']}):undefined,y=planMigration({'url':b['url'],'description':b['description'],'industry':c,'ir_industry':c?undefined:x?.['recommendations'][0x0]?.['industry'],'ir_discovery':d?discoverySignal(d['ir']):undefined,'network':b['network']});if(!y)throw new Error('No\x20industry\x20template\x20matched\x20the\x20description.\x20Refine\x20the\x20description\x20or\x20pass\x20an\x20explicit\x20\x27industry\x27\x20hint'+(d?',\x20or\x20add\x20discovery\x20tags\x20/\x20a\x20product_ref\x20to\x20semantic_ir\x20(tags\x20vocabulary:\x20template_list.discovery_vocabulary).':'\x20(or\x20provide\x20semantic_ir\x20with\x20discovery\x20tags\x20/\x20traits\x20for\x20a\x20non-English\x20description).'));const z=getTemplate(y['source']['matched_template']),A=z?await templateScanDryRun(z,staleBuildFace()):undefined;f={'action':'migration_import','log':y,...A&&A['buildable']!==undefined?{'buildable':A['buildable']===!![],'build_blockers':A['blockers']??[],'compile_dry_run':{'status':A['status'],'note':A['note']}}:{},...x?{'inference_source':x['inference_source']}:{},...e,'next_action':'MigrationLog\x20ready.\x20Next:\x20call\x20action=\x27migration_review\x27\x20with\x20this\x20log\x20to\x20surface\x20the\x20mapped/unmapped/manual_review\x20items\x20for\x20user\x20confirmation.'+(A?.['status']==='unverified'?'\x20NOTE:\x20the\x20compile\x20dry-run\x20verdict\x20is\x20UNVERIFIED\x20—\x20the\x20running\x20dist\x20is\x20stale\x20against\x20the\x20workspace\x20src\x20(see\x20build_blockers):\x20do\x20NOT\x20act\x20on\x20buildability\x20until\x20rebuilt\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace)\x20and\x20re-run.':A?.['status']==='blocked'?'\x20NOTE:\x20compile\x20dry-run\x20BLOCKED\x20on\x20probe\x20inputs\x20(see\x20build_blockers)\x20—\x20surface\x20the\x20blockers\x20at\x20review\x20BEFORE\x20migration_apply;\x20input-naming\x20blockers\x20may\x20clear\x20with\x20real\x20values.':'')};break;}case'plan_execute':{const B=planEnvelopeFromInput(b['plan']),C=B['plan']!==undefined&&typeof B['plan']==='object'&&!Array['isArray'](B['plan'])&&Array['isArray'](B['plan']['steps'])?B['plan']:B;if(!Array['isArray'](C['steps']))throw new Error('action=\x27plan_execute\x27:\x20the\x20passed\x20plan\x20carries\x20no\x20steps[]\x20—\x20pass\x20the\x20template_generate\x20\x27plan\x27\x20object\x20verbatim');const D=typeof C['catalog_version']==='number'?C['catalog_version']:undefined,E=typeof C['templateId']==='string'?C['templateId']:undefined,F=typeof C['template_digest']==='string'?C['template_digest']:undefined,G=D===BUILTIN_TEMPLATES_VERSION,H=!G&&E!==undefined&&F!==undefined&&templateCatalogDigest(E)===F;if(D!==undefined&&!G&&!H)throw new Error('action=\x27plan_execute\x27:\x20STALE\x20PLAN\x20—\x20the\x20plan\x20was\x20generated\x20against\x20catalog\x20v'+D+',\x20'+('but\x20this\x20server\x20runs\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+(H?'':'\x20and\x20its\x20template\x20content\x20does\x20not\x20match\x20this\x20catalog\x27s\x20template')+';\x20shapes,\x20guards\x20and\x20emissions\x20may\x20have\x20')+'changed\x20since.\x20Re-run\x20template_generate\x20(or\x20migration_apply)\x20to\x20regenerate\x20the\x20plan\x20against\x20the\x20'+'current\x20catalog,\x20then\x20execute\x20THAT\x20verbatim.\x20Nothing\x20was\x20executed.');const I=templateAdvisoryFaces(E),J=(C['steps']??[])['filter'](aa=>aa!==null&&typeof aa==='object'),K=J['map'](aa=>String(aa['id'])),L=new Set(J['filter'](aa=>aa['op']==='create')['map'](aa=>String(aa['id'])));let M=[...b['completed_steps']??[]];const N=b['resume_from_step'];if(N!==undefined){const aa=K['indexOf'](N);if(aa<0x0)throw new Error('action=\x27plan_execute\x27:\x20resume_from_step\x20\x27'+N+'\x27\x20is\x20not\x20a\x20step\x20of\x20THIS\x20plan\x20(steps:\x20'+K['join'](',\x20')+').\x20'+'Step\x20ids\x20are\x20plan-local:\x20resume\x20against\x20the\x20plan\x20returned\x20by\x20the\x20ORIGINAL\x20template_generate\x20(a\x20regenerated\x20plan\x20mints\x20new\x20ids).\x20Nothing\x20was\x20executed.');M=[...new Set([...M,...K['slice'](0x0,aa)])];}const O=M['filter'](ab=>!K['includes'](ab));if(O['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20completed_steps\x20name(s)\x20['+O['join'](',\x20')+']\x20are\x20not\x20steps\x20of\x20THIS\x20plan\x20—\x20the\x20resume\x20channel\x20'+'adopts\x20ONLY\x20steps\x20of\x20the\x20SAME\x20plan,\x20and\x20a\x20silently-ignored\x20unknown\x20id\x20would\x20re-execute\x20the\x20real\x20step\x20(ghost\x20duplicates).\x20'+'This\x20usually\x20means\x20the\x20plan\x20was\x20REGENERATED\x20(ids\x20changed):\x20pass\x20the\x20original\x20plan\x20with\x20ITS\x20resume\x20payload,\x20or\x20this\x20response\x27s\x20`resume`\x20object\x20verbatim.\x20Nothing\x20was\x20executed.');const P=b['previous_outputs']??{},Q=M['filter'](ab=>L['has'](ab)&&P[ab]===undefined);if(Q['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20adopted\x20create\x20step(s)\x20['+Q['join'](',\x20')+']\x20have\x20NO\x20previous_outputs\x20entry\x20—\x20an\x20adopted\x20create\x20'+'without\x20its\x20created\x20address\x20cannot\x20resolve\x20$ref\x20bindings.\x20Pass\x20the\x20addresses\x20from\x20the\x20prior\x20run\x27s\x20outputs\x20field\x20(or\x20its\x20`resume`\x20payload).\x20Nothing\x20was\x20executed.');const R=M['length']>0x0||Object['keys'](P)['length']>0x0||N!==undefined?{'completedSteps':M,'outputs':P}:undefined,S=((()=>{const ab=new Map();for(const ad of C['steps']??[]){const ae=ad['params'];ad['op']==='create'&&typeof ae?.['name']==='string'&&ab['set'](ae['name'],String(ad['id']));}const ac=af=>{if(Array['isArray'](af))return af['map'](ac);if(af&&typeof af==='object'){const ag=af,ah=ag['$late'],ai=Object['keys'](ag);if(ah?.['by']==='local_name'&&typeof ah['mark']==='string'&&ai['length']===0x1&&ab['has'](ah['mark']))return{'$ref':ab['get'](ah['mark'])};return Object['fromEntries'](Object['entries'](ag)['map'](([aj,ak])=>[aj,ac(ak)]));}return af;};return ac(C);})()),T=bindAuditPlan(S);if(T['length']>0x0){const ab=bindRecoveryList(S,b['previous_outputs']);throw new Error('action=\x27plan_execute\x27:\x20PLAN_BIND_AUDIT_FAILED\x20—\x20the\x20plan\x20binds\x20plan-created\x20objects\x20by\x20'+'global-namespace\x20NAME\x20instead\x20of\x20{\x22$ref\x22:\x20stepId}\x20(or\x20carries\x20an\x20undeclared\x20external\x20local_name).\x20'+'Executing\x20would\x20wire\x20THIS\x20store\x20to\x20ANOTHER\x20run\x27s\x20objects\x20—\x20Guards\x20are\x20create-frozen\x20and\x20Machines\x20'+'cannot\x20republish,\x20so\x20the\x20mis-binding\x20is\x20unrecoverable\x20after\x20the\x20fact\x20(ddmc4\x20B-13,\x20pdd\x20F-08).\x20'+'Nothing\x20was\x20executed.\x0a'+bindAuditReport(T,ab)+'\x0aRe-run\x20template_generate\x20against\x20the\x20current\x20catalog\x20(its\x20compile\x20emits\x20{\x22$ref\x22:\x20stepId}\x20for\x20'+'every\x20plan-internal\x20object),\x20then\x20execute\x20THAT\x20plan.');}const U=planLedgerKey(S);let V;const W=lockedFreshStep(U,K,new Set(M));if(W!==undefined){const ac=b['retry_override'];if(ac!==undefined&&ac['step_id']===W['stepId']&&ac['note']['trim']()['length']>0x0)clearPlanStep(U,W['stepId']),V={'step_id':W['stepId'],'note':ac['note']};else throw new Error('action=\x27plan_execute\x27:\x20RETRY_LOCKED\x20—\x20step\x20\x27'+W['stepId']+'\x27\x20failed\x20with\x20the\x20IDENTICAL\x20error\x20in\x20'+W['count']+'\x20consecutive\x20'+('rounds\x20(\x22'+W['lastError']+'\x22).\x20A\x20further\x20unchanged\x20re-run\x20fails\x20identically\x20and\x20burns\x20gas,\x20so\x20this\x20server\x20refuses\x20it\x20(nothing\x20was\x20executed).\x20')+'Fix\x20the\x20cause\x20first\x20—\x20usual\x20roots:\x20a\x20template/input\x20defect\x20(re-run\x20template_generate\x20for\x20a\x20FRESH\x20plan:\x20new\x20ids,\x20new\x20ledger),\x20a\x20missing\x20registration\x20(do\x20it,\x20then\x20resume),\x20'+'or\x20verify\x20the\x20single\x20step\x20manually\x20via\x20onchain_operations\x20to\x20confirm\x20the\x20fix.\x20'+('If\x20one\x20more\x20round\x20IS\x20justified,\x20pass\x20retry_override\x20{step_id:\x20\x22'+W['stepId']+'\x22,\x20note:\x20\x22<why>\x22}.'));}const X=[...new Set([...collectLateMarks(S),...collectAddressSlotBareNames(S)])],Y=b['env']?.['network'],Z=new Map(),a0=[];for(const ad of X){const ae=await LocalMark['Instance']()['get_address'](ad,Y)['catch'](()=>undefined);if(typeof ae==='string'&&ae['length']>0x0)Z['set'](ad,ae);else a0['push'](ad);}if(a0['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20unresolved\x20LocalMark(s)\x20['+a0['join'](',\x20')+']\x20on\x20'+(Y??'default')+'\x20network.\x20'+'This\x20plan\x20binds\x20an\x20object\x20by\x20local\x20name\x20(a\x20funding\x20recipient\x20slot,\x20an\x20external\x20object\x20reference,\x20or\x20an\x20Address-typed\x20guard\x20table\x20value).\x20Register\x20the\x20mark\x20first\x20—\x20'+('local_mark_operation\x20{add:{op:\x22add\x22,data:[{name:\x22'+a0[0x0]+'\x22,address:\x22<your\x20entity\x20address>\x22}]}}\x20—\x20then\x20re-run.\x20')+'Nothing\x20was\x20executed.');const a1=Z['get']('platform');if(a1!==undefined){const af=platformMarkRefusal(a1,Y??'default');if(af!==undefined)throw new Error(af);}const a2=await materializePlan(S,{'execute':handlerExecutor(b['env']),'envByAccount':b['accounts'],'timeoutMs':b['timeout_ms'],'resolveLate':ag=>{if(ag['by']==='address')return ag['address'];const ah=Z['get'](ag['mark']);if(ah===undefined)throw new Error('unresolved\x20late\x20binding:\x20local_name\x20\x27'+ag['mark']+'\x27');return ah;}},R),a3=a2['steps']['filter'](ag=>ag['status']==='blocked')['length'],a4=a2['steps']['find'](ag=>ag['status']==='failed'),a5=a2['steps']['some'](ag=>ag['status']==='blocked'&&typeof ag['error']==='string'&&ag['error']['startsWith']('preflight\x20failed:')),a6=a2['steps']['find'](ag=>ag['status']==='failed'&&typeof ag['digest']==='string'&&ag['digest']['length']>0x0),a7=a2['steps']['find'](ag=>ag['status']==='blocked'&&typeof ag['error']==='string'&&ag['error']['startsWith']('time\x20budget'));recordPlanRound(U,a2['steps']);const a8=repeatedPlanFailures(U);let a9=a2['completed']?'Deployed.\x20Verify\x20the\x20store\x20(query_toolkit:\x20service\x20/\x20machine\x20/\x20orders),\x20then\x20discharge\x20any\x20post-deploy\x20module\x20obligations\x20the\x20guide\x20listed\x20under\x20harness_check.module_gaps.':a5?'A\x20publish\x20step\x20was\x20BLOCKED\x20by\x20the\x20freeze\x20gate\x20—\x20the\x20store\x20is\x20NOT\x20live.\x20Fix\x20the\x20listed\x20preflight\x20checks\x20at\x20the\x20SOURCE\x20(re-run\x20template_generate);\x20never\x20patch\x20plan\x20steps\x20by\x20hand.':a6!==undefined?'Step\x20\x27'+a6['stepId']+'\x27\x20FAILED\x20with\x20digest\x20'+a6['digest']+'\x20—\x20the\x20transaction\x20MAY\x20have\x20committed\x20(transport\x20face).\x20VERIFY\x20FIRST:\x20onchain_transaction\x20with\x20that\x20digest.\x20If\x20committed:\x20ADOPT\x20it\x20—\x20add\x20\x27'+a6['stepId']+'\x27\x20to\x20completed_steps\x20(and\x20its\x20created\x20object\x20address\x20to\x20previous_outputs)\x20in\x20the\x20resume\x20call.\x20If\x20confirmed\x20absent:\x20re-send\x20with\x20this\x20response\x27s\x20resume\x20payload\x20(or\x20completed_steps/previous_outputs\x20from\x20it).\x20Never\x20blind-resume\x20a\x20digest-bearing\x20failure\x20(ghost\x20duplicates).':a2['budgetExhausted']?'Time\x20budget\x20('+String(b['timeout_ms'])+'ms)\x20reached\x20before\x20step\x20\x27'+(a7?.['stepId']??'?')+'\x27\x20—\x20the\x20run\x20stopped\x20cleanly\x20mid-plan\x20with\x20NO\x20unknown-state\x20step.\x20RESUME\x20(W5-08):\x20send\x20plan_execute\x20again\x20with\x20the\x20SAME\x20plan\x20and\x20this\x20response\x27s\x20resume\x20payload\x20VERBATIM\x20(completed_steps\x20+\x20previous_outputs),\x20or\x20resume_from_step\x20=\x20\x27'+(a7?.['stepId']??'<first\x20non-executed\x20stepId>')+'\x27\x20+\x20previous_outputs\x20('+a3+'\x20step(s)\x20remain;\x20raise\x20or\x20omit\x20timeout_ms\x20to\x20take\x20fewer\x20slices).':'Step\x20\x27'+(a4?.['stepId']??'?')+'\x27\x20FAILED:\x20'+(a4?.['error']??'unknown')+'.\x20RESUME\x20—\x20do\x20NOT\x20re-run\x20from\x20scratch\x20(duplicate\x20objects):\x20send\x20plan_execute\x20again\x20with\x20this\x20response\x27s\x20resume\x20payload\x20(completed_steps\x20+\x20previous_outputs),\x20or\x20resume_from_step\x20=\x20\x27'+(a4?.['stepId']??'?')+'\x27\x20+\x20previous_outputs.';if(a8['length']>0x0&&!a2['completed']){const ag='STOP\x20—\x20do\x20NOT\x20re-run\x20unchanged:\x20step\x20\x27'+a8[0x0]['step_id']+'\x27\x20failed\x20with\x20the\x20IDENTICAL\x20error\x20for\x20'+a8[0x0]['consecutive_rounds']+'\x20consecutive\x20round(s);\x20a\x20further\x20unchanged\x20re-run\x20is\x20REFUSED\x20pre-execution.\x20';a9=a6!==undefined||a5?a9+'\x20'+ag+'After\x20resolving\x20the\x20state\x20question\x20above,\x20fix\x20the\x20ROOT\x20CAUSE\x20before\x20resuming\x20(retry_override\x20{step_id,\x20note}\x20is\x20the\x20audited\x20exception).':ag+'The\x20generic\x20RESUME\x20recipe\x20is\x20withheld\x20on\x20purpose.\x20Fix\x20the\x20root\x20cause\x20first\x20—\x20re-run\x20template_generate\x20for\x20a\x20fresh\x20plan\x20(new\x20ids\x20bypass\x20the\x20lock),\x20complete\x20a\x20missing\x20registration,\x20or\x20verify\x20the\x20single\x20failing\x20step\x20via\x20onchain_operations\x20—\x20THEN\x20resume\x20with\x20the\x20resume\x20payload.\x20retry_override\x20{step_id,\x20note}\x20authorizes\x20one\x20audited\x20exception.';}f={'action':'plan_execute','completed':a2['completed'],'steps':a2['steps'],'outputs':a2['outputs'],'preflight':{'issues':a2['preflight']['issues'],'findings':a2['preflight']['findings'],...Object['keys'](I)['length']>0x0?{'template_advisories':I}:{}},'readback':a2['readback'],...Z['size']>0x0?{'late_mark_bindings':Object['fromEntries'](Z),'late_mark_note':'PAYEE\x20VERIFICATION\x20(last\x20repairable\x20moment):\x20each\x20entry\x20is\x20the\x20address\x20a\x20local-name\x20funding\x20recipient\x20resolved\x20to.\x20'+'Verify\x20every\x20address\x20belongs\x20to\x20THIS\x20store\x27s\x20owner/operator\x20accounts\x20(accounts\x20you\x20control)\x20before\x20any\x20service_publish\x20step\x20runs.\x20'+'A\x20wrong\x20address\x20here\x20becomes\x20an\x20UNFIXABLE\x20on-chain\x20allocator\x20after\x20publish\x20—\x20correct\x20the\x20local\x20mark\x20(local_mark_operation\x20add)\x20and\x20re-run\x20if\x20anything\x20is\x20off.'}:{},...a2['completed']?{}:{'resume':{'completed_steps':a2['steps']['filter'](ah=>ah['status']==='executed')['map'](ah=>ah['stepId']),'previous_outputs':a2['outputs']}},...a8['length']>0x0?{'repeated_failures':a8,'retry_prohibited':!![]}:{},...V!==undefined?{'retry_override_applied':V}:{},'next_action':a9};break;}case'migration_review':{if(!b['log'])throw new Error('\x27log\x27\x20is\x20required\x20for\x20action=\x27migration_review\x27');const ah=b['log'],ai=Array['isArray'](ah['mapped'])?ah['mapped']:[],aj=Array['isArray'](ah['unmapped'])?ah['unmapped']:[],ak=Array['isArray'](ah['manual_review'])?ah['manual_review']:[],al=ah['risk_check']??{},am=ah['source']?.['matched_template']??'',an=ah['template_match']??{},ao=typeof an['source']==='string'?an['source']:'unknown',ap=typeof an['confidence']==='number'?an['confidence']:0x0,aq=ao==='unknown'||ao==='industry_leader'||ao==='ir_industry_fallback'||ap<0.5,ar=am?getTemplate(am):undefined,as=ar?await templateScanDryRun(ar,staleBuildFace()):undefined,at=as?.['buildable']===undefined?undefined:as['buildable']===!![],au=as?.['blockers']??[],av=as?.['status']==='unverified'?'\x20NOTE:\x20the\x20compile\x20dry-run\x20verdict\x20is\x20UNVERIFIED\x20—\x20the\x20running\x20dist\x20is\x20stale\x20against\x20the\x20workspace\x20src\x20(see\x20review_summary.build_blockers):\x20rebuild\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace),\x20restart,\x20and\x20re-run\x20before\x20acting.':at===![]?'\x20NOTE:\x20compile\x20dry-run\x20ALSO\x20blocks\x20this\x20template\x20on\x20probe\x20inputs\x20(review_summary.build_blockers)\x20—\x20input-naming\x20blockers\x20may\x20clear\x20with\x20real\x20values.':'',aw=aj['length']===0x0&&ak['length']===0x0&&al['passed']===!![]&&!aq&&at!==![];f={'action':'migration_review','log':ah,'review_summary':{'mapped_count':ai['length'],'unmapped_count':aj['length'],'manual_review_count':ak['length'],'risk_passed':al['passed']===!![],...as?{...at!==undefined?{'buildable':at}:{},'build_blockers':au,'compile_dry_run':{'status':as['status'],'note':as['note']}}:{},'template_match':{'template_id':am,'source':ao,'confidence':ap,'weak_match':aq}},'next_action':aw?'Review\x20clean.\x20Proceed:\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+am+'\x27\x20to\x20produce\x20the\x20creation\x20plan\x20(network\x20defaults\x20to\x20testnet;\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).'+(as?.['status']==='unavailable'?'\x20Note:\x20the\x20compile\x20dry-run\x20could\x20not\x20run\x20on\x20probe\x20inputs\x20—\x20template_generate\x20remains\x20the\x20authoritative\x20buildability\x20check.':''):as?.['status']==='unverified'&&!aq?'compile\x20dry-run\x20verdict\x20UNVERIFIED\x20—\x20the\x20running\x20dist\x20is\x20stale\x20against\x20the\x20workspace\x20src\x20(see\x20review_summary.build_blockers).\x20Do\x20NOT\x20act\x20on\x20buildability:\x20rebuild\x20(pnpm\x20build\x20in\x20the\x20mcp\x20workspace),\x20restart\x20the\x20process,\x20and\x20re-run\x20migration_plan\x20for\x20a\x20verified\x20verdict.':at===![]&&!aq?'compile_dry_run\x20BLOCKED\x20on\x20probe\x20inputs\x20—\x20the\x20static\x20risk\x20check\x20passed,\x20but\x20the\x20compile\x20kernel\x20refuses\x20\x27'+am+'\x27\x20(see\x20review_summary.build_blockers;\x20the\x20same\x20verdict\x20template_generate\x20enforces).\x20Surface\x20the\x20blockers\x20to\x20the\x20user\x20BEFORE\x20action=\x27migration_apply\x27\x20—\x20blockers\x20naming\x20caller\x20inputs\x20(sales\x20/\x20fee_overrides\x20/\x20guard_resolutions)\x20may\x20clear\x20with\x20real\x20values.':aq?'WEAK\x20TEMPLATE\x20MATCH:\x20\x27'+am+'\x27\x20was\x20chosen\x20by\x20\x27'+ao+'\x27\x20at\x20confidence\x20'+ap+'\x20—\x20a\x20fallback,\x20not\x20evidence\x20(ssng\x20A-1:\x20a\x20Chinese\x20one-liner\x20silently\x20built\x20the\x20wrong\x20store\x20this\x20way).\x20Play\x20the\x20match\x20back\x20to\x20the\x20user\x20and\x20confirm\x20the\x20business\x20model.\x20To\x20get\x20an\x20EVIDENCE-based\x20match,\x20translate\x20through\x20the\x20caller\x20mechanism\x20(any\x20locale\x20works;\x20translation\x20happens\x20in\x20the\x20caller,\x20never\x20in\x20keyword\x20tables):\x20produce\x20a\x20semantic_ir\x20carrying\x20discovery.english_summary\x20(an\x20English\x20restatement\x20of\x20the\x20intent),\x20discovery.tags\x20(each\x20from\x20template_list.discovery_vocabulary)\x20and\x20discovery.product_ref\x20(a\x20benchmark-product\x20slug),\x20with\x20every\x20evidence\x20quote\x20verbatim\x20in\x20the\x20description\x20—\x20then\x20re-run\x20migration_plan.\x20Only\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+am+'\x27\x20after\x20the\x20user\x20approves\x20THAT\x20template.'+av:'Surface\x20the\x20'+aj['length']+'\x20unmapped\x20and\x20'+ak['length']+'\x20manual_review\x20items'+(al['passed']===!![]?'':'\x20plus\x20the\x20risk_check\x20findings')+'\x20to\x20the\x20user\x20for\x20a\x20decision\x20before\x20action=\x27migration_apply\x27\x20(template_id=\x27'+am+'\x27).'+av};break;}case'migration_apply':{const ax=requireTemplate(b['template_id'],'migration_apply'),ay=scanTemplate(ax);assertScanPassed(ay,'migration_apply');const az=b['network']??'testnet',aA=await runGuide(ax,b['description'],b['fee_overrides'],b['guard_resolutions'],{'review_mode':b['review_mode'],'reward_funding':b['reward_funding'],'reward_claim_amount':b['reward_claim_amount'],'after_sales_mode':b['after_sales_mode'],'acceptance_mode':b['acceptance_mode'],'installment_mode':b['installment_mode'],'affiliate_mode':b['affiliate_mode'],'crowdfunding_mode':b['crowdfunding_mode']},b['sales'],d?.['ir']);f=((()=>{const aB=scanSummary(ay,driftFace(ax['id'])),aC=staleBuildFace(),aD=buildVerdict(aB,aA,undefined,aC),aE=wipAnchorFace(b['sales']);return{'action':'migration_apply','template_id':ax['id'],'network':az,...e,'scan':aB,'plan':aA,'verdict':aD,...aE?{'wip_anchor':aE}:{},'next_action':planNextAction(aA,'migration_apply',aD,aC)};})());break;}default:throw new Error('Unknown\x20benchmark_migration_operation\x20action:\x20'+String(b['action']));}return{'content':[{'type':'text','text':JSON['stringify']({'result':f})}],'structuredContent':{'result':f}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{listServices,getServiceInfo,toggle as a514a,setEnabled as a514b,reset as a514c}from'../../config/index.js';import{judgmentStatus,setJudgmentOverride,clearJudgmentOverride,clearJudgmentOverrides,patchUserJudgmentDoc,readUserJudgmentDocView}from'../../config/judgment.js';import{getStoreDualPayoutPolicy,setStoreDualPayoutPreauthorization,clearStoreDualPayoutPreauthorization}from'../../config/store-policy.js';import{strictParse}from'../../schema/index.js';import{ConfigOperationInputSchema}from'../../schema/config/index.js';import{LocalMark}from'@wowok/wowok';async function resolvePolicyAccount(a){const b=a['trim']();if(/^0x[0-9a-fA-F]{64}$/['test'](b))return b['toLowerCase']();try{const c=await LocalMark['Instance']()['get_address'](b)['catch'](()=>undefined)??undefined;if(typeof c==='string'&&/^0x[0-9a-fA-F]{64}$/['test'](c))return c['toLowerCase']();}catch{}return b['toLowerCase']();}export async function handleConfigOperation(a){const b=strictParse(ConfigOperationInputSchema,a,'config_operation\x20input'),{action:c,service:d,path:e,value:f}=b;let g;switch(c){case'list':g={'action':'list','services':listServices()};break;case'toggle':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20toggle');const h=d,i=getServiceInfo(h);if(!i)throw new Error('Unknown\x20service:\x20'+h+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');if(h==='confirm_gate'&&i['enabled'])throw new Error('confirm_gate\x20cannot\x20be\x20disabled\x20at\x20runtime.\x20'+'Set\x20WOWOK_CONFIRM_GATE=0\x20in\x20the\x20server\x20environment\x20and\x20restart\x20if\x20you\x20really\x20want\x20it\x20off.');const j=a514a(h);g={'action':'toggle','service':h,'enabled':j,'reminder':i['reminder']};break;}case'disable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20disable');const k=d,l=getServiceInfo(k);if(!l)throw new Error('Unknown\x20service:\x20'+k+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');if(k==='confirm_gate')throw new Error('confirm_gate\x20cannot\x20be\x20disabled\x20at\x20runtime.\x20'+'Set\x20WOWOK_CONFIRM_GATE=0\x20in\x20the\x20server\x20environment\x20and\x20restart\x20if\x20you\x20really\x20want\x20it\x20off.');a514b(k,![]),g={'action':'disable','service':k,'enabled':![],'reminder':l['reminder']};break;}case'enable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20enable');const m=d,n=getServiceInfo(m);if(!n)throw new Error('Unknown\x20service:\x20'+m+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a514b(m,!![]),g={'action':'enable','service':m,'enabled':!![],'reminder':n['reminder']};break;}case'reset':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20reset');const o=d,p=getServiceInfo(o);if(!p)throw new Error('Unknown\x20service:\x20'+o+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a514c(o),g={'action':'reset','service':o,'enabled':getServiceInfo(o)?.['enabled'],'reminder':p['reminder'],'reset':!![]};break;}case'info':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20info');const q=d,r=getServiceInfo(q);if(!r)throw new Error('Unknown\x20service:\x20'+q+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');g={'action':'info',...r};break;}case'judgment_list':g={'action':'judgment_list',...judgmentStatus()};break;case'judgment_set':{if(!e)throw new Error('\x27path\x27\x20param\x20is\x20required\x20for\x20judgment_set\x20(dotted,\x20e.g.\x20\x27evaluation.weights.trust_reviews\x27)');if(!('value'in b))throw new Error('\x27value\x27\x20param\x20is\x20required\x20for\x20judgment_set');const s=setJudgmentOverride(e,f);if(!s['ok'])throw new Error(s['error']);g={'action':'judgment_set','path':e,'value':f,'applied':!![]};break;}case'judgment_reset':{const t=e?clearJudgmentOverride(e)?0x1:0x0:clearJudgmentOverrides();g={'action':'judgment_reset',...e?{'path':e}:{},'cleared':t};break;}case'judgment_doc_read':{g={'action':'judgment_doc_read',...readUserJudgmentDocView()};break;}case'judgment_doc_patch':{if(!b['patch']||typeof b['patch']!=='object'||Array['isArray'](b['patch']))throw new Error('\x27patch\x27\x20param\x20is\x20required\x20for\x20judgment_doc_patch\x20(a\x20partial\x20judgment\x20document\x20object,\x20e.g.\x20{\x22evaluation\x22:\x20{\x22weights\x22:\x20{…}}})');g={'action':'judgment_doc_patch',...patchUserJudgmentDoc(b['patch'])};break;}case'store_dual_payout_get':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_get\x20(the\x20store\x27s\x20signing\x20account)');const u=await resolvePolicyAccount(b['account']),v=getStoreDualPayoutPolicy(u);g={'action':'store_dual_payout_get','account':b['account'],'preauthorized':v?.['preauthorized']===!![],...v?.['authorized_at']?{'authorized_at':v['authorized_at']}:{},...v?.['note']?{'note':v['note']}:{},...v?.['network']?{'network':v['network']}:{}};break;}case'store_dual_payout_set':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_set\x20(the\x20store\x27s\x20signing\x20account)');const w=await resolvePolicyAccount(b['account']),x=setStoreDualPayoutPreauthorization(w,{'confirm':b['confirm']===!![],...b['note']?{'note':b['note']}:{}});g={'action':'store_dual_payout_set','account':b['account'],'preauthorized':!![],'authorized_at':x['authorized_at'],...x['note']?{'note':x['note']}:{},'reminder':'Recorded\x20as\x20a\x20HUMAN\x20merchant\x20decision\x20(D-1).\x20The\x20allocation\x20gate\x20now\x20honors\x20acknowledge_dual_payout\x20'+'for\x20this\x20store.\x20Keep\x20the\x20note\x20meaningful\x20—\x20this\x20is\x20the\x20audit\x20trail\x20for\x20a\x20standing\x20commercial\x20netting\x20policy.'};break;}case'store_dual_payout_clear':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_clear\x20(the\x20store\x27s\x20signing\x20account)');const y=await resolvePolicyAccount(b['account']),z=clearStoreDualPayoutPreauthorization(y);g={'action':'store_dual_payout_clear','account':b['account'],'cleared':z};break;}default:throw new Error('Unknown\x20config_operation\x20action:\x20'+String(c));}return{'content':[{'type':'text','text':JSON['stringify']({'result':g})}],'structuredContent':{'result':g}};}
|
|
1
|
+
import{listServices,getServiceInfo,toggle as a542a,setEnabled as a542b,reset as a542c}from'../../config/index.js';import{judgmentStatus,setJudgmentOverride,clearJudgmentOverride,clearJudgmentOverrides,patchUserJudgmentDoc,readUserJudgmentDocView}from'../../config/judgment.js';import{getStoreDualPayoutPolicy,setStoreDualPayoutPreauthorization,clearStoreDualPayoutPreauthorization}from'../../config/store-policy.js';import{getMatchPolicyFile,patchMatchPolicyFile,clearMatchPolicyFile}from'../../config/match-policy-file.js';import{getTemplateParamFileState,patchTemplateParamFile,clearTemplateParamFile}from'../../config/template-params.js';import{strictParse}from'../../schema/index.js';import{ConfigOperationInputSchema}from'../../schema/config/index.js';import{LocalMark}from'@wowok/wowok';async function resolvePolicyAccount(a){const b=a['trim']();if(/^0x[0-9a-fA-F]{64}$/['test'](b))return b['toLowerCase']();try{const c=await LocalMark['Instance']()['get_address'](b)['catch'](()=>undefined)??undefined;if(typeof c==='string'&&/^0x[0-9a-fA-F]{64}$/['test'](c))return c['toLowerCase']();}catch{}return b['toLowerCase']();}export async function handleConfigOperation(a){const b=strictParse(ConfigOperationInputSchema,a,'config_operation\x20input'),{action:c,service:d,path:e,value:f}=b;let g;switch(c){case'list':g={'action':'list','services':listServices()};break;case'toggle':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20toggle');const h=d,i=getServiceInfo(h);if(!i)throw new Error('Unknown\x20service:\x20'+h+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');if(h==='confirm_gate'&&i['enabled'])throw new Error('confirm_gate\x20cannot\x20be\x20disabled\x20at\x20runtime.\x20'+'Set\x20WOWOK_CONFIRM_GATE=0\x20in\x20the\x20server\x20environment\x20and\x20restart\x20if\x20you\x20really\x20want\x20it\x20off.');const j=a542a(h);g={'action':'toggle','service':h,'enabled':j,'reminder':i['reminder']};break;}case'disable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20disable');const k=d,l=getServiceInfo(k);if(!l)throw new Error('Unknown\x20service:\x20'+k+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');if(k==='confirm_gate')throw new Error('confirm_gate\x20cannot\x20be\x20disabled\x20at\x20runtime.\x20'+'Set\x20WOWOK_CONFIRM_GATE=0\x20in\x20the\x20server\x20environment\x20and\x20restart\x20if\x20you\x20really\x20want\x20it\x20off.');a542b(k,![]),g={'action':'disable','service':k,'enabled':![],'reminder':l['reminder']};break;}case'enable':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20enable');const m=d,n=getServiceInfo(m);if(!n)throw new Error('Unknown\x20service:\x20'+m+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a542b(m,!![]),g={'action':'enable','service':m,'enabled':!![],'reminder':n['reminder']};break;}case'reset':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20reset');const o=d,p=getServiceInfo(o);if(!p)throw new Error('Unknown\x20service:\x20'+o+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');a542c(o),g={'action':'reset','service':o,'enabled':getServiceInfo(o)?.['enabled'],'reminder':p['reminder'],'reset':!![]};break;}case'info':{if(!d)throw new Error('\x27service\x27\x20param\x20is\x20required\x20for\x20info');const q=d,r=getServiceInfo(q);if(!r)throw new Error('Unknown\x20service:\x20'+q+'.\x20Use\x20action=\x27list\x27\x20to\x20see\x20all\x20valid\x20services.');g={'action':'info',...r};break;}case'judgment_list':g={'action':'judgment_list',...judgmentStatus()};break;case'judgment_set':{if(!e)throw new Error('\x27path\x27\x20param\x20is\x20required\x20for\x20judgment_set\x20(dotted,\x20e.g.\x20\x27evaluation.weights.trust_reviews\x27)');if(!('value'in b))throw new Error('\x27value\x27\x20param\x20is\x20required\x20for\x20judgment_set');const t=setJudgmentOverride(e,f);if(!t['ok'])throw new Error(t['error']);g={'action':'judgment_set','path':e,'value':f,'applied':!![]};break;}case'judgment_reset':{const u=e?clearJudgmentOverride(e)?0x1:0x0:clearJudgmentOverrides();g={'action':'judgment_reset',...e?{'path':e}:{},'cleared':u};break;}case'judgment_doc_read':{g={'action':'judgment_doc_read',...readUserJudgmentDocView()};break;}case'judgment_doc_patch':{if(b['confirm']!==!![])throw new Error('judgment_doc_patch\x20writes\x20the\x20PERSISTENT\x20user\x20judgment\x20document\x20and\x20requires\x20explicit\x20human\x20'+'confirmation:\x20show\x20the\x20user\x20exactly\x20which\x20paths\x20change\x20from\x20what\x20to\x20what,\x20then\x20set\x20'+'confirm=true\x20only\x20after\x20they\x20approve.\x20If\x20the\x20user\x20declined,\x20do\x20NOT\x20retry\x20the\x20same\x20patch.');if(!b['patch']||typeof b['patch']!=='object'||Array['isArray'](b['patch']))throw new Error('\x27patch\x27\x20param\x20is\x20required\x20for\x20judgment_doc_patch\x20(a\x20partial\x20judgment\x20document\x20object,\x20e.g.\x20{\x22evaluation\x22:\x20{\x22weights\x22:\x20{…}}})');g={'action':'judgment_doc_patch',...patchUserJudgmentDoc(b['patch'])};break;}case'match_policy_read':{g={'action':'match_policy_read',...getMatchPolicyFile()};break;}case'match_policy_patch':{if(b['confirm']!==!![])throw new Error('match_policy_patch\x20writes\x20the\x20PERSISTENT\x20match-policy.json\x20and\x20requires\x20explicit\x20human\x20'+'confirmation:\x20show\x20the\x20user\x20exactly\x20which\x20values\x20change\x20from\x20what\x20to\x20what,\x20then\x20set\x20'+'confirm=true\x20only\x20after\x20they\x20approve.\x20If\x20the\x20user\x20declined,\x20do\x20NOT\x20retry\x20the\x20same\x20patch.');if(!b['patch']||typeof b['patch']!=='object'||Array['isArray'](b['patch']))throw new Error('\x27patch\x27\x20param\x20is\x20required\x20for\x20match_policy_patch\x20(e.g.\x20{\x22demand_to_supply\x22:\x20{\x22policy_id\x22:\x20\x22my_style\x22,\x20…}})');g={'action':'match_policy_patch',...patchMatchPolicyFile(b['patch'])};break;}case'match_policy_clear':{if(b['confirm']!==!![])throw new Error('match_policy_clear\x20removes\x20PERSISTENT\x20match-strategy\x20config\x20and\x20requires\x20explicit\x20human\x20'+'confirmation:\x20state\x20exactly\x20what\x20is\x20removed\x20(whole\x20file\x20vs\x20one\x20direction),\x20then\x20set\x20'+'confirm=true\x20only\x20after\x20the\x20user\x20approves.');const v=clearMatchPolicyFile(b['direction']);g={'action':'match_policy_clear','cleared':v['cleared'],'path':v['path'],'scope':v['scope'],'backup_path':v['backup_path']};break;}case'template_params_read':{const w=getTemplateParamFileState();g={'action':'template_params_read','path':w['path'],'exists':w['exists'],'error':w['error'],...w['comment']!==undefined?{'comment':w['comment']}:{},...w['defaults']!==undefined?{'defaults':w['defaults']}:{},...w['templates']!==undefined?{'templates':w['templates']}:{}};break;}case'template_params_patch':{if(b['confirm']!==!![])throw new Error('template_params_patch\x20writes\x20the\x20PERSISTENT\x20template-params.json\x20and\x20requires\x20explicit\x20human\x20'+'confirmation:\x20show\x20the\x20user\x20exactly\x20which\x20fee\x20params\x20change\x20from\x20what\x20to\x20what,\x20then\x20set\x20'+'confirm=true\x20only\x20after\x20they\x20approve.\x20If\x20the\x20user\x20declined,\x20do\x20NOT\x20retry\x20the\x20same\x20patch.');if(!b['patch']||typeof b['patch']!=='object'||Array['isArray'](b['patch']))throw new Error('\x27patch\x27\x20param\x20is\x20required\x20for\x20template_params_patch\x20(e.g.\x20{\x22defaults\x22:\x20{\x22review_window_days\x22:\x207},\x20\x22templates\x22:\x20{\x22travel/global-ota\x22:\x20{\x22escrow_release_days\x22:\x203}}})');g={'action':'template_params_patch',...patchTemplateParamFile(b['patch'])};break;}case'template_params_clear':{if(b['confirm']!==!![])throw new Error('template_params_clear\x20removes\x20PERSISTENT\x20template\x20business-parameter\x20config\x20and\x20requires\x20explicit\x20'+'human\x20confirmation:\x20state\x20exactly\x20what\x20is\x20removed\x20(whole\x20file\x20/\x20defaults\x20/\x20one\x20template\x20section),\x20'+'then\x20set\x20confirm=true\x20only\x20after\x20the\x20user\x20approves.');const x=clearTemplateParamFile(b['template']);g={'action':'template_params_clear','cleared':x['cleared'],'path':x['path'],'scope':x['scope'],...x['template_id']!==undefined?{'template_id':x['template_id']}:{},'backup_path':x['backup_path']};break;}case'store_dual_payout_get':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_get\x20(the\x20store\x27s\x20signing\x20account)');const y=await resolvePolicyAccount(b['account']),z=getStoreDualPayoutPolicy(y);g={'action':'store_dual_payout_get','account':b['account'],'preauthorized':z?.['preauthorized']===!![],...z?.['authorized_at']?{'authorized_at':z['authorized_at']}:{},...z?.['note']?{'note':z['note']}:{},...z?.['network']?{'network':z['network']}:{}};break;}case'store_dual_payout_set':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_set\x20(the\x20store\x27s\x20signing\x20account)');const A=await resolvePolicyAccount(b['account']),B=setStoreDualPayoutPreauthorization(A,{'confirm':b['confirm']===!![],...b['note']?{'note':b['note']}:{}});g={'action':'store_dual_payout_set','account':b['account'],'preauthorized':!![],'authorized_at':B['authorized_at'],...B['note']?{'note':B['note']}:{},'reminder':'Recorded\x20as\x20a\x20HUMAN\x20merchant\x20decision\x20(D-1).\x20The\x20allocation\x20gate\x20now\x20honors\x20acknowledge_dual_payout\x20'+'for\x20this\x20store.\x20Keep\x20the\x20note\x20meaningful\x20—\x20this\x20is\x20the\x20audit\x20trail\x20for\x20a\x20standing\x20commercial\x20netting\x20policy.'};break;}case'store_dual_payout_clear':{if(!b['account'])throw new Error('\x27account\x27\x20param\x20is\x20required\x20for\x20store_dual_payout_clear\x20(the\x20store\x27s\x20signing\x20account)');const C=await resolvePolicyAccount(b['account']),D=clearStoreDualPayoutPreauthorization(C);g={'action':'store_dual_payout_clear','account':b['account'],'cleared':D};break;}default:throw new Error('Unknown\x20config_operation\x20action:\x20'+String(c));}return{'content':[{'type':'text','text':JSON['stringify']({'result':g})}],'structuredContent':{'result':g}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{strictParse}from'../../schema/index.js';import{EvaluationOperationInputSchema}from'../../schema/evaluation/index.js';import{evaluateArbGame}from'../../evaluation/arbitration-game.js';import{evaluateNodeGame}from'../../evaluation/node-game.js';import{evaluatePathReasoning}from'../../evaluation/path-reasoning.js';import{assessEvidenceReview,reviewEvidenceList}from'../../knowledge/evidence-review.js';import{expandSearchScope,inferSensitivity,rankByLocation}from'../../evaluation/location-match.js';import{query_objects,ArbStatus,discoveryDataSource}from'@wowok/wowok';import{enumerateServices,enumerateDemands,enumerateArbs,indexErrorCode,indexUrlFor,matchServicesViaIndex,matchDemandsViaIndex,withDegradedReasons}from'../../knowledge/jsonrpc-enum.js';import{KNOWN_CAPABILITIES}from'../../data/api/match.js';import{fetchObjectLinkerCore,batchQueryObjectsByIds}from'../../graph/onchain/sdk-batch.js';import{summarizeCapabilityGaps}from'../../evaluation/gap.js';import{resolveNetwork}from'./network.js';import{composeServicesForDemand}from'../../evaluation/composer.js';import{matchDemandToServices,matchServiceToDemands}from'../../evaluation/builtins/demand-match.js';import{nextOperationForServiceMatch,nextOperationForDemandMatch,nextOperationForServiceOrder}from'../../evaluation/match-operation.js';import{extractDemandCapability,enrichFromDescription}from'../../evaluation/extract.js';import{assessArbitration}from'../../evaluation/builtins/arbitration-score.js';import{resolveCategoryMatchRules,toSoftWeightInjection,applyHardConstraints}from'../../evaluation/category-match-rules.js';import{computeMarketMetrics,computeOrderFlow}from'../../knowledge/market-metrics.js';import{workflowSubgraphFromRows}from'../../graph/onchain/index.js';import{assessAntiCheat}from'../../knowledge/anti-cheat.js';import{computeJourneyFunnel,attributeReferrals,buildCustomerRelationships}from'../../knowledge/market-operations.js';import{suggestPricing}from'../../knowledge/dynamic-pricing.js';import{runAccountEventWatchers}from'../../customer/account-events.js';import{registerBuiltinEvaluations}from'../../evaluation/builtins/index.js';import{getEffectivePersona,mergeInjections}from'../../persona/index.js';import{buildUserInjection}from'../../evaluation/injection.js';import{applyDemandPolicyGates,applyPolicyGates,applyPolicyRerank,buildPolicyEffect,policyToInjection,rerankDemandMatches,resolveMatchPolicy}from'../../evaluation/match-policy.js';registerBuiltinEvaluations();function arbCaseFromObject(b){const c=typeof b['time']==='number'?b['time']:Number(b['time']??0x0);return{'status':b['status'],'time':Number['isFinite'](c)?c:undefined,'resolved_time':typeof b['indemnity']?.['time']==='number'?b['indemnity']['time']:b['compensation_time']??undefined,'indemnity_amount':b['indemnity']?.['amount'],'objected':b['status']===ArbStatus['Objectionable']||b['objection']!=null&&b['objection']['length']>0x0};}async function arbCasesWithRoles(a,b){const c=a['map'](arbCaseFromObject),d=Array['from'](new Set(a['map'](j=>j['order'])['filter'](Boolean))),e=new Map(),f=[];if(d['length']>0x0){const j=await batchQueryObjectsByIds(d,b);for(const k of j){const l=k;if(!l?.['object'])continue;e['set'](l['object'],l);if(l['service'])f['push'](l['service']);}}const g=new Map(),h=Array['from'](new Set(f));if(h['length']>0x0){const m=await batchQueryObjectsByIds(h,b);for(const n of m){const p=n;if(p?.['object'])g['set'](p['object'],p);}}for(let q=0x0;q<a['length'];q++){const r=e['get'](a[q]['order']);if(!r)continue;c[q]['customer']=r['builder']||undefined;const t=g['get'](r['service']);if(t)c[q]['merchant']=t['permission']||undefined;}return c;}function capabilityFromInput(a){return{'id':a['id'],'kind':a['kind'],'owner':a['owner']??'','industry':a['industry'],'industry_confidence':a['industry_confidence']??0x0,'region':a['region'],'price_min':a['price_min']!==undefined?BigInt(a['price_min']):undefined,'price_max':a['price_max']!==undefined?BigInt(a['price_max']):undefined,'token_type':a['token_type']??'','ticket_size':a['ticket_size']??'medium','trust_score':a['trust_score']??0x32,'reputation_like_ratio':a['reputation_like_ratio']??0x1,'arbitration_independent':a['arbitration_independent']??![],'merchant_history_count':a['merchant_history_count']??0x0,'capabilities':a['capabilities'],'tags':a['tags']??[],'keywords':a['keywords']??[]};}async function resolveInjection(a,b){return mergeInjections(await buildUserInjection(a),b);}function serviceSummaryToExtract(a){const b=a['json']??{},c=f=>typeof f==='string'?f:undefined,d=f=>typeof f==='string'?f:null,e=Array['isArray'](b['sales'])?b['sales']['map'](f=>{const g=f?.['fields']??f;return{'name':typeof g?.['name']==='string'?g['name']:undefined,'price':typeof g?.['price']==='string'?g['price']:g?.['price']!=null?String(g['price']):'0','wip_hash':typeof g?.['wip_hash']==='string'?g['wip_hash']:undefined};}):[];return{'object':a['object'],'description':c(b['description'])??'','location':a['location']??c(b['location'])??'','sales':e,'arbitrations':Array['isArray'](b['arbitrations'])?b['arbitrations']['map'](String):[],'compensation_fund':c(b['compensation_fund']),'buy_guard':d(b['buy_guard']),'machine':d(b['machine']),'um':d(b['um']),'bPublished':b['bPublished']===!![],'bPaused':b['bPaused']===!![],'owner':c(b['owner'])};}function policyNeedsOwner(a){if(!a)return![];return Boolean(a['gates']?.['some'](b=>b['dim']==='owner')||a['excludes']?.['some'](b=>b['dim']==='blacklist'&&(b['owners']?.['length']??0x0)>0x0));}async function recallDemandsHybrid(a,b,c){const d=()=>enumerateDemands(a,{'max_objects':b['max_objects'],'no_cache':b['no_cache']}),e=async h=>({'answer':withDegradedReasons(await d(),['MATCH_INDEX_FALLBACK',...h]),'matchRoute':'legacy_enumeration'}),f=!policyNeedsOwner(c),g=discoveryDataSource();if(!f||g==='legacy'||!indexUrlFor(a))return{'answer':await d(),'matchRoute':'legacy_enumeration'};try{const h=await matchDemandsViaIndex(a,{'location':b['location'],'industry':b['industry']&&b['industry']!=='general'?b['industry']:undefined,'limit':Math['min'](0x64,b['max_objects']??0x64),'recallLimit':Math['min'](0x3e8,Math['max'](0xc8,b['max_objects']??0xc8))});if(g==='auto'&&h['total_enumerated']===0x0)return await e(['INDEX_KIND_EMPTY']);return{'answer':h,'matchRoute':'remote_index'};}catch(i){if(g==='remote')throw i;return await e([indexErrorCode(i)]);}}export async function handleEvaluationOperation(a){const b=strictParse(EvaluationOperationInputSchema,a,'evaluation_operation\x20input');let c;switch(b['action']){case'arb_game':{const e=b['account']?await getEffectivePersona(b['account']):null,f=b['appetite']??e?.['layer']['preferences']?.['risk_appetite'],g=b['requirements']??e?.['layer']['requirements'];c={'action':'arb_game',...evaluateArbGame(b['status'],b['perspective'],{'risk_appetite':f,'requirements':g})};break;}case'node_game':{const h=b['account']?await getEffectivePersona(b['account']):null,i=b['appetite']??h?.['layer']['preferences']?.['risk_appetite'],j=b['requirements']??h?.['layer']['requirements'];c={'action':'node_game',...evaluateNodeGame({'current_node':b['current_node'],'perspective':b['perspective'],'appetite':i,'requirements':j,'threshold':b['threshold'],'allocation':b['allocation'],'order_amount':b['order_amount'],'compensation_fund':b['compensation_fund'],'operable':b['operable'],'waiting_on':b['waiting_on']??[]})};break;}case'capability_gap':{c={'action':'capability_gap','report':summarizeCapabilityGaps(capabilityFromInput(b['demand']),capabilityFromInput(b['service']))};break;}case'compose_service':{c={'action':'compose_service','plan':composeServicesForDemand(capabilityFromInput(b['demand']),b['services']['map'](capabilityFromInput))};break;}case'demand_match':{const k=await matchDemandToServices(capabilityFromInput(b['demand_cap']),b['services'],await resolveInjection(b['account'],b['injection']),0x5,b['presenter_history']);c={'action':'demand_match','matches':k['map'](l=>({'service':l['service'],'result':l['result'],'next':nextOperationForDemandMatch(l['service']),'order':nextOperationForServiceOrder(l['service'])}))};break;}case'service_match':{const l=await matchServiceToDemands(capabilityFromInput(b['service_cap']),b['demands'],await resolveInjection(b['account'],b['injection']),0x5,b['presenter_history']);c={'action':'service_match','matches':l['map'](n=>({'demand':n['demand'],'result':n['result'],'next':nextOperationForServiceMatch(n['demand'],null)}))};break;}case'path_reasoning':{const m=b['account']?await getEffectivePersona(b['account']):null,n=b['appetite']??m?.['layer']['preferences']?.['risk_appetite'],o=b['requirements']??m?.['layer']['requirements'];c={'action':'path_reasoning',...evaluatePathReasoning({'current_node':b['current_node'],'perspective':b['perspective'],'workflow':workflowSubgraphFromRows(b['machine_nodes']),'node_annotations':b['node_annotations'],'appetite':n,'requirements':o,'order_amount':b['order_amount'],'max_depth':b['max_depth']})};break;}case'evidence_review':{b['items']&&b['items']['length']>0x0?c={'action':'evidence_review','list':reviewEvidenceList(b['items'])}:c={'action':'evidence_review','review':assessEvidenceReview({'kind':b['kind'],'hash_committed':b['hash_committed'],'digital_check_passed':b['digital_check_passed'],'contradiction':b['contradiction']})};break;}case'discover_services':{const p=!b['sensitivity']?inferSensitivity(b['description']??''):null,q=b['sensitivity']??p['sensitivity'],r=p?.['signals']??[],s=await resolveNetwork(b['context_network']),t={'raw':b['location'],...b['region']??{}},u=expandSearchScope(q,t),v=await enumerateServices(s,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location_any':u['search_terms'],'coin_type':b['coin_type'],'name_contains':b['name_contains']}),w=rankByLocation(q,t,v['services']['map'](x=>({'id':x['object'],'name':x['name'],'location':x['location']})));c={'action':'discover_services','sensitivity':q,'inference_signals':r,'services':w['map'](x=>{const y=v['services']['find'](z=>z['object']===x['id']);return{'object':x['id'],'name':y?.['name'],'location':y?.['location'],'relation':x['relation'],'satisfied':x['satisfied'],'score':x['score'],'reason':x['reason']};}),'total_enumerated':v['total_enumerated'],'has_more':v['has_more'],'coverage':v['coverage'],'scope_advice':{'search_terms':u['search_terms'],'ai_enrichment_note':u['ai_enrichment_note']}};break;}case'discover_demands':{const x=await resolveNetwork(b['context_network']),y=resolveMatchPolicy(b['match_policy'],'supply_to_demand'),{answer:z,matchRoute:A}=await recallDemandsHybrid(x,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location':b['location']},y),B=b['location']?.['toLowerCase'](),C=z['demands']['filter'](F=>!B||(F['location']??'')['toLowerCase']()['includes'](B))['map'](F=>({'object':F['object'],'description':F['description']??'','location':F['location']??'','presenters_count':F['presenters_count']??0x0,'permission':F['permission']??''}));let D=C,E;if(y){const F=z['demands']['filter'](K=>!B||(K['location']??'')['toLowerCase']()['includes'](B))['map'](K=>({'object':K['object'],'description':K['description']??'','location':K['location']??'','rewards':K['rewards'],'um':K['um']??null,'owner':typeof K['owner']==='string'?K['owner']:undefined,'guards':K['guards'],'presenters_count':K['presenters_count']})),G=applyDemandPolicyGates(y,F),H=new Set(G['passed']['map'](K=>K['object']));D=C['filter'](K=>H['has'](K['object']));const I=y['output']?.['top_n'];if(I!==undefined)D=D['slice'](0x0,I);const J=[];Object['keys'](y['weights']??{})['length']>0x0&&J['push']('weights\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),y['rerank']!==undefined&&J['push']('rerank\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),E=buildPolicyEffect(y,G,{'applied':{},'ignored':[]},{'order':A==='remote_index'?'server\x20public-baseline\x20order\x20(discover_demands\x20performs\x20no\x20private\x20scoring)':'enumeration\x20order\x20(discover_demands\x20performs\x20no\x20private\x20scoring)','diversity_applied':![],'deferred':0x0,'ignored':[]},J);}c={'action':'discover_demands','demands':D,'total_enumerated':z['total_enumerated'],'has_more':z['has_more'],'match_route':A,'coverage':z['coverage'],...E?{'policy_effect':E}:{}};break;}case'demand_present':{const K=await resolveNetwork(b['context_network']),L=resolveMatchPolicy(b['match_policy'],'supply_to_demand'),{answer:M,matchRoute:N}=await recallDemandsHybrid(K,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location':b['location'],'industry':b['service_cap']['industry']},L),O=b['location']?.['toLowerCase'](),P=M['demands']['filter'](Z=>!O||(Z['location']??'')['toLowerCase']()['includes'](O)),Q=new Map(P['map'](Z=>[Z['object'],(Z['guards']?.['length']??0x0)>0x0])),R=P['map'](Z=>({'object':Z['object'],'description':Z['description']??'','location':Z['location']??'','rewards':Z['rewards']??[],'um':Z['um']??null,'owner':typeof Z['owner']==='string'?Z['owner']:undefined})),S=P['map'](Z=>({'object':Z['object'],'description':Z['description']??'','location':Z['location']??'','rewards':Z['rewards'],'um':Z['um']??null,'owner':typeof Z['owner']==='string'?Z['owner']:undefined,'guards':Z['guards'],'presenters_count':Z['presenters_count']}));let T=await resolveInjection(b['account'],b['injection']),U=R,V,W;if(L){const Z=applyDemandPolicyGates(L,S),a0=new Set(Z['passed']['map'](a2=>a2['object']));U=R['filter'](a2=>a0['has'](a2['object']));const a1=policyToInjection(L);T=mergeInjections(T,a1['injection']),W={'gateOutcome':Z,'weights':a1};}const X=await matchServiceToDemands(capabilityFromInput(b['service_cap']),U,T,L?U['length']:b['limit']??0x5);let Y=X['map'](a2=>{const a3=Q['get'](a2['demand']['object'])??![];return{'demand':a2['demand'],'result':a2['result'],'next':nextOperationForServiceMatch(a2['demand'],a3)};});if(L&&W){const a2=rerankDemandMatches(Y,L);Y=a2['matches'],V=buildPolicyEffect(L,W['gateOutcome'],W['weights'],a2);}c={'action':'demand_present','matches':Y,'total_enumerated':M['total_enumerated'],'has_more':M['has_more'],'match_route':N,'coverage':M['coverage'],...V?{'policy_effect':V}:{}};break;}case'market_metrics':{const a3=await resolveNetwork(b['context_network']),a4=await computeMarketMetrics(a3,b['no_cache']),a5=await computeOrderFlow(a3,{'noCache':b['no_cache'],'maxPages':b['limit']?Math['max'](0x1,Math['ceil'](b['limit']/0x32)):undefined});c={'action':'market_metrics',...a4,'order_flow':a5};break;}case'anti_cheat':{const a6=assessAntiCheat({'service':{'object':b['service']['object'],'arbitrations':b['service']['arbitrations'],'compensation_fund':b['service']['compensation_fund'],'machine':b['service']['machine'],'bPublished':b['service']['bPublished']},'orders':b['orders'],'reviews':b['reviews']});c={'action':'anti_cheat','signals':a6};break;}case'market_operations':{if(b['op']==='journey_funnel')c={'action':'market_operations','result':computeJourneyFunnel({'due_diligence':b['due_diligence']??0x0,'orders':b['orders']??0x0,'completed':b['completed']??0x0,'reviews':b['reviews']??0x0})};else{if(b['op']==='referral_attribution')c={'action':'market_operations','result':attributeReferrals(b['referral_orders']??[])};else{if(b['op']==='dynamic_pricing'){const a7=b['market_signals'];if(!a7)throw new Error('dynamic_pricing\x20op\x20requires\x20market_signals');c={'action':'market_operations','result':suggestPricing({'supplyCount':a7['supplyCount'],'demandCount':a7['demandCount'],'avgPrice':a7['avgPrice'],'myPrice':a7['myPrice'],'competitorPrices':a7['competitorPrices'],'recentOrderCount':a7['recentOrderCount'],'repeatCustomerRate':a7['repeatCustomerRate']})};}else c={'action':'market_operations','result':buildCustomerRelationships(b['customer_orders']??[])};}}break;}case'match_discover':{const a8=!b['sensitivity']?inferSensitivity(b['description']??''):null,a9=b['sensitivity']??a8['sensitivity'],aa=a8?.['signals']??[],ab=await resolveNetwork(b['context_network']),ac={'raw':b['location'],...b['region']??{}},ad=expandSearchScope(a9,ac),ae=resolveMatchPolicy(b['match_policy'],'demand_to_supply'),af=(b['required_capabilities']??[])['filter'](aC=>KNOWN_CAPABILITIES['includes'](aC)),ag=enrichFromDescription(b['description'])['industry'],ah=!b['coin_type']&&!b['name_contains'],ai=discoveryDataSource();let aj,ak=new Map(),al='legacy_enumeration';const am=()=>enumerateServices(ab,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location_any':ad['search_terms'],'coin_type':b['coin_type'],'name_contains':b['name_contains']});if(ah&&ai!=='legacy'&&indexUrlFor(ab))try{const aC=await matchServicesViaIndex(ab,{'q':b['description'],'location':b['location'],'budgetWei':b['budget'],'industry':ag==='general'?undefined:ag,'capabilities':af['length']>0x0?af:undefined,'limit':Math['min'](0x64,b['max_objects']??0x64),'recallLimit':Math['min'](0x3e8,Math['max'](0xc8,b['max_objects']??0xc8))});aj={'services':aC['candidates']['map'](aD=>({'object':aD['objectId'],'location':aD['publicFeatures']['location']??'','json':aD['payloadJson']??null})),'total_enumerated':aC['recall']['liveSet']??aC['recall']['gated'],'has_more':aC['truncated'],'coverage':aC['coverage']};if(ai==='auto'&&aj['total_enumerated']===0x0)throw Object['assign'](new Error('Remote\x20index\x20materializes\x20no\x20Service'),{'code':'INDEX_KIND_EMPTY'});ak=new Map(aC['candidates']['map'](aD=>[aD['objectId'],aD])),al='remote_index';}catch(aD){if(ai==='remote')throw aD;aj=withDegradedReasons(await am(),['MATCH_INDEX_FALLBACK',indexErrorCode(aD)]);}else aj=await am();const an=new Set(b['required_capabilities']??[]),ao=extractDemandCapability({'object':'intent','description':b['description'],'location':b['location'],'owner':b['account']},{'price_max':b['budget']!==undefined?BigInt(b['budget']):undefined,'capabilities':{'has_arbitration':an['has']('has_arbitration'),'has_refund_path':an['has']('has_refund_path'),'has_milestone_nodes':an['has']('has_milestone_nodes'),'has_compensation_fund':an['has']('has_compensation_fund'),'has_wip_verification':an['has']('has_wip_verification'),'has_messenger':an['has']('has_messenger'),'has_buy_guard':an['has']('has_buy_guard'),'has_dynamic_pricing':an['has']('has_dynamic_pricing'),'is_published':!![],'is_paused':![]}}),ap=rankByLocation(a9,ac,aj['services']['map'](aE=>({'id':aE['object'],'name':aE['name'],'location':aE['location']}))),aq=ap['filter'](aE=>aE['satisfied']),ar=aj['services']['filter'](aE=>aq['some'](aF=>aF['id']===aE['object']))['map'](serviceSummaryToExtract),as=resolveCategoryMatchRules(b['category']);let at=ar;const au=[];if(as){const aE=applyHardConstraints(as,ar);at=aE['passed'];for(const aF of aE['dropped']){au['push']({'object':aF['candidate']['object'],'reason':aF['constraint']['description']});}}let av=await resolveInjection(b['account'],b['injection']);as&&(av=mergeInjections(av,toSoftWeightInjection(as)));let aw,ax;if(ae){const aG=applyPolicyGates(ae,at,{'budgetWei':b['budget']!==undefined?BigInt(b['budget']):undefined});at=aG['passed'];const aH=policyToInjection(ae);av=mergeInjections(av,aH['injection']),ax={'gateOutcome':aG,'weights':aH};}const ay=await matchDemandToServices(ao,at,av,at['length'],b['presenter_history']),az=new Map(ay['map'](aI=>[aI['service']['object'],aI['result']])),aA=new Set(at['map'](aI=>aI['object']));let aB=aq['filter'](aI=>aA['has'](aI['id']))['map'](aI=>{const aJ=aj['services']['find'](aL=>aL['object']===aI['id']),aK=ak['get'](aI['id']);return{'service':serviceSummaryToExtract(aJ),'location':{'relation':aI['relation'],'satisfied':aI['satisfied'],'score':aI['score'],'reason':aI['reason']},'result':az['get'](aI['id']),...aK?{'server_match':{'policy_version':aK['serverEvaluation']['policyVersion'],'total':aK['serverEvaluation']['total'],'breakdown':aK['serverEvaluation']['breakdown'],'unknown_rules':aK['serverEvaluation']['unknownRules'],'red_flags':aK['serverEvaluation']['redFlags'],'channels':aK['channels'],'rrf':aK['rrf']}}:{}};});if(ae&&ax){const aI=applyPolicyRerank(aB,ae);aB=aI['matches'],aw=buildPolicyEffect(ae,ax['gateOutcome'],ax['weights'],aI);}c={'action':'match_discover','sensitivity':a9,'inference_signals':aa,'match_route':al,'matches':aB,'total_enumerated':aj['total_enumerated'],'has_more':aj['has_more'],'coverage':aj['coverage'],'scope_advice':{'search_terms':ad['search_terms'],'ai_enrichment_note':ad['ai_enrichment_note']},...aw?{'policy_effect':aw}:{}};break;}case'arbitration_score':{let aJ=b['history'];const aK=b['context_network']??'testnet';if((!aJ||aJ['length']===0x0)&&b['arbitration']['object'])try{const aM=await enumerateArbs(aK,{'arbitration':b['arbitration']['object']});aJ=await arbCasesWithRoles(aM['arbs'],aK);}catch{aJ=b['history'];}if((!aJ||aJ['length']===0x0)&&b['arbitration']['object'])try{const aN=await query_objects({'objects':[b['arbitration']['object']],'network':aK}),aO=aN?.['objects']?.[0x0];if(aO?.['permission']){const aP=await fetchObjectLinkerCore(aO['permission'],aK),aQ=(aP?.['items']??[])['map'](aS=>aS['who'])['filter'](aS=>aS!==b['arbitration']['object']),aR=[];for(const aS of aQ['slice'](0x0,0xa)){const aT=await enumerateArbs(aK,{'arbitration':aS})['catch'](()=>undefined);aT?.['arbs']?.['length']&&aR['push'](...await arbCasesWithRoles(aT['arbs'],aK));}if(aR['length']>0x0)aJ=aR;}}catch{}const aL=await assessArbitration({'arbitration':{'object':b['arbitration']['object'],'fee':b['arbitration']['fee'],'balance':b['arbitration']['balance'],'voting_guard_count':b['arbitration']['voting_guard_count'],'bPaused':b['arbitration']['bPaused'],'location':b['arbitration']['location'],'has_verified_identity':b['arbitration']['has_verified_identity']},'history':aJ,'entity_votes':b['entity_votes'],'fee_median':b['fee_median']},await resolveInjection(b['account'],b['injection']));c={'action':'arbitration_score',...aL};break;}case'account_events':{const aU=await runAccountEventWatchers({'account':b['account'],'network':await resolveNetwork(b['context_network']),'reviews':b['reviews']?.['map'](aV=>({'reviewer':aV['reviewer'],'rating':aV['rating'],'tags':aV['tags'],'comment':aV['comment'],'orderRef':aV['orderRef'],'timestamp':aV['timestamp'],'verified':aV['verified']??![]})),'order_history':b['order_history']},b['categories']);c={'action':'account_events','events':aU};break;}default:throw new Error('Unknown\x20evaluation_operation\x20action');}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c}};}
|
|
1
|
+
import{strictParse}from'../../schema/index.js';import{EvaluationOperationInputSchema}from'../../schema/evaluation/index.js';import{evaluateArbGame}from'../../evaluation/arbitration-game.js';import{evaluateNodeGame}from'../../evaluation/node-game.js';import{evaluatePathReasoning}from'../../evaluation/path-reasoning.js';import{assessEvidenceReview,reviewEvidenceList}from'../../knowledge/evidence-review.js';import{expandSearchScope,inferSensitivity,rankByLocation}from'../../evaluation/location-match.js';import{ArbStatus,discoveryDataSource,LocalMark,query_objects}from'@wowok/wowok';import{enumerateServices,enumerateDemands,enumerateArbs,indexErrorCode,indexUrlFor,matchServicesViaIndex,matchDemandsViaIndex,withDegradedReasons}from'../../knowledge/jsonrpc-enum.js';import{KNOWN_CAPABILITIES}from'../../data/api/match.js';import{fetchObjectLinkerCore,batchQueryObjectsByIds,batchQueryTableItems}from'../../graph/onchain/sdk-batch.js';import{summarizeCapabilityGaps}from'../../evaluation/gap.js';import{resolveNetwork}from'./network.js';import{composeServicesForDemand}from'../../evaluation/composer.js';import{generateCompositionPlan,PILOT_CHAINS}from'../../composition/generate.js';import{matchDemandToServices,matchServiceToDemands}from'../../evaluation/builtins/demand-match.js';import{nextOperationForServiceMatch,nextOperationForDemandMatchLive,nextOperationForServiceOrder}from'../../evaluation/match-operation.js';import{extractDemandCapability,enrichFromDescription}from'../../evaluation/extract.js';import{assessArbitration}from'../../evaluation/builtins/arbitration-score.js';import{resolveCategoryMatchRules,toSoftWeightInjection,applyHardConstraints}from'../../evaluation/category-match-rules.js';import{matchGradeFromScore}from'../../evaluation/standards.js';import{computeMarketMetrics,computeOrderFlow}from'../../knowledge/market-metrics.js';import{workflowSubgraphFromRows}from'../../graph/onchain/index.js';import{assessAntiCheat}from'../../knowledge/anti-cheat.js';import{computeJourneyFunnel,attributeReferrals,buildCustomerRelationships}from'../../knowledge/market-operations.js';import{suggestPricing}from'../../knowledge/dynamic-pricing.js';import{runAccountEventWatchers}from'../../customer/account-events.js';import{registerBuiltinEvaluations}from'../../evaluation/builtins/index.js';import{getEffectivePersona,mergeInjections}from'../../persona/index.js';import{buildUserInjection}from'../../evaluation/injection.js';import{applyDemandPolicyGates,applyPolicyGates,applyPolicyRerank,buildPolicyEffect,policyToInjection,rerankDemandMatches}from'../../evaluation/match-policy.js';import{resolveEffectiveMatchPolicy}from'../../evaluation/match-policy-resolver.js';registerBuiltinEvaluations();function arbCaseFromObject(b){const c=typeof b['time']==='number'?b['time']:Number(b['time']??0x0);return{'status':b['status'],'time':Number['isFinite'](c)?c:undefined,'resolved_time':typeof b['indemnity']?.['time']==='number'?b['indemnity']['time']:b['compensation_time']??undefined,'indemnity_amount':b['indemnity']?.['amount'],'objected':b['status']===ArbStatus['Objectionable']||b['objection']!=null&&b['objection']['length']>0x0};}async function arbCasesWithRoles(a,b){const c=a['map'](arbCaseFromObject),d=Array['from'](new Set(a['map'](j=>j['order'])['filter'](Boolean))),e=new Map(),f=[];if(d['length']>0x0){const j=await batchQueryObjectsByIds(d,b);for(const k of j){const l=k;if(!l?.['object'])continue;e['set'](l['object'],l);if(l['service'])f['push'](l['service']);}}const g=new Map(),h=Array['from'](new Set(f));if(h['length']>0x0){const m=await batchQueryObjectsByIds(h,b);for(const n of m){const p=n;if(p?.['object'])g['set'](p['object'],p);}}for(let q=0x0;q<a['length'];q++){const r=e['get'](a[q]['order']);if(!r)continue;c[q]['customer']=r['builder']||undefined;const t=g['get'](r['service']);if(t)c[q]['merchant']=t['permission']||undefined;}return c;}function capabilityFromInput(a){return{'id':a['id'],'kind':a['kind'],'owner':a['owner']??'','industry':a['industry'],'industry_confidence':a['industry_confidence']??0x0,'region':a['region'],'price_min':a['price_min']!==undefined?BigInt(a['price_min']):undefined,'price_max':a['price_max']!==undefined?BigInt(a['price_max']):undefined,'token_type':a['token_type']??'','ticket_size':a['ticket_size']??'medium','trust_score':a['trust_score']??0x32,'reputation_like_ratio':a['reputation_like_ratio']??0x1,'arbitration_independent':a['arbitration_independent']??![],'merchant_history_count':a['merchant_history_count']??0x0,'capabilities':a['capabilities'],'tags':a['tags']??[],'keywords':a['keywords']??[]};}async function resolveInjection(a,b){return mergeInjections(await buildUserInjection(a),b);}function serviceSummaryToExtract(a){const b=a['json']??{},c=f=>typeof f==='string'?f:undefined,d=f=>typeof f==='string'?f:null,e=Array['isArray'](b['sales'])?b['sales']['map'](f=>{const g=f?.['fields']??f;return{'name':typeof g?.['name']==='string'?g['name']:undefined,'price':typeof g?.['price']==='string'?g['price']:g?.['price']!=null?String(g['price']):'0','wip_hash':typeof g?.['wip_hash']==='string'?g['wip_hash']:undefined};}):[];return{'object':a['object'],'description':c(b['description'])??'','location':a['location']??c(b['location'])??'','sales':e,'arbitrations':Array['isArray'](b['arbitrations'])?b['arbitrations']['map'](String):[],'compensation_fund':c(b['compensation_fund']),'buy_guard':d(b['buy_guard']),'machine':d(b['machine']),'um':d(b['um']),'bPublished':b['bPublished']===!![],'bPaused':b['bPaused']===!![],'owner':c(b['owner'])};}function policyNeedsOwner(a){if(!a)return![];return Boolean(a['gates']?.['some'](b=>b['dim']==='owner')||a['excludes']?.['some'](b=>b['dim']==='blacklist'&&(b['owners']?.['length']??0x0)>0x0));}async function recallDemandsHybrid(a,b,c){const d=()=>enumerateDemands(a,{'max_objects':b['max_objects'],'no_cache':b['no_cache']}),e=async h=>({'answer':withDegradedReasons(await d(),['MATCH_INDEX_FALLBACK',...h]),'matchRoute':'legacy_enumeration'}),f=!policyNeedsOwner(c),g=discoveryDataSource();if(!f||g==='legacy'||!indexUrlFor(a))return{'answer':await d(),'matchRoute':'legacy_enumeration'};try{const h=await matchDemandsViaIndex(a,{'location':b['location'],'industry':b['industry']&&b['industry']!=='general'?b['industry']:undefined,'limit':Math['min'](0x64,b['max_objects']??0x64),'recallLimit':Math['min'](0x3e8,Math['max'](0xc8,b['max_objects']??0xc8))});if(g==='auto'&&h['total_enumerated']===0x0)return await e(['INDEX_KIND_EMPTY']);return{'answer':h,'matchRoute':'remote_index'};}catch(i){if(g==='remote')throw i;return await e([indexErrorCode(i)]);}}export async function handleEvaluationOperation(a){const b=strictParse(EvaluationOperationInputSchema,a,'evaluation_operation\x20input');let c;switch(b['action']){case'arb_game':{const e=b['account']?await getEffectivePersona(b['account']):null,f=b['appetite']??e?.['layer']['preferences']?.['risk_appetite'],g=b['requirements']??e?.['layer']['requirements'];c={'action':'arb_game',...evaluateArbGame(b['status'],b['perspective'],{'risk_appetite':f,'requirements':g})};break;}case'node_game':{const h=b['account']?await getEffectivePersona(b['account']):null,i=b['appetite']??h?.['layer']['preferences']?.['risk_appetite'],j=b['requirements']??h?.['layer']['requirements'];c={'action':'node_game',...evaluateNodeGame({'current_node':b['current_node'],'perspective':b['perspective'],'appetite':i,'requirements':j,'threshold':b['threshold'],'allocation':b['allocation'],'order_amount':b['order_amount'],'compensation_fund':b['compensation_fund'],'operable':b['operable'],'waiting_on':b['waiting_on']??[]})};break;}case'capability_gap':{c={'action':'capability_gap','report':summarizeCapabilityGaps(capabilityFromInput(b['demand']),capabilityFromInput(b['service']))};break;}case'compose_service':{c={'action':'compose_service','plan':composeServicesForDemand(capabilityFromInput(b['demand']),b['services']['map'](capabilityFromInput))};break;}case'compose_generation':{const k=generateCompositionPlan({'intent':b['intent'],...b['selections']!==undefined?{'selections':b['selections']}:{},...b['supply_chain']!==undefined?{'supplyChain':b['supply_chain']}:{},...b['inputs']!==undefined?{'inputs':b['inputs']}:{},...b['name_base']!==undefined?{'nameBase':b['name_base']}:{},...b['preferred_chain']!==undefined?{'preferredChain':b['preferred_chain']}:{}});c={'action':'compose_generation','feasibility':k['feasibility'],...k['chain']!==undefined?{'chain':k['chain']}:{},...k['carrier']!==undefined?{'carrier':k['carrier']}:{},'pilot_chains':PILOT_CHAINS['map'](l=>l['chain']),'adopted':k['adopted']['map'](l=>({'id':l['id'],'via':l['via'],...l['evidence']!==undefined?{'matched_signals':l['evidence']['hits'],'signals_tested':l['evidence']['tested']}:{}})),'blockers':k['blockers'],...k['plan']!==undefined?{'plan':{...k['plan'],'catalog_version':k['templates_version']}}:{},...k['audit']!==undefined?{'audit':{'blocking':k['audit']['blocking'],'findings':k['audit']['findings']['map'](l=>({'level':l['level'],'rule_id':l['rule_id'],'title':l['title']}))}}:{},'templates_version':k['templates_version'],...k['supplyChain']!==undefined?{'supply_chain':k['supplyChain']}:{}};break;}case'demand_match':{let l=null,m=b['presenter_history'];if(b['demand_object']){const o=b['demand_object']['startsWith']('0x')?b['demand_object']:await LocalMark['Instance']()['get_address'](b['demand_object'])['catch'](()=>undefined)??undefined;if(o)try{const p=await resolveNetwork(undefined),r=await query_objects({'objects':[o],'network':p,'no_cache':!![]}),s=r?.['objects']?.[0x0],t=s?.['data']??s;let u=typeof t?.['presenters_count']==='number'?t['presenters_count']:null;if(u===null)try{const {items:v}=await batchQueryTableItems(o,{'network':p,'noCache':!![],'maxItems':0xc8}),w=v['map'](x=>x['object'])['filter'](x=>x?.['type']==='TableItem_DemandPresenter');u=w['length'],!m&&w['length']>0x0&&(m=w['map'](x=>({'demand_id':b['demand_object'],'presenter':typeof x?.['address']==='string'?x['address']:undefined,'presenter_service':typeof x?.['service']==='string'?x['service']:undefined,'acceptance_score':typeof x?.['acceptance_score']==='number'?x['acceptance_score']:null,'feedback_time':typeof x?.['feedback_time']==='number'?x['feedback_time']:undefined})));}catch{}l={'object':b['demand_object'],'presenters_count':u};}catch{l={'object':b['demand_object'],'presenters_count':null};}else l={'object':b['demand_object'],'presenters_count':null};}const n=await matchDemandToServices(capabilityFromInput(b['demand_cap']),b['services'],await resolveInjection(b['account'],b['injection']),0x5,m);c={'action':'demand_match','matches':n['map'](x=>({'service':x['service'],'result':x['result'],'grade':matchGradeFromScore(x['result']['total']),'next':nextOperationForDemandMatchLive(x['service'],l),'order':nextOperationForServiceOrder(x['service'])}))};break;}case'service_match':{const x=await matchServiceToDemands(capabilityFromInput(b['service_cap']),b['demands'],await resolveInjection(b['account'],b['injection']),0x5,b['presenter_history']);c={'action':'service_match','matches':x['map'](y=>({'demand':y['demand'],'result':y['result'],'next':nextOperationForServiceMatch(y['demand'],null)}))};break;}case'path_reasoning':{const y=b['account']?await getEffectivePersona(b['account']):null,z=b['appetite']??y?.['layer']['preferences']?.['risk_appetite'],A=b['requirements']??y?.['layer']['requirements'];c={'action':'path_reasoning',...evaluatePathReasoning({'current_node':b['current_node'],'perspective':b['perspective'],'workflow':workflowSubgraphFromRows(b['machine_nodes']),'node_annotations':b['node_annotations'],'appetite':z,'requirements':A,'order_amount':b['order_amount'],'max_depth':b['max_depth']})};break;}case'evidence_review':{b['items']&&b['items']['length']>0x0?c={'action':'evidence_review','list':reviewEvidenceList(b['items'])}:c={'action':'evidence_review','review':assessEvidenceReview({'kind':b['kind'],'hash_committed':b['hash_committed'],'digital_check_passed':b['digital_check_passed'],'contradiction':b['contradiction']})};break;}case'discover_services':{const B=!b['sensitivity']?inferSensitivity(b['description']??''):null,C=b['sensitivity']??B['sensitivity'],D=B?.['signals']??[],E=await resolveNetwork(b['context_network']),F={'raw':b['location'],...b['region']??{}},G=expandSearchScope(C,F),H=await enumerateServices(E,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location_any':G['search_terms'],'coin_type':b['coin_type'],'name_contains':b['name_contains']}),I=rankByLocation(C,F,H['services']['map'](J=>({'id':J['object'],'name':J['name'],'location':J['location']})));c={'action':'discover_services','sensitivity':C,'inference_signals':D,'services':I['map'](J=>{const K=H['services']['find'](L=>L['object']===J['id']);return{'object':J['id'],'name':K?.['name'],'location':K?.['location'],'relation':J['relation'],'satisfied':J['satisfied'],'score':J['score'],'reason':J['reason']};}),'total_enumerated':H['total_enumerated'],'has_more':H['has_more'],'coverage':H['coverage'],'scope_advice':{'search_terms':G['search_terms'],'ai_enrichment_note':G['ai_enrichment_note']}};break;}case'discover_demands':{const J=await resolveNetwork(b['context_network']),K=await resolveEffectiveMatchPolicy(b['match_policy'],'supply_to_demand',b['account']),L=K['policy'],{answer:M,matchRoute:N}=await recallDemandsHybrid(J,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location':b['location']},L),O=b['location']?.['toLowerCase'](),P=M['demands']['filter'](S=>!O||(S['location']??'')['toLowerCase']()['includes'](O))['map'](S=>({'object':S['object'],'description':S['description']??'','location':S['location']??'','presenters_count':S['presenters_count']??0x0,'permission':S['permission']??''}));let Q=P,R;if(L){const S=M['demands']['filter'](X=>!O||(X['location']??'')['toLowerCase']()['includes'](O))['map'](X=>({'object':X['object'],'description':X['description']??'','location':X['location']??'','rewards':X['rewards'],'um':X['um']??null,'owner':typeof X['owner']==='string'?X['owner']:undefined,'guards':X['guards'],'presenters_count':X['presenters_count']})),T=applyDemandPolicyGates(L,S),U=new Set(T['passed']['map'](X=>X['object']));Q=P['filter'](X=>U['has'](X['object']));const V=L['output']?.['top_n'];if(V!==undefined)Q=Q['slice'](0x0,V);const W=[];Object['keys'](L['weights']??{})['length']>0x0&&W['push']('weights\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),L['rerank']!==undefined&&W['push']('rerank\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),R=buildPolicyEffect(L,T,{'applied':{},'ignored':[]},{'order':N==='remote_index'?'server\x20public-baseline\x20order\x20(discover_demands\x20performs\x20no\x20private\x20scoring)':'enumeration\x20order\x20(discover_demands\x20performs\x20no\x20private\x20scoring)','diversity_applied':![],'deferred':0x0,'ignored':[]},W,K['source']);}c={'action':'discover_demands','demands':Q,'total_enumerated':M['total_enumerated'],'has_more':M['has_more'],'match_route':N,'coverage':M['coverage'],...R?{'policy_effect':R}:{}};break;}case'demand_present':{const X=await resolveNetwork(b['context_network']),Y=await resolveEffectiveMatchPolicy(b['match_policy'],'supply_to_demand',b['account']),Z=Y['policy'],{answer:a0,matchRoute:a1}=await recallDemandsHybrid(X,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location':b['location'],'industry':b['service_cap']['industry']},Z),a2=b['location']?.['toLowerCase'](),a3=a0['demands']['filter'](ad=>!a2||(ad['location']??'')['toLowerCase']()['includes'](a2)),a4=new Map(a3['map'](ad=>[ad['object'],(ad['guards']?.['length']??0x0)>0x0])),a5=a3['map'](ad=>({'object':ad['object'],'description':ad['description']??'','location':ad['location']??'','rewards':ad['rewards']??[],'um':ad['um']??null,'owner':typeof ad['owner']==='string'?ad['owner']:undefined})),a6=a3['map'](ad=>({'object':ad['object'],'description':ad['description']??'','location':ad['location']??'','rewards':ad['rewards'],'um':ad['um']??null,'owner':typeof ad['owner']==='string'?ad['owner']:undefined,'guards':ad['guards'],'presenters_count':ad['presenters_count']}));let a7=await resolveInjection(b['account'],b['injection']),a8=a5,a9,aa;if(Z){const ad=applyDemandPolicyGates(Z,a6),ae=new Set(ad['passed']['map'](ag=>ag['object']));a8=a5['filter'](ag=>ae['has'](ag['object']));const af=policyToInjection(Z);a7=mergeInjections(a7,af['injection']),aa={'gateOutcome':ad,'weights':af};}const ab=await matchServiceToDemands(capabilityFromInput(b['service_cap']),a8,a7,Z?a8['length']:b['limit']??0x5);let ac=ab['map'](ag=>{const ah=a4['get'](ag['demand']['object'])??![];return{'demand':ag['demand'],'result':ag['result'],'next':nextOperationForServiceMatch(ag['demand'],ah)};});if(Z&&aa){const ag=rerankDemandMatches(ac,Z);ac=ag['matches'],a9=buildPolicyEffect(Z,aa['gateOutcome'],aa['weights'],ag,[],Y['source']);}c={'action':'demand_present','matches':ac,'total_enumerated':a0['total_enumerated'],'has_more':a0['has_more'],'match_route':a1,'coverage':a0['coverage'],...a9?{'policy_effect':a9}:{}};break;}case'market_metrics':{const ah=await resolveNetwork(b['context_network']),ai=await computeMarketMetrics(ah,b['no_cache']),aj=await computeOrderFlow(ah,{'noCache':b['no_cache'],'maxPages':b['limit']?Math['max'](0x1,Math['ceil'](b['limit']/0x32)):undefined});c={'action':'market_metrics',...ai,'order_flow':aj};break;}case'anti_cheat':{const ak=assessAntiCheat({'service':{'object':b['service']['object'],'arbitrations':b['service']['arbitrations'],'compensation_fund':b['service']['compensation_fund'],'machine':b['service']['machine'],'bPublished':b['service']['bPublished']},'orders':b['orders'],'reviews':b['reviews']});c={'action':'anti_cheat','signals':ak};break;}case'market_operations':{if(b['op']==='journey_funnel')c={'action':'market_operations','result':computeJourneyFunnel({'due_diligence':b['due_diligence']??0x0,'orders':b['orders']??0x0,'completed':b['completed']??0x0,'reviews':b['reviews']??0x0})};else{if(b['op']==='referral_attribution')c={'action':'market_operations','result':attributeReferrals(b['referral_orders']??[])};else{if(b['op']==='dynamic_pricing'){const al=b['market_signals'];if(!al)throw new Error('dynamic_pricing\x20op\x20requires\x20market_signals');c={'action':'market_operations','result':suggestPricing({'supplyCount':al['supplyCount'],'demandCount':al['demandCount'],'avgPrice':al['avgPrice'],'myPrice':al['myPrice'],'competitorPrices':al['competitorPrices'],'recentOrderCount':al['recentOrderCount'],'repeatCustomerRate':al['repeatCustomerRate']})};}else c={'action':'market_operations','result':buildCustomerRelationships(b['customer_orders']??[])};}}break;}case'match_discover':{const am=!b['sensitivity']?inferSensitivity(b['description']??''):null,an=b['sensitivity']??am['sensitivity'],ao=am?.['signals']??[],ap=await resolveNetwork(b['context_network']),aq={'raw':b['location'],...b['region']??{}},ar=expandSearchScope(an,aq),as=await resolveEffectiveMatchPolicy(b['match_policy'],'demand_to_supply',b['account']),at=as['policy'],au=(b['required_capabilities']??[])['filter'](aT=>KNOWN_CAPABILITIES['includes'](aT)),av=enrichFromDescription(b['description'])['industry'],aw=!b['coin_type']&&!b['name_contains'],ax=discoveryDataSource();let ay,az=new Map(),aA='legacy_enumeration';const aB=()=>enumerateServices(ap,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location_any':ar['search_terms'],'coin_type':b['coin_type'],'name_contains':b['name_contains']});if(aw&&ax!=='legacy'&&indexUrlFor(ap))try{const aT=await matchServicesViaIndex(ap,{'q':b['description'],'location':b['location'],'budgetWei':b['budget'],'industry':av==='general'?undefined:av,'capabilities':au['length']>0x0?au:undefined,'limit':Math['min'](0x64,b['max_objects']??0x64),'recallLimit':Math['min'](0x3e8,Math['max'](0xc8,b['max_objects']??0xc8))});ay={'services':aT['candidates']['map'](aU=>({'object':aU['objectId'],'location':aU['publicFeatures']['location']??'','json':aU['payloadJson']??null})),'total_enumerated':aT['recall']['liveSet']??aT['recall']['gated'],'has_more':aT['truncated'],'coverage':aT['coverage']};if(ax==='auto'&&ay['total_enumerated']===0x0)throw Object['assign'](new Error('Remote\x20index\x20materializes\x20no\x20Service'),{'code':'INDEX_KIND_EMPTY'});az=new Map(aT['candidates']['map'](aU=>[aU['objectId'],aU])),aA='remote_index';}catch(aU){if(ax==='remote')throw aU;ay=withDegradedReasons(await aB(),['MATCH_INDEX_FALLBACK',indexErrorCode(aU)]);}else!aw?ay=withDegradedReasons(await aB(),['MATCH_FILTER_FALLBACK','coin_type/name_contains\x20are\x20legacy-route-only\x20—\x20remote\x20index\x20skipped;\x20recall\x20may\x20miss\x20indexed\x20supply']):ay=await aB();const aC=new Set(b['required_capabilities']??[]),aD=extractDemandCapability({'object':'intent','description':b['description'],'location':b['location'],'owner':b['account']},{'price_max':b['budget']!==undefined?BigInt(b['budget']):undefined,'capabilities':{'has_arbitration':aC['has']('has_arbitration'),'has_refund_path':aC['has']('has_refund_path'),'has_milestone_nodes':aC['has']('has_milestone_nodes'),'has_compensation_fund':aC['has']('has_compensation_fund'),'has_wip_verification':aC['has']('has_wip_verification'),'has_messenger':aC['has']('has_messenger'),'has_buy_guard':aC['has']('has_buy_guard'),'has_dynamic_pricing':aC['has']('has_dynamic_pricing'),'is_published':!![],'is_paused':![]}}),aE=rankByLocation(an,aq,ay['services']['map'](aV=>({'id':aV['object'],'name':aV['name'],'location':aV['location']}))),aF=aE['filter'](aV=>aV['satisfied']),aG=aF['length']===0x0,aH=aG?aE:aF,aI=ay['services']['filter'](aV=>aH['some'](aW=>aW['id']===aV['object']))['map'](serviceSummaryToExtract),aJ=resolveCategoryMatchRules(b['category']);let aK=aI;const aL=[];if(aJ){const aV=applyHardConstraints(aJ,aI);aK=aV['passed'];for(const aW of aV['dropped']){aL['push']({'object':aW['candidate']['object'],'reason':aW['constraint']['description']});}}let aM=await resolveInjection(b['account'],b['injection']);aJ&&(aM=mergeInjections(aM,toSoftWeightInjection(aJ)));let aN,aO;if(at){const aX=applyPolicyGates(at,aK,{'budgetWei':b['budget']!==undefined?BigInt(b['budget']):undefined});aK=aX['passed'];const aY=policyToInjection(at);aM=mergeInjections(aM,aY['injection']),aO={'gateOutcome':aX,'weights':aY};}const aP=await matchDemandToServices(aD,aK,aM,aK['length'],b['presenter_history']),aQ=new Map(aP['map'](aZ=>[aZ['service']['object'],aZ['result']])),aR=new Set(aK['map'](aZ=>aZ['object']));let aS=aH['filter'](aZ=>aR['has'](aZ['id']))['map'](aZ=>{const b0=ay['services']['find'](b2=>b2['object']===aZ['id']),b1=az['get'](aZ['id']);return{'service':serviceSummaryToExtract(b0),'location':{'relation':aZ['relation'],'satisfied':aZ['satisfied'],'score':aZ['score'],'reason':aZ['reason']},'result':aQ['get'](aZ['id']),'grade':matchGradeFromScore(aQ['get'](aZ['id'])['total']),...b1?{'server_match':{'policy_version':b1['serverEvaluation']['policyVersion'],'total':b1['serverEvaluation']['total'],'breakdown':b1['serverEvaluation']['breakdown'],'unknown_rules':b1['serverEvaluation']['unknownRules'],'red_flags':b1['serverEvaluation']['redFlags'],'channels':b1['channels'],'rrf':b1['rrf']}}:{}};});if(at&&aO){const aZ=applyPolicyRerank(aS,at);aS=aZ['matches'],aN=buildPolicyEffect(at,aO['gateOutcome'],aO['weights'],aZ,[],as['source']);}c={'action':'match_discover','sensitivity':an,'inference_signals':ao,'match_route':aA,'location_gate':{'passed':aF['length'],'failed':aE['length']-aF['length'],'fallback_used':aG,...aG?{'note':'NO\x20service\x20passed\x20the\x20location\x20gate\x20—\x20gate-failed\x20services\x20are\x20retained\x20as\x20'+'candidates\x20under\x20this\x20fallback\x20disclosure\x20(presented-supply\x20recall).\x20Verify\x20'+'geographic\x20fit\x20manually\x20or\x20switch\x20sensitivity\x20(strict\x20→\x20near\x20→\x20logistics)\x20before\x20deciding.'}:{}},'matches':aS,'total_enumerated':ay['total_enumerated'],'has_more':ay['has_more'],'coverage':ay['coverage'],'scope_advice':{'search_terms':ar['search_terms'],'ai_enrichment_note':ar['ai_enrichment_note']},...aN?{'policy_effect':aN}:{}};break;}case'arbitration_score':{let b0=b['history'];const b1=b['context_network']??'testnet';if((!b0||b0['length']===0x0)&&b['arbitration']['object'])try{const b3=await enumerateArbs(b1,{'arbitration':b['arbitration']['object']});b0=await arbCasesWithRoles(b3['arbs'],b1);}catch{b0=b['history'];}if((!b0||b0['length']===0x0)&&b['arbitration']['object'])try{const b4=await query_objects({'objects':[b['arbitration']['object']],'network':b1}),b5=b4?.['objects']?.[0x0];if(b5?.['permission']){const b6=await fetchObjectLinkerCore(b5['permission'],b1),b7=(b6?.['items']??[])['map'](b9=>b9['who'])['filter'](b9=>b9!==b['arbitration']['object']),b8=[];for(const b9 of b7['slice'](0x0,0xa)){const ba=await enumerateArbs(b1,{'arbitration':b9})['catch'](()=>undefined);ba?.['arbs']?.['length']&&b8['push'](...await arbCasesWithRoles(ba['arbs'],b1));}if(b8['length']>0x0)b0=b8;}}catch{}const b2=await assessArbitration({'arbitration':{'object':b['arbitration']['object'],'fee':b['arbitration']['fee'],'balance':b['arbitration']['balance'],'voting_guard_count':b['arbitration']['voting_guard_count'],'bPaused':b['arbitration']['bPaused'],'location':b['arbitration']['location'],'has_verified_identity':b['arbitration']['has_verified_identity']},'history':b0,'entity_votes':b['entity_votes'],'fee_median':b['fee_median']},await resolveInjection(b['account'],b['injection']));c={'action':'arbitration_score',...b2};break;}case'account_events':{const bb=await runAccountEventWatchers({'account':b['account'],'network':await resolveNetwork(b['context_network']),'reviews':b['reviews']?.['map'](bc=>({'reviewer':bc['reviewer'],'rating':bc['rating'],'tags':bc['tags'],'comment':bc['comment'],'orderRef':bc['orderRef'],'timestamp':bc['timestamp'],'verified':bc['verified']??![]})),'order_history':b['order_history']},b['categories']);c={'action':'account_events','events':bb};break;}default:throw new Error('Unknown\x20evaluation_operation\x20action');}return{'content':[{'type':'text','text':JSON['stringify']({'result':c})}],'structuredContent':{'result':c}};}
|