@wowok/agent-mcp 3.4.3 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +3 -3
- package/dist/build-stamp.js +1 -0
- package/dist/chain-semantics/composition-truth.js +1 -1
- package/dist/chain-semantics/eval-order.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/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.js +1 -1
- package/dist/composition/emit-phases.js +1 -1
- package/dist/composition/generate.js +1 -1
- package/dist/composition/guard-fill.js +1 -1
- package/dist/composition/input-normalize.js +1 -1
- package/dist/composition/materialize.js +1 -1
- package/dist/composition/mode-gates.js +1 -1
- package/dist/composition/plan.js +1 -1
- package/dist/composition/product-card.js +1 -1
- package/dist/composition/shape-expand.js +1 -0
- package/dist/config/judgment.js +1 -1
- package/dist/config/template-params.js +1 -1
- package/dist/data/sync/cdc.js +1 -1
- package/dist/data/sync/graphql-source.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/sdk-batch.js +1 -1
- package/dist/harness/entry-ignite-selfheal.js +1 -0
- package/dist/harness/forward-leg-preflight.js +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/keeper/detectors.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arb-operation-face.js +1 -0
- package/dist/knowledge/arbitration-rail-verifier.js +1 -1
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +15 -0
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/alloc_audit.json.good +310 -0
- package/dist/knowledge/baselines/rules/allocation.json.good +568 -0
- package/dist/knowledge/baselines/rules/arb.json.good +174 -0
- package/dist/knowledge/baselines/rules/arbitration.json.good +393 -0
- package/dist/knowledge/baselines/rules/bridge.json.good +197 -0
- package/dist/knowledge/baselines/rules/contact.json.good +152 -0
- package/dist/knowledge/baselines/rules/demand.json.good +158 -0
- package/dist/knowledge/baselines/rules/graph.json.good +534 -0
- package/dist/knowledge/baselines/rules/guard.json +18 -5
- package/dist/knowledge/baselines/rules/guard.json.good +1192 -0
- package/dist/knowledge/baselines/rules/machine.json.good +734 -0
- package/dist/knowledge/baselines/rules/oracle.json +1 -1
- package/dist/knowledge/baselines/rules/oracle.json.good +120 -0
- package/dist/knowledge/baselines/rules/order.json.good +549 -0
- package/dist/knowledge/baselines/rules/payment.json.good +205 -0
- package/dist/knowledge/baselines/rules/permission.json.good +330 -0
- package/dist/knowledge/baselines/rules/personal.json.good +139 -0
- package/dist/knowledge/baselines/rules/plan.json +343 -1
- package/dist/knowledge/baselines/rules/plan.json.good +1187 -0
- package/dist/knowledge/baselines/rules/progress.json.good +364 -0
- package/dist/knowledge/baselines/rules/proof.json.good +158 -0
- package/dist/knowledge/baselines/rules/registrar.json.good +159 -0
- package/dist/knowledge/baselines/rules/repository.json.good +244 -0
- package/dist/knowledge/baselines/rules/resource.json.good +117 -0
- package/dist/knowledge/baselines/rules/reward.json +10 -10
- package/dist/knowledge/baselines/rules/reward.json.good +586 -0
- package/dist/knowledge/baselines/rules/service.json.good +595 -0
- package/dist/knowledge/baselines/rules/treasury.json.good +440 -0
- package/dist/knowledge/baselines/rules/util.json.good +101 -0
- package/dist/knowledge/builtin-templates.d.ts +13 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/chain-query-registry.js +1 -1
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +2 -0
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.js +1 -1
- package/dist/knowledge/guard-binding-verifier.js +1 -1
- package/dist/knowledge/guard-create-preflight.js +1 -0
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-host-context.js +1 -1
- package/dist/knowledge/guard-leg-eval.js +1 -0
- package/dist/knowledge/guard-node-gates.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-quality.js +1 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-semantic-walk.js +1 -0
- package/dist/knowledge/guard-templates.d.ts +1 -0
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/path-oracle/coverage.js +1 -1
- package/dist/knowledge/path-oracle/index.js +1 -1
- package/dist/knowledge/path-oracle/products/airbnb.js +1 -0
- package/dist/knowledge/path-oracle/products/algora.js +1 -0
- package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -0
- package/dist/knowledge/path-oracle/products/amazon.js +1 -0
- package/dist/knowledge/path-oracle/products/beatstars.js +1 -0
- package/dist/knowledge/path-oracle/products/booking-com.js +1 -0
- package/dist/knowledge/path-oracle/products/contra.js +1 -0
- package/dist/knowledge/path-oracle/products/costco.js +1 -0
- package/dist/knowledge/path-oracle/products/coursera.js +1 -0
- package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -0
- package/dist/knowledge/path-oracle/products/etsy.js +1 -0
- package/dist/knowledge/path-oracle/products/food-delivery.js +1 -1
- package/dist/knowledge/path-oracle/products/gamefound.js +1 -0
- package/dist/knowledge/path-oracle/products/gofundme.js +1 -0
- package/dist/knowledge/path-oracle/products/hackerone.js +1 -0
- package/dist/knowledge/path-oracle/products/kickstarter.js +1 -0
- package/dist/knowledge/path-oracle/products/klook.js +1 -0
- package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -0
- package/dist/knowledge/path-oracle/products/onlyfans.js +1 -0
- package/dist/knowledge/path-oracle/products/patreon.js +1 -0
- package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -0
- package/dist/knowledge/path-oracle/products/royalty-exchange.js +1 -0
- package/dist/knowledge/path-oracle/products/shansong.js +1 -0
- package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -0
- package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -0
- package/dist/knowledge/path-oracle/products/upwork.js +1 -0
- package/dist/knowledge/path-oracle/products/yuanfudao.js +1 -0
- package/dist/knowledge/path-oracle/products/ziroom.js +1 -0
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/product-detail-source.js +1 -1
- package/dist/knowledge/product-doc-b5.js +1 -1
- package/dist/knowledge/product-doc-facets.js +1 -0
- package/dist/knowledge/projection.js +1 -1
- package/dist/knowledge/publish-gate.js +1 -1
- package/dist/knowledge/publish-surface-contract.js +1 -1
- package/dist/knowledge/recipient-constraint.d.ts +20 -0
- package/dist/knowledge/recipient-constraint.js +1 -1
- package/dist/knowledge/rule-declaration-types.d.ts +13 -0
- package/dist/knowledge/rule-declaration-types.js +1 -0
- package/dist/knowledge/rule-declarations.js +1 -0
- package/dist/knowledge/scenario-modes.d.ts +6 -0
- package/dist/knowledge/scenario-topology.js +1 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-prose.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/review/service.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +9 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/arbitration.d.ts +8 -0
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +8 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +2 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/handler.d.ts +2 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/order.d.ts +10 -0
- package/dist/schema/call/permission-handler.js +1 -1
- package/dist/schema/call/permission.js +1 -1
- package/dist/schema/call/progress.d.ts +15 -0
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/receipt.d.ts +1 -0
- package/dist/schema/call/receipt.js +1 -1
- package/dist/schema/call/repository.d.ts +12 -0
- package/dist/schema/call/repository.js +1 -1
- 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 +5 -3
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/envelope-unify.js +1 -1
- package/dist/schema/goal/index.d.ts +23 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +2 -2
- package/dist/schema/local/index.d.ts +20 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/local/wip.d.ts +4 -0
- package/dist/schema/local/wip.js +1 -1
- package/dist/schema/messenger/index.d.ts +5 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +944 -1
- package/dist/schema/operations.js +1 -1
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +5 -5
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/workspace/index.d.ts +2 -2
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.schema.json +1 -257
- package/dist/schemas/ask_user.schema.json +1 -78
- package/dist/schemas/benchmark_migration_operation.schema.json +1 -626
- package/dist/schemas/bridge_operation.schema.json +1 -1069
- package/dist/schemas/config_operation.schema.json +1 -82
- package/dist/schemas/employee_operation.schema.json +1 -319
- package/dist/schemas/evaluation_operation.schema.json +1 -3932
- package/dist/schemas/goal_operation.schema.json +1 -1650
- package/dist/schemas/guard2file.schema.json +1 -137
- package/dist/schemas/index.json +1 -285
- package/dist/schemas/industry_pack_operation.schema.json +1 -582
- package/dist/schemas/intent_radar.schema.json +1 -155
- package/dist/schemas/keeper_operation.schema.json +1 -364
- package/dist/schemas/local_cache_operation.schema.json +1 -116
- package/dist/schemas/local_history_operation.schema.json +1 -105
- package/dist/schemas/local_info_operation.schema.json +1 -140
- package/dist/schemas/local_mark_operation.schema.json +1 -124
- package/dist/schemas/machineNode2file.schema.json +1 -137
- package/dist/schemas/messenger_operation.schema.json +1 -2068
- package/dist/schemas/monitor_events.schema.json +1 -87
- package/dist/schemas/monitor_subscription.schema.json +1 -327
- package/dist/schemas/onchain_events.schema.json +1 -207
- package/dist/schemas/onchain_operations.schema.json +1 -28699
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1376
- package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1355
- package/dist/schemas/onchain_operations_contact.schema.json +1 -988
- package/dist/schemas/onchain_operations_demand.schema.json +1 -1146
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -663
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -180
- package/dist/schemas/onchain_operations_guard.schema.json +1 -8518
- package/dist/schemas/onchain_operations_machine.schema.json +1 -1879
- package/dist/schemas/onchain_operations_order.schema.json +1 -1121
- package/dist/schemas/onchain_operations_payment.schema.json +1 -316
- package/dist/schemas/onchain_operations_permission.schema.json +1 -1036
- package/dist/schemas/onchain_operations_personal.schema.json +1 -1463
- package/dist/schemas/onchain_operations_progress.schema.json +1 -1041
- package/dist/schemas/onchain_operations_proof.schema.json +1 -750
- package/dist/schemas/onchain_operations_repository.schema.json +1 -2046
- package/dist/schemas/onchain_operations_reward.schema.json +1 -1286
- package/dist/schemas/onchain_operations_service.schema.json +1 -2602
- package/dist/schemas/onchain_operations_treasury.schema.json +1 -1527
- package/dist/schemas/onchain_table_data.schema.json +1 -1146
- package/dist/schemas/permission_operation.schema.json +1 -43
- package/dist/schemas/persona_operation.schema.json +1 -10424
- package/dist/schemas/query_toolkit.schema.json +1 -1867
- package/dist/schemas/schema_query.schema.json +1 -116
- package/dist/schemas/service_clone_operation.schema.json +1 -49
- package/dist/schemas/settle_sweep.schema.json +1 -0
- package/dist/schemas/strategy_review_operation.schema.json +1 -66
- package/dist/schemas/verify_guard_dry_run.schema.json +1 -0
- package/dist/schemas/watch_operation.schema.json +1 -145
- package/dist/schemas/wip_file.schema.json +1 -299
- package/dist/schemas/workflow_operation.schema.json +1 -722
- package/dist/schemas/workspace_operation.schema.json +1 -104
- package/dist/schemas/wowok_buildin_info.schema.json +1 -758
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/entry-edge-recipe.js +1 -1
- package/dist/tools/handlers/file-export.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/pending-settlement-recipe.js +1 -0
- package/dist/tools/handlers/plan-recovery.js +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/repository-row-id.js +1 -0
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/settle-sweep.js +1 -0
- package/dist/tools/handlers/stale-build-check.js +1 -1
- package/dist/tools/handlers/submission-assembly.js +1 -1
- package/dist/tools/handlers/verify-guard-dry-run.js +1 -0
- package/dist/tools/handlers/wip-upload.js +1 -1
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/publish-gate-state.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +11 -4
- package/dist/chain-semantics/composition-truth.d.ts +0 -102
- package/dist/chain-semantics/eval-order.d.ts +0 -17
- package/dist/chain-semantics/field-capability.d.ts +0 -11
- package/dist/chain-semantics/freeze-map.d.ts +0 -11
- package/dist/chain-semantics/fund-flow.d.ts +0 -10
- package/dist/chain-semantics/guard-verbs.d.ts +0 -22
- package/dist/chain-semantics/index.d.ts +0 -12
- package/dist/chain-semantics/object-graph.d.ts +0 -18
- package/dist/communication/evidence.d.ts +0 -6
- package/dist/communication/message-cursors.d.ts +0 -35
- package/dist/communication/proof-reuse.d.ts +0 -9
- package/dist/communication/wts-attestation.d.ts +0 -39
- package/dist/composition/audit.d.ts +0 -15
- package/dist/composition/blueprint-view.d.ts +0 -63
- package/dist/composition/compile.d.ts +0 -83
- package/dist/composition/emit-phases.d.ts +0 -234
- package/dist/composition/generate.d.ts +0 -40
- package/dist/composition/guard-fill.d.ts +0 -52
- package/dist/composition/inflight.d.ts +0 -86
- package/dist/composition/input-normalize.d.ts +0 -15
- package/dist/composition/materialize.d.ts +0 -78
- package/dist/composition/mode-gates.d.ts +0 -35
- package/dist/composition/param-disclosure.d.ts +0 -61
- package/dist/composition/plan-retry-ledger.d.ts +0 -37
- package/dist/composition/plan.d.ts +0 -121
- package/dist/composition/product-card.d.ts +0 -94
- package/dist/composition/reflux.d.ts +0 -28
- package/dist/composition/supply-chain-emit.d.ts +0 -46
- package/dist/config/config-audit.spec.d.ts +0 -1
- package/dist/config/config-audit.spec.js +0 -1
- package/dist/config/config-warnings.d.ts +0 -2
- package/dist/config/index.d.ts +0 -4
- package/dist/config/judgment.spec.d.ts +0 -1
- package/dist/config/judgment.spec.js +0 -1
- package/dist/config/match-policy-file.d.ts +0 -34
- package/dist/config/match-policy-file.spec.d.ts +0 -1
- package/dist/config/match-policy-file.spec.js +0 -1
- package/dist/config/rule-engine.spec.d.ts +0 -1
- package/dist/config/rule-engine.spec.js +0 -1
- package/dist/config/runtime.d.ts +0 -29
- package/dist/config/store-policy.d.ts +0 -14
- package/dist/config/store-policy.spec.d.ts +0 -1
- package/dist/config/store-policy.spec.js +0 -1
- package/dist/config/template-params.d.ts +0 -42
- package/dist/config/template-params.spec.d.ts +0 -1
- package/dist/config/template-params.spec.js +0 -1
- package/dist/customer/account-events.d.ts +0 -32
- package/dist/data/api/api.spec.d.ts +0 -1
- package/dist/data/api/api.spec.js +0 -1
- package/dist/data/api/cli.d.ts +0 -1
- package/dist/data/api/head.d.ts +0 -16
- package/dist/data/api/head.spec.d.ts +0 -1
- package/dist/data/api/head.spec.js +0 -1
- package/dist/data/api/index.d.ts +0 -2
- package/dist/data/api/match.d.ts +0 -69
- package/dist/data/api/match.spec.d.ts +0 -1
- package/dist/data/api/match.spec.js +0 -1
- package/dist/data/api/server.d.ts +0 -13
- package/dist/data/projection/cli.d.ts +0 -1
- package/dist/data/projection/edges.d.ts +0 -8
- package/dist/data/projection/edges.spec.d.ts +0 -1
- package/dist/data/projection/edges.spec.js +0 -1
- package/dist/data/projection/facets.d.ts +0 -18
- package/dist/data/projection/facets.spec.d.ts +0 -1
- package/dist/data/projection/facets.spec.js +0 -1
- package/dist/data/projection/facts.d.ts +0 -40
- package/dist/data/projection/index.d.ts +0 -6
- package/dist/data/projection/project.d.ts +0 -10
- package/dist/data/projection/projection.spec.d.ts +0 -1
- package/dist/data/projection/projection.spec.js +0 -1
- package/dist/data/projection/schema.d.ts +0 -1
- package/dist/data/projection/store.d.ts +0 -51
- package/dist/data/projection/types.d.ts +0 -169
- package/dist/data/sync/cdc.d.ts +0 -33
- package/dist/data/sync/cdc.spec.d.ts +0 -1
- package/dist/data/sync/cdc.spec.js +0 -1
- package/dist/data/sync/graphql-source.d.ts +0 -16
- package/dist/data/sync/index.d.ts +0 -5
- package/dist/data/sync/reconciler.d.ts +0 -14
- package/dist/data/sync/reconciler.spec.d.ts +0 -1
- package/dist/data/sync/reconciler.spec.js +0 -1
- package/dist/data/sync/schema.d.ts +0 -1
- package/dist/data/sync/store.d.ts +0 -24
- package/dist/data/sync/sync.spec.d.ts +0 -1
- package/dist/data/sync/sync.spec.js +0 -1
- package/dist/data/sync/synchronizer.d.ts +0 -10
- package/dist/data/sync/types.d.ts +0 -164
- package/dist/evaluation/acceptance.d.ts +0 -33
- package/dist/evaluation/architecture.spec.d.ts +0 -1
- package/dist/evaluation/architecture.spec.js +0 -1
- package/dist/evaluation/builtins/arbitration-score.d.ts +0 -42
- package/dist/evaluation/builtins/demand-match.d.ts +0 -16
- package/dist/evaluation/builtins/graph-service.spec.d.ts +0 -1
- package/dist/evaluation/builtins/graph-service.spec.js +0 -1
- package/dist/evaluation/builtins/index.d.ts +0 -4
- package/dist/evaluation/builtins/purity.spec.d.ts +0 -1
- package/dist/evaluation/builtins/purity.spec.js +0 -1
- package/dist/evaluation/composer.d.ts +0 -38
- package/dist/evaluation/facets/catalog.d.ts +0 -19
- package/dist/evaluation/gap.d.ts +0 -2
- package/dist/evaluation/guard-scan.d.ts +0 -10
- package/dist/evaluation/index.d.ts +0 -14
- package/dist/evaluation/injection.d.ts +0 -6
- package/dist/evaluation/location-match.d.ts +0 -42
- package/dist/evaluation/match-operation.d.ts +0 -23
- package/dist/evaluation/match-policy-resolver.d.ts +0 -9
- package/dist/evaluation/match-policy.spec.d.ts +0 -1
- package/dist/evaluation/match-policy.spec.js +0 -1
- package/dist/evaluation/path-reasoning.d.ts +0 -37
- package/dist/evaluation/standards.d.ts +0 -11
- package/dist/evaluation/standards.spec.d.ts +0 -1
- package/dist/evaluation/standards.spec.js +0 -1
- package/dist/evaluation/structured-lines.d.ts +0 -8
- package/dist/evaluation/user-injection.d.ts +0 -6
- package/dist/experience/experience-reuse.d.ts +0 -10
- package/dist/experience/index.d.ts +0 -7
- package/dist/experience/persistence-config.d.ts +0 -6
- package/dist/experience/persistence.d.ts +0 -21
- package/dist/experience/realtime-feedback.d.ts +0 -5
- package/dist/experience/user-profile.d.ts +0 -25
- package/dist/extensions/capability.d.ts +0 -91
- package/dist/extensions/industry-audit.spec.d.ts +0 -1
- package/dist/extensions/industry-audit.spec.js +0 -1
- package/dist/goal/GoalClassifier.d.ts +0 -17
- package/dist/goal/GoalEngine.d.ts +0 -175
- package/dist/goal/GoalStore.d.ts +0 -27
- package/dist/goal/next-steps.d.ts +0 -12
- package/dist/goal/plan-approval.d.ts +0 -5
- package/dist/goal/pursue.d.ts +0 -18
- package/dist/graph/base.d.ts +0 -8
- package/dist/graph/onchain/analyze.d.ts +0 -59
- package/dist/graph/onchain/analyze.spec.d.ts +0 -1
- package/dist/graph/onchain/analyze.spec.js +0 -1
- package/dist/graph/onchain/anti-cheat.d.ts +0 -69
- package/dist/graph/onchain/anti-cheat.spec.d.ts +0 -1
- package/dist/graph/onchain/anti-cheat.spec.js +0 -1
- package/dist/graph/onchain/dataplane.d.ts +0 -44
- package/dist/graph/onchain/edge-batch.spec.d.ts +0 -1
- package/dist/graph/onchain/edge-batch.spec.js +0 -1
- package/dist/graph/onchain/edge-schema.d.ts +0 -69
- package/dist/graph/onchain/entity-profile.spec.d.ts +0 -1
- package/dist/graph/onchain/entity-profile.spec.js +0 -1
- package/dist/graph/onchain/event-history.spec.d.ts +0 -1
- package/dist/graph/onchain/event-history.spec.js +0 -1
- package/dist/graph/onchain/expand.d.ts +0 -4
- package/dist/graph/onchain/exploration.d.ts +0 -28
- package/dist/graph/onchain/exploration.spec.d.ts +0 -1
- package/dist/graph/onchain/exploration.spec.js +0 -1
- package/dist/graph/onchain/exposure.d.ts +0 -18
- package/dist/graph/onchain/exposure.spec.d.ts +0 -1
- package/dist/graph/onchain/exposure.spec.js +0 -1
- package/dist/graph/onchain/extract-deep.spec.d.ts +0 -1
- package/dist/graph/onchain/extract-deep.spec.js +0 -1
- package/dist/graph/onchain/extract.d.ts +0 -29
- package/dist/graph/onchain/facet-projection.d.ts +0 -99
- package/dist/graph/onchain/facet-projection.spec.d.ts +0 -1
- package/dist/graph/onchain/facet-projection.spec.js +0 -1
- package/dist/graph/onchain/facts.spec.d.ts +0 -1
- package/dist/graph/onchain/facts.spec.js +0 -1
- package/dist/graph/onchain/field-manifest.d.ts +0 -29
- package/dist/graph/onchain/field-manifest.spec.d.ts +0 -1
- package/dist/graph/onchain/field-manifest.spec.js +0 -1
- package/dist/graph/onchain/fixtures.d.ts +0 -80
- package/dist/graph/onchain/fixtures.spec.d.ts +0 -1
- package/dist/graph/onchain/fixtures.spec.js +0 -1
- package/dist/graph/onchain/graph-policy.spec.d.ts +0 -1
- package/dist/graph/onchain/graph-policy.spec.js +0 -1
- package/dist/graph/onchain/index.d.ts +0 -29
- package/dist/graph/onchain/interest.d.ts +0 -10
- package/dist/graph/onchain/interest.spec.d.ts +0 -1
- package/dist/graph/onchain/interest.spec.js +0 -1
- package/dist/graph/onchain/label-lint.spec.d.ts +0 -1
- package/dist/graph/onchain/label-lint.spec.js +0 -1
- package/dist/graph/onchain/names.d.ts +0 -23
- package/dist/graph/onchain/names.spec.d.ts +0 -1
- package/dist/graph/onchain/names.spec.js +0 -1
- package/dist/graph/onchain/object-held-receipts.d.ts +0 -20
- package/dist/graph/onchain/object-held-receipts.spec.d.ts +0 -1
- package/dist/graph/onchain/object-held-receipts.spec.js +0 -1
- package/dist/graph/onchain/onchain.spec.d.ts +0 -1
- package/dist/graph/onchain/onchain.spec.js +0 -1
- package/dist/graph/onchain/policy.d.ts +0 -8
- package/dist/graph/onchain/project-relationship.d.ts +0 -3
- package/dist/graph/onchain/proposal-graph.d.ts +0 -11
- package/dist/graph/onchain/proposal-graph.spec.d.ts +0 -1
- package/dist/graph/onchain/proposal-graph.spec.js +0 -1
- package/dist/graph/onchain/sdk-batch.d.ts +0 -129
- package/dist/graph/onchain/sdk-dataplane.d.ts +0 -44
- package/dist/graph/onchain/strategy.spec.d.ts +0 -1
- package/dist/graph/onchain/strategy.spec.js +0 -1
- package/dist/graph/onchain/synthesis.d.ts +0 -20
- package/dist/graph/onchain/synthesis.spec.d.ts +0 -1
- package/dist/graph/onchain/synthesis.spec.js +0 -1
- package/dist/graph/onchain/table-ledger.spec.d.ts +0 -1
- package/dist/graph/onchain/table-ledger.spec.js +0 -1
- package/dist/graph/onchain/viewport.d.ts +0 -6
- package/dist/harness/auto-escalation.d.ts +0 -15
- package/dist/intent/enrich.d.ts +0 -1
- package/dist/intent/index.d.ts +0 -23
- package/dist/intent/matcher.d.ts +0 -2
- package/dist/intent/store.d.ts +0 -19
- package/dist/intent/types.d.ts +0 -32
- package/dist/keeper/KeeperScan.d.ts +0 -41
- package/dist/keeper/KeeperStore.d.ts +0 -43
- package/dist/keeper/detectors.d.ts +0 -42
- package/dist/keeper/keeper.spec.d.ts +0 -1
- package/dist/keeper/keeper.spec.js +0 -1
- package/dist/keeper/types.d.ts +0 -67
- package/dist/knowledge/account-marks.d.ts +0 -36
- package/dist/knowledge/allocation-ledger.d.ts +0 -75
- package/dist/knowledge/allocation-puzzle.d.ts +0 -138
- package/dist/knowledge/allocation-risk.d.ts +0 -82
- package/dist/knowledge/allocation-templates.d.ts +0 -38
- package/dist/knowledge/allocator-rail-verifier.d.ts +0 -59
- package/dist/knowledge/anti-cheat.d.ts +0 -2
- package/dist/knowledge/arb-fund-facts.d.ts +0 -51
- package/dist/knowledge/arb-risk.d.ts +0 -39
- package/dist/knowledge/arbitration-puzzle.d.ts +0 -84
- package/dist/knowledge/arbitration-rail-verifier.d.ts +0 -35
- package/dist/knowledge/arbitration-risk.d.ts +0 -114
- package/dist/knowledge/arbitration-templates.d.ts +0 -39
- package/dist/knowledge/arbitration-venue-order.d.ts +0 -25
- package/dist/knowledge/baselines/guard-lint-baseline.spec.d.ts +0 -1
- package/dist/knowledge/baselines/guard-lint-baseline.spec.js +0 -1
- package/dist/knowledge/baselines/risk-baselines.spec.d.ts +0 -1
- package/dist/knowledge/baselines/risk-baselines.spec.js +0 -1
- package/dist/knowledge/baselines/risk-cases.d.ts +0 -8
- package/dist/knowledge/baselines/semantic-facts.d.ts +0 -12
- package/dist/knowledge/bridge-risk.d.ts +0 -36
- package/dist/knowledge/catalog-facts.d.ts +0 -4
- package/dist/knowledge/chain-query-registry.d.ts +0 -14
- package/dist/knowledge/commission-landing.d.ts +0 -26
- package/dist/knowledge/component-schema.d.ts +0 -64
- package/dist/knowledge/contact-risk.d.ts +0 -32
- package/dist/knowledge/contact-templates.d.ts +0 -26
- package/dist/knowledge/contract-invariants.d.ts +0 -54
- package/dist/knowledge/demand-risk.d.ts +0 -30
- package/dist/knowledge/discount-threshold.d.ts +0 -26
- package/dist/knowledge/dynamic-pricing.d.ts +0 -29
- package/dist/knowledge/entity-recipient-guard.d.ts +0 -21
- package/dist/knowledge/event-semantics.d.ts +0 -23
- package/dist/knowledge/evidence-review.d.ts +0 -35
- package/dist/knowledge/fee-param-bindings.d.ts +0 -28
- package/dist/knowledge/flywheel-loop.d.ts +0 -41
- package/dist/knowledge/game-scenarios.d.ts +0 -21
- package/dist/knowledge/getting-started.d.ts +0 -37
- package/dist/knowledge/goal-completion.d.ts +0 -31
- package/dist/knowledge/guard-anchor-reach.d.ts +0 -19
- package/dist/knowledge/guard-binding-table.d.ts +0 -52
- package/dist/knowledge/guard-binding-verifier.d.ts +0 -37
- package/dist/knowledge/guard-bindings.d.ts +0 -21
- package/dist/knowledge/guard-blueprint.d.ts +0 -68
- package/dist/knowledge/guard-design-patterns.d.ts +0 -38
- package/dist/knowledge/guard-eval.d.ts +0 -15
- package/dist/knowledge/guard-field-cognition.d.ts +0 -48
- package/dist/knowledge/guard-host-context.d.ts +0 -24
- package/dist/knowledge/guard-ledger.d.ts +0 -19
- package/dist/knowledge/guard-leg-map.d.ts +0 -5
- package/dist/knowledge/guard-lint.d.ts +0 -79
- package/dist/knowledge/guard-node-gates.d.ts +0 -9
- package/dist/knowledge/guard-puzzle.d.ts +0 -188
- package/dist/knowledge/guard-render.d.ts +0 -71
- package/dist/knowledge/guard-risk.d.ts +0 -71
- package/dist/knowledge/guard-submission-brief.d.ts +0 -94
- package/dist/knowledge/guard-submission-prompt.d.ts +0 -63
- package/dist/knowledge/guard-translation.d.ts +0 -58
- package/dist/knowledge/index.d.ts +0 -299
- package/dist/knowledge/industry-evolution.d.ts +0 -82
- package/dist/knowledge/industry-generalizer.d.ts +0 -63
- package/dist/knowledge/industry-rule-node.d.ts +0 -7
- package/dist/knowledge/industry-strategy.d.ts +0 -91
- package/dist/knowledge/intent-metrics.d.ts +0 -43
- package/dist/knowledge/jsonrpc-enum.d.ts +0 -102
- package/dist/knowledge/knob-docs.d.ts +0 -5
- package/dist/knowledge/machine-fork-watch.d.ts +0 -9
- package/dist/knowledge/machine-ledger.d.ts +0 -42
- package/dist/knowledge/machine-puzzle.d.ts +0 -206
- package/dist/knowledge/machine-risk.d.ts +0 -72
- package/dist/knowledge/machine-templates.d.ts +0 -92
- package/dist/knowledge/machine-topology.d.ts +0 -116
- package/dist/knowledge/machine-translation.d.ts +0 -96
- package/dist/knowledge/market-metrics.d.ts +0 -34
- package/dist/knowledge/market-operations.d.ts +0 -46
- package/dist/knowledge/migration-preflight.d.ts +0 -27
- package/dist/knowledge/object-dependency.d.ts +0 -31
- package/dist/knowledge/operation-dictionary.d.ts +0 -18
- package/dist/knowledge/order-ledger.d.ts +0 -69
- package/dist/knowledge/order-puzzle.d.ts +0 -162
- package/dist/knowledge/order-risk.d.ts +0 -62
- package/dist/knowledge/order-templates.d.ts +0 -50
- package/dist/knowledge/param-schema.d.ts +0 -93
- package/dist/knowledge/param-tiers.d.ts +0 -27
- package/dist/knowledge/passport-ledger.d.ts +0 -60
- package/dist/knowledge/passport-templates.d.ts +0 -40
- package/dist/knowledge/path-oracle/coverage.d.ts +0 -16
- package/dist/knowledge/path-oracle/index.d.ts +0 -5
- package/dist/knowledge/path-oracle/products/food-delivery.d.ts +0 -2
- package/dist/knowledge/path-oracle/schema.d.ts +0 -188
- package/dist/knowledge/pattern-resolutions.d.ts +0 -110
- package/dist/knowledge/payment-risk.d.ts +0 -38
- package/dist/knowledge/payment-tracker.d.ts +0 -63
- package/dist/knowledge/permission-ledger.d.ts +0 -49
- package/dist/knowledge/permission-puzzle.d.ts +0 -122
- package/dist/knowledge/permission-risk.d.ts +0 -70
- package/dist/knowledge/permission-templates.d.ts +0 -38
- package/dist/knowledge/personal-risk.d.ts +0 -36
- package/dist/knowledge/product-detail-source.d.ts +0 -37
- package/dist/knowledge/product-doc-b5.d.ts +0 -16
- package/dist/knowledge/progress-ledger.d.ts +0 -63
- package/dist/knowledge/progress-puzzle.d.ts +0 -82
- package/dist/knowledge/progress-risk.d.ts +0 -75
- package/dist/knowledge/progress-templates.d.ts +0 -38
- package/dist/knowledge/projection.d.ts +0 -54
- package/dist/knowledge/projection.spec.d.ts +0 -1
- package/dist/knowledge/projection.spec.js +0 -1
- package/dist/knowledge/proof-risk.d.ts +0 -33
- package/dist/knowledge/protocol-facts.d.ts +0 -17
- package/dist/knowledge/publish-gate.d.ts +0 -20
- package/dist/knowledge/publish-readiness.d.ts +0 -25
- package/dist/knowledge/publish-surface-contract.d.ts +0 -16
- package/dist/knowledge/puzzle-projections.d.ts +0 -11
- package/dist/knowledge/rail-exit-satisfiability.d.ts +0 -25
- package/dist/knowledge/registrar-risk.d.ts +0 -34
- package/dist/knowledge/release-sentinel.d.ts +0 -12
- package/dist/knowledge/repository-risk.d.ts +0 -46
- package/dist/knowledge/repository-write-semantics.d.ts +0 -27
- package/dist/knowledge/reputation-rules.d.ts +0 -36
- package/dist/knowledge/requirement-families.d.ts +0 -13
- package/dist/knowledge/resource-risk.d.ts +0 -32
- package/dist/knowledge/reward-ledger.d.ts +0 -97
- package/dist/knowledge/reward-puzzle.d.ts +0 -98
- package/dist/knowledge/reward-risk.d.ts +0 -86
- package/dist/knowledge/reward-templates.d.ts +0 -25
- package/dist/knowledge/rule-node-analyzers.d.ts +0 -49
- package/dist/knowledge/rule-outcome.d.ts +0 -5
- package/dist/knowledge/scenario-topology.d.ts +0 -48
- package/dist/knowledge/semantic-ir.d.ts +0 -136
- package/dist/knowledge/service-allocation-semantics.d.ts +0 -36
- package/dist/knowledge/service-allocator-audit-node.d.ts +0 -3
- package/dist/knowledge/service-ledger.d.ts +0 -87
- package/dist/knowledge/service-puzzle.d.ts +0 -158
- package/dist/knowledge/service-risk-node.d.ts +0 -3
- package/dist/knowledge/service-risk.d.ts +0 -110
- package/dist/knowledge/service-templates.d.ts +0 -41
- package/dist/knowledge/settlement-semantics.d.ts +0 -1
- package/dist/knowledge/strategy-manuals.d.ts +0 -15
- package/dist/knowledge/supply-chain.d.ts +0 -35
- package/dist/knowledge/template-index.d.ts +0 -19
- package/dist/knowledge/template-loader.d.ts +0 -425
- package/dist/knowledge/template-nav.d.ts +0 -9
- package/dist/knowledge/template-prose.d.ts +0 -50
- package/dist/knowledge/template-registry.d.ts +0 -48
- package/dist/knowledge/template-scanner.d.ts +0 -158
- package/dist/knowledge/template-test-profiles.d.ts +0 -17
- package/dist/knowledge/template-validation.d.ts +0 -3
- package/dist/knowledge/tools-reference.d.ts +0 -17
- package/dist/knowledge/treasury-ledger.d.ts +0 -42
- package/dist/knowledge/treasury-puzzle.d.ts +0 -163
- package/dist/knowledge/treasury-risk.d.ts +0 -88
- package/dist/knowledge/treasury-templates.d.ts +0 -38
- package/dist/knowledge/universal-template.d.ts +0 -22
- package/dist/knowledge/util-risk.d.ts +0 -30
- package/dist/knowledge/workflow-guidance.d.ts +0 -194
- package/dist/knowledge/workspace-lists.d.ts +0 -61
- package/dist/monitor/SuggestionBridge.spec.d.ts +0 -1
- package/dist/monitor/SuggestionBridge.spec.js +0 -1
- package/dist/participation/arbitrator-interest.d.ts +0 -22
- package/dist/participation/demander-interest.d.ts +0 -23
- package/dist/participation/employee-kpi.d.ts +0 -37
- package/dist/participation/employee-kpi.spec.d.ts +0 -1
- package/dist/participation/employee-kpi.spec.js +0 -1
- package/dist/participation/employee-store.d.ts +0 -16
- package/dist/participation/game-context.d.ts +0 -25
- package/dist/participation/index.d.ts +0 -2
- package/dist/participation/node-action-advisor.d.ts +0 -68
- package/dist/participation/time-window.d.ts +0 -48
- package/dist/persona/facet-profile.d.ts +0 -33
- package/dist/persona/persona-audit.spec.d.ts +0 -1
- package/dist/persona/persona-audit.spec.js +0 -1
- package/dist/playbooks/service-build/business-puzzle.d.ts +0 -48
- package/dist/playbooks/service-build/context-assembly.d.ts +0 -32
- package/dist/playbooks/service-build/facet-money.d.ts +0 -33
- package/dist/playbooks/service-build/facet-money.spec.d.ts +0 -1
- package/dist/playbooks/service-build/facet-money.spec.js +0 -1
- package/dist/playbooks/service-build/game-theory.d.ts +0 -47
- package/dist/playbooks/service-build/index.d.ts +0 -15
- package/dist/playbooks/service-build/intent-analyzer.d.ts +0 -72
- package/dist/playbooks/service-build/machine-nodes.d.ts +0 -27
- package/dist/playbooks/service-build/machine-panorama.d.ts +0 -71
- package/dist/playbooks/service-build/merchant-guide.d.ts +0 -382
- package/dist/playbooks/service-build/migration-planner.d.ts +0 -61
- package/dist/playbooks/service-build/mode-actions.d.ts +0 -260
- package/dist/playbooks/service-build/object-panorama.d.ts +0 -317
- package/dist/playbooks/service-build/object-type.d.ts +0 -1
- package/dist/playbooks/service-build/participation-radar.d.ts +0 -20
- package/dist/playbooks/service-build/pipeline-actions.d.ts +0 -108
- package/dist/playbooks/service-build/process.d.ts +0 -6
- package/dist/playbooks/service-build/relationship-profile.d.ts +0 -3
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.d.ts +0 -1
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +0 -1
- package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.d.ts +0 -1
- package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.js +0 -1
- package/dist/playbooks/service-build/reverse-mapping.d.ts +0 -66
- package/dist/playbooks/service-build/risk-aggregator.d.ts +0 -59
- package/dist/playbooks/service-build/service-panorama.d.ts +0 -229
- package/dist/playbooks/service-build/service-quote.d.ts +0 -2
- package/dist/playbooks/service-build/service-quote.spec.d.ts +0 -1
- package/dist/playbooks/service-build/service-quote.spec.js +0 -1
- package/dist/playbooks/service-build/topology-evaluation.spec.d.ts +0 -1
- package/dist/playbooks/service-build/topology-evaluation.spec.js +0 -1
- package/dist/playbooks/service-build/topology-query.d.ts +0 -25
- package/dist/playbooks/service-build/workflow-design-assessment.d.ts +0 -33
- package/dist/relationship/derivation.d.ts +0 -95
- package/dist/relationship/derivation.spec.d.ts +0 -1
- package/dist/relationship/derivation.spec.js +0 -1
- package/dist/relationship/incentive.d.ts +0 -38
- package/dist/relationship/index.d.ts +0 -4
- package/dist/relationship/registry.d.ts +0 -13
- package/dist/relationship/types.d.ts +0 -45
- package/dist/review/arb.d.ts +0 -4
- package/dist/review/demand.d.ts +0 -3
- package/dist/review/index.d.ts +0 -3
- package/dist/review/machine.d.ts +0 -3
- package/dist/review/order.d.ts +0 -8
- package/dist/review/progress.d.ts +0 -3
- package/dist/review/repository.d.ts +0 -3
- package/dist/review/service.d.ts +0 -5
- package/dist/review/types.d.ts +0 -163
- package/dist/role/derivation.d.ts +0 -35
- package/dist/role/index.d.ts +0 -6
- package/dist/role/intent.d.ts +0 -23
- package/dist/role/model.d.ts +0 -9
- package/dist/role/profiles.d.ts +0 -26
- package/dist/role/resolution.d.ts +0 -27
- package/dist/runtime/instance-registry.d.ts +0 -14
- package/dist/safety/index.d.ts +0 -3
- package/dist/schema/call/permission-handler.d.ts +0 -5
- package/dist/schema/call/semantic-customer-advice.spec.d.ts +0 -1
- package/dist/schema/call/semantic-customer-advice.spec.js +0 -1
- package/dist/schema/common/tokentype-short-probe.spec.d.ts +0 -1
- package/dist/schema/common/tokentype-short-probe.spec.js +0 -1
- package/dist/schema/envelope-unify.d.ts +0 -5
- package/dist/schema/goal/planning.d.ts +0 -742
- package/dist/schema/industry-pack/modes.d.ts +0 -447
- package/dist/schema/query/bi.d.ts +0 -3369
- package/dist/schema/utils/guard-query-utils.d.ts +0 -18
- package/dist/schema/utils/permission-index-utils.d.ts +0 -2
- package/dist/schema/utils/skills-recommendation.d.ts +0 -2
- package/dist/schema-query-impl/index.d.ts +0 -83
- package/dist/schemas/account_operation.output.json +0 -3869
- package/dist/schemas/ask_user.output.json +0 -54
- package/dist/schemas/benchmark_migration_operation.output.json +0 -1669
- package/dist/schemas/bridge_operation.output.json +0 -1548
- package/dist/schemas/config_operation.output.json +0 -896
- package/dist/schemas/employee_operation.output.json +0 -307
- package/dist/schemas/evaluation_operation.output.json +0 -4716
- package/dist/schemas/guard2file.output.json +0 -83
- package/dist/schemas/industry_pack_operation.output.json +0 -2985
- package/dist/schemas/intent_radar.output.json +0 -326
- package/dist/schemas/keeper_operation.output.json +0 -1441
- package/dist/schemas/local_cache_operation.output.json +0 -1718
- package/dist/schemas/local_history_operation.output.json +0 -1644
- package/dist/schemas/local_info_operation.output.json +0 -1530
- package/dist/schemas/local_mark_operation.output.json +0 -1622
- package/dist/schemas/machineNode2file.output.json +0 -88
- package/dist/schemas/messenger_operation.output.json +0 -4692
- package/dist/schemas/monitor_events.output.json +0 -1602
- package/dist/schemas/monitor_subscription.output.json +0 -1629
- package/dist/schemas/onchain_events.output.json +0 -4053
- package/dist/schemas/onchain_operations.output.json +0 -7788
- package/dist/schemas/onchain_table_data.output.json +0 -11868
- package/dist/schemas/permission_operation.output.json +0 -205
- package/dist/schemas/persona_operation.output.json +0 -64612
- package/dist/schemas/query_toolkit.output.json +0 -28302
- package/dist/schemas/schema_query.output.json +0 -81
- package/dist/schemas/service_clone_operation.output.json +0 -247
- package/dist/schemas/strategy_review_operation.output.json +0 -532
- package/dist/schemas/watch_operation.output.json +0 -930
- package/dist/schemas/wip_file.output.json +0 -360
- package/dist/schemas/workflow_operation.output.json +0 -422
- package/dist/schemas/workspace_operation.output.json +0 -477
- package/dist/schemas/wowok_buildin_info.output.json +0 -2477
- package/dist/strategy/collectors.d.ts +0 -66
- package/dist/strategy/collectors.spec.d.ts +0 -1
- package/dist/strategy/collectors.spec.js +0 -1
- package/dist/strategy/index.d.ts +0 -5
- package/dist/strategy/metrics.d.ts +0 -20
- package/dist/strategy/review.d.ts +0 -48
- package/dist/strategy/scorecard.d.ts +0 -32
- package/dist/strategy/store.d.ts +0 -26
- package/dist/task/ProcessStore.d.ts +0 -98
- package/dist/task/playbook.d.ts +0 -11
- package/dist/task/substep-trace.d.ts +0 -91
- package/dist/tools/build-fingerprint.d.ts +0 -28
- package/dist/tools/error-catalog.d.ts +0 -17
- package/dist/tools/handlers/ask-user.d.ts +0 -3
- package/dist/tools/handlers/benchmark-migration.d.ts +0 -121
- package/dist/tools/handlers/bridge.d.ts +0 -8
- package/dist/tools/handlers/config.d.ts +0 -2
- package/dist/tools/handlers/dispatch-expectations.d.ts +0 -2
- package/dist/tools/handlers/dispatch-expectations.spec.d.ts +0 -1
- package/dist/tools/handlers/dispatch-expectations.spec.js +0 -1
- package/dist/tools/handlers/employee.d.ts +0 -8
- package/dist/tools/handlers/employee.spec.d.ts +0 -1
- package/dist/tools/handlers/employee.spec.js +0 -1
- package/dist/tools/handlers/entry-edge-recipe.d.ts +0 -101
- package/dist/tools/handlers/escrow-deficit.d.ts +0 -10
- package/dist/tools/handlers/evaluation.d.ts +0 -2
- package/dist/tools/handlers/evaluation.spec.d.ts +0 -1
- package/dist/tools/handlers/evaluation.spec.js +0 -1
- package/dist/tools/handlers/file-export.d.ts +0 -3
- package/dist/tools/handlers/fund-rail-recipe.d.ts +0 -10
- package/dist/tools/handlers/goal.d.ts +0 -4
- package/dist/tools/handlers/industry-pack.d.ts +0 -3
- package/dist/tools/handlers/intent-radar.d.ts +0 -2
- package/dist/tools/handlers/keeper.d.ts +0 -12
- package/dist/tools/handlers/local.d.ts +0 -6
- package/dist/tools/handlers/mark-namespace.d.ts +0 -30
- package/dist/tools/handlers/messenger.d.ts +0 -24
- package/dist/tools/handlers/monitor.d.ts +0 -26
- package/dist/tools/handlers/name-resolution.d.ts +0 -4
- package/dist/tools/handlers/name-resolution.spec.d.ts +0 -1
- package/dist/tools/handlers/name-resolution.spec.js +0 -1
- package/dist/tools/handlers/network.d.ts +0 -1
- package/dist/tools/handlers/onchain-name-registration.d.ts +0 -49
- package/dist/tools/handlers/onchain-name-registration.spec.d.ts +0 -1
- package/dist/tools/handlers/onchain-name-registration.spec.js +0 -1
- package/dist/tools/handlers/onchain.d.ts +0 -132
- package/dist/tools/handlers/permission.d.ts +0 -2
- package/dist/tools/handlers/persona.d.ts +0 -4
- package/dist/tools/handlers/publish-binding-echo.d.ts +0 -22
- package/dist/tools/handlers/review-chain.d.ts +0 -19
- package/dist/tools/handlers/schema-query.d.ts +0 -2
- package/dist/tools/handlers/service-clone.d.ts +0 -20
- package/dist/tools/handlers/stale-build-check.d.ts +0 -9
- package/dist/tools/handlers/strategy-review.d.ts +0 -2
- package/dist/tools/handlers/submission-assembly.d.ts +0 -55
- package/dist/tools/handlers/watch.d.ts +0 -2
- package/dist/tools/handlers/winner-derivation.d.ts +0 -20
- package/dist/tools/handlers/wip-upload.d.ts +0 -22
- package/dist/tools/handlers/wip.d.ts +0 -2
- package/dist/tools/handlers/workflow.d.ts +0 -2
- package/dist/tools/handlers/workspace.d.ts +0 -4
- package/dist/tools/move-fn-index.gen.d.ts +0 -3
- package/dist/tools/publish-gate-state.d.ts +0 -5
- package/dist/tools/registry/agent.d.ts +0 -2
- package/dist/tools/registry/bridge.d.ts +0 -2
- package/dist/tools/registry/business.d.ts +0 -2
- package/dist/tools/registry/config.d.ts +0 -2
- package/dist/tools/registry/evaluation.d.ts +0 -2
- package/dist/tools/registry/files.d.ts +0 -2
- package/dist/tools/registry/identity.d.ts +0 -2
- package/dist/tools/registry/interaction.d.ts +0 -2
- package/dist/tools/registry/local.d.ts +0 -2
- package/dist/tools/registry/messenger.d.ts +0 -2
- package/dist/tools/registry/monitor.d.ts +0 -2
- package/dist/tools/registry/onchain.d.ts +0 -2
- package/dist/tools/registry/query.d.ts +0 -2
- package/dist/tools/retry.d.ts +0 -8
- package/dist/tools/rules-hook.d.ts +0 -5
- package/dist/tools/runtime-health.d.ts +0 -10
- package/dist/tools/sanitize-description-roundtrip.spec.d.ts +0 -1
- package/dist/tools/sanitize-description-roundtrip.spec.js +0 -1
- package/dist/tools/sanitize-output.d.ts +0 -4
- package/dist/tools/sanitize-output.spec.d.ts +0 -1
- package/dist/tools/sanitize-output.spec.js +0 -1
- package/dist/tools/shared.d.ts +0 -20
- package/dist/tools/transport-integrity.d.ts +0 -7
- package/dist/tools/upgrade-check.d.ts +0 -75
- package/dist/tools/wip-deploy-assist.d.ts +0 -34
- package/dist/tools/wip-verify-ledger.d.ts +0 -16
- package/dist/tools/wrap.d.ts +0 -45
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type CommercialRole } from "../../role/types.js";
|
|
2
|
-
import { type PersonaDrive } from "../../evaluation/game-strategy.js";
|
|
3
|
-
import type { Finding, InterestPayload, TopologyGraph, ViewerRole } from "./types.js";
|
|
4
|
-
export declare function toCommercialRole(role: string): CommercialRole;
|
|
5
|
-
export declare function viewerRoleOf(role: CommercialRole): ViewerRole;
|
|
6
|
-
export interface RoleInterestResult {
|
|
7
|
-
finding: Finding;
|
|
8
|
-
view: InterestPayload;
|
|
9
|
-
}
|
|
10
|
-
export declare function buildRoleInterest(graph: TopologyGraph, observerInput: string, role: CommercialRole, drive?: PersonaDrive): RoleInterestResult;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{buildRoleInterest,toCommercialRole,viewerRoleOf}from'./interest.js';function mkNode(a,b,c){return{'id':a['toLowerCase'](),'kind':b?'object':'eoa',...b?{'objectType':b}:{},...c?{'raw':{'object':a,'data':c}}:{},'state':'fetched','origins':[{'depth':0x0}],'depth':0x0};}function mkEdge(a,b,c,d,e,f='complete'){return{'id':a+'|'+c['toLowerCase']()+'→'+d['toLowerCase'](),'schema':a,'family':b,'from':c['toLowerCase'](),'to':d['toLowerCase'](),'retention':f,'observedAt':0x0,...e?{'payload':e}:{}};}function mkGraph(a,b){const c=new Map(),d=new Map(),f=(g,h,i)=>{const j=g['get'](h)??[];j['push'](i),g['set'](h,j);};for(const g of b){f(c,g['from'],g),f(d,g['to'],g);}return{'network':'testnet','seed':'spec','builtAt':0x0,'nodes':new Map(a['map'](h=>[h['id'],h])),'edges':b,'out':c,'inc':d,'gaps':[],'truncations':[],'rpcReport':{'batches':0x0,'byChannel':{'objects':0x0,'keyedFields':0x0,'tables':0x0,'events':0x0},'dedupHits':0x0},'budgetExhausted':{}};}const CUSTOMER='00customer',MERCHANT='00merchant',ARB_EOA='00arb',DEMANDER='00demander',SUPPLIER='00supplier',SERVICE='0xservice',MACHINE='0xmachine',PROGRESS='0xprogress',ORDER='0xorder1',ALLOC='0xalloc',PERM_M='0xpermm',PERM_A='0xperma',PERM_D='0xpermd',ARB_SVC='0xarbsvc',ARB_CASE='0xarbcase',DEMAND='0xdemand';function machineEdges(a=MACHINE){const b=a['toLowerCase']();return[mkEdge('machine.node','W',b,b+'::node::shipping'),mkEdge('machine.node','W',b,b+'::node::done'),mkEdge('machine.node','W',b,b+'::node::refunded'),mkEdge('machine.node','W',b,b+'::node::pack'),mkEdge('wf.transition','W',b+'::node::shipping',b+'::node::done',{'node':'done','prevNode':'shipping','forward':'confirm','namedOperator':''}),mkEdge('wf.transition','W',b+'::node::shipping',b+'::node::refunded',{'node':'refunded','prevNode':'shipping','forward':'cancel','namedOperator':''}),mkEdge('wf.transition','W',b+'::node::shipping',b+'::node::pack',{'node':'pack','prevNode':'shipping','forward':'op','permissionIndex':0x7,'threshold':0x2,'weight':0x1})];}function orderGraphNodes(){return[mkNode(CUSTOMER),mkNode(MERCHANT),mkNode(SERVICE,'Service',{'compensation_fund':'500','bPublished':!![]}),mkNode(MACHINE,'Machine'),mkNode(PROGRESS,'Progress',{'current':'shipping','machine':MACHINE}),mkNode(ORDER,'Order',{'amount':'1000','builder':CUSTOMER,'service':SERVICE,'machine':MACHINE,'progress':PROGRESS}),mkNode(ALLOC,'Allocation',{'allocators':[{'guard':'0x0','sharing':[{'who':{'Entity':MERCHANT},'sharing':'10000','mode':0x1},{'who':'Signer','sharing':'0','mode':0x0},{'who':{'GuardIdentifier':0x1},'sharing':'0','mode':0x0}]}]}),mkNode(PERM_M,'Permission')];}function orderGraphEdges(){return[...machineEdges(),mkEdge('eoa.order','R',CUSTOMER,ORDER,undefined,'bounded_window'),mkEdge('order.builder','F',ORDER,CUSTOMER),mkEdge('order.service','F',ORDER,SERVICE),mkEdge('order.machine','F',ORDER,MACHINE),mkEdge('order.progress','F',ORDER,PROGRESS),mkEdge('order.allocation','F',ORDER,ALLOC),mkEdge('eoa.permission','R',MERCHANT,PERM_M,{'roleBits':0x1}),mkEdge('permission.core_binding','F',PERM_M,SERVICE),mkEdge('service.order','R',SERVICE,'0xorder2',undefined,'bounded_window'),mkEdge('order.builder','F','0xorder2','00someoneelse')];}describe('role\x20coordinate\x20mapping\x20(single\x20system)',()=>{it('maps\x20the\x20viewport\x20alias\x20and\x20persona\x20roles\x20onto\x20CommercialRole',()=>{expect(toCommercialRole('buyer'))['toBe']('customer'),expect(toCommercialRole('customer'))['toBe']('customer'),expect(toCommercialRole('demander'))['toBe']('demander'),expect(toCommercialRole('merchant'))['toBe']('merchant'),expect(toCommercialRole('arbitrator'))['toBe']('arbitrator'),expect(toCommercialRole('who-knows'))['toBe']('neutral');}),it('maps\x20every\x20CommercialRole\x20onto\x20a\x20viewer\x20role',()=>{expect(viewerRoleOf('customer'))['toBe']('buyer'),expect(viewerRoleOf('demander'))['toBe']('demander'),expect(viewerRoleOf('neutral'))['toBe']('neutral');});}),describe('buildRoleInterest\x20—\x20customer',()=>{const a=mkGraph(orderGraphNodes(),orderGraphEdges());it('projects\x20buyer\x20stakes\x20with\x20amount\x20and\x20completion\x20state',()=>{const {view:b}=buildRoleInterest(a,CUSTOMER,'customer'),c=b['stakes']['find'](d=>d['object']===ORDER);expect(c)['toBeDefined'](),expect(c['positions'])['toContain']('buyer'),expect(c['amount'])['toBe']('1000'),expect(c['state'])['toBe']('in_progress'),expect(b['stakes']['some'](d=>d['object']==='0xorder2'))['toBe'](![]);}),it('ranks\x20operable\x20forwards\x20via\x20node-game\x20(order_holder\x20path)',()=>{const {view:b}=buildRoleInterest(a,CUSTOMER,'customer');expect(b['actions'])['toHaveLength'](0x1);const c=b['actions'][0x0];expect(c['order'])['toBe'](ORDER),expect(c['current_node'])['toBe']('shipping');const d=c['advice']['actions']['map'](e=>e['forward']);expect(d)['toContain']('confirm'),expect(d)['toContain']('cancel'),expect(c['advice']['actions'][0x0]['forward'])['toBe']('cancel'),expect(c['advice']['actions'][0x0]['execution_path'])['toBe']('order_holder'),expect(c['blocked_forwards']['map'](e=>e['forward']))['toContain']('op'),expect(c['recommended_calls']['length'])['toBeGreaterThan'](0x0),expect(c['recommended_calls'][0x0]['call']['tool'])['toBe']('onchain_operations');}),it('derives\x20merchant\x20counterparty\x20tension\x20from\x20the\x20role-interests\x20table\x20(conflict)',()=>{const {view:b}=buildRoleInterest(a,CUSTOMER,'customer'),c=b['counterparties']['find'](d=>d['counter_role']==='merchant');expect(c)['toBeDefined'](),expect(c['alignment'])['toBe']('conflict'),expect(c['their_prefer'])['toContain']('fund_released_to_merchant');}),it('emits\x20one\x20IR\x20finding\x20carrying\x20the\x20structured\x20payload',()=>{const {finding:b,view:c}=buildRoleInterest(a,CUSTOMER,'customer');expect(b['id'])['toBe']('IR:customer:'+CUSTOMER),expect(b['kind'])['toBe']('game'),expect(b['interest'])['toBe'](c),expect(b['path'][0x0])['toBe'](CUSTOMER),expect(b['confidence'])['toBe']('windowed');}),it('re-anchors\x20scoring\x20with\x20a\x20conservative\x20persona\x20drive',()=>{const b=buildRoleInterest(a,CUSTOMER,'customer')['view'],c=buildRoleInterest(a,CUSTOMER,'customer',{'risk_appetite':'conservative'})['view'],d=b['actions'][0x0]['advice']['actions']['find'](f=>f['forward']==='confirm'),e=c['actions'][0x0]['advice']['actions']['find'](f=>f['forward']==='confirm');expect(e['risk_score'])['toBeGreaterThan'](d['risk_score']),expect(e['favorability'])['toBeLessThan'](d['favorability']);});}),describe('buildRoleInterest\x20—\x20merchant',()=>{const a=[...orderGraphNodes(),mkNode('0xorder2','Order',{'amount':'2000','builder':'00someoneelse','service':SERVICE,'machine':MACHINE,'progress':PROGRESS}),mkNode('00someoneelse')],b=[...orderGraphEdges()['filter'](d=>!(d['schema']==='order.builder'&&d['from']==='0xorder2')),mkEdge('order.builder','F','0xorder2','00someoneelse'),mkEdge('service.order','R',SERVICE,ORDER,undefined,'bounded_window'),mkEdge('permission.entity','W',PERM_M,MERCHANT,{'permIndices':[0x7]})],c=mkGraph(a,b);it('projects\x20controller\x20+\x20seller\x20stakes',()=>{const {view:d}=buildRoleInterest(c,MERCHANT,'merchant'),e=d['stakes']['find'](g=>g['object']===SERVICE);expect(e?.['positions'])['toContain']('controller');const f=d['stakes']['find'](g=>g['object']===ORDER);expect(f?.['positions'])['toContain']('seller');}),it('executes\x20permission-gated\x20forwards\x20only\x20(OrderHolder\x20forwards\x20stay\x20blocked)',()=>{const {view:d}=buildRoleInterest(c,MERCHANT,'merchant'),e=d['actions']['find'](h=>h['order']===ORDER);expect(e)['toBeDefined']();const f=e['advice']['actions']['find'](g=>g['forward']==='op');expect(f)['toBeDefined'](),expect(f['execution_path'])['toBe']('permission'),expect(e['recommended_calls']['find'](g=>g['forward']==='op')['call']['tool'])['toBe']('workflow_operation'),expect(e['blocked_forwards']['map'](g=>g['forward'])['sort']())['toEqual'](['cancel','confirm']),expect(e['advice']['actions'])['toHaveLength'](0x1),expect(e['advice']['actions'][0x0]['forward'])['toBe']('op'),expect(e['advice']['actions'][0x0]['is_optimal'])['toBe'](!![]);}),it('projects\x20the\x20allocation\x20waterfall\x20(direct_to_me\x20slots)',()=>{const {view:d}=buildRoleInterest(c,MERCHANT,'merchant'),e=d['actions']['find'](h=>h['order']===ORDER),f=e['advice']['cooperation'];expect(f)['toBeDefined'](),expect(f['needed_from_others'])['toBeGreaterThan'](0x0);}),it('surfaces\x20role-relevant\x20R/AC\x20risk\x20reminders\x20(R2\x20exposure\x20fires\x20for\x20the\x20merchant\x20view)',()=>{const {view:d,finding:e}=buildRoleInterest(c,MERCHANT,'merchant');expect(d['risk_finding_ids']['some'](f=>f['startsWith']('R2:')))['toBe'](!![]),expect(e['severity'])['toBe']('high');});}),describe('buildRoleInterest\x20—\x20demander',()=>{const a=[mkNode(DEMANDER),mkNode(SUPPLIER),mkNode(PERM_D,'Permission'),mkNode(DEMAND,'Demand',{'description':'car\x20wash\x20in\x20london'})],b=[mkEdge('eoa.permission','R',DEMANDER,PERM_D,{'roleBits':0x1}),mkEdge('demand.permission','F',DEMAND,PERM_D),mkEdge('demand.presenter','R',DEMAND,SUPPLIER),mkEdge('demand.permission','F','0xdemand2','0xpermother')],c=mkGraph(a,b);it('anchors\x20own\x20demands\x20through\x20the\x20permission\x20(demand_owner\x20stake,\x20presenter\x20count)',()=>{const {view:d}=buildRoleInterest(c,DEMANDER,'demander'),e=d['stakes']['find'](f=>f['object']===DEMAND);expect(e)['toBeDefined'](),expect(e['positions'])['toContain']('demand_owner'),expect(e['state'])['toBe']('1\x20presenter(s)'),expect(d['stakes']['some'](f=>f['object']==='0xdemand2'))['toBe'](![]);});}),describe('buildRoleInterest\x20—\x20arbitrator',()=>{const a=[mkNode(ARB_EOA),mkNode(PERM_A,'Permission'),mkNode(ARB_SVC,'Arbitration',{'voting_guard':[]}),mkNode(ARB_CASE,'Arb',{'status':'Voting','order':ORDER}),...orderGraphNodes()],b=[mkEdge('eoa.permission','R',ARB_EOA,PERM_A,{'roleBits':0x1}),mkEdge('permission.core_binding','F',PERM_A,ARB_SVC),mkEdge('arb.arbitration_service','F',ARB_CASE,ARB_SVC),mkEdge('arb.voter','S',ARB_CASE,ARB_EOA,{'weight':0x1}),...orderGraphEdges()],c=mkGraph(a,b);it('collects\x20voter\x20stakes\x20and\x20arbitration-game\x20advice\x20(Voting\x20→\x20vote\x20is\x20optimal)',()=>{const {view:d}=buildRoleInterest(c,ARB_EOA,'arbitrator'),e=d['stakes']['find'](f=>f['object']===ARB_CASE);expect(e?.['positions'])['toContain']('voter'),expect(e?.['positions'])['toContain']('arbitration_owner'),expect(e?.['state'])['toBe']('Voting'),expect(d['arb_actions'])['toHaveLength'](0x1),expect(d['arb_actions'][0x0]['perspective'])['toBe']('arbitrator'),expect(d['arb_actions'][0x0]['actions'][0x0]['action'])['toBe']('vote'),expect(d['arb_actions'][0x0]['actions'][0x0]['is_optimal'])['toBe'](!![]);});}),describe('buildRoleInterest\x20—\x20prospect\x20(no\x20on-chain\x20stake)',()=>{it('returns\x20an\x20honest\x20empty\x20view\x20instead\x20of\x20guessing',()=>{const a=mkGraph(orderGraphNodes(),orderGraphEdges()),{view:b,finding:c}=buildRoleInterest(a,'00stranger','prospect');expect(b['stakes'])['toHaveLength'](0x0),expect(b['actions'])['toHaveLength'](0x0),expect(c['interest'])['toBe'](b),expect(c['kind'])['toBe']('game');});});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{EDGE_SCHEMAS}from'./edge-schema.js';const BANNED_LABEL_WORDS=/\b(bound|attached|linked?|track(ed|ing)?)\b/i,MIN_LABEL_LENGTH=0x1e;describe('edge\x20labels\x20—\x20semantic\x20lint\x20(TR-11.2)',()=>{it('every\x20schema\x20has\x20a\x20non-empty\x20label',()=>{for(const a of EDGE_SCHEMAS){expect(a['label']['trim']()['length'],a['id']+'\x20label\x20empty')['toBeGreaterThan'](0x0);}}),it('labels\x20avoid\x20generic\x20wiring\x20verbs\x20(bound/attached/link/track)',()=>{for(const a of EDGE_SCHEMAS){const b=BANNED_LABEL_WORDS['exec'](a['label']);expect(b,a['id']+':\x20label\x20uses\x20banned\x20word\x20\x22'+b?.[0x0]+'\x22:\x20\x22'+a['label']+'\x22')['toBeNull']();}}),it('labels\x20are\x20unique\x20across\x20the\x20registry\x20(dupes\x20signal\x20copy-paste\x20genericism)',()=>{const a=new Map();for(const b of EDGE_SCHEMAS){const c=a['get'](b['label']);expect(c,'label\x20\x22'+b['label']+'\x22\x20shared\x20by\x20'+c+'\x20and\x20'+b['id'])['toBeUndefined'](),a['set'](b['label'],b['id']);}}),it('labels\x20meet\x20the\x20semantic\x20richness\x20floor',()=>{for(const a of EDGE_SCHEMAS){expect(a['label']['length'],a['id']+':\x20label\x20too\x20terse:\x20\x22'+a['label']+'\x22')['toBeGreaterThanOrEqual'](MIN_LABEL_LENGTH);}});});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { TopologyGraph } from "./types.js";
|
|
2
|
-
export interface ResolvedName {
|
|
3
|
-
label: string;
|
|
4
|
-
full?: string;
|
|
5
|
-
}
|
|
6
|
-
export declare function shortAddress(addr: string): string;
|
|
7
|
-
export declare function isWfNodeId(id: string): boolean;
|
|
8
|
-
export declare function wfMachineOf(id: string): string;
|
|
9
|
-
export declare function wfNodeName(id: string): string;
|
|
10
|
-
export declare function humanizeTypeTag(name: string): string | null;
|
|
11
|
-
export declare function humanizeStoredName(name: string): ResolvedName;
|
|
12
|
-
export interface NameIndex {
|
|
13
|
-
objects: Map<string, string>;
|
|
14
|
-
}
|
|
15
|
-
export declare function buildNameIndex(graph: TopologyGraph): NameIndex;
|
|
16
|
-
export interface NameResolver {
|
|
17
|
-
resolve(ref: string): ResolvedName;
|
|
18
|
-
resolveWf(ref: string): {
|
|
19
|
-
machine: ResolvedName;
|
|
20
|
-
node: ResolvedName;
|
|
21
|
-
} | undefined;
|
|
22
|
-
}
|
|
23
|
-
export declare function createNameResolver(index: NameIndex): NameResolver;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{ENTRYPOINT}from'@wowok/wowok';import{findingWhereResolved}from'./analyze.js';import{buildNameIndex,createNameResolver,humanizeStoredName,humanizeTypeTag,shortAddress}from'./names.js';const MACHINE='0x14b474d65159538031a75d37e4eb2367971fd30743df75e4472894be4f3c0e8f',TYPE_TAG_NODE='0x2::machine::Node<0x2::wow::WOW>';function graphWith(a){return{'network':ENTRYPOINT['Mainnet'],'seed':MACHINE,'builtAt':0x1,'nodes':new Map(a['map'](b=>[b['id'],b])),'edges':[],'out':new Map(),'inc':new Map(),'gaps':[],'truncations':[],'rpcReport':{'batches':0x0,'byChannel':{'objects':0x0,'keyedFields':0x0,'tables':0x0,'events':0x0},'dedupHits':0x0},'budgetExhausted':{}};}function objectNode(a,b){return{'id':a,'kind':'object','objectType':'Machine','state':'fetched','origins':[],'depth':0x0,'raw':{'object':a,'type':'Machine',...b!==undefined?{'data':{'name':b}}:{}}};}describe('humanizeTypeTag',()=>{it('shortens\x20a\x20Move\x20type\x20tag\x20to\x20its\x20struct\x20+\x20generic-param\x20last\x20segments',()=>{expect(humanizeTypeTag(TYPE_TAG_NODE))['toBe']('Node<WOW>'),expect(humanizeTypeTag('0x2::machine::Node'))['toBe']('Node');}),it('passes\x20plain\x20business\x20names\x20through\x20as\x20null',()=>{expect(humanizeTypeTag('Order\x20Confirmed'))['toBeNull'](),expect(humanizeTypeTag('paid'))['toBeNull']();}),it('keeps\x20nested\x20generics\x20depth-correct',()=>{expect(humanizeTypeTag('0x1::a::Box<0x2::b::C<0x3::d::E>,\x200x4::f::G>'))['toBe']('Box<C<E>,\x20G>');});}),describe('humanizeStoredName',()=>{it('carries\x20the\x20verbatim\x20tag\x20as\x20full\x20when\x20humanized',()=>{expect(humanizeStoredName(TYPE_TAG_NODE))['toEqual']({'label':'Node<WOW>','full':TYPE_TAG_NODE}),expect(humanizeStoredName('Order\x20Confirmed'))['toEqual']({'label':'Order\x20Confirmed'});});}),describe('buildNameIndex\x20+\x20createNameResolver',()=>{it('resolves\x20named\x20machines\x20by\x20on-chain\x20name\x20and\x20unnamed\x20to\x20a\x20short\x20address',()=>{const a='0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',b=graphWith([objectNode(MACHINE,'travel_shop_machine'),objectNode(a)]),c=createNameResolver(buildNameIndex(b));expect(c['resolve'](MACHINE)['label'])['toBe']('travel_shop_machine');const d=c['resolve'](a);expect(d['label'])['toBe'](shortAddress(a)),expect(d['label'])['toBe']('AAAA-AAA'),expect(d['full'])['toBe'](a);}),it('resolves\x20synthetic\x20wf\x20node\x20ids:\x20machine\x20name\x20+\x20humanized\x20type-tag\x20node\x20(AC-6)',()=>{const a=graphWith([objectNode(MACHINE,'travel_shop_machine')]),b=createNameResolver(buildNameIndex(a)),c=MACHINE+'::node::'+TYPE_TAG_NODE,d=b['resolveWf'](c);expect(d['machine']['label'])['toBe']('travel_shop_machine'),expect(d['node'])['toEqual']({'label':'Node<WOW>','full':TYPE_TAG_NODE}),expect(b['resolve'](c)['label'])['toContain']('Node<WOW>'),expect(b['resolve'](c)['label'])['not']['toContain']('::node::');}),it('findingWhereResolved\x20renders\x20machine\x20name\x20+\x20node\x20labels\x20in\x20R4\x20lines',()=>{const a=graphWith([objectNode(MACHINE,'travel_shop_machine')]),b=createNameResolver(buildNameIndex(a)),c='R4:'+MACHINE+':'+MACHINE+'::node::'+TYPE_TAG_NODE+'→'+MACHINE+'::node::'+TYPE_TAG_NODE,d=findingWhereResolved({'id':c},b);expect(d)['toBe']('travel_shop_machine:\x20Node<WOW>\x20→\x20Node<WOW>'),expect(d)['not']['toContain']('::node::'),expect(d)['not']['toContain']('0x2::machine::Node');}),it('findingWhereResolved\x20resolves\x20R2/R7\x20object\x20addresses\x20to\x20names',()=>{const a='0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',b=graphWith([objectNode(MACHINE,'svc'),objectNode(a,'reserve_treasury')]),c=createNameResolver(buildNameIndex(b));expect(findingWhereResolved({'id':'R2:'+MACHINE},c))['toBe']('svc'),expect(findingWhereResolved({'id':'R7:treasury:'+a},c))['toBe']('Treasury\x20reserve_treasury');});});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type ENTRYPOINT } from "@wowok/wowok";
|
|
2
|
-
export interface RecoveredReceipt {
|
|
3
|
-
id: string;
|
|
4
|
-
payment: string;
|
|
5
|
-
amount: string;
|
|
6
|
-
version?: string;
|
|
7
|
-
digest?: string;
|
|
8
|
-
type?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface ObjectHeldReceipts {
|
|
11
|
-
holder: string;
|
|
12
|
-
allocation: string;
|
|
13
|
-
payments_scanned: number;
|
|
14
|
-
receipts: RecoveredReceipt[];
|
|
15
|
-
token_type: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function recoverObjectHeldReceipts(holderRef: string, opts: {
|
|
18
|
-
network?: ENTRYPOINT;
|
|
19
|
-
no_cache?: boolean;
|
|
20
|
-
}): Promise<ObjectHeldReceipts | undefined>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,it,expect,vi,beforeEach}from'vitest';const {queryTransactionMock}=vi['hoisted'](()=>({'queryTransactionMock':vi['fn']()}));vi['mock']('./sdk-batch.js',()=>({'batchQueryObjectsByIds':vi['fn']()})),vi['mock']('@wowok/wowok',async a=>{const b=await a();return{...b,'query_transaction':queryTransactionMock};});import{batchQueryObjectsByIds}from'./sdk-batch.js';import{recoverObjectHeldReceipts}from'./object-held-receipts.js';const mockObjects=vi['mocked'](batchQueryObjectsByIds),ORDER='0xorder',ALLOC='0xalloc',PAY='0xpay',PAY_OTHER='0xpayother',WRAPPER='0xwrapper',WRAPPER_USER='0xwrapperuser',TX='0xtxd',WRAPPER_TYPE='0xpk::payment::CoinWrapper<0x2::wow::WOW>';function orderObj(){return{'object':ORDER,'type':'Order','allocation':ALLOC};}function allocObj(a=[PAY]){return{'object':ALLOC,'type':'Allocation','payment':a};}function payObj(a,b){return{'object':a,'type':'Payment','previousTransaction':b};}function wrapperObj(a,b={}){return{'object':a,'type_raw':WRAPPER_TYPE,'owner':{'ObjectOwner':ORDER},'version':'3','payment':PAY,'balance':{'type':'0x2::balance::Balance<0x2::wow::WOW>','fields':{'value':'500'}},...b};}function routeObjects(a){mockObjects['mockImplementation'](async b=>b['map'](c=>a[c])['filter'](c=>c!==undefined));}beforeEach(()=>{mockObjects['mockReset'](),queryTransactionMock['mockReset']();}),describe('recoverObjectHeldReceipts',()=>{it('recovers\x20the\x20wrapper\x20triples\x20from\x20the\x20allocation\x20transaction\x20effects',async()=>{routeObjects({[ORDER]:orderObj(),[ALLOC]:allocObj(),[PAY]:payObj(PAY,TX),[WRAPPER]:wrapperObj(WRAPPER)}),queryTransactionMock['mockResolvedValue']({'digest':TX,'status':'success','object_changes':[{'id':WRAPPER,'type':'created','object_type':WRAPPER_TYPE,'version':'3','digest':'DIGEST3'},{'id':'0xprogress','type':'created','object_type':'0xpk::order::Progress'}],'balance_changes':[],'event_count':0x0,'events':[]});const a=await recoverObjectHeldReceipts(ORDER,{'network':'testnet'});expect(a)['toBeDefined'](),expect(a['holder'])['toBe'](ORDER),expect(a['allocation'])['toBe'](ALLOC),expect(a['payments_scanned'])['toBe'](0x1),expect(a['token_type'])['toBe']('0x2::wow::WOW'),expect(a['receipts'])['toEqual']([{'id':WRAPPER,'payment':PAY,'amount':'500','version':'3','digest':'DIGEST3','type':WRAPPER_TYPE}]);}),it('drops\x20wrappers\x20owned\x20by\x20a\x20user\x20or\x20pointing\x20at\x20another\x20Payment',async()=>{routeObjects({[ORDER]:orderObj(),[ALLOC]:allocObj([PAY,PAY_OTHER]),[PAY]:payObj(PAY,TX),[PAY_OTHER]:payObj(PAY_OTHER,TX),[WRAPPER]:wrapperObj(WRAPPER),[WRAPPER_USER]:wrapperObj(WRAPPER_USER,{'owner':{'AddressOwner':'0xuser'}}),'0xwrapperother':wrapperObj('0xwrapperother',{'payment':'0xstranger'})}),queryTransactionMock['mockResolvedValue']({'digest':TX,'status':'success','object_changes':[{'id':WRAPPER,'type':'created','object_type':WRAPPER_TYPE,'version':'3','digest':'D1'},{'id':WRAPPER_USER,'type':'created','object_type':WRAPPER_TYPE,'version':'3','digest':'D2'},{'id':'0xwrapperother','type':'created','object_type':WRAPPER_TYPE,'version':'3','digest':'D3'}],'balance_changes':[],'event_count':0x0,'events':[]});const a=await recoverObjectHeldReceipts(ORDER,{});expect(a['receipts']['map'](b=>b['id']))['toEqual']([WRAPPER]);}),it('excludes\x20a\x20wrapper\x20that\x20was\x20already\x20collected\x20(no\x20longer\x20resolves)',async()=>{routeObjects({[ORDER]:orderObj(),[ALLOC]:allocObj(),[PAY]:payObj(PAY,TX)}),queryTransactionMock['mockResolvedValue']({'digest':TX,'status':'success','object_changes':[{'id':WRAPPER,'type':'created','object_type':WRAPPER_TYPE,'version':'3','digest':'D1'}],'balance_changes':[],'event_count':0x0,'events':[]});const a=await recoverObjectHeldReceipts(ORDER,{});expect(a)['toBeDefined'](),expect(a['receipts'])['toEqual']([]);}),it('returns\x20undefined\x20when\x20the\x20holder\x20is\x20not\x20an\x20escrow\x20object',async()=>{routeObjects({'0xuser':{'object':'0xuser','type':'Order'}});const a=await recoverObjectHeldReceipts('0xuser',{});expect(a)['toBeUndefined']();}),it('skips\x20a\x20Payment\x20with\x20no\x20previousTransaction\x20and\x20reports\x20zero\x20scanned',async()=>{routeObjects({[ORDER]:orderObj(),[ALLOC]:allocObj(),[PAY]:payObj(PAY,undefined)});const a=await recoverObjectHeldReceipts(ORDER,{});expect(a)['toBeDefined'](),expect(a['payments_scanned'])['toBe'](0x0),expect(a['receipts'])['toEqual']([]),expect(queryTransactionMock)['not']['toHaveBeenCalled']();}),it('fails\x20soft\x20when\x20the\x20transaction\x20read\x20throws',async()=>{routeObjects({[ORDER]:orderObj(),[ALLOC]:allocObj(),[PAY]:payObj(PAY,TX)}),queryTransactionMock['mockRejectedValue'](new Error('index\x20window\x20miss'));const a=await recoverObjectHeldReceipts(ORDER,{});expect(a)['toBeDefined'](),expect(a['payments_scanned'])['toBe'](0x1),expect(a['receipts'])['toEqual']([]);});});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{ENTRYPOINT}from'@wowok/wowok';import{FakeDataPlane}from'./dataplane.js';import{expandTopology,orderCompletionInGraph}from'./expand.js';import{extractObjectEdges,extractReverseRefs,extractTableRefs}from'./extract.js';import{annotateNodeName,deriveOrderCompletion,terminalNamesOfEdges,terminalNamesOfRows,workflowSubgraphFromRows,workflowSubgraphFromEdges}from'./order-status.js';import{COVERED_OBJECT_TYPES,EDGE_SCHEMAS}from'./edge-schema.js';import{FIELD_MUTABILITY_RULES,fieldMutabilityOf,isActionForbidden}from'../../knowledge/contract-invariants.js';import{buildViewport}from'./viewport.js';function mk(a,b){return'0x'+a['toString'](0x10)['padStart'](0x2,'0')+b['toString'](0x10)['padStart'](0x3e,'0');}const eoa=a=>mk(0x0,a),obj=(a,b)=>mk(0x10+a,b),T_USDT='0x2::wow::coins::USDT',buyer=eoa(0x1),otherBuyer=eoa(0x2),merchant=eoa(0x3),collaborator=eoa(0x4),voter1=eoa(0x5),svc=obj(0x4,0xa),mac=obj(0x5,0xb),o1=obj(0x6,0x15),o2=obj(0x6,0x16),o3=obj(0x6,0x17),o4=obj(0x6,0x18),pr1=obj(0x7,0x1f),pr2=obj(0x7,0x20),pay=obj(0x8,0x29),perm=obj(0x0,0x33),g1=obj(0xa,0x3d),g2=obj(0xa,0x3e),gShip=obj(0xa,0x3f),gOther=obj(0xa,0x45),alloc=obj(0xd,0x47),arbsvc=obj(0x3,0x51),arb=obj(0x2,0x52);function raw(a,b,c,d){return{'object':a,'type':b,'data':c,...d?{'type_raw':d}:{}};}const OBJECTS=[raw(svc,'Service',{'permission':perm,'machine':mac,'arbitrations':[arbsvc],'order_allocators':{'allocators':[{'guard':g1}]}},'0x2::service::Service<'+T_USDT+'>'),raw(o1,'Order',{'builder':buyer,'agent':[],'service':svc,'machine':mac,'progress':pr1,'allocation':alloc,'dispute':[arb]}),raw(o2,'Order',{'builder':buyer,'agent':[],'service':svc,'machine':mac,'progress':pr2,'allocation':alloc,'dispute':[]}),raw(o3,'Order',{'builder':buyer,'agent':[],'service':svc,'dispute':[]}),raw(o4,'Order',{'builder':otherBuyer,'agent':[],'service':svc,'machine':mac,'progress':undefined,'dispute':[]}),raw(mac,'Machine',{'permission':perm,'consensus_repositories':[]}),raw(pr1,'Progress',{'machine':mac,'task':o1,'current':'done'}),raw(pr2,'Progress',{'machine':mac,'task':o2,'current':'shipping'}),raw(alloc,'Allocation',{'allocators':{'threshold':0x1,'allocators':[{'guard':g1,'mode':0x0}]}},'0x2::allocation::Allocation<'+T_USDT+'>'),raw(perm,'Permission',{'admin':[merchant]}),raw(g1,'Guard',{'relies':[g2]}),raw(g2,'Guard',{'relies':[]}),raw(gShip,'Guard',{'relies':[]}),raw(arbsvc,'Arbitration',{'permission':perm,'voting_guard':[{'guard':g1}]}),raw(arb,'Arb',{'order':o1,'arbitration':arbsvc,'voted':[{'voter':voter1,'weight':0x3}]}),raw(pay,'Payment',{'record':[{'recipient':merchant,'amount':'99900'}],'from_object':alloc,'info':{'for_object':o1,'for_guard':g1}},'0x2::payment::Payment<'+T_USDT+'>')];let TABLE_SEQ=0x0;function nodeTableItem(a,b,c){TABLE_SEQ++;const d='0x9'+TABLE_SEQ['toString'](0x10)['padStart'](0x3f,'0');return{'key':a,'objectId':d,'object':raw(d,'TableItem_MachineNode',{'name':b,'value':c})};}function permTableItem(a,b){const c='0x9'+a['slice'](0x2,0x1e)['padEnd'](0x3f,'0')['slice'](0x0,0x3f);return{'key':a,'objectId':c,'object':raw(c,'TableItem_PermissionPerm',{'address':a,'perm':b})};}function makePlane(){const a=[nodeTableItem('start','start',[]),nodeTableItem('shipping','shipping',[{'prev_node':'start','threshold':0x0,'forwards':[{'name':'f_ship','weight':0x1,'guard':gShip}]}]),nodeTableItem('done','done',[{'prev_node':'shipping','threshold':0x0,'forwards':[{'name':'f_done','weight':0x1}]}])],b=new Map(OBJECTS['map'](e=>[e['object']['toLowerCase'](),e])),c=new Map();c['set']('0xaa8',new Map([[buyer,{'items':[{'role':0x1,'order':o1,'time':0x1},{'role':0x2,'order':o2,'time':0x2},{'role':0x1,'order':o3,'time':0x3}]}]])),c['set']('0xaad',new Map([[merchant,{'items':[{'role':0x1,'permission':perm,'time':0x1}]}]])),c['set']('0xaae',new Map([[perm,{'items':[{'who':svc,'time':0x1}]}]])),c['set']('0xaaf',new Map([[svc,{'items':[{'who':o1,'time':0x1},{'who':o2,'time':0x2},{'who':o4,'time':0x3},{'who':gOther,'time':0x4}]}]]));const d=new Map([[mac['toLowerCase'](),a],[perm['toLowerCase'](),[permTableItem(collaborator,[0x1,0x2])]]]);return new FakeDataPlane({'objects':b,'keyedFields':c,'tables':d});}const FULL_EDGES={'tableEdges':['machine.node','permission.entity']};async function buildBuyerGraph(a){const b=makePlane(),c=await expandTopology(b,{'network':ENTRYPOINT['Mainnet'],'seed':buyer,'edges':FULL_EDGES,...a?{'budget':a}:{}});return{'graph':c,'plane':b};}describe('extract\x20—\x20field\x20edges',()=>{it('reads\x20scalar,\x20vector,\x20struct\x20and\x20deep\x20nested\x20refs\x20defensively',()=>{const a=extractObjectEdges('Service',OBJECTS[0x0]),b=new Map(a['map'](c=>[c['schemaId'],c['refs']['map'](d=>d['to'])]));expect(b['get']('service.permission'))['toEqual']([perm]),expect(b['get']('service.machine'))['toEqual']([mac]),expect(b['get']('service.arbitration'))['toEqual']([arbsvc]),expect(b['get']('service.order_allocator_guard'))['toEqual']([g1]);}),it('parses\x20coin\x20type\x20T\x20and\x20money\x20payloads\x20on\x20Payment',()=>{const a=extractObjectEdges('Payment',OBJECTS['find'](d=>d['object']===pay)),b=new Map(a['map'](d=>[d['schemaId'],d])),c=b['get']('payment.recipient')['refs'][0x0];expect(c['to'])['toBe'](merchant),expect(c['payload']?.['amount'])['toBe']('99900'),expect(c['payload']?.['coinType'])['toBe'](T_USDT),expect(b['get']('payment.from_object')['refs'][0x0]['to'])['toBe'](alloc),expect(b['get']('payment.for_guard')['refs'][0x0]['to'])['toBe'](g1);}),it('reverse\x20field\x20shapes:\x20items[]\x20and\x20votes[]\x20with\x20role/vote\x20payloads',()=>{const a=extractReverseRefs('0xaa8',{'items':[{'role':0x3,'order':o1}]});expect(a[0x0]['refs'][0x0]['payload']?.['roleBits'])['toBe'](0x3);const b=extractReverseRefs('0xaaa',{'votes':[{'who':voter1,'like':!![],'favor':!![]}]});expect(b[0x0]['refs'][0x0]['payload']?.['voteBits'])['toBe'](0x2|0x8);}),it('machine\x20table\x20rows\x20produce\x20node\x20+\x20transition\x20+\x20guard\x20edges',()=>{const a=makePlane()['state']['tables']['get'](mac['toLowerCase']()),b=extractTableRefs('MachineNode',mac,a),c=new Map(b['map'](e=>[e['schemaId'],e['refs']]));expect(c['get']('machine.node')?.['length'])['toBe'](0x3);const d=c['get']('wf.transition');expect(d['map'](e=>[e['from']['includes']('start'),e['to']['includes']('shipping')]))['toContainEqual']([!![],!![]]),expect(c['get']('wf.forward_guard')?.[0x0]['to'])['toBe'](gShip);});}),describe('order-status\x20—\x20structural\x20authority',()=>{it('terminal\x20=\x20names\x20never\x20appearing\x20as\x20prev_node',()=>{const a=terminalNamesOfEdges([{'node':'shipping','prev_node':'start'},{'node':'done','prev_node':'shipping'}]);expect([...a])['toEqual'](['done']),expect([...terminalNamesOfRows([{'name':'a','value':[]},{'name':'b','value':[{'prev_node':'a'}]}])])['toEqual'](['b']);}),it('four\x20completion\x20states',()=>{const a=new Set(['done']);expect(deriveOrderCompletion({'machine':null})['status'])['toBe']('completed'),expect(deriveOrderCompletion({'machine':mac,'progress':null})['status'])['toBe']('in_progress'),expect(deriveOrderCompletion({'machine':mac,'progress':pr1,'currentNode':'shipping','terminalNames':a})['status'])['toBe']('in_progress'),expect(deriveOrderCompletion({'machine':mac,'progress':pr1,'currentNode':'done','terminalNames':a})['status'])['toBe']('completed'),expect(deriveOrderCompletion({'machine':mac,'progress':pr1,'currentNode':'done','terminalNames':null})['status'])['toBe']('unknown');}),it('name\x20vocabulary\x20is\x20annotation\x20only',()=>{expect(annotateNodeName('order_refunded'))['toBe']('refund'),expect(annotateNodeName('dispute_node'))['toBe']('exception'),expect(annotateNodeName('shipping'))['toBeNull']();}),it('workflowSubgraphFromRows\x20flattens\x20pairs/forwards\x20and\x20keeps\x20structural\x20terminals',()=>{const a=workflowSubgraphFromRows([{'name':'shipped','value':[{'prev_node':'paid','threshold':0x2,'forwards':[{'name':'ship','guard':{'guard':'0xg','retained_submission':[]},'weight':0x1},{'name':'airdrop','namedOperator':'op','permissionIndex':0x3}]}]},{'name':'done','value':[{'prev_node':'shipped','forwards':[{'name':'confirm'}]}]}],'0xm');expect(a['machine'])['toBe']('0xm'),expect(a['transitions']['map'](b=>b['prevNode']+'>'+b['forward']+'>'+b['node']))['toEqual'](['paid>ship>shipped','paid>airdrop>shipped','shipped>confirm>done']),expect(a['transitions'][0x0]['guard'])['toBe']('0xg'),expect(a['transitions'][0x0]['threshold'])['toBe'](0x2),expect(a['transitions'][0x1]['namedOperator'])['toBe']('op'),expect(a['transitions'][0x1]['permissionIndex'])['toBe'](0x3),expect([...a['terminalNames']])['toEqual'](['done']);}),it('workflowSubgraphFromEdges\x20reads\x20wf.transition\x20payloads\x20and\x20filters\x20by\x20machine',()=>{const a=[{'schema':'wf.transition','from':'0xm1::node::paid','to':'0xm1::node::done','payload':{'node':'done','prevNode':'paid','forward':'confirm','guard':'0xg'}},{'schema':'wf.transition','from':'0xm2::node::paid','to':'0xm2::node::done','payload':{'node':'done','prevNode':'paid','forward':'confirm'}},{'schema':'machine.node','from':'0xm1','to':'0xm1::node::paid'}],b=workflowSubgraphFromEdges(a);expect(b['transitions'])['toHaveLength'](0x2);const c=workflowSubgraphFromEdges(a,'0xm1');expect(c['transitions'])['toHaveLength'](0x1),expect(c['transitions'][0x0])['toMatchObject']({'node':'done','prevNode':'paid','forward':'confirm','guard':'0xg'}),expect([...c['terminalNames']])['toEqual'](['done']);}),it('entry\x20forwards\x20(prev_node\x20\x27\x27)\x20survive\x20the\x20edge\x20channel\x20—\x20docs#44-c',()=>{let a=0x0;const b=(g,h)=>{a++;const i='0x9'+a['toString'](0x10)['padStart'](0x3f,'0');return{'key':g,'objectId':i,'object':raw(i,'TableItem_MachineNode',{'name':g,'value':h})};},c=obj(0x5,0x5b),d=extractTableRefs('MachineNode',c,[b('delivered',[{'prev_node':'','threshold':0x0,'forwards':[{'name':'deliver','weight':0x1,'permissionIndex':0x3e9}]}]),b('done',[{'prev_node':'delivered','threshold':0x0,'forwards':[{'name':'confirm','weight':0x1}]}])]),e=d['find'](h=>h['schemaId']==='wf.transition')['refs'],f=workflowSubgraphFromEdges(e['map'](g=>({'schema':'wf.transition','from':c['toLowerCase']()+'::node::','to':'','payload':g['payload']})),c);expect(f['transitions']['map'](g=>g['prevNode']+'>'+g['forward']+'>'+g['node'])['sort']())['toEqual'](['>deliver>delivered','delivered>confirm>done']),expect([...f['terminalNames']])['toEqual'](['done']);});}),describe('expandTopology\x20—\x20wave\x20BFS\x20over\x20DataPlane',()=>{it('connects\x20F/R/W/S/M\x20edges\x20with\x20dedupe\x20and\x20no\x20per-id\x20fan-out',async()=>{const {graph:a,plane:b}=await buildBuyerGraph(),c=new Set(a['edges']['map'](f=>f['schema']));for(const e of['eoa.order','order.service','order.progress','order.allocation','service.permission','service.machine','service.order_allocator_guard','service.arbitration','machine.permission','progress.machine','machine.node','wf.transition','wf.forward_guard','guard.relies','arb.order','arb.voter','allocation.guard']){expect(c['has'](e),'missing\x20edge\x20'+e)['toBe'](!![]);}const d=a['edges']['filter'](f=>f['schema']==='service.order')['map'](f=>f['to']);expect(new Set(d))['toEqual'](new Set([o1,o2,o4])),expect(a['nodes']['get'](svc)?.['objectType'])['toBe']('Service'),expect(a['edges']['length'])['toBe'](new Set(a['edges']['map'](f=>f['id']))['size']),expect(b['batches']['objects'])['toBeLessThanOrEqual'](0x6),expect(a['gaps'])['toEqual']([]);}),it('resolves\x20completion\x20from\x20the\x20graph;\x20unknown\x20when\x20machine\x20table\x20not\x20expanded',async()=>{const {graph:a}=await buildBuyerGraph();expect(orderCompletionInGraph(a,o1)['status'])['toBe']('completed'),expect(orderCompletionInGraph(a,o2)['status'])['toBe']('in_progress'),expect(orderCompletionInGraph(a,o3)['status'])['toBe']('completed');const b=makePlane(),c=await expandTopology(b,{'network':ENTRYPOINT['Mainnet'],'seed':buyer});expect(orderCompletionInGraph(c,o1)['status'])['toBe']('unknown');}),it('caps\x20per-kind\x20fanout\x20and\x20records\x20truncation;\x20window\x20edges\x20flagged',async()=>{const {graph:a}=await buildBuyerGraph({'perKindCaps':{'eoa.order':0x1}});expect(a['edges']['filter'](b=>b['schema']==='eoa.order'))['toHaveLength'](0x1),expect(a['truncations']['some'](b=>b['schema']==='eoa.order'))['toBe'](!![]),expect(a['edges']['find'](b=>b['schema']==='eoa.order')?.['truncated'])['toBe'](!![]);}),it('fail-soft:\x20missing\x20objects\x20become\x20gaps,\x20build\x20still\x20succeeds',async()=>{const a=makePlane();a['state']['objects']['delete'](mac['toLowerCase']());const b=await expandTopology(a,{'network':ENTRYPOINT['Mainnet'],'seed':buyer,'edges':FULL_EDGES});expect(b['nodes']['get'](mac)?.['state'])['toBe']('error'),expect(b['gaps'])['toContain'](mac),expect(b['edges']['some'](c=>c['schema']==='order.service'))['toBe'](!![]);}),it('enforces\x20maxDepth',async()=>{const {graph:a}=await buildBuyerGraph({'maxDepth':0x1});expect(a['nodes']['has'](o1))['toBe'](!![]),expect(a['nodes']['has'](svc))['toBe'](![]),expect(a['budgetExhausted']['depth'])['toBe'](!![]);});}),describe('DataPlane\x20batching',()=>{it('chunks\x20at\x2050\x20and\x20counts\x20logical\x20RPC\x20batches',async()=>{const a=new FakeDataPlane({});await a['getObjects'](Array['from']({'length':0x65},(b,c)=>obj(0x6,0x3e8+c))),expect(a['batches']['objects'])['toBe'](0x3),await a['getObjects'](Array['from']({'length':0x65},(b,c)=>obj(0x6,0x3e8+c))),expect(a['batches']['objects'])['toBe'](0x3),expect(a['dedupHits'])['toBe'](0x65);});}),describe('viewport',()=>{it('buyer\x20never\x20sees\x20other\x20customers\x20through\x20service.order',async()=>{const {graph:a}=await buildBuyerGraph(),b=buildViewport(a,buyer,'buyer');expect(b['visibleNodes']['has'](o1))['toBe'](!![]),expect(b['visibleNodes']['has'](svc))['toBe'](!![]),expect(b['visibleNodes']['has'](o4))['toBe'](![]),expect(b['visibleNodes']['has'](otherBuyer))['toBe'](![]),expect(b['visibleEdges']['some'](c=>c['schema']==='service.order'))['toBe'](![]);}),it('merchant\x20sees\x20shop\x20orders\x20and\x20their\x20parties',async()=>{const {graph:a}=await buildBuyerGraph(),b=buildViewport(a,merchant,'merchant');expect(b['visibleNodes']['has'](perm))['toBe'](!![]),expect(b['visibleNodes']['has'](svc))['toBe'](!![]),expect(b['visibleNodes']['has'](o4))['toBe'](!![]),expect(b['visibleNodes']['has'](otherBuyer))['toBe'](!![]),expect(b['visibleNodes']['has'](collaborator))['toBe'](!![]),expect(b['visibleEdges']['some'](c=>c['schema']==='service.order'))['toBe'](!![]);}),it('neutral\x20role\x20sees\x20the\x20full\x20canon\x20graph',async()=>{const {graph:a}=await buildBuyerGraph(),b=buildViewport(a,buyer,'neutral');expect(b['visibleNodes']['size'])['toBe'](a['nodes']['size']);});}),describe('edge\x20schema\x20registry',()=>{it('covers\x20the\x20core\x20commercial\x20object\x20types',()=>{for(const a of['Service','Order','Machine','Progress','Payment','Allocation','Arbitration','Arb','Permission','Guard','Demand','Reward','Contact','Treasury']){expect(COVERED_OBJECT_TYPES)['toContain'](a);}});}),describe('EdgeSchema.contract\x20—\x20field\x20mutability\x20ground\x20truth',()=>{const a=['service.machine','service.buy_guard','service.arbitration','service.reward','service.repository','progress.machine','progress.task','machine.consensus_repository','machine.node','allocation.guard','permission.owner','contact.im','payment.signer'];it('marks\x20exactly\x20the\x20address-field\x20edges\x20with\x20mutability\x20metadata',()=>{const b=EDGE_SCHEMAS['filter'](c=>c['contract'])['map'](c=>c['id'])['sort']();expect(b)['toEqual']([...a]['sort']());}),it('carries\x20the\x20publish-freeze\x20distinction\x20(machine\x20frozen,\x20buy_guard\x20mutable)',()=>{const b=EDGE_SCHEMAS['find'](d=>d['id']==='service.machine')['contract'];expect(b['frozenWhen'])['toBe']('after\x20publish'),expect(b['forbiddenActions'])['toContain']('set'),expect(b['unfreeze'])['toBeNull']();const c=EDGE_SCHEMAS['find'](d=>d['id']==='service.buy_guard')['contract'];expect(c['frozenWhen'])['toBeNull'](),expect(c['allowedActions'])['toContain']('set');}),it('derives\x20the\x20knowledge\x20field-rule\x20table\x20without\x20duplicating\x20facts',()=>{expect(fieldMutabilityOf('Service','machine')?.['frozen_when'])['toBe']('after\x20publish'),expect(fieldMutabilityOf('Machine','nodes')?.['forbidden_actions'])['toContain']('update'),expect(fieldMutabilityOf('Allocation','allocators')?.['frozen_when'])['toBe']('after\x20create\x20(share)'),expect(EDGE_SCHEMAS['find'](c=>c['id']==='allocation.guard')['contract']['field'])['toBe']('allocators');const b=FIELD_MUTABILITY_RULES['map'](c=>c['object_type']+'.'+c['field']);expect(new Set(b)['size'])['toBe'](b['length']),expect(FIELD_MUTABILITY_RULES)['toHaveLength'](0x17),expect(isActionForbidden('Service','machine','set',!![]))['toBe'](!![]),expect(isActionForbidden('Service','machine','set',![]))['toBe'](![]),expect(isActionForbidden('Service','buy_guard','set',!![]))['toBe'](![]);});}),describe('expand\x20—\x20per-schema\x20hop\x20cap',()=>{const a=obj(0xa,0x5b),b=obj(0xa,0x5c),c=obj(0xa,0x5d),d=obj(0xa,0x5e);function e(){const f=new Map([raw(a,'Guard',{'relies':[b,d]}),raw(b,'Guard',{'relies':[c,d]}),raw(c,'Guard',{'relies':[]}),raw(d,'Guard',{'relies':[]})]['map'](g=>[g['object']['toLowerCase'](),g]));return new FakeDataPlane({'objects':f,'keyedFields':new Map(),'tables':new Map()});}it('cuts\x20guard.relies\x20beyond\x20one\x20hop,\x20keeps\x20closure\x20edges,\x20reports\x20schema_hops',async()=>{const f=await expandTopology(e(),{'network':ENTRYPOINT['Mainnet'],'seed':a}),g=f['edges']['filter'](i=>i['schema']==='guard.relies'),h=(i,j)=>g['some'](k=>k['from']===i&&k['to']===j);expect(h(a,b))['toBe'](!![]),expect(h(a,d))['toBe'](!![]),expect(h(b,d))['toBe'](!![]),expect(h(b,c))['toBe'](![]),expect(f['nodes']['has'](c))['toBe'](![]),expect(f['truncations'])['toEqual']([{'nodeId':b,'schema':'guard.relies','observed':0x1,'limit':0x1,'reason':'schema_hops'}]),expect(f['gaps'])['toEqual']([]);}),it('declares\x20maxHops=1\x20on\x20guard.relies\x20and\x20nowhere\x20else',()=>{const f=EDGE_SCHEMAS['filter'](g=>g['maxHops']!==undefined)['map'](g=>g['id']);expect(f)['toEqual'](['guard.relies']);});});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { FindingExposure, FindingSeverity } from "./types.js";
|
|
2
|
-
import { type Facts } from "../../config/rule-engine.js";
|
|
3
|
-
export interface GraphFindingPolicy {
|
|
4
|
-
enabled: boolean;
|
|
5
|
-
severity: FindingSeverity | null;
|
|
6
|
-
exposure?: FindingExposure;
|
|
7
|
-
}
|
|
8
|
-
export declare function graphFindingPolicy(ruleId: string, facts: Facts): GraphFindingPolicy;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ENTRYPOINT } from "@wowok/wowok";
|
|
2
|
-
import type { ObjectPuzzleEntry } from "../../playbooks/service-build/business-puzzle.js";
|
|
3
|
-
import type { Analyzer, DataPlane, TopoNode, TopologyGraph } from "./types.js";
|
|
4
|
-
export declare function makeProposalNode(key: string, puzzle: unknown, missingDimensions?: string[]): TopoNode;
|
|
5
|
-
export interface ProposalGraphOptions {
|
|
6
|
-
network: ENTRYPOINT;
|
|
7
|
-
seed?: string;
|
|
8
|
-
plane?: DataPlane;
|
|
9
|
-
}
|
|
10
|
-
export declare function buildProposalGraph(puzzles: Record<string, ObjectPuzzleEntry>, opts: ProposalGraphOptions): Promise<TopologyGraph>;
|
|
11
|
-
export declare const PROPOSAL_GAP_ANALYZER: Analyzer;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,it,expect}from'vitest';import{ENTRYPOINT}from'@wowok/wowok';import{buildProposalGraph,buildViewport,runAnalyzers,listAnalyzers,FakeDataPlane}from'./index.js';import{RISK_CASES}from'../../knowledge/baselines/risk-cases.js';import{analyzeBusinessIntent}from'../../playbooks/service-build/business-puzzle.js';const EOA='0x'+'00'['repeat'](0x20),MACHINE='0x'+'15'+'ab'['repeat'](0x1f),SERVICE_ONCHAIN='0x'+'14'+'cd'['repeat'](0x1f),entry=(a,b=[])=>({'puzzle':a,'completeness':{},'missing_dimensions':b}),SNAPSHOT={'service':entry({'binding':{'permission':'Permission','machine':MACHINE,'arbitrations':[],'buy_guard':null,'um':''},'owner_note':'plain\x20prose,\x20never\x20an\x20address','admin':EOA,'upgrade_to':SERVICE_ONCHAIN},['Pricing','Arbitration']),'permission':entry({'threshold':0x2,'note':'co-sign'})};async function build(a,b){return buildProposalGraph(a,{'network':ENTRYPOINT['Testnet'],...b?{'plane':b['plane']}:{}});}describe('buildProposalGraph\x20(T22)',()=>{it('TR-22.1\x20synthesizes\x20one\x20proposal\x20node\x20per\x20snapshot\x20key',async()=>{const a=await build(SNAPSHOT);expect(a['nodes']['size'])['toBe'](0x2+0x3),expect(a['nodes']['get']('proposal::service')?.['proposal'])['toEqual']({'sourceKey':'service','missingDimensions':['Pricing','Arbitration']}),expect(a['nodes']['get']('proposal::permission')?.['proposal']?.['missingDimensions'])['toEqual']([]),expect(a['nodes']['get']('proposal::service')?.['objectType'])['toBe']('Service'),expect(a['nodes']['get']('proposal::permission')?.['objectType'])['toBe']('Permission');const b=a['nodes']['get']('proposal::service');expect(b['state'])['toBe']('stub'),expect(b['kind'])['toBe']('object'),expect((b['raw']?.['data'])['binding'])['toBeDefined'](),expect(b['depth'])['toBe'](0x0);}),it('TR-22.1\x20edges\x20mirror\x20declared\x20references\x20with\x20proposal.*\x20schemas',async()=>{const a=await build(SNAPSHOT);expect(a['edges']['length'])['toBe'](0x4);const b=a['edges']['map'](d=>d['schema'])['sort']();expect(b)['toEqual'](['proposal.admin','proposal.binding.machine','proposal.binding.permission','proposal.upgrade_to']);for(const d of a['edges']){expect(d['family'])['toBe']('F'),expect(d['retention'])['toBe']('derived'),expect(d['from'])['toBe']('proposal::service'),expect(d['payload']?.['fieldPath'])['toBe'](d['schema']['slice']('proposal.'['length']));}expect(a['nodes']['get'](MACHINE)?.['kind'])['toBe']('object'),expect(a['nodes']['get'](MACHINE)?.['objectType'])['toBe']('Machine'),expect(a['nodes']['get'](SERVICE_ONCHAIN)?.['objectType'])['toBe']('Service'),expect(a['nodes']['get'](EOA)?.['kind'])['toBe']('eoa'),expect(a['nodes']['get'](MACHINE)?.['depth'])['toBe'](0x1),expect(a['nodes']['get'](MACHINE)?.['origins'][0x0]?.['via'])['toBe']('proposal.binding.machine');const c=a['edges']['find'](f=>f['schema']==='proposal.binding.permission');expect(c['to'])['toBe']('proposal::permission');}),it('TR-22.1\x20missing\x20dimensions\x20produce\x20proposal-gap\x20findings,\x20never\x20throws',async()=>{const a=await build(SNAPSHOT),b=buildViewport(a,EOA,'neutral'),c=runAnalyzers(b),d=c['filter'](e=>e['id']['startsWith']('proposal.gap'));expect(d['length'])['toBe'](0x1),expect(d[0x0]['source'])['toBe']('proposal'),expect(d[0x0]['severity'])['toBe']('info'),expect(d[0x0]['detail'])['toContain']('Pricing'),expect(d[0x0]['detail'])['toContain']('Arbitration'),expect(d[0x0]['path'])['toEqual'](['proposal::service']);}),it('whole\x20analysis\x20stack\x20runs\x20unmodified;\x20no\x20on-chain\x20analyzer\x20misfires',async()=>{const a=await build(SNAPSHOT),b=buildViewport(a,EOA,'neutral');expect(b['visibleNodes']['size'])['toBe'](a['nodes']['size']),expect(b['visibleEdges']['length'])['toBe'](a['edges']['length']);const c=runAnalyzers(b);for(const e of c)expect(e['id']['startsWith']('proposal.gap'))['toBe'](!![]);expect(listAnalyzers())['toContain']('proposal.gap');const d=buildViewport(a,'proposal::service','merchant');expect(d['visibleNodes']['size'])['toBe'](a['nodes']['size']),expect(d['visibleEdges']['length'])['toBe'](a['edges']['length']);}),it('no\x20DataPlane:\x20chain\x20refs\x20stay\x20stubs\x20with\x20a\x20gap\x20line',async()=>{const a=await build(SNAPSHOT);expect(a['nodes']['get'](MACHINE)?.['state'])['toBe']('stub'),expect(a['gaps']['some'](b=>b['includes']('no\x20DataPlane')))['toBe'](!![]),expect(a['rpcReport']['batches'])['toBe'](0x0);}),it('FakeDataPlane\x20enriches\x20known\x20refs,\x20unknown\x20refs\x20degrade\x20to\x20stub\x20+\x20gap',async()=>{const a=new FakeDataPlane({'objects':new Map([[MACHINE,{'object':MACHINE,'type':'Machine','data':{'pairs':[]}}]])}),b=await build(SNAPSHOT,{'plane':a}),c=b['nodes']['get'](MACHINE);expect(c['state'])['toBe']('fetched'),expect(c['raw']?.['type'])['toBe']('Machine'),expect(c['objectType'])['toBe']('Machine'),expect(b['nodes']['get'](SERVICE_ONCHAIN)?.['state'])['toBe']('stub'),expect(b['gaps']['some'](d=>d['includes']('unresolved\x20object\x20reference')))['toBe'](!![]),expect(b['rpcReport']['batches'])['toBe'](0x1);}),it('real\x20analyzeBusinessIntent\x20snapshot\x20builds\x20consistently\x20(Task\x202\x20baseline)',async()=>{const a=analyzeBusinessIntent({'user_intent':'I\x20want\x20to\x20sell\x20products\x20in\x20an\x20online\x20store\x20with\x20arbitration\x20protection'}),b=a['puzzles'];expect(Object['keys'](b)['length'])['toBeGreaterThan'](0x0);const c=await build(b),d=[...c['nodes']['values']()]['filter'](h=>h['proposal']);expect(d['length'])['toBe'](Object['keys'](b)['length']);for(const h of c['edges']){expect(h['from']['startsWith']('proposal::'))['toBe'](!![]),expect(c['nodes']['has'](h['to']))['toBe'](!![]);}const f=runAnalyzers(buildViewport(c,EOA,'neutral'));expect(Array['isArray'](f))['toBe'](!![]);}),it('RISK_CASES\x20baseline\x20contexts\x20build\x20without\x20throwing\x20(all\x2021\x20packs)',async()=>{const a=new Set(RISK_CASES['map'](g=>g['objectType'])),b={};for(const g of RISK_CASES)b[g['objectType']]=entry(g['empty']);const d=await build(b);expect(d['nodes']['size'])['toBe'](a['size']),expect(d['edges']['length'])['toBe'](0x0);const e={};for(const h of RISK_CASES)e[h['objectType']]=entry(h['trigger']);const f=await build(e);expect(f['nodes']['size'])['toBe'](a['size']+0x41),expect(f['truncations'])['toEqual']([{'nodeId':'proposal::reward','schema':'proposal.*','observed':0x40,'limit':0x40,'reason':'fanout'}]),expect(f['edges']['filter'](i=>i['from']==='proposal::reward')['length'])['toBe'](0x40);}),it('cycle-safe:\x20self-referencing\x20puzzle\x20payloads\x20terminate',async()=>{const a={'name':'a'};a['self']=a;const b={'tag':'x'};b['back']=b;const c=await build({'service':entry({'loop':a,'shared':b})});expect(c['nodes']['has']('proposal::service'))['toBe'](!![]),expect(c['edges']['length'])['toBe'](0x0);}),it('fanout\x20cap:\x20>64\x20references\x20truncate\x20with\x20an\x20explicit\x20record',async()=>{const a={'guards':Array['from']({'length':0x50},(d,e)=>'0x'+(e+0x1)['toString'](0x10)['padStart'](0x40,'0'))},b=await build({'machine':entry(a)}),c=b['edges']['filter'](d=>d['from']==='proposal::machine');expect(c['length'])['toBe'](0x40),expect(b['truncations']['length'])['toBe'](0x1),expect(b['truncations'][0x0]['reason'])['toBe']('fanout'),expect(b['gaps']['some'](d=>d['includes']('fanout\x20cap')))['toBe'](!![]);}),it('seed\x20defaults\x20to\x20the\x20first\x20proposal\x20node;\x20shorthand\x20hex\x20pads\x20left\x20(chain\x20convention)',async()=>{const a=await build(SNAPSHOT);expect(a['seed'])['toBe']('proposal::permission');const b=await build({'service':entry({'fee_receiver':'0x15'})}),c=[...b['nodes']['values']()]['find'](d=>d['id']['startsWith']('0x'));expect(c?.['id'])['toBe']('0x'+'15'['padStart'](0x40,'0')),expect(c?.['kind'])['toBe']('eoa');});});
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
export interface ParsedForward {
|
|
2
|
-
name: string;
|
|
3
|
-
weight: number;
|
|
4
|
-
namedOperator?: string | null;
|
|
5
|
-
permissionIndex?: number | null;
|
|
6
|
-
guard?: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ParsedPair {
|
|
9
|
-
prev_node: string;
|
|
10
|
-
threshold: number;
|
|
11
|
-
forwards: ParsedForward[];
|
|
12
|
-
}
|
|
13
|
-
export interface ParsedMachineNode {
|
|
14
|
-
name: string;
|
|
15
|
-
pairs: ParsedPair[];
|
|
16
|
-
}
|
|
17
|
-
export declare const QUERY_OBJECTS_BATCH = 50;
|
|
18
|
-
export declare function lastUnresolvedInputs(network?: string, noCache?: boolean): string[];
|
|
19
|
-
export declare function batchQueryObjectsByIds(ids: string[], network?: string, noCache?: boolean): Promise<any[]>;
|
|
20
|
-
export declare function batchQueryObjectsByRef(ids: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
21
|
-
export interface TableFieldEntry {
|
|
22
|
-
key: string;
|
|
23
|
-
objectId: string;
|
|
24
|
-
}
|
|
25
|
-
export interface BatchTableItem extends TableFieldEntry {
|
|
26
|
-
object?: any;
|
|
27
|
-
}
|
|
28
|
-
export interface BatchTableResult {
|
|
29
|
-
items: BatchTableItem[];
|
|
30
|
-
truncated: boolean;
|
|
31
|
-
}
|
|
32
|
-
export interface FetchTableEntriesResult {
|
|
33
|
-
entries: TableFieldEntry[];
|
|
34
|
-
truncated: boolean;
|
|
35
|
-
}
|
|
36
|
-
export declare function fetchTableEntries(parent: string, opts?: {
|
|
37
|
-
network?: string;
|
|
38
|
-
noCache?: boolean;
|
|
39
|
-
limit?: number;
|
|
40
|
-
maxItems?: number;
|
|
41
|
-
}): Promise<FetchTableEntriesResult>;
|
|
42
|
-
export declare function fetchAllFieldObjectIds(parent: string, network?: string, noCache?: boolean): Promise<string[]>;
|
|
43
|
-
export declare function batchQueryTableItems(parent: string, opts?: {
|
|
44
|
-
network?: string;
|
|
45
|
-
noCache?: boolean;
|
|
46
|
-
limit?: number;
|
|
47
|
-
maxItems?: number;
|
|
48
|
-
}): Promise<BatchTableResult>;
|
|
49
|
-
export declare function fetchMachineNodes(machine: string, network?: string, noCache?: boolean): Promise<ParsedMachineNode[]>;
|
|
50
|
-
export declare function batchReadAddressKeyedFields(parent: string, addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
51
|
-
export declare function batchReadKeyedItems(parent: string, addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
52
|
-
export declare function batchReadU64KeyedFields(parent: string, indices: Array<number | string | bigint>, network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
53
|
-
export declare const ENTITY_REGISTRAR_OBJECT_ID = "0x0000000000000000000000000000000000000000000000000000000000000aab";
|
|
54
|
-
export declare const ENTITY_LINKER_OBJECT_ID = "0x0000000000000000000000000000000000000000000000000000000000000aaa";
|
|
55
|
-
export declare function batchFetchEntityRegistrar(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
56
|
-
export declare function batchFetchEntityLinker(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
57
|
-
export declare const ENTITY_PERMISSION_OBJECT_ID = "0xaad";
|
|
58
|
-
export declare const ENTITY_PERMISSION_ROLES: {
|
|
59
|
-
readonly OWNER: 1;
|
|
60
|
-
readonly ADMIN: 2;
|
|
61
|
-
readonly ENTITY: 4;
|
|
62
|
-
};
|
|
63
|
-
export interface EntityPermissionItem {
|
|
64
|
-
role: number;
|
|
65
|
-
permission: string;
|
|
66
|
-
time: number;
|
|
67
|
-
}
|
|
68
|
-
export interface EntityPermissionContext {
|
|
69
|
-
items: EntityPermissionItem[];
|
|
70
|
-
byPermission: Map<string, number>;
|
|
71
|
-
}
|
|
72
|
-
export declare function batchFetchEntityPermission(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, EntityPermissionContext>>;
|
|
73
|
-
export declare function fetchEntityPermission(entityAddr: string, network?: string, noCache?: boolean): Promise<EntityPermissionContext | undefined>;
|
|
74
|
-
export declare const ENTITY_CONTACT_OBJECT_ID = "0xaa9";
|
|
75
|
-
export interface EntityContactItem {
|
|
76
|
-
contact: string;
|
|
77
|
-
time: number;
|
|
78
|
-
}
|
|
79
|
-
export interface EntityContactContext {
|
|
80
|
-
items: EntityContactItem[];
|
|
81
|
-
byContact: Map<string, number>;
|
|
82
|
-
}
|
|
83
|
-
export declare function batchFetchEntityContact(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, EntityContactContext>>;
|
|
84
|
-
export declare function fetchEntityContact(entityAddr: string, network?: string, noCache?: boolean): Promise<EntityContactContext | undefined>;
|
|
85
|
-
export declare const ENTITY_ORDER_OBJECT_ID = "0xaa8";
|
|
86
|
-
export declare const ENTITY_ORDER_ROLES: {
|
|
87
|
-
readonly OWNER: 1;
|
|
88
|
-
readonly AGENT: 2;
|
|
89
|
-
};
|
|
90
|
-
export interface EntityOrderItem {
|
|
91
|
-
role: number;
|
|
92
|
-
order: string;
|
|
93
|
-
time: number;
|
|
94
|
-
}
|
|
95
|
-
export interface EntityOrderContext {
|
|
96
|
-
items: EntityOrderItem[];
|
|
97
|
-
byOrder: Map<string, number>;
|
|
98
|
-
}
|
|
99
|
-
export declare function batchFetchEntityOrder(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, EntityOrderContext>>;
|
|
100
|
-
export declare const OBJECT_LINKER_CORE_OBJECT_ID = "0xaae";
|
|
101
|
-
export declare const OBJECT_LINKER_TX_OBJECT_ID = "0xaaf";
|
|
102
|
-
export interface ObjectLinkerItem {
|
|
103
|
-
who: string;
|
|
104
|
-
time: number;
|
|
105
|
-
}
|
|
106
|
-
export interface ObjectLinkerContext {
|
|
107
|
-
items: ObjectLinkerItem[];
|
|
108
|
-
byWho: Map<string, number>;
|
|
109
|
-
}
|
|
110
|
-
export declare const LINKER_RING_LIMIT = 5200;
|
|
111
|
-
export declare function ringWindowSaturated(observedCount: number): boolean;
|
|
112
|
-
export declare function batchFetchObjectLinker(objectId: string, targetAddrs: string[], network?: string, noCache?: boolean): Promise<Map<string, ObjectLinkerContext>>;
|
|
113
|
-
export declare function batchFetchObjectLinkerCore(targetAddrs: string[], network?: string, noCache?: boolean): Promise<Map<string, ObjectLinkerContext>>;
|
|
114
|
-
export declare function batchFetchObjectLinkerTx(targetAddrs: string[], network?: string, noCache?: boolean): Promise<Map<string, ObjectLinkerContext>>;
|
|
115
|
-
export declare function fetchObjectLinkerCore(targetAddr: string, network?: string, noCache?: boolean): Promise<ObjectLinkerContext | undefined>;
|
|
116
|
-
export declare function fetchObjectLinkerTx(targetAddr: string, network?: string, noCache?: boolean): Promise<ObjectLinkerContext | undefined>;
|
|
117
|
-
export declare function fetchServiceOrders(targetAddr: string, network?: string, noCache?: boolean): Promise<(ObjectLinkerContext & {
|
|
118
|
-
ring_saturated: boolean;
|
|
119
|
-
}) | undefined>;
|
|
120
|
-
export interface PermissionContext {
|
|
121
|
-
admin: Set<string>;
|
|
122
|
-
table: Map<string, Set<number>>;
|
|
123
|
-
}
|
|
124
|
-
export interface OrderContext {
|
|
125
|
-
builder: string;
|
|
126
|
-
agent: Set<string>;
|
|
127
|
-
}
|
|
128
|
-
export declare function fetchPermissionContext(permAddr: string, network?: string, noCache?: boolean): Promise<PermissionContext | undefined>;
|
|
129
|
-
export declare function fetchOrderContext(orderAddr: string, network?: string, noCache?: boolean): Promise<OrderContext | undefined>;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type ENTRYPOINT } from "@wowok/wowok";
|
|
2
|
-
import type { DataPlane, EventCursor, EventPage, RawObject, TableItem } from "./types.js";
|
|
3
|
-
export interface SdkPlaneStats {
|
|
4
|
-
batches: number;
|
|
5
|
-
byChannel: {
|
|
6
|
-
objects: number;
|
|
7
|
-
keyedFields: number;
|
|
8
|
-
tables: number;
|
|
9
|
-
events: number;
|
|
10
|
-
};
|
|
11
|
-
dedupHits: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class SdkDataPlane implements DataPlane {
|
|
14
|
-
private readonly network;
|
|
15
|
-
private readonly opts?;
|
|
16
|
-
private readonly objectCache;
|
|
17
|
-
private readonly keyedCache;
|
|
18
|
-
readonly stats: SdkPlaneStats;
|
|
19
|
-
constructor(network: ENTRYPOINT, opts?: {
|
|
20
|
-
concurrency?: number;
|
|
21
|
-
noCache?: boolean;
|
|
22
|
-
} | undefined);
|
|
23
|
-
unresolvedInputs: string[];
|
|
24
|
-
getObjects(ids: string[], opts?: {
|
|
25
|
-
strict?: boolean;
|
|
26
|
-
}): Promise<Map<string, RawObject>>;
|
|
27
|
-
getKeyedFields(parent: string, keys: string[], opts?: {
|
|
28
|
-
keyType?: "address" | "u64";
|
|
29
|
-
strict?: boolean;
|
|
30
|
-
}): Promise<Map<string, RawObject>>;
|
|
31
|
-
getTable(parent: string, opts?: {
|
|
32
|
-
maxItems?: number;
|
|
33
|
-
pageLimit?: number;
|
|
34
|
-
fetchValues?: boolean;
|
|
35
|
-
}): Promise<{
|
|
36
|
-
items: TableItem[];
|
|
37
|
-
truncated: boolean;
|
|
38
|
-
}>;
|
|
39
|
-
getEvents(type: string, opts?: {
|
|
40
|
-
cursor?: EventCursor | null;
|
|
41
|
-
maxPages?: number;
|
|
42
|
-
limit?: number;
|
|
43
|
-
}): Promise<EventPage>;
|
|
44
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{ENTRYPOINT}from'@wowok/wowok';import{FakeDataPlane}from'./dataplane.js';import{expandTopology}from'./expand.js';import{EDGE_SCHEMA_BY_ID}from'./edge-schema.js';import{INTENT_PRESETS,TOPOLOGY_INTENTS,EVALUATION_SERVICE_INTENTS,EVALUATION_SERVICE_BUDGET,isTopologyIntent,normalizeTopologyFocusPref,normalizeSchemaHops,resolveExpansionStrategy,withEvaluationBundle}from'./strategy.js';import{ROLE_TOPOLOGY_DEFAULTS,INDUSTRY_TOPOLOGY_DEFAULTS}from'../../persona/topology-focus.js';import{PERSONA_ROLES}from'../../persona/types.js';describe('strategy\x20—\x20registries',()=>{it('every\x20intent\x20has\x20a\x20preset\x20and\x20vice\x20versa',()=>{for(const a of TOPOLOGY_INTENTS){expect(INTENT_PRESETS[a])['toBeDefined'](),expect(INTENT_PRESETS[a]['description']['length'])['toBeGreaterThan'](0x0);}expect(Object['keys'](INTENT_PRESETS)['sort']())['toEqual']([...TOPOLOGY_INTENTS]['sort']());}),it('preset\x20schema\x20ids\x20reference\x20real\x20edge\x20schemas',()=>{for(const a of Object['values'](INTENT_PRESETS)){for(const b of a['schemas']??[]){expect(EDGE_SCHEMA_BY_ID['has'](b),'unknown\x20schema\x20id\x20'+b)['toBe'](!![]);}for(const c of a['tableEdges']??[]){const d=EDGE_SCHEMA_BY_ID['get'](c);expect(d,'table\x20edge\x20'+c+'\x20must\x20be\x20a\x20real\x20schema')['toBeDefined'](),expect(d['read']['kind'])['toBe']('table');}}}),it('role\x20defaults\x20cover\x20every\x20persona\x20role\x20with\x20valid\x20intents',()=>{for(const a of PERSONA_ROLES){const b=ROLE_TOPOLOGY_DEFAULTS[a];expect(b,'role\x20'+a)['toBeDefined'](),expect(b['intents']['length'])['toBeGreaterThan'](0x0);for(const c of b['intents'])expect(isTopologyIntent(c))['toBe'](!![]);expect(b['rationale']['length'])['toBeGreaterThan'](0x0);}}),it('industry\x20templates\x20cover\x20the\x20six\x20built-in\x20industries',()=>{for(const a of['freelance','rental','education','travel','subscription','retail']){expect(INDUSTRY_TOPOLOGY_DEFAULTS[a],a)['toBeDefined']();}});}),describe('strategy\x20—\x20resolveExpansionStrategy\x20layering',()=>{it('no\x20inputs\x20→\x20kernel\x20default\x20posture\x20(full_map,\x20machine.node,\x20no\x20narrowing)',()=>{const a=resolveExpansionStrategy({});expect(a['intents'])['toEqual'](['full_map']),expect(a['edges']['tableEdges'])['toEqual'](['machine.node']),expect(a['edges']['families'])['toBeUndefined'](),expect(a['edges']['schemas'])['toBeUndefined'](),expect(a['edges']['familyDepths'])['toBeUndefined'](),expect(a['budget']['maxDepth'])['toBeUndefined'](),expect(a['trace']['some'](b=>b['startsWith']('kernel\x20default')))['toBe'](!![]);}),it('industry\x20template\x20shapes\x20family\x20depths\x20without\x20cutting\x20families',()=>{const a=resolveExpansionStrategy({'industryTemplate':INDUSTRY_TOPOLOGY_DEFAULTS['rental']});expect(a['edges']['familyDepths'])['toEqual']({'M':0x4,'W':0x2}),expect(a['edges']['families'])['toBeUndefined'](),expect(a['intents'])['toEqual'](['full_map']),expect(a['trace']['some'](b=>b['startsWith']('industry\x20template')))['toBe'](!![]);}),it('role\x20default\x20intents\x20select\x20the\x20preset\x20layer',()=>{const a=resolveExpansionStrategy({'roleDefault':ROLE_TOPOLOGY_DEFAULTS['prospect']});expect(a['intents'])['toEqual'](['counterparty','reputation','fund_flow']),expect(a['edges']['schemas'])['toContain']('order.builder'),expect(a['edges']['schemas'])['toContain']('target.vote'),expect(a['edges']['schemas'])['toContain']('payment.recipient'),expect(a['edges']['familyDepths'])['toMatchObject']({'M':0x4,'S':0x3}),expect(a['trace']['some'](b=>b['startsWith']('intent\x20(role\x20default)')))['toBe'](!![]);}),it('explicit\x20intent\x20beats\x20persona\x20intents\x20beats\x20role\x20default\x20intents',()=>{const a=resolveExpansionStrategy({'intents':['workflow'],'personaPref':{'intents':['reputation']},'roleDefault':ROLE_TOPOLOGY_DEFAULTS['customer']});expect(a['intents'])['toEqual'](['workflow']),expect(a['edges']['tableEdges'])['toContain']('machine.node'),expect(a['trace'][0x0])['toBe']('intent\x20(explicit):\x20workflow');}),it('persona\x20preference\x20overrides\x20preset\x20fragments\x20(identity-specific)',()=>{const a=normalizeTopologyFocusPref({'intents':['order_health'],'table_edges':['machine.node','permission.entity'],'family_depths':{'M':0x3},'max_depth':0x6}),b=resolveExpansionStrategy({'roleDefault':ROLE_TOPOLOGY_DEFAULTS['customer'],'personaPref':{'intents':a['intents'],'tableEdges':a['table_edges'],'familyDepths':a['family_depths'],'maxDepth':a['max_depth']}});expect(b['intents'])['toEqual'](['order_health']),expect(b['edges']['tableEdges'])['toEqual'](['machine.node','repository.data_about','permission.entity']),expect(b['edges']['familyDepths'])['toMatchObject']({'M':0x3}),expect(b['budget']['maxDepth'])['toBe'](0x6),expect(b['trace']['some'](c=>c['startsWith']('persona\x20preference')))['toBe'](!![]);}),it('explicit\x20table_edges\x20REPLACES\x20the\x20accumulated\x20union;\x20explicit\x20budget\x20wins',()=>{const a=resolveExpansionStrategy({'intents':['permission'],'personaPref':{'tableEdges':['permission.entity']},'explicitEdges':{'tableEdges':['demand.presenter'],'budget':{'maxDepth':0x2,'maxNodes':0x64,'maxRpcs':0x1e}}});expect(a['edges']['tableEdges'])['toEqual'](['demand.presenter']),expect(a['budget'])['toEqual']({'maxDepth':0x2,'maxNodes':0x64,'maxFanoutPerNode':undefined,'maxRpcs':0x1e});}),it('table\x20edges\x20accumulate\x20(union)\x20across\x20industry\x20+\x20presets\x20+\x20persona',()=>{const a=resolveExpansionStrategy({'industryTemplate':{'label':'t','tableEdges':['permission.entity']},'intents':['demand_match'],'personaPref':{'tableEdges':['machine.node']}});expect(a['edges']['tableEdges'])['toEqual'](['permission.entity','demand.presenter','demand.presenter_service','machine.node']);}),it('event\x20edges:\x20presets\x20opt\x20in,\x20layers\x20union,\x20explicit\x20replaces,\x20no\x20kernel\x20default',()=>{const a=resolveExpansionStrategy({'intents':['order_health']});expect(a['edges']['eventEdges'])['toEqual'](['service.order_history','eoa.order_history']);const b=resolveExpansionStrategy({'intents':['arbitration']});expect(b['edges']['eventEdges'])['toEqual'](['arb.history']);const c=resolveExpansionStrategy({'intents':['order_health','arbitration']});expect(c['edges']['eventEdges'])['toEqual'](['service.order_history','eoa.order_history','arb.history']);const d=resolveExpansionStrategy({'intents':['order_health'],'explicitEdges':{'eventEdges':['arb.history']}});expect(d['edges']['eventEdges'])['toEqual'](['arb.history']),expect(resolveExpansionStrategy({'intents':['fund_flow']})['edges']['eventEdges'])['toBeUndefined']();}),it('deny\x20only\x20ever\x20comes\x20from\x20explicit\x20params',()=>{const a=resolveExpansionStrategy({'personaPref':{'families':['M']},'explicitEdges':{'deny':['target.vote']}});expect(a['edges']['deny'])['toEqual'](['target.vote']);});}),describe('strategy\x20—\x20schemaHops\x20five-layer\x20merge',()=>{it('merges\x20per\x20key\x20with\x20industry\x20<\x20intent\x20<\x20persona\x20<\x20explicit\x20and\x20traces\x20every\x20layer',()=>{const a=resolveExpansionStrategy({'industryTemplate':{'label':'t','schemaHops':{'guard.relies':0x2,'arb.voter':0x4}},'intents':['arbitration'],'personaPref':{'schemaHops':{'guard.relies':0x1,'arb.order':0x3}},'explicitEdges':{'schemaHops':{'guard.relies':0x0}}});expect(a['edges']['schemaHops'])['toEqual']({'guard.relies':0x0,'arb.voter':0x4,'arb.order':0x3});const b=a['trace']['join']('\x0a');expect(b)['toContain']('industry\x20template\x20(t):\x20hops'),expect(b)['toContain']('persona\x20preference:\x20hops'),expect(b)['toContain']('explicit:\x20hops\x20guard.relies≤0'),expect(b)['toContain']('effective\x20schema\x20hops:'),expect(b)['toContain']('intent\x20presets\x20(arbitration):');}),it('kernel-default\x20resolution\x20carries\x20no\x20schemaHops\x20and\x20no\x20effective\x20line',()=>{const a=resolveExpansionStrategy({});expect(a['edges']['schemaHops'])['toBeUndefined'](),expect(a['trace']['some'](b=>b['includes']('schema\x20hops')))['toBe'](![]);}),it('drops\x20out-of-range,\x20non-integer\x20and\x20unknown-schema\x20values\x20(TR-4.2)',()=>{const a={'guard.relies':0x9,'arb.order':2.5,'arb.voter':'2','not.a.schema':0x1};a['arb.order']=0x2;const b=resolveExpansionStrategy({'explicitEdges':{'schemaHops':a}});expect(b['edges']['schemaHops'])['toEqual']({'arb.order':0x2});const c=b['trace']['filter'](d=>d['includes']('dropped\x20invalid\x20hops'));expect(c)['toHaveLength'](0x1),expect(c[0x0])['toContain']('guard.relies'),expect(c[0x0])['toContain']('arb.voter'),expect(c[0x0])['toContain']('not.a.schema');}),it('normalizeSchemaHops\x20and\x20persona\x20schema_hops\x20share\x20the\x20same\x20rules',()=>{expect(normalizeSchemaHops({'guard.relies':0x1,'bogus':0x1,'x':-0x1}))['toEqual']({'guard.relies':0x1}),expect(normalizeSchemaHops(null))['toBeUndefined'](),expect(normalizeSchemaHops({'bogus':0x1}))['toBeUndefined']();const a=normalizeTopologyFocusPref({'schema_hops':{'guard.relies':0x1,'nope':0x2}});expect(a['schema_hops'])['toEqual']({'guard.relies':0x1});});}),describe('strategy\x20—\x20EVALUATION_SERVICE\x20bundle',()=>{it('is\x20the\x20seven-intent\x20union\x20with\x20valid\x20ids\x20and\x20a\x20bounded\x20budget',()=>{expect([...EVALUATION_SERVICE_INTENTS])['toEqual'](['order_health','supply_chain','arbitration','workflow','fund_flow','permission','reputation']);for(const a of EVALUATION_SERVICE_INTENTS)expect(isTopologyIntent(a))['toBe'](!![]);expect(EVALUATION_SERVICE_BUDGET['maxNodes'])['toBeLessThanOrEqual'](0x1f4),expect(EVALUATION_SERVICE_BUDGET['maxRpcs'])['toBeLessThanOrEqual'](0x78);}),it('resolves\x20into\x20a\x20union\x20whitelist\x20carrying\x20the\x20bundle\x27s\x20tables\x20and\x20depths',()=>{const a=resolveExpansionStrategy({'intents':[...EVALUATION_SERVICE_INTENTS]});expect(a['edges']['tableEdges'])['toContain']('machine.node'),expect(a['edges']['schemas'])['toContain']('payment.recipient'),expect(a['edges']['schemas'])['toContain']('arb.voter'),expect(a['edges']['schemas'])['toContain']('arbitration.voting_guard'),expect(a['edges']['schemas'])['toContain']('service.order'),expect(a['edges']['schemas'])['toContain']('eoa.order'),expect(a['edges']['schemas'])['toContain']('service.reward'),expect(a['edges']['schemas'])['toContain']('reward.guard'),expect(a['edges']['familyDepths'])['toMatchObject']({'W':0x5,'M':0x4,'S':0x3,'R':0x4});}),it('withEvaluationBundle\x20raises\x20the\x20S\x20floor\x20to\x205\x20and\x20stamps\x20the\x20budget',()=>{const a=withEvaluationBundle(resolveExpansionStrategy({'intents':[...EVALUATION_SERVICE_INTENTS]}));expect(a['edges']['familyDepths'])['toEqual']({'W':0x5,'M':0x4,'S':0x5,'R':0x4}),expect(a['budget'])['toEqual'](EVALUATION_SERVICE_BUDGET),expect(a['trace']['some'](b=>b['includes']('S≤5\x20floor')))['toBe'](!![]);});}),describe('strategy\x20—\x20normalizeTopologyFocusPref',()=>{it('keeps\x20valid\x20fields,\x20drops\x20invalid\x20ones',()=>{const a=normalizeTopologyFocusPref({'intents':['fund_flow','bogus_intent'],'families':['M','X'],'table_edges':['machine.node',0x2a],'family_depths':{'M':0x3,'Z':0x9},'max_depth':0x5,'max_nodes':0x270f,'max_fanout':-0x1});expect(a)['toEqual']({'intents':['fund_flow'],'families':['M'],'table_edges':['machine.node'],'family_depths':{'M':0x3},'max_depth':0x5});}),it('returns\x20undefined\x20for\x20empty/invalid\x20input',()=>{expect(normalizeTopologyFocusPref(null))['toBeUndefined'](),expect(normalizeTopologyFocusPref('x'))['toBeUndefined'](),expect(normalizeTopologyFocusPref({}))['toBeUndefined'](),expect(normalizeTopologyFocusPref({'intents':'not-an-array'}))['toBeUndefined']();});});function mk(a,b){return'0x'+a['toString'](0x10)['padStart'](0x2,'0')+b['toString'](0x10)['padStart'](0x3e,'0');}const eoa=a=>mk(0x0,a),obj=(a,b)=>mk(0x10+a,b),T_USDT='0x2::wow::coins::USDT',buyer=eoa(0x1),merchant=eoa(0x3),svc=obj(0x4,0xa),mac=obj(0x5,0xb),o1=obj(0x6,0x15),pr1=obj(0x7,0x1f),pay=obj(0x8,0x29),perm=obj(0x0,0x33);function depthPlane(){const a=new Map([[o1['toLowerCase'](),{'object':o1,'type':'Order','data':{'builder':buyer,'agent':[],'service':svc,'machine':mac,'progress':pr1,'dispute':[]}}],[svc['toLowerCase'](),{'object':svc,'type':'Service','data':{'permission':perm,'machine':mac},'type_raw':'0x2::service::Service<'+T_USDT+'>'}],[mac['toLowerCase'](),{'object':mac,'type':'Machine','data':{'permission':perm}}],[pr1['toLowerCase'](),{'object':pr1,'type':'Progress','data':{'machine':mac,'task':o1,'current':'done'}}],[pay['toLowerCase'](),{'object':pay,'type':'Payment','data':{'record':[{'recipient':merchant,'amount':'100'}],'info':{}},'type_raw':'0x2::payment::Payment<'+T_USDT+'>'}],[perm['toLowerCase'](),{'object':perm,'type':'Permission','data':{'admin':[merchant]}}]]),b=new Map([['0xaa8',new Map([[buyer,{'items':[{'role':0x1,'order':o1,'time':0x1}]}]])]]),c=new Map([]);return new FakeDataPlane({'objects':a,'keyedFields':b,'tables':c});}describe('strategy\x20—\x20Gate\x20familyDepths\x20in\x20expandTopology',()=>{it('F\x20cap\x201\x20from\x20an\x20EOA\x20seed\x20blocks\x20every\x20field\x20edge\x20(orders\x20reached,\x20service\x20not)',async()=>{const a=await expandTopology(depthPlane(),{'network':ENTRYPOINT['Mainnet'],'seed':buyer,'edges':{'familyDepths':{'F':0x1}}});expect(a['nodes']['has'](o1['toLowerCase']()))['toBe'](!![]),expect(a['nodes']['has'](svc['toLowerCase']()))['toBe'](![]),expect(a['edges']['some'](b=>b['family']==='F'))['toBe'](![]);}),it('F\x20cap\x202\x20allows\x20one\x20hop\x20of\x20field\x20edges\x20then\x20stops',async()=>{const a=await expandTopology(depthPlane(),{'network':ENTRYPOINT['Mainnet'],'seed':buyer,'edges':{'familyDepths':{'F':0x2}}});expect(a['nodes']['has'](svc['toLowerCase']()))['toBe'](!![]),expect(a['edges']['some'](b=>b['schema']==='service.permission'))['toBe'](![]);}),it('W\x20cap\x200\x20keeps\x20the\x20workflow\x20family\x20closed\x20even\x20with\x20machine.node\x20whitelisted',async()=>{const a=await expandTopology(depthPlane(),{'network':ENTRYPOINT['Mainnet'],'seed':buyer,'edges':{'tableEdges':['machine.node'],'familyDepths':{'W':0x0}}});expect(a['edges']['some'](b=>b['family']==='W'))['toBe'](![]);}),it('unset\x20families\x20fall\x20back\x20to\x20the\x20global\x20maxDepth\x20(no\x20regression)',async()=>{const a=await expandTopology(depthPlane(),{'network':ENTRYPOINT['Mainnet'],'seed':buyer});expect(a['nodes']['has'](svc['toLowerCase']()))['toBe'](!![]),expect(a['nodes']['has'](perm['toLowerCase']()))['toBe'](!![]);});}),describe('strategy\x20—\x20Gate\x20schemaHops\x20in\x20expandTopology',()=>{const a=obj(0xa,0x83),b=obj(0xa,0x84),c=obj(0xa,0x85);function d(){const e=new Map([[a['toLowerCase'](),{'object':a,'type':'Guard','data':{'relies':[b]}}],[b['toLowerCase'](),{'object':b,'type':'Guard','data':{'relies':[c]}}],[c['toLowerCase'](),{'object':c,'type':'Guard','data':{'relies':[]}}]]);return new FakeDataPlane({'objects':e,'keyedFields':new Map(),'tables':new Map()});}it('strategy\x20cannot\x20raise\x20the\x20contract\x20cap\x20(guard.relies\x20stays\x201\x20with\x20schemaHops=2)',async()=>{const e=await expandTopology(d(),{'network':ENTRYPOINT['Mainnet'],'seed':a,'edges':{'schemaHops':{'guard.relies':0x2}}});expect(e['edges']['some'](f=>f['schema']==='guard.relies'&&f['from']===a&&f['to']===b))['toBe'](!![]),expect(e['edges']['some'](f=>f['schema']==='guard.relies'&&f['from']===b&&f['to']===c))['toBe'](![]),expect(e['truncations']['find'](f=>f['reason']==='schema_hops')?.['limit'])['toBe'](0x1);}),it('strategy\x20narrows\x20below\x20the\x20contract\x20cap\x20(schemaHops=0\x20blocks\x20even\x20the\x20first\x20hop)',async()=>{const e=await expandTopology(d(),{'network':ENTRYPOINT['Mainnet'],'seed':a,'edges':{'schemaHops':{'guard.relies':0x0}}});expect(e['edges']['some'](g=>g['schema']==='guard.relies'))['toBe'](![]),expect(e['nodes']['has'](b['toLowerCase']()))['toBe'](![]);const f=e['truncations']['find'](g=>g['reason']==='schema_hops');expect(f)['toMatchObject']({'nodeId':a,'schema':'guard.relies','limit':0x0,'observed':0x1});});}),describe('strategy\x20—\x20caller\x20default\x20intents\x20(Task\x2016)',()=>{it('resolves\x20when\x20no\x20higher\x20intent\x20layer\x20exists,\x20with\x20its\x20own\x20trace\x20line',()=>{const a=resolveExpansionStrategy({'defaultIntents':['workflow']});expect(a['intents'])['toEqual'](['workflow']),expect(a['trace']['some'](b=>b['startsWith']('intent\x20(default):\x20workflow')))['toBe'](!![]);}),it('explicit\x20>\x20persona\x20>\x20role\x20default\x20>\x20caller\x20default',()=>{expect(resolveExpansionStrategy({'intents':['arbitration'],'defaultIntents':['workflow']})['intents'])['toEqual'](['arbitration']),expect(resolveExpansionStrategy({'personaPref':{'intents':['reputation']},'defaultIntents':['workflow']})['intents'])['toEqual'](['reputation']),expect(resolveExpansionStrategy({'roleDefault':{'intents':['fund_flow']},'defaultIntents':['workflow']})['intents'])['toEqual'](['fund_flow']);});});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type Severity } from "../../config/severity.js";
|
|
2
|
-
import type { Finding } from "./types.js";
|
|
3
|
-
import type { OpenQuestion } from "./exploration.js";
|
|
4
|
-
export type SynthesisPosture = "prefer" | "avoid" | "neutral";
|
|
5
|
-
export interface RoleVerdict {
|
|
6
|
-
role: string;
|
|
7
|
-
level: Severity;
|
|
8
|
-
drivers: string[];
|
|
9
|
-
open_questions: string[];
|
|
10
|
-
posture: SynthesisPosture;
|
|
11
|
-
}
|
|
12
|
-
export interface SynthesisBlock {
|
|
13
|
-
per_role: RoleVerdict[];
|
|
14
|
-
basis: string;
|
|
15
|
-
}
|
|
16
|
-
export interface SynthesisInput {
|
|
17
|
-
findings: ReadonlyArray<Finding>;
|
|
18
|
-
openQuestions?: ReadonlyArray<OpenQuestion>;
|
|
19
|
-
}
|
|
20
|
-
export declare function synthesizeVerdicts(input: SynthesisInput): SynthesisBlock | undefined;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mkdtempSync,writeFileSync}from'node:fs';import{tmpdir}from'node:os';import{join}from'node:path';import{beforeAll,describe,expect,it}from'vitest';import{beginPolicyRun,endPolicyRun}from'../../config/judgment.js';import{synthesizeVerdicts}from'./synthesis.js';const CONFIG_DIR=mkdtempSync(join(tmpdir(),'wowok-synthesis-'));process['env']['WOWOK_CONFIG_DIR']=CONFIG_DIR,beforeAll(()=>{writeFileSync(join(CONFIG_DIR,'judgment.json'),JSON['stringify']({'version':0x1,'game':{'role_interests':{'customer':{'prefer':['refund'],'avoid':['theft','steal'],'sensitivity':0x1},'merchant':{'prefer':['throughput'],'avoid':[],'sensitivity':0x1}}}}),'utf-8'),beginPolicyRun(),endPolicyRun(),beginPolicyRun();});function finding(a){return{'id':'F1','kind':'risk','severity':'high','title':'t','path':[],'confidence':'exact','roles':['buyer'],'detail':'d','suggestion':'s',...a};}describe('synthesizeVerdicts\x20—\x20drivers\x20and\x20aggregation',()=>{it('returns\x20undefined\x20when\x20no\x20finding\x20carries\x20exposure',()=>{expect(synthesizeVerdicts({'findings':[]}))['toBeUndefined'](),expect(synthesizeVerdicts({'findings':[finding({})]}))['toBeUndefined']();const a=finding({'exposure':{'lossParties':[],'gainPaths':[{'role':'neutral','path':'p','viability':'blocked','gate':'g'}],'verdict':'downgraded','baseSeverity':'high'}});expect(synthesizeVerdicts({'findings':[a]}))['toBeUndefined']();}),it('a\x20role\x20is\x20driven\x20by\x20loss\x20parties\x20and\x20viable/conditional\x20gain\x20paths\x20only',()=>{const a=finding({'id':'F1','severity':'high','exposure':{'lossParties':[{'role':'buyer','basis':'b'}],'gainPaths':[{'role':'merchant','path':'viable\x20path','viability':'viable','gate':'g'},{'role':'supplier','path':'conditional\x20path','viability':'conditional','gate':'g'},{'role':'neutral','path':'unverifiable\x20path','viability':'unverifiable','gate':'g'},{'role':'arbitrator','path':'blocked\x20path','viability':'blocked','gate':'g'}],'verdict':'confirmed'}}),b=synthesizeVerdicts({'findings':[a]});expect(b)['toBeDefined']();const c=b['per_role']['map'](d=>d['role'])['sort']();expect(c)['toEqual'](['buyer','merchant','supplier']),expect(b['per_role']['every'](d=>d['level']==='high'))['toBe'](!![]),expect(b['per_role']['every'](d=>d['drivers']['length']===0x1))['toBe'](!![]);}),it('level\x20is\x20the\x20max\x20driver\x20severity;\x20every\x20driver\x20id\x20is\x20carried',()=>{const a=finding({'id':'F-low','severity':'low','exposure':{'lossParties':[{'role':'buyer','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),b=finding({'id':'F-critical','severity':'critical','exposure':{'lossParties':[{'role':'buyer','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),c=synthesizeVerdicts({'findings':[a,b]}),d=c['per_role']['find'](e=>e['role']==='buyer');expect(d['level'])['toBe']('critical'),expect(d['drivers']['sort']())['toEqual'](['F-critical','F-low']);});}),describe('synthesizeVerdicts\x20—\x20posture\x20and\x20open\x20questions',()=>{it('posture\x20hits\x20the\x20injected\x20game.role_interests\x20keywords\x20over\x20driver\x20texts',()=>{const a=finding({'id':'F-theft','title':'Fund\x20theft\x20risk:\x20Signer\x20recipient\x20without\x20caller\x20identity\x20constraint','detail':'anyone\x20can\x20take\x20the\x20funds','exposure':{'lossParties':[{'role':'buyer','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),b=finding({'id':'F-flow','title':'Steady\x20settlement\x20throughput\x20on\x20the\x20allocation\x20route','detail':'allocations\x20settle\x20on\x20schedule','exposure':{'lossParties':[{'role':'merchant','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),c=synthesizeVerdicts({'findings':[a,b]});expect(c['per_role']['find'](d=>d['role']==='buyer')?.['posture'])['toBe']('avoid'),expect(c['per_role']['find'](d=>d['role']==='merchant')?.['posture'])['toBe']('prefer');}),it('a\x20role\x20without\x20interest-table\x20keywords\x20lands\x20neutral',()=>{const a=finding({'exposure':{'lossParties':[{'role':'supplier','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}});expect(synthesizeVerdicts({'findings':[a]})['per_role'][0x0]['posture'])['toBe']('neutral');}),it('carries\x20only\x20the\x20open\x20questions\x20whose\x20source\x20finding\x20drives\x20the\x20role',()=>{const a=finding({'id':'F-driver','exposure':{'lossParties':[{'role':'buyer','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),b=finding({'id':'F-other','exposure':{'lossParties':[{'role':'merchant','basis':'b'}],'gainPaths':[],'verdict':'confirmed'}}),c=[{'id':'X1','kind':'verification','question':'q1','resolves_with':[],'source':'F-driver'},{'id':'X2','kind':'data_gap','question':'q2','resolves_with':[],'source':'F-other'}],d=synthesizeVerdicts({'findings':[a,b],'openQuestions':c});expect(d['per_role']['find'](e=>e['role']==='buyer')?.['open_questions'])['toEqual'](['X1']),expect(d['per_role']['find'](e=>e['role']==='merchant')?.['open_questions'])['toEqual'](['X2']),expect(d['basis'])['toContain']('2\x20exploration\x20lead(s)\x20remain\x20open');});});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe,expect,it}from'vitest';import{ENTRYPOINT}from'@wowok/wowok';import{FakeDataPlane}from'./dataplane.js';import{expandTopology}from'./expand.js';import{extractTableRefs}from'./extract.js';import{FULL,fullServiceState,fullServiceTables}from'./fixtures.js';function rowsOf(a){const b=fullServiceTables()['get'](a['toLowerCase']());if(!b)throw new Error('fixture\x20table\x20missing:\x20'+a);return b;}function edgeMap(a,b){return a['edges']['filter'](c=>c['schema']===b);}describe('Task\x208\x20ledger\x20tables\x20—\x20pure\x20extraction\x20(TR-8.1)',()=>{it('treasury.record:\x20table\x20key\x20is\x20the\x20Payment,\x20row\x20carries\x20the\x20ledger\x20payload',()=>{const [a]=extractTableRefs('TreasuryRecord',FULL['tres'],rowsOf(FULL['tres']));expect(a['schemaId'])['toBe']('treasury.record'),expect(a['refs']['map'](b=>b['to']))['toEqual']([FULL['pay2']]),expect(a['refs'][0x0]['payload'])['toMatchObject']({'op':0x0,'signer':FULL['merchant'],'externalGuard':FULL['gWd'],'amount':'50000','time':0x18bcfe5b620,'storeFromId':null});}),it('reward.claim:\x20table\x20key\x20is\x20the\x20claimant\x20EOA,\x20payload\x20has\x20total\x20+\x20claim\x20legs',()=>{const [a]=extractTableRefs('RewardClaimRecord',FULL['rew'],rowsOf(FULL['rew']));expect(a['schemaId'])['toBe']('reward.claim'),expect(a['refs']['map'](b=>b['to']))['toEqual']([FULL['claimant']]),expect(a['refs'][0x0]['payload']?.['amount'])['toBe']('1000'),expect(a['refs'][0x0]['payload']?.['claims'])['toEqual']([{'guard':FULL['gClaim'],'amount':'1000','time':0x18bcfe5dd30,'storeFromId':null}]);}),it('repository.data_about:\x20DataKey.id\x20fans\x20out\x20with\x20the\x20row\x20key\x20name',()=>{const [a]=extractTableRefs('RepositoryData',FULL['repo'],rowsOf(FULL['repo']));expect(a['schemaId'])['toBe']('repository.data_about'),expect(a['refs']['map'](b=>b['to']))['toEqual']([FULL['o1']]),expect(a['refs'][0x0]['payload']?.['dataName'])['toBe']('delivery-proof');}),it('demand\x20presenter\x20table\x20fans\x20out\x20BOTH\x20presenter\x20EOA\x20edges\x20and\x20service\x20co-edges',()=>{const a=extractTableRefs('DemandPresenter',FULL['dem'],rowsOf(FULL['dem'])),b=new Map(a['map'](e=>[e['schemaId'],e['refs']]));expect(b['get']('demand.presenter')?.['map'](e=>e['to'])['sort']())['toEqual']([FULL['member'],FULL['supplier']]['sort']());const c=b['get']('demand.presenter_service');expect(c['map'](e=>e['to']))['toEqual']([FULL['svc']]),expect(c[0x0]['key'])['toBe'](FULL['supplier']),expect(c[0x0]['payload'])['toMatchObject']({'presenter':FULL['supplier'],'score':0x5a}),expect(c[0x0]['payload'])['toMatchObject']({'time':0x18bcfe56800,'feedbackTime':0x0});const d=b['get']('demand.presenter')['find'](e=>e['to']===FULL['supplier']);expect(d['payload'])['toMatchObject']({'time':0x18bcfe56800,'feedbackTime':0x0,'feedback':''});}),it('malformed\x20keys\x20/\x20missing\x20targets\x20are\x20skipped,\x20never\x20thrown',()=>{const a=[{'key':'not-an-address','objectId':'x','object':{'object':'x','data':{'op':0x1}}},{'key':FULL['pay1'],'objectId':'x','object':{'object':'x','data':{'op':0x2,'signer':FULL['merchant']}}}],[b]=extractTableRefs('TreasuryRecord',FULL['tres'],a);expect(b['refs']['map'](e=>e['to']))['toEqual']([FULL['pay1']]);const c=[{'key':'02','objectId':'x','object':{'object':'x','data':{'name':'no-id'}}},{'key':'03','objectId':'x','object':{'object':'x','data':{'id':FULL['o2'],'key':'refund-proof'}}}],[d]=extractTableRefs('RepositoryData',FULL['repo'],c);expect(d['refs']['map'](e=>e['to']))['toEqual']([FULL['o2']]),expect(d['refs'][0x0]['payload']?.['dataName'])['toBe']('refund-proof');});}),describe('Task\x208\x20ledger\x20tables\x20—\x20end-to-end\x20expansion\x20from\x20seeds\x20(TR-8.1)',()=>{it('treasury.record\x20materializes\x20with\x20coin\x20type\x20from\x20the\x20Treasury<T>\x20node',async()=>{const a=new FakeDataPlane(fullServiceState()),b=await expandTopology(a,{'network':ENTRYPOINT['Mainnet'],'seed':FULL['tres'],'edges':{'tableEdges':['treasury.record']}}),c=edgeMap(b,'treasury.record');expect(c['map'](d=>d['to']))['toEqual']([FULL['pay2']]),expect(c[0x0]['payload']?.['coinType'])['toContain']('USDT'),expect(b['nodes']['has'](FULL['pay2']['toLowerCase']()))['toBe'](!![]);}),it('reward.claim\x20and\x20repository.data_about\x20materialize\x20through\x20the\x20table\x20channel',async()=>{const a=fullServiceState(),[b,c]=await Promise['all']([expandTopology(new FakeDataPlane(a),{'network':ENTRYPOINT['Mainnet'],'seed':FULL['rew'],'edges':{'tableEdges':['reward.claim']}}),expandTopology(new FakeDataPlane(a),{'network':ENTRYPOINT['Mainnet'],'seed':FULL['repo'],'edges':{'tableEdges':['repository.data_about']}})]);expect(edgeMap(b,'reward.claim')['map'](d=>d['to']))['toEqual']([FULL['claimant']]),expect(edgeMap(c,'repository.data_about')['map'](d=>d['to']))['toEqual']([FULL['o1']]);}),it('presenter_service\x20works\x20alone;\x20opting\x20into\x20both\x20co-edges\x20costs\x20ONE\x20physical\x20read',async()=>{const a=new FakeDataPlane(fullServiceState()),b=await expandTopology(a,{'network':ENTRYPOINT['Mainnet'],'seed':FULL['dem'],'edges':{'tableEdges':['demand.presenter_service']}});expect(edgeMap(b,'demand.presenter_service')['map'](f=>f['to']))['toEqual']([FULL['svc']]),expect(edgeMap(b,'demand.presenter'))['toEqual']([]),expect(a['batches']['tables'])['toBe'](0x1);const c=new FakeDataPlane(fullServiceState()),d=await expandTopology(c,{'network':ENTRYPOINT['Mainnet'],'seed':FULL['dem'],'edges':{'tableEdges':['demand.presenter','demand.presenter_service']}});expect(edgeMap(d,'demand.presenter'))['toHaveLength'](0x2),expect(edgeMap(d,'demand.presenter_service'))['toHaveLength'](0x1),expect(c['batches']['tables'])['toBe'](0x1);}),it('table\x20pages\x20past\x20the\x20cap\x20are\x20reported\x20as\x20table_page\x20truncations',async()=>{const a=fullServiceState();a['tables']['set'](FULL['tres']['toLowerCase'](),[{'key':FULL['pay1'],'objectId':'x','object':{'object':'x','data':{'op':0x1,'amount':'1'}}},{'key':FULL['pay2'],'objectId':'x','object':{'object':'x','data':{'op':0x0,'amount':'2'}}}]);const b=await expandTopology(new FakeDataPlane(a),{'network':ENTRYPOINT['Mainnet'],'seed':FULL['tres'],'edges':{'tableEdges':['treasury.record']},'budget':{'perKindCaps':{'treasury.record':0x1}}}),c=b['truncations']['find'](d=>d['schema']==='treasury.record'&&d['reason']==='table_page');expect(c)['toBeDefined'](),expect(c?.['limit'])['toBe'](0x1);});}),describe('Task\x208\x20ledger\x20tables\x20—\x20opt-in\x20budget\x20protection\x20(TR-8.2)',()=>{it('no\x20table\x20opt-in\x20→\x20zero\x20table\x20RPCs\x20and\x20no\x20ledger\x20edges',async()=>{const a=new FakeDataPlane(fullServiceState()),b=await expandTopology(a,{'network':ENTRYPOINT['Mainnet'],'seed':FULL['tres'],'edges':{'schemas':['treasury.permission']}});expect(a['batches']['tables'])['toBe'](0x0),expect(edgeMap(b,'treasury.record'))['toEqual']([]),expect(edgeMap(b,'reward.claim'))['toEqual']([]),expect(edgeMap(b,'repository.data_about'))['toEqual']([]),expect(edgeMap(b,'demand.presenter_service'))['toEqual']([]);}),it('opting\x20into\x20one\x20ledger\x20table\x20does\x20not\x20light\x20the\x20others\x20on\x20the\x20same\x20node',async()=>{const a=new FakeDataPlane(fullServiceState()),b=await expandTopology(a,{'network':ENTRYPOINT['Mainnet'],'seed':FULL['dem'],'edges':{'tableEdges':['demand.presenter']}});expect(edgeMap(b,'demand.presenter'))['toHaveLength'](0x2),expect(edgeMap(b,'demand.presenter_service'))['toEqual']([]),expect(a['batches']['tables'])['toBe'](0x1);});});
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { TopoEdge, TopologyGraph, ViewerRole, Viewport } from "./types.js";
|
|
2
|
-
export declare function buildViewport(graph: TopologyGraph, observer: string, roleInput?: ViewerRole): Viewport;
|
|
3
|
-
export declare function edgesOut(v: Viewport, nodeId: string, schemaId?: string): TopoEdge[];
|
|
4
|
-
export declare function edgesInc(v: Viewport, nodeId: string, schemaId?: string): TopoEdge[];
|
|
5
|
-
export declare function nodeOf(v: Viewport, id: string): import("./types.js").TopoNode | undefined;
|
|
6
|
-
export declare function profileOf(v: Viewport, nodeId: string): import("./types.js").TopoEdgePayload | undefined;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type HarnessTier } from "../config/runtime.js";
|
|
2
|
-
export type EscalationTrigger = "E1_CRITICAL_RISK" | "E2_OPERATION_CRITICAL" | "E3_SUBSTEP_FAILURE" | "E4_REPEATED_FAILURE";
|
|
3
|
-
export interface EscalationEvent {
|
|
4
|
-
trigger: EscalationTrigger;
|
|
5
|
-
timestamp: string;
|
|
6
|
-
reason: string;
|
|
7
|
-
from_tier: HarnessTier;
|
|
8
|
-
to_tier: HarnessTier;
|
|
9
|
-
}
|
|
10
|
-
export declare function shouldRunHeavyHooks(): boolean;
|
|
11
|
-
export declare function shouldRunLightHooks(): boolean;
|
|
12
|
-
export declare function recordCriticalRisk(description: string): EscalationEvent | null;
|
|
13
|
-
export declare function recordCriticalOperation(operation: string, errorCode: string): EscalationEvent | null;
|
|
14
|
-
export declare function recordSubstepFailure(detail: string): EscalationEvent | null;
|
|
15
|
-
export declare function recordOperationFailure(operation: string, errorCode: string): EscalationEvent | null;
|