@wowok/agent-mcp 3.3.9 → 3.4.1
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/field-capability.js +1 -1
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/index.d.ts +1 -0
- package/dist/chain-semantics/index.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/blueprint-view.d.ts +3 -3
- package/dist/composition/blueprint-view.js +1 -1
- package/dist/composition/compile.d.ts +26 -4
- 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 +26 -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 +22 -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.d.ts +61 -0
- package/dist/composition/param-disclosure.js +1 -0
- 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 +17 -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/customer/account-events.js +1 -1
- package/dist/data/api/api.spec.js +1 -1
- package/dist/data/api/cli.js +1 -1
- package/dist/data/api/server.d.ts +1 -0
- package/dist/data/api/server.js +1 -1
- package/dist/data/projection/store.d.ts +3 -1
- package/dist/data/projection/store.js +1 -1
- package/dist/data/projection/types.d.ts +32 -0
- package/dist/data/sync/cdc.d.ts +1 -2
- package/dist/data/sync/cdc.js +1 -1
- package/dist/data/sync/cdc.spec.js +1 -1
- package/dist/data/sync/store.d.ts +5 -0
- package/dist/data/sync/store.js +1 -1
- package/dist/data/sync/types.d.ts +2 -0
- 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/guard-scan.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/index.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/allocation-templates.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/arb-fund-facts.d.ts +1 -0
- package/dist/knowledge/arb-fund-facts.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/arbitration-puzzle.js +1 -1
- package/dist/knowledge/arbitration-risk.d.ts +1 -0
- package/dist/knowledge/arbitration-risk.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +2 -2
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/judgment-baselines.json +21 -2
- package/dist/knowledge/baselines/rules/allocation.json +6 -6
- package/dist/knowledge/baselines/rules/arb.json +2 -2
- package/dist/knowledge/baselines/rules/guard.json +11 -11
- package/dist/knowledge/baselines/rules/oracle.json +120 -0
- package/dist/knowledge/baselines/rules/order.json +1 -1
- package/dist/knowledge/baselines/rules/plan.json +385 -18
- package/dist/knowledge/baselines/rules/progress.json +20 -2
- package/dist/knowledge/baselines/semantic-facts.js +1 -1
- package/dist/knowledge/builtin-templates.d.ts +25 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/catalog-facts.d.ts +4 -0
- package/dist/knowledge/catalog-facts.js +1 -0
- package/dist/knowledge/commission-landing.js +1 -1
- package/dist/knowledge/component-schema.d.ts +64 -0
- package/dist/knowledge/component-schema.js +1 -0
- 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/entity-recipient-guard.js +1 -1
- package/dist/knowledge/event-semantics.js +1 -1
- package/dist/knowledge/fee-param-bindings.d.ts +26 -0
- package/dist/knowledge/fee-param-bindings.js +1 -0
- 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.d.ts +2 -2
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-anchor-reach.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-ledger.js +1 -1
- package/dist/knowledge/guard-lint.d.ts +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/industry-strategy.js +1 -1
- package/dist/knowledge/jsonrpc-enum.d.ts +52 -3
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/knob-docs.d.ts +5 -0
- package/dist/knowledge/knob-docs.js +1 -0
- package/dist/knowledge/machine-templates.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 +4 -0
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/order-ledger.js +1 -1
- package/dist/knowledge/param-schema.d.ts +93 -0
- package/dist/knowledge/param-schema.js +1 -0
- package/dist/knowledge/param-tiers.d.ts +25 -0
- package/dist/knowledge/param-tiers.js +1 -0
- package/dist/knowledge/passport-ledger.d.ts +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 +108 -0
- package/dist/knowledge/pattern-resolutions.js +1 -0
- 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/safety-rules.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +2 -0
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/scenario-topology.js +1 -1
- package/dist/knowledge/semantic-ir.d.ts +4 -0
- package/dist/knowledge/semantic-ir.js +1 -1
- package/dist/knowledge/service-allocation-semantics.js +1 -1
- package/dist/knowledge/service-ledger.d.ts +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/service-templates.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/strategy-manuals.d.ts +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/supply-chain.d.ts +9 -0
- package/dist/knowledge/supply-chain.js +1 -1
- package/dist/knowledge/template-loader.d.ts +114 -6
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-nav.d.ts +9 -0
- package/dist/knowledge/template-nav.js +1 -0
- package/dist/knowledge/template-prose.d.ts +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +95 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/template-test-profiles.d.ts +17 -0
- package/dist/knowledge/template-test-profiles.js +1 -0
- package/dist/knowledge/template-validation.d.ts +1 -0
- package/dist/knowledge/template-validation.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/treasury-templates.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/radar-core.js +1 -1
- package/dist/participation/time-window.d.ts +37 -0
- package/dist/participation/time-window.js +1 -0
- 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.d.ts +1 -0
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +52 -22
- 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.d.ts +1 -0
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping.d.ts +6 -0
- package/dist/playbooks/service-build/reverse-mapping.js +1 -1
- package/dist/playbooks/service-build/service-panorama.d.ts +2 -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/relationship/registry.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/review/repository.js +1 -1
- package/dist/runtime/instance-registry.d.ts +7 -1
- package/dist/runtime/instance-registry.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +106 -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/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +264 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +34 -6
- package/dist/schema/call/demand.d.ts +15 -6
- package/dist/schema/call/demand.js +1 -1
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/guard.d.ts +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/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 +131 -43
- 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 +224 -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 +116 -1
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +166 -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 +157 -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 +28 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +343 -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 +251 -4
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +271 -78
- 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 +98 -2
- package/dist/schemas/benchmark_migration_operation.output.json +341 -12
- package/dist/schemas/benchmark_migration_operation.schema.json +42 -3
- package/dist/schemas/bridge_operation.output.json +98 -2
- package/dist/schemas/bridge_operation.schema.json +5 -5
- 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 +586 -4
- package/dist/schemas/evaluation_operation.schema.json +194 -3
- package/dist/schemas/goal_operation.schema.json +183 -0
- package/dist/schemas/guard2file.schema.json +1 -1
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/industry_pack_operation.output.json +771 -1
- package/dist/schemas/industry_pack_operation.schema.json +28 -4
- package/dist/schemas/keeper_operation.output.json +96 -2
- package/dist/schemas/local_cache_operation.output.json +98 -2
- package/dist/schemas/local_history_operation.output.json +98 -2
- package/dist/schemas/local_info_operation.output.json +98 -2
- package/dist/schemas/local_mark_operation.output.json +98 -2
- package/dist/schemas/machineNode2file.schema.json +1 -1
- package/dist/schemas/messenger_operation.output.json +107 -2
- package/dist/schemas/messenger_operation.schema.json +41 -34
- package/dist/schemas/monitor_events.output.json +96 -2
- package/dist/schemas/monitor_subscription.output.json +96 -2
- package/dist/schemas/onchain_events.output.json +108 -14
- package/dist/schemas/onchain_operations.output.json +326 -11
- package/dist/schemas/onchain_operations.schema.json +1343 -734
- package/dist/schemas/onchain_operations_allocation.schema.json +35 -19
- package/dist/schemas/onchain_operations_arbitration.schema.json +16 -8
- package/dist/schemas/onchain_operations_contact.schema.json +12 -4
- package/dist/schemas/onchain_operations_demand.schema.json +33 -17
- package/dist/schemas/onchain_operations_gen_passport.schema.json +12 -4
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +297 -111
- package/dist/schemas/onchain_operations_machine.schema.json +56 -39
- package/dist/schemas/onchain_operations_order.schema.json +67 -42
- package/dist/schemas/onchain_operations_payment.schema.json +27 -12
- package/dist/schemas/onchain_operations_permission.schema.json +363 -232
- package/dist/schemas/onchain_operations_personal.schema.json +43 -28
- package/dist/schemas/onchain_operations_progress.schema.json +49 -32
- package/dist/schemas/onchain_operations_proof.schema.json +12 -4
- package/dist/schemas/onchain_operations_repository.schema.json +17 -8
- package/dist/schemas/onchain_operations_reward.schema.json +36 -20
- package/dist/schemas/onchain_operations_service.schema.json +230 -130
- package/dist/schemas/onchain_operations_treasury.schema.json +36 -20
- package/dist/schemas/onchain_table_data.output.json +276 -19
- package/dist/schemas/onchain_table_data.schema.json +104 -64
- 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 +1054 -146
- package/dist/schemas/query_toolkit.schema.json +144 -13
- package/dist/schemas/schema_query.schema.json +1 -1
- package/dist/schemas/watch_operation.output.json +86 -3
- package/dist/schemas/wip_file.output.json +8 -0
- package/dist/schemas/workflow_operation.schema.json +5 -4
- package/dist/schemas/wowok_buildin_info.schema.json +1 -1
- package/dist/task/playbook.js +1 -1
- package/dist/tools/handlers/benchmark-migration.d.ts +12 -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/messenger.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +24 -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/onchain.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/sanitize-output.js +1 -1
- package/dist/tools/sanitize-output.spec.js +1 -1
- package/dist/tools/transport-integrity.d.ts +7 -0
- package/dist/tools/transport-integrity.js +1 -0
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/upgrade-check.d.ts +22 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wrap.d.ts +6 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +7 -6
- 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{join,dirname}from'node:path';import{fileURLToPath}from'node:url';import{computeSrcDistStaleness}from'../upgrade-check.js';const __dirname=dirname(fileURLToPath(import.meta.url));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\x20src/dist\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(passport.move,\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['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 z of x){const A=z['fee_key']==='review_reward_pool'?'Reward\x20pool':z['fee_key']==='funding_threshold'?'Funding\x20threshold':'Minimum\x20order',B=z['claim_source']==='semantic_ir'?'\x20(from\x20the\x20semantic\x20IR\x20claim)':'';w['next_action']=w['next_action']+'\x20'+A+'\x20prefilled\x20from\x20your\x20request:\x20'+z['value']+B+'\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}};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=Array['isArray'](b['completed_steps'])&&b['completed_steps']['length']>0x0||b['previous_outputs']?{'completedSteps':b['completed_steps']??[],'outputs':b['previous_outputs']??{}}:undefined,x=await materializePlan(v,{'execute':handlerExecutor(b['env'])},w),y=x['steps']['filter'](A=>A['status']==='blocked')['length'],z=x['steps']['find'](A=>A['status']==='failed');f={'action':'plan_execute','completed':x['completed'],'steps':x['steps'],'outputs':x['outputs'],'preflight':{'issues':x['preflight']['issues'],'findings':x['preflight']['findings']},'readback':x['readback'],'next_action':x['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.':y>0x0?'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.':'Step\x20\x27'+(z?.['stepId']??'?')+'\x27\x20FAILED:\x20'+(z?.['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 A=b['log'],B=Array['isArray'](A['mapped'])?A['mapped']:[],C=Array['isArray'](A['unmapped'])?A['unmapped']:[],D=Array['isArray'](A['manual_review'])?A['manual_review']:[],E=A['risk_check']??{},F=A['source']?.['matched_template']??'',G=C['length']===0x0&&D['length']===0x0&&E['passed']===!![];f={'action':'migration_review','log':A,'review_summary':{'mapped_count':B['length'],'unmapped_count':C['length'],'manual_review_count':D['length'],'risk_passed':E['passed']===!![]},'next_action':G?'Review\x20clean.\x20Proceed:\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+F+'\x27\x20to\x20produce\x20the\x20creation\x20plan\x20(network\x20defaults\x20to\x20testnet;\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).':'Surface\x20the\x20'+C['length']+'\x20unmapped\x20and\x20'+D['length']+'\x20manual_review\x20items'+(E['passed']===!![]?'':'\x20plus\x20the\x20risk_check\x20findings')+'\x20to\x20the\x20user\x20for\x20a\x20decision\x20before\x20action=\x27migration_apply\x27\x20(template_id=\x27'+F+'\x27).'};break;}case'migration_apply':{const H=requireTemplate(b['template_id'],'migration_apply'),I=scanTemplate(H);assertScanPassed(I,'migration_apply');const J=b['network']??'testnet',K=await runGuide(H,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 L=scanSummary(I,driftFace(H['id'])),M=buildVerdict(L,K);return{'action':'migration_apply','template_id':H['id'],'network':J,...e,'scan':L,'plan':K,'verdict':M,'next_action':planNextAction(K,'migration_apply',M)};})());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,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}from'node:path';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.'};}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;}}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=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}:{},'next_action':x};})());break;}case'template_scan':{const t=requireTemplate(b['template_id'],'template_scan'),u=staleBuildFace(),v=await templateScanDryRun(t,u);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']??[]},'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 w=d?handleRecommendIndustry({'intent':b['description'],'semantic_ir':b['semantic_ir']}):undefined,x=planMigration({'url':b['url'],'description':b['description'],'industry':c,'ir_industry':c?undefined:w?.['recommendations'][0x0]?.['industry'],'ir_discovery':d?discoverySignal(d['ir']):undefined,'network':b['network']});if(!x)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 y=getTemplate(x['source']['matched_template']),z=y?await templateScanDryRun(y,staleBuildFace()):undefined;f={'action':'migration_import','log':x,...z&&z['buildable']!==undefined?{'buildable':z['buildable']===!![],'build_blockers':z['blockers']??[],'compile_dry_run':{'status':z['status'],'note':z['note']}}:{},...w?{'inference_source':w['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.'+(z?.['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.':z?.['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':{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 A=b['plan'],B=A['plan']!==undefined&&typeof A['plan']==='object'&&!Array['isArray'](A['plan'])&&Array['isArray'](A['plan']['steps'])?A['plan']:A;if(!Array['isArray'](B['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 C=typeof B['catalog_version']==='number'?B['catalog_version']:undefined,D=typeof B['templateId']==='string'?B['templateId']:undefined,E=typeof B['template_digest']==='string'?B['template_digest']:undefined,F=C===BUILTIN_TEMPLATES_VERSION,G=!F&&D!==undefined&&E!==undefined&&templateCatalogDigest(D)===E;if(C!==undefined&&!F&&!G)throw new Error('action=\x27plan_execute\x27:\x20STALE\x20PLAN\x20—\x20the\x20plan\x20was\x20generated\x20against\x20catalog\x20v'+C+',\x20'+('but\x20this\x20server\x20runs\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+(G?'':'\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 H=(B['steps']??[])['filter'](a8=>a8!==null&&typeof a8==='object'),I=H['map'](a8=>String(a8['id'])),J=new Set(H['filter'](a8=>a8['op']==='create')['map'](a8=>String(a8['id'])));let K=[...b['completed_steps']??[]];const L=b['resume_from_step'];if(L!==undefined){const a8=I['indexOf'](L);if(a8<0x0)throw new Error('action=\x27plan_execute\x27:\x20resume_from_step\x20\x27'+L+'\x27\x20is\x20not\x20a\x20step\x20of\x20THIS\x20plan\x20(steps:\x20'+I['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.');K=[...new Set([...K,...I['slice'](0x0,a8)])];}const M=K['filter'](a9=>!I['includes'](a9));if(M['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20completed_steps\x20name(s)\x20['+M['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 N=b['previous_outputs']??{},O=K['filter'](a9=>J['has'](a9)&&N[a9]===undefined);if(O['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20adopted\x20create\x20step(s)\x20['+O['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 P=K['length']>0x0||Object['keys'](N)['length']>0x0||L!==undefined?{'completedSteps':K,'outputs':N}:undefined,Q=((()=>{const a9=new Map();for(const ab of B['steps']??[]){const ac=ab['params'];ab['op']==='create'&&typeof ac?.['name']==='string'&&a9['set'](ac['name'],String(ab['id']));}const aa=ad=>{if(Array['isArray'](ad))return ad['map'](aa);if(ad&&typeof ad==='object'){const ae=ad,af=ae['$late'],ag=Object['keys'](ae);if(af?.['by']==='local_name'&&typeof af['mark']==='string'&&ag['length']===0x1&&a9['has'](af['mark']))return{'$ref':a9['get'](af['mark'])};return Object['fromEntries'](Object['entries'](ae)['map'](([ah,ai])=>[ah,aa(ai)]));}return ad;};return aa(B);})()),R=bindAuditPlan(Q);if(R['length']>0x0){const a9=bindRecoveryList(Q,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(R,a9)+'\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 S=planLedgerKey(Q);let T;const U=lockedFreshStep(S,I,new Set(K));if(U!==undefined){const aa=b['retry_override'];if(aa!==undefined&&aa['step_id']===U['stepId']&&aa['note']['trim']()['length']>0x0)clearPlanStep(S,U['stepId']),T={'step_id':U['stepId'],'note':aa['note']};else throw new Error('action=\x27plan_execute\x27:\x20RETRY_LOCKED\x20—\x20step\x20\x27'+U['stepId']+'\x27\x20failed\x20with\x20the\x20IDENTICAL\x20error\x20in\x20'+U['count']+'\x20consecutive\x20'+('rounds\x20(\x22'+U['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'+U['stepId']+'\x22,\x20note:\x20\x22<why>\x22}.'));}const V=[...new Set([...collectLateMarks(Q),...collectAddressSlotBareNames(Q)])],W=b['env']?.['network'],X=new Map(),Y=[];for(const ab of V){const ac=await LocalMark['Instance']()['get_address'](ab,W)['catch'](()=>undefined);if(typeof ac==='string'&&ac['length']>0x0)X['set'](ab,ac);else Y['push'](ab);}if(Y['length']>0x0)throw new Error('action=\x27plan_execute\x27:\x20unresolved\x20LocalMark(s)\x20['+Y['join'](',\x20')+']\x20on\x20'+(W??'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'+Y[0x0]+'\x22,address:\x22<your\x20entity\x20address>\x22}]}}\x20—\x20then\x20re-run.\x20')+'Nothing\x20was\x20executed.');const Z=X['get']('platform');if(Z!==undefined){const ad=platformMarkRefusal(Z,W??'default');if(ad!==undefined)throw new Error(ad);}const a0=await materializePlan(Q,{'execute':handlerExecutor(b['env']),'envByAccount':b['accounts'],'timeoutMs':b['timeout_ms'],'resolveLate':ae=>{if(ae['by']==='address')return ae['address'];const af=X['get'](ae['mark']);if(af===undefined)throw new Error('unresolved\x20late\x20binding:\x20local_name\x20\x27'+ae['mark']+'\x27');return af;}},P),a1=a0['steps']['filter'](ae=>ae['status']==='blocked')['length'],a2=a0['steps']['find'](ae=>ae['status']==='failed'),a3=a0['steps']['some'](ae=>ae['status']==='blocked'&&typeof ae['error']==='string'&&ae['error']['startsWith']('preflight\x20failed:')),a4=a0['steps']['find'](ae=>ae['status']==='failed'&&typeof ae['digest']==='string'&&ae['digest']['length']>0x0),a5=a0['steps']['find'](ae=>ae['status']==='blocked'&&typeof ae['error']==='string'&&ae['error']['startsWith']('time\x20budget'));recordPlanRound(S,a0['steps']);const a6=repeatedPlanFailures(S);let a7=a0['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.':a3?'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.':a4!==undefined?'Step\x20\x27'+a4['stepId']+'\x27\x20FAILED\x20with\x20digest\x20'+a4['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'+a4['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).':a0['budgetExhausted']?'Time\x20budget\x20('+String(b['timeout_ms'])+'ms)\x20reached\x20before\x20step\x20\x27'+(a5?.['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'+(a5?.['stepId']??'<first\x20non-executed\x20stepId>')+'\x27\x20+\x20previous_outputs\x20('+a1+'\x20step(s)\x20remain;\x20raise\x20or\x20omit\x20timeout_ms\x20to\x20take\x20fewer\x20slices).':'Step\x20\x27'+(a2?.['stepId']??'?')+'\x27\x20FAILED:\x20'+(a2?.['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'+(a2?.['stepId']??'?')+'\x27\x20+\x20previous_outputs.';if(a6['length']>0x0&&!a0['completed']){const ae='STOP\x20—\x20do\x20NOT\x20re-run\x20unchanged:\x20step\x20\x27'+a6[0x0]['step_id']+'\x27\x20failed\x20with\x20the\x20IDENTICAL\x20error\x20for\x20'+a6[0x0]['consecutive_rounds']+'\x20consecutive\x20round(s);\x20a\x20further\x20unchanged\x20re-run\x20is\x20REFUSED\x20pre-execution.\x20';a7=a4!==undefined||a3?a7+'\x20'+ae+'After\x20resolving\x20the\x20state\x20question\x20above,\x20fix\x20the\x20ROOT\x20CAUSE\x20before\x20resuming\x20(retry_override\x20{step_id,\x20note}\x20is\x20the\x20audited\x20exception).':ae+'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':a0['completed'],'steps':a0['steps'],'outputs':a0['outputs'],'preflight':{'issues':a0['preflight']['issues'],'findings':a0['preflight']['findings']},'readback':a0['readback'],...X['size']>0x0?{'late_mark_bindings':Object['fromEntries'](X),'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.'}:{},...a0['completed']?{}:{'resume':{'completed_steps':a0['steps']['filter'](af=>af['status']==='executed')['map'](af=>af['stepId']),'previous_outputs':a0['outputs']}},...a6['length']>0x0?{'repeated_failures':a6,'retry_prohibited':!![]}:{},...T!==undefined?{'retry_override_applied':T}:{},'next_action':a7};break;}case'migration_review':{if(!b['log'])throw new Error('\x27log\x27\x20is\x20required\x20for\x20action=\x27migration_review\x27');const af=b['log'],ag=Array['isArray'](af['mapped'])?af['mapped']:[],ah=Array['isArray'](af['unmapped'])?af['unmapped']:[],ai=Array['isArray'](af['manual_review'])?af['manual_review']:[],aj=af['risk_check']??{},ak=af['source']?.['matched_template']??'',al=af['template_match']??{},am=typeof al['source']==='string'?al['source']:'unknown',an=typeof al['confidence']==='number'?al['confidence']:0x0,ao=am==='unknown'||am==='industry_leader'||am==='ir_industry_fallback'||an<0.5,ap=ak?getTemplate(ak):undefined,aq=ap?await templateScanDryRun(ap,staleBuildFace()):undefined,ar=aq?.['buildable']===undefined?undefined:aq['buildable']===!![],as=aq?.['blockers']??[],at=aq?.['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.':ar===![]?'\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.':'',au=ah['length']===0x0&&ai['length']===0x0&&aj['passed']===!![]&&!ao&&ar!==![];f={'action':'migration_review','log':af,'review_summary':{'mapped_count':ag['length'],'unmapped_count':ah['length'],'manual_review_count':ai['length'],'risk_passed':aj['passed']===!![],...aq?{...ar!==undefined?{'buildable':ar}:{},'build_blockers':as,'compile_dry_run':{'status':aq['status'],'note':aq['note']}}:{},'template_match':{'template_id':ak,'source':am,'confidence':an,'weak_match':ao}},'next_action':au?'Review\x20clean.\x20Proceed:\x20call\x20action=\x27migration_apply\x27\x20with\x20template_id=\x27'+ak+'\x27\x20to\x20produce\x20the\x20creation\x20plan\x20(network\x20defaults\x20to\x20testnet;\x20mainnet\x20requires\x20explicit\x20user\x20confirmation).'+(aq?.['status']==='unavailable'?'\x20Note:\x20the\x20compile\x20dry-run\x20could\x20not\x20run\x20on\x20probe\x20inputs\x20—\x20template_generate\x20remains\x20the\x20authoritative\x20buildability\x20check.':''):aq?.['status']==='unverified'&&!ao?'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.':ar===![]&&!ao?'compile_dry_run\x20BLOCKED\x20on\x20probe\x20inputs\x20—\x20the\x20static\x20risk\x20check\x20passed,\x20but\x20the\x20compile\x20kernel\x20refuses\x20\x27'+ak+'\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.':ao?'WEAK\x20TEMPLATE\x20MATCH:\x20\x27'+ak+'\x27\x20was\x20chosen\x20by\x20\x27'+am+'\x27\x20at\x20confidence\x20'+an+'\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'+ak+'\x27\x20after\x20the\x20user\x20approves\x20THAT\x20template.'+at:'Surface\x20the\x20'+ah['length']+'\x20unmapped\x20and\x20'+ai['length']+'\x20manual_review\x20items'+(aj['passed']===!![]?'':'\x20plus\x20the\x20risk_check\x20findings')+'\x20to\x20the\x20user\x20for\x20a\x20decision\x20before\x20action=\x27migration_apply\x27\x20(template_id=\x27'+ak+'\x27).'+at};break;}case'migration_apply':{const av=requireTemplate(b['template_id'],'migration_apply'),aw=scanTemplate(av);assertScanPassed(aw,'migration_apply');const ax=b['network']??'testnet',ay=await runGuide(av,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 az=scanSummary(aw,driftFace(av['id'])),aA=staleBuildFace(),aB=buildVerdict(az,ay,undefined,aA),aC=wipAnchorFace(b['sales']);return{'action':'migration_apply','template_id':av['id'],'network':ax,...e,'scan':az,'plan':ay,'verdict':aB,...aC?{'wip_anchor':aC}:{},'next_action':planNextAction(ay,'migration_apply',aB,aA)};})());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 a503a,setEnabled as a503b,reset as a503c}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=a503a(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.');a503b(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.');a503b(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.');a503c(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,createQueryCoverage,discoveryDataSource,remoteIndexUrl}from'@wowok/wowok';import{enumerateServices,enumerateDemands,enumerateArbs,matchServicesViaIndex}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}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'])};}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'),z=await enumerateDemands(x,{'max_objects':b['max_objects'],'no_cache':b['no_cache']}),A=b['location']?.['toLowerCase'](),B=z['demands']['filter'](E=>!A||(E['location']??'')['toLowerCase']()['includes'](A))['map'](E=>({'object':E['object'],'description':E['description']??'','location':E['location']??'','presenters_count':E['presenters_count']??0x0,'permission':E['permission']??''}));let C=B,D;if(y){const E=z['demands']['filter'](J=>!A||(J['location']??'')['toLowerCase']()['includes'](A))['map'](J=>({'object':J['object'],'description':J['description']??'','location':J['location']??'','rewards':J['rewards'],'um':J['um']??null,'owner':typeof J['owner']==='string'?J['owner']:undefined,'guards':J['guards'],'presenters_count':J['presenters_count']})),F=applyDemandPolicyGates(y,E),G=new Set(F['passed']['map'](J=>J['object']));C=B['filter'](J=>G['has'](J['object']));const H=y['output']?.['top_n'];if(H!==undefined)C=C['slice'](0x0,H);const I=[];Object['keys'](y['weights']??{})['length']>0x0&&I['push']('weights\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),y['rerank']!==undefined&&I['push']('rerank\x20not\x20applicable\x20in\x20discover_demands\x20(no\x20private\x20scoring\x20at\x20this\x20stage;\x20use\x20demand_present)'),D=buildPolicyEffect(y,F,{'applied':{},'ignored':[]},{'order':'enumeration\x20order\x20(discover_demands\x20performs\x20no\x20private\x20scoring)','diversity_applied':![],'deferred':0x0,'ignored':[]},I);}c={'action':'discover_demands','demands':C,'total_enumerated':z['total_enumerated'],'has_more':z['has_more'],'coverage':z['coverage'],...D?{'policy_effect':D}:{}};break;}case'demand_present':{const J=await resolveNetwork(b['context_network']),K=resolveMatchPolicy(b['match_policy'],'supply_to_demand'),L=await enumerateDemands(J,{'max_objects':b['max_objects'],'no_cache':b['no_cache']}),M=b['location']?.['toLowerCase'](),N=L['demands']['filter'](X=>!M||(X['location']??'')['toLowerCase']()['includes'](M)),O=new Map(N['map'](X=>[X['object'],(X['guards']?.['length']??0x0)>0x0])),P=N['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})),Q=N['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']}));let R=await resolveInjection(b['account'],b['injection']),S=P,T,U;if(K){const X=applyDemandPolicyGates(K,Q),Y=new Set(X['passed']['map'](a0=>a0['object']));S=P['filter'](a0=>Y['has'](a0['object']));const Z=policyToInjection(K);R=mergeInjections(R,Z['injection']),U={'gateOutcome':X,'weights':Z};}const V=await matchServiceToDemands(capabilityFromInput(b['service_cap']),S,R,K?S['length']:b['limit']??0x5);let W=V['map'](a0=>{const a1=O['get'](a0['demand']['object'])??![];return{'demand':a0['demand'],'result':a0['result'],'next':nextOperationForServiceMatch(a0['demand'],a1)};});if(K&&U){const a0=rerankDemandMatches(W,K);W=a0['matches'],T=buildPolicyEffect(K,U['gateOutcome'],U['weights'],a0);}c={'action':'demand_present','matches':W,'total_enumerated':L['total_enumerated'],'has_more':L['has_more'],'coverage':L['coverage'],...T?{'policy_effect':T}:{}};break;}case'market_metrics':{const a1=await resolveNetwork(b['context_network']),a2=await computeMarketMetrics(a1,b['no_cache']),a3=await computeOrderFlow(a1,{'noCache':b['no_cache'],'maxPages':b['limit']?Math['max'](0x1,Math['ceil'](b['limit']/0x32)):undefined});c={'action':'market_metrics',...a2,'order_flow':a3};break;}case'anti_cheat':{const a4=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':a4};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 a5=b['market_signals'];if(!a5)throw new Error('dynamic_pricing\x20op\x20requires\x20market_signals');c={'action':'market_operations','result':suggestPricing({'supplyCount':a5['supplyCount'],'demandCount':a5['demandCount'],'avgPrice':a5['avgPrice'],'myPrice':a5['myPrice'],'competitorPrices':a5['competitorPrices'],'recentOrderCount':a5['recentOrderCount'],'repeatCustomerRate':a5['repeatCustomerRate']})};}else c={'action':'market_operations','result':buildCustomerRelationships(b['customer_orders']??[])};}}break;}case'match_discover':{const a6=!b['sensitivity']?inferSensitivity(b['description']??''):null,a7=b['sensitivity']??a6['sensitivity'],a8=a6?.['signals']??[],a9=await resolveNetwork(b['context_network']),aa={'raw':b['location'],...b['region']??{}},ab=expandSearchScope(a7,aa),ac=resolveMatchPolicy(b['match_policy'],'demand_to_supply'),ad=(b['required_capabilities']??[])['filter'](az=>KNOWN_CAPABILITIES['includes'](az)),ae=!b['coin_type']&&!b['name_contains'],af=discoveryDataSource();let ag,ah=new Map(),ai='legacy_enumeration';const aj=()=>enumerateServices(a9,{'max_objects':b['max_objects'],'no_cache':b['no_cache'],'location_any':ab['search_terms'],'coin_type':b['coin_type'],'name_contains':b['name_contains']});if(ae&&af!=='legacy'&&remoteIndexUrl())try{const az=await matchServicesViaIndex(a9,{'q':b['description'],'location':b['location'],'budgetWei':b['budget'],'capabilities':ad['length']>0x0?ad:undefined,'limit':Math['min'](0x64,b['max_objects']??0x64),'recallLimit':Math['min'](0x3e8,Math['max'](0xc8,b['max_objects']??0xc8))});ag={'services':az['candidates']['map'](aA=>({'object':aA['objectId'],'location':aA['publicFeatures']['location']??'','json':aA['payloadJson']??null})),'total_enumerated':az['recall']['liveSet']??az['recall']['gated'],'has_more':az['truncated'],'coverage':az['coverage']},ah=new Map(az['candidates']['map'](aA=>[aA['objectId'],aA])),ai='remote_index';}catch(aA){if(af==='remote')throw aA;ag=await aj();const aB=aA?.['code'],aC=typeof aB==='string'&&/^INDEX_[A-Z_]+$/['test'](aB)?aB:'INDEX_UNAVAILABLE';ag['coverage']=createQueryCoverage({'mode':ag['coverage']['mode'],'totalEnumerated':ag['coverage']['total_enumerated'],'truncated':ag['coverage']['truncated'],'chainId':ag['coverage']['chain_id'],'degradedReasons':[...ag['coverage']['degraded_reasons'],'MATCH_INDEX_FALLBACK',aC]});}else ag=await aj();const ak=new Set(b['required_capabilities']??[]),al=extractDemandCapability({'object':'intent','description':b['description'],'location':b['location'],'owner':b['account']},{'price_max':b['budget']!==undefined?BigInt(b['budget']):undefined,'capabilities':{'has_arbitration':ak['has']('has_arbitration'),'has_refund_path':ak['has']('has_refund_path'),'has_milestone_nodes':ak['has']('has_milestone_nodes'),'has_compensation_fund':ak['has']('has_compensation_fund'),'has_wip_verification':ak['has']('has_wip_verification'),'has_messenger':ak['has']('has_messenger'),'has_buy_guard':ak['has']('has_buy_guard'),'has_dynamic_pricing':ak['has']('has_dynamic_pricing'),'is_published':!![],'is_paused':![]}}),am=rankByLocation(a7,aa,ag['services']['map'](aD=>({'id':aD['object'],'name':aD['name'],'location':aD['location']}))),an=am['filter'](aD=>aD['satisfied']),ao=ag['services']['filter'](aD=>an['some'](aE=>aE['id']===aD['object']))['map'](serviceSummaryToExtract),ap=resolveCategoryMatchRules(b['category']);let aq=ao;const ar=[];if(ap){const aD=applyHardConstraints(ap,ao);aq=aD['passed'];for(const aE of aD['dropped']){ar['push']({'object':aE['candidate']['object'],'reason':aE['constraint']['description']});}}let as=await resolveInjection(b['account'],b['injection']);ap&&(as=mergeInjections(as,toSoftWeightInjection(ap)));let at,au;if(ac){const aF=applyPolicyGates(ac,aq,{'budgetWei':b['budget']!==undefined?BigInt(b['budget']):undefined});aq=aF['passed'];const aG=policyToInjection(ac);as=mergeInjections(as,aG['injection']),au={'gateOutcome':aF,'weights':aG};}const av=await matchDemandToServices(al,aq,as,aq['length'],b['presenter_history']),aw=new Map(av['map'](aH=>[aH['service']['object'],aH['result']])),ax=new Set(aq['map'](aH=>aH['object']));let ay=an['filter'](aH=>ax['has'](aH['id']))['map'](aH=>{const aI=ag['services']['find'](aK=>aK['object']===aH['id']),aJ=ah['get'](aH['id']);return{'service':serviceSummaryToExtract(aI),'location':{'relation':aH['relation'],'satisfied':aH['satisfied'],'score':aH['score'],'reason':aH['reason']},'result':aw['get'](aH['id']),...aJ?{'server_match':{'policy_version':aJ['serverEvaluation']['policyVersion'],'total':aJ['serverEvaluation']['total'],'breakdown':aJ['serverEvaluation']['breakdown'],'unknown_rules':aJ['serverEvaluation']['unknownRules'],'red_flags':aJ['serverEvaluation']['redFlags'],'channels':aJ['channels'],'rrf':aJ['rrf']}}:{}};});if(ac&&au){const aH=applyPolicyRerank(ay,ac);ay=aH['matches'],at=buildPolicyEffect(ac,au['gateOutcome'],au['weights'],aH);}c={'action':'match_discover','sensitivity':a7,'inference_signals':a8,'match_route':ai,'matches':ay,'total_enumerated':ag['total_enumerated'],'has_more':ag['has_more'],'coverage':ag['coverage'],'scope_advice':{'search_terms':ab['search_terms'],'ai_enrichment_note':ab['ai_enrichment_note']},...at?{'policy_effect':at}:{}};break;}case'arbitration_score':{let aI=b['history'];const aJ=b['context_network']??'testnet';if((!aI||aI['length']===0x0)&&b['arbitration']['object'])try{const aL=await enumerateArbs(aJ,{'arbitration':b['arbitration']['object']});aI=await arbCasesWithRoles(aL['arbs'],aJ);}catch{aI=b['history'];}if((!aI||aI['length']===0x0)&&b['arbitration']['object'])try{const aM=await query_objects({'objects':[b['arbitration']['object']],'network':aJ}),aN=aM?.['objects']?.[0x0];if(aN?.['permission']){const aO=await fetchObjectLinkerCore(aN['permission'],aJ),aP=(aO?.['items']??[])['map'](aR=>aR['who'])['filter'](aR=>aR!==b['arbitration']['object']),aQ=[];for(const aR of aP['slice'](0x0,0xa)){const aS=await enumerateArbs(aJ,{'arbitration':aR})['catch'](()=>undefined);aS?.['arbs']?.['length']&&aQ['push'](...await arbCasesWithRoles(aS['arbs'],aJ));}if(aQ['length']>0x0)aI=aQ;}}catch{}const aK=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':aI,'entity_votes':b['entity_votes'],'fee_median':b['fee_median']},await resolveInjection(b['account'],b['injection']));c={'action':'arbitration_score',...aK};break;}case'account_events':{const aT=await runAccountEventWatchers({'account':b['account'],'network':await resolveNetwork(b['context_network']),'reviews':b['reviews']?.['map'](aU=>({'reviewer':aU['reviewer'],'rating':aU['rating'],'tags':aU['tags'],'comment':aU['comment'],'orderRef':aU['orderRef'],'timestamp':aU['timestamp'],'verified':aU['verified']??![]})),'order_history':b['order_history']},b['categories']);c={'action':'account_events','events':aT};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}};}
|