@wowok/agent-mcp 2.7.1 → 2.7.3
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/config/index.js +1 -1
- package/dist/config/runtime.js +1 -238
- package/dist/customer/account-events.d.ts +32 -0
- package/dist/customer/account-events.js +1 -0
- package/dist/customer/customer-advice.d.ts +1 -0
- package/dist/customer/customer-advice.js +1 -130
- package/dist/customer/index.js +1 -11
- package/dist/customer/industry-risks.js +1 -438
- package/dist/customer/info-puzzle.js +1 -681
- package/dist/customer/order-monitor.js +1 -328
- package/dist/customer/order-strategy.d.ts +1 -1
- package/dist/customer/order-strategy.js +1 -373
- package/dist/customer/post-purchase.js +1 -351
- package/dist/customer/preorder-compare.js +1 -34
- package/dist/customer/reminder-system.d.ts +2 -0
- package/dist/customer/reminder-system.js +1 -316
- package/dist/customer/risk-assessment.d.ts +1 -0
- package/dist/customer/risk-assessment.js +1 -397
- package/dist/customer/types.d.ts +2 -0
- package/dist/customer/types.js +1 -13
- package/dist/customer/user-preferences.js +1 -460
- package/dist/evaluation/arbitration-game.d.ts +9 -2
- package/dist/evaluation/arbitration-game.js +1 -48
- package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
- package/dist/evaluation/builtins/arbitration-score.js +1 -0
- package/dist/evaluation/builtins/demand-match.js +1 -153
- package/dist/evaluation/builtins/index.d.ts +1 -0
- package/dist/evaluation/builtins/index.js +1 -10
- package/dist/evaluation/builtins/service-risk.js +1 -55
- package/dist/evaluation/capability.js +1 -13
- package/dist/evaluation/category-match-rules.d.ts +30 -0
- package/dist/evaluation/category-match-rules.js +1 -0
- package/dist/evaluation/composer.js +1 -40
- package/dist/evaluation/engine.js +1 -175
- package/dist/evaluation/extract.js +1 -115
- package/dist/evaluation/game-strategy.d.ts +27 -0
- package/dist/evaluation/game-strategy.js +1 -0
- package/dist/evaluation/gap.js +1 -100
- package/dist/evaluation/index.d.ts +2 -0
- package/dist/evaluation/index.js +1 -11
- package/dist/evaluation/location-match.d.ts +42 -0
- package/dist/evaluation/location-match.js +1 -0
- package/dist/evaluation/node-game.d.ts +31 -3
- package/dist/evaluation/node-game.js +1 -57
- package/dist/evaluation/path-reasoning.d.ts +35 -0
- package/dist/evaluation/path-reasoning.js +1 -0
- package/dist/evaluation/region.d.ts +6 -0
- package/dist/evaluation/region.js +1 -36
- package/dist/evaluation/types.d.ts +18 -0
- package/dist/evaluation/types.js +1 -1
- package/dist/evaluation/user-injection.js +1 -27
- package/dist/experience/experience-reuse.js +1 -103
- package/dist/experience/index.js +1 -5
- package/dist/experience/intent-distill.js +1 -83
- package/dist/experience/realtime-feedback.js +1 -94
- package/dist/experience/types.js +1 -1
- package/dist/experience/user-profile.d.ts +1 -1
- package/dist/experience/user-profile.js +1 -171
- package/dist/extensions/business-modules.js +1 -287
- package/dist/extensions/capability-manifest.js +1 -781
- package/dist/extensions/constraint-registry.js +1 -198
- package/dist/extensions/index.d.ts +6 -0
- package/dist/extensions/index.js +1 -6
- package/dist/extensions/industry-layers.d.ts +75 -0
- package/dist/extensions/industry-layers.js +1 -0
- package/dist/extensions/industry-pack.d.ts +105 -0
- package/dist/extensions/industry-pack.js +1 -0
- package/dist/extensions/metric-registry.js +1 -257
- package/dist/extensions/mode-evaluator.d.ts +1 -1
- package/dist/extensions/mode-evaluator.js +1 -170
- package/dist/extensions/modes.js +1 -499
- package/dist/extensions/registry.d.ts +1 -0
- package/dist/extensions/registry.js +1 -717
- package/dist/extensions/types.js +1 -1
- package/dist/graph/base.d.ts +8 -0
- package/dist/graph/base.js +1 -0
- package/dist/harness/auto-escalation.js +1 -68
- package/dist/harness/checkpoint.js +1 -129
- package/dist/harness/index.d.ts +1 -0
- package/dist/harness/index.js +1 -78
- package/dist/harness/plan.d.ts +2 -0
- package/dist/harness/plan.js +1 -315
- package/dist/harness/recover.d.ts +1 -1
- package/dist/harness/recover.js +1 -139
- package/dist/harness/types.d.ts +2 -3
- package/dist/harness/types.js +1 -1
- package/dist/harness/verify.js +1 -237
- package/dist/index.js +1 -273
- package/dist/intent/enrich.js +1 -67
- package/dist/intent/index.js +1 -60
- package/dist/intent/matcher.js +1 -81
- package/dist/intent/store.js +1 -55
- package/dist/intent/types.js +1 -10
- package/dist/knowledge/acquisition-flywheel.js +1 -192
- package/dist/knowledge/allocation-confirm.js +1 -534
- package/dist/knowledge/allocation-context.js +1 -249
- package/dist/knowledge/allocation-ledger.js +1 -463
- package/dist/knowledge/allocation-puzzle.js +1 -298
- package/dist/knowledge/allocation-risk.js +1 -568
- package/dist/knowledge/allocation-templates.js +1 -970
- package/dist/knowledge/allocation-translation.js +1 -585
- package/dist/knowledge/anti-cheat.d.ts +37 -0
- package/dist/knowledge/anti-cheat.js +1 -0
- package/dist/knowledge/arb-confirm.d.ts +28 -0
- package/dist/knowledge/arb-confirm.js +1 -0
- package/dist/knowledge/arb-risk.js +1 -210
- package/dist/knowledge/arb-translation.d.ts +48 -0
- package/dist/knowledge/arb-translation.js +1 -0
- package/dist/knowledge/arbitration-confirm.js +1 -559
- package/dist/knowledge/arbitration-context.js +1 -505
- package/dist/knowledge/arbitration-ledger.js +1 -521
- package/dist/knowledge/arbitration-puzzle.js +1 -304
- package/dist/knowledge/arbitration-risk.js +1 -423
- package/dist/knowledge/arbitration-templates.js +1 -276
- package/dist/knowledge/arbitration-translation.js +1 -487
- package/dist/knowledge/audit-rules.js +1 -141
- package/dist/knowledge/bridge-confirm.d.ts +26 -0
- package/dist/knowledge/bridge-confirm.js +1 -0
- package/dist/knowledge/bridge-risk.js +1 -263
- package/dist/knowledge/bridge-translation.d.ts +37 -0
- package/dist/knowledge/bridge-translation.js +1 -0
- package/dist/knowledge/contact-confirm.d.ts +27 -0
- package/dist/knowledge/contact-confirm.js +1 -0
- package/dist/knowledge/contact-risk.js +1 -200
- package/dist/knowledge/contact-templates.js +1 -60
- package/dist/knowledge/contact-translation.d.ts +39 -0
- package/dist/knowledge/contact-translation.js +1 -0
- package/dist/knowledge/demand-confirm.js +1 -206
- package/dist/knowledge/demand-context.d.ts +17 -0
- package/dist/knowledge/demand-context.js +1 -0
- package/dist/knowledge/demand-ledger.d.ts +26 -0
- package/dist/knowledge/demand-ledger.js +1 -0
- package/dist/knowledge/demand-matching.js +1 -132
- package/dist/knowledge/demand-puzzle.d.ts +29 -0
- package/dist/knowledge/demand-puzzle.js +1 -0
- package/dist/knowledge/demand-risk.js +1 -240
- package/dist/knowledge/demand-templates.d.ts +12 -0
- package/dist/knowledge/demand-templates.js +1 -0
- package/dist/knowledge/demand-translation.js +1 -354
- package/dist/knowledge/deployment-scanner.js +1 -823
- package/dist/knowledge/dynamic-pricing.js +1 -87
- package/dist/knowledge/evidence-review.d.ts +12 -0
- package/dist/knowledge/evidence-review.js +1 -0
- package/dist/knowledge/examples-scanner-cli.js +1 -26
- package/dist/knowledge/examples-scanner.js +1 -843
- package/dist/knowledge/flywheel-loop.d.ts +0 -1
- package/dist/knowledge/flywheel-loop.js +1 -404
- package/dist/knowledge/fund-layer.js +1 -973
- package/dist/knowledge/glossary.js +1 -211
- package/dist/knowledge/guard-confirm.js +1 -406
- package/dist/knowledge/guard-context.js +1 -287
- package/dist/knowledge/guard-design-patterns.js +1 -360
- package/dist/knowledge/guard-ledger.js +1 -260
- package/dist/knowledge/guard-lint.js +1 -670
- package/dist/knowledge/guard-migration.d.ts +1 -1
- package/dist/knowledge/guard-migration.js +1 -228
- package/dist/knowledge/guard-puzzle.js +1 -805
- package/dist/knowledge/guard-render.js +1 -700
- package/dist/knowledge/guard-risk.js +1 -1879
- package/dist/knowledge/guard-submission-prompt.js +1 -171
- package/dist/knowledge/guard-templates.js +1 -1105
- package/dist/knowledge/guard-translation.js +1 -1119
- package/dist/knowledge/index.d.ts +71 -3
- package/dist/knowledge/index.js +1 -436
- package/dist/knowledge/industry-evolution.js +1 -323
- package/dist/knowledge/industry-generalizer.js +1 -381
- package/dist/knowledge/industry-registry.js +1 -174
- package/dist/knowledge/intent-metrics.d.ts +4 -3
- package/dist/knowledge/intent-metrics.js +1 -566
- package/dist/knowledge/machine-confirm.js +1 -559
- package/dist/knowledge/machine-context.js +1 -833
- package/dist/knowledge/machine-ledger.js +1 -338
- package/dist/knowledge/machine-puzzle.js +1 -494
- package/dist/knowledge/machine-render.js +1 -565
- package/dist/knowledge/machine-risk.js +1 -669
- package/dist/knowledge/machine-templates.js +1 -1597
- package/dist/knowledge/machine-topology.js +1 -234
- package/dist/knowledge/machine-translation.js +1 -513
- package/dist/knowledge/market-metrics.d.ts +12 -0
- package/dist/knowledge/market-metrics.js +1 -0
- package/dist/knowledge/market-operations.d.ts +46 -0
- package/dist/knowledge/market-operations.js +1 -0
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -45
- package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
- package/dist/knowledge/mcp-schema-audit.js +1 -777
- package/dist/knowledge/onchain-constants.js +1 -35
- package/dist/knowledge/order-confirm.js +1 -573
- package/dist/knowledge/order-context.js +1 -390
- package/dist/knowledge/order-ledger.js +1 -341
- package/dist/knowledge/order-puzzle.js +1 -255
- package/dist/knowledge/order-risk.js +1 -653
- package/dist/knowledge/order-templates.js +1 -368
- package/dist/knowledge/order-translation.js +1 -550
- package/dist/knowledge/overrides-loader.js +1 -65
- package/dist/knowledge/passport-confirm.js +1 -531
- package/dist/knowledge/passport-context.js +1 -306
- package/dist/knowledge/passport-ledger.js +1 -282
- package/dist/knowledge/passport-puzzle.js +1 -333
- package/dist/knowledge/passport-risk.js +1 -450
- package/dist/knowledge/passport-templates.js +1 -568
- package/dist/knowledge/passport-translation.js +1 -516
- package/dist/knowledge/payment-confirm.d.ts +26 -0
- package/dist/knowledge/payment-confirm.js +1 -0
- package/dist/knowledge/payment-risk.js +1 -249
- package/dist/knowledge/payment-translation.d.ts +37 -0
- package/dist/knowledge/payment-translation.js +1 -0
- package/dist/knowledge/permission-confirm.js +1 -426
- package/dist/knowledge/permission-context.js +1 -224
- package/dist/knowledge/permission-ledger.d.ts +11 -0
- package/dist/knowledge/permission-ledger.js +1 -403
- package/dist/knowledge/permission-puzzle.js +1 -173
- package/dist/knowledge/permission-risk.js +1 -411
- package/dist/knowledge/permission-templates.js +1 -234
- package/dist/knowledge/permission-translation.js +1 -350
- package/dist/knowledge/personal-confirm.d.ts +29 -0
- package/dist/knowledge/personal-confirm.js +1 -0
- package/dist/knowledge/personal-risk.js +1 -212
- package/dist/knowledge/personal-translation.d.ts +37 -0
- package/dist/knowledge/personal-translation.js +1 -0
- package/dist/knowledge/process-model.d.ts +1 -11
- package/dist/knowledge/process-model.js +1 -160
- package/dist/knowledge/progress-confirm.js +1 -456
- package/dist/knowledge/progress-context.js +1 -452
- package/dist/knowledge/progress-ledger.js +1 -330
- package/dist/knowledge/progress-puzzle.js +1 -219
- package/dist/knowledge/progress-risk.js +1 -461
- package/dist/knowledge/progress-templates.js +1 -228
- package/dist/knowledge/progress-translation.js +1 -405
- package/dist/knowledge/proof-confirm.js +1 -187
- package/dist/knowledge/proof-context.d.ts +17 -0
- package/dist/knowledge/proof-context.js +1 -0
- package/dist/knowledge/proof-ledger.d.ts +34 -0
- package/dist/knowledge/proof-ledger.js +1 -0
- package/dist/knowledge/proof-puzzle.d.ts +35 -0
- package/dist/knowledge/proof-puzzle.js +1 -0
- package/dist/knowledge/proof-risk.js +1 -207
- package/dist/knowledge/proof-templates.d.ts +22 -0
- package/dist/knowledge/proof-templates.js +1 -0
- package/dist/knowledge/proof-translation.js +1 -283
- package/dist/knowledge/registrar-confirm.d.ts +26 -0
- package/dist/knowledge/registrar-confirm.js +1 -0
- package/dist/knowledge/registrar-risk.js +1 -217
- package/dist/knowledge/registrar-translation.d.ts +37 -0
- package/dist/knowledge/registrar-translation.js +1 -0
- package/dist/knowledge/repository-confirm.js +1 -286
- package/dist/knowledge/repository-context.d.ts +12 -0
- package/dist/knowledge/repository-context.js +1 -0
- package/dist/knowledge/repository-ledger.d.ts +25 -0
- package/dist/knowledge/repository-ledger.js +1 -0
- package/dist/knowledge/repository-puzzle.d.ts +30 -0
- package/dist/knowledge/repository-puzzle.js +1 -0
- package/dist/knowledge/repository-risk.js +1 -373
- package/dist/knowledge/repository-templates.d.ts +14 -0
- package/dist/knowledge/repository-templates.js +1 -0
- package/dist/knowledge/repository-translation.js +1 -445
- package/dist/knowledge/reputation-rules.js +1 -99
- package/dist/knowledge/resource-confirm.d.ts +25 -0
- package/dist/knowledge/resource-confirm.js +1 -0
- package/dist/knowledge/resource-risk.js +1 -157
- package/dist/knowledge/resource-translation.d.ts +37 -0
- package/dist/knowledge/resource-translation.js +1 -0
- package/dist/knowledge/reward-confirm.js +1 -526
- package/dist/knowledge/reward-context.d.ts +2 -2
- package/dist/knowledge/reward-context.js +1 -504
- package/dist/knowledge/reward-ledger.js +1 -502
- package/dist/knowledge/reward-puzzle.js +1 -300
- package/dist/knowledge/reward-risk.js +1 -627
- package/dist/knowledge/reward-templates.js +1 -197
- package/dist/knowledge/reward-translation.js +1 -501
- package/dist/knowledge/safety-rules.d.ts +1 -0
- package/dist/knowledge/safety-rules.js +1 -404
- package/dist/knowledge/scenario-modes.js +1 -321
- package/dist/knowledge/service-confirm.js +1 -807
- package/dist/knowledge/service-context.js +1 -403
- package/dist/knowledge/service-ledger.js +1 -609
- package/dist/knowledge/service-puzzle.js +1 -236
- package/dist/knowledge/service-risk.d.ts +1 -1
- package/dist/knowledge/service-risk.js +1 -651
- package/dist/knowledge/service-templates.js +1 -456
- package/dist/knowledge/service-translation.js +1 -622
- package/dist/knowledge/template-registry.js +1 -353
- package/dist/knowledge/tool-constraints.js +1 -195
- package/dist/knowledge/tools-reference.js +1 -178
- package/dist/knowledge/treasury-confirm.js +1 -512
- package/dist/knowledge/treasury-context.js +1 -363
- package/dist/knowledge/treasury-ledger.js +1 -300
- package/dist/knowledge/treasury-puzzle.js +1 -216
- package/dist/knowledge/treasury-risk.js +1 -440
- package/dist/knowledge/treasury-templates.js +1 -358
- package/dist/knowledge/treasury-translation.js +1 -498
- package/dist/knowledge/trust-metrics.js +1 -198
- package/dist/knowledge/universal-template.d.ts +22 -0
- package/dist/knowledge/universal-template.js +1 -0
- package/dist/knowledge/util-confirm.d.ts +24 -0
- package/dist/knowledge/util-confirm.js +1 -0
- package/dist/knowledge/util-risk.js +1 -135
- package/dist/knowledge/util-translation.d.ts +38 -0
- package/dist/knowledge/util-translation.js +1 -0
- package/dist/knowledge/workflow-guidance.d.ts +116 -0
- package/dist/knowledge/workflow-guidance.js +1 -0
- package/dist/loop-engineering/aggregate.js +1 -132
- package/dist/loop-engineering/context-collect.js +1 -83
- package/dist/loop-engineering/diagnose.js +1 -273
- package/dist/loop-engineering/improve.js +1 -405
- package/dist/loop-engineering/index.js +1 -4
- package/dist/loop-engineering/pipeline.js +1 -56
- package/dist/mode-market/index.js +1 -3
- package/dist/mode-market/registry.js +1 -124
- package/dist/mode-market/review.js +1 -214
- package/dist/mode-market/submission.js +1 -85
- package/dist/participation/collaborator-interest.d.ts +23 -0
- package/dist/participation/collaborator-interest.js +1 -0
- package/dist/participation/customer-interest.d.ts +25 -0
- package/dist/participation/customer-interest.js +1 -0
- package/dist/participation/employee-kpi.d.ts +25 -0
- package/dist/participation/employee-kpi.js +1 -0
- package/dist/participation/employee-store.d.ts +16 -0
- package/dist/participation/employee-store.js +1 -0
- package/dist/participation/index.d.ts +2 -0
- package/dist/participation/index.js +1 -0
- package/dist/participation/merchant-interest.js +1 -100
- package/dist/participation/radar-core.d.ts +13 -3
- package/dist/participation/radar-core.js +1 -269
- package/dist/participation/supplier-interest.d.ts +25 -0
- package/dist/participation/supplier-interest.js +1 -0
- package/dist/persona/analyzer.js +1 -66
- package/dist/persona/bridge.js +1 -86
- package/dist/persona/defaults.js +1 -195
- package/dist/persona/experience-bridge.js +1 -23
- package/dist/persona/index.d.ts +9 -2
- package/dist/persona/index.js +1 -71
- package/dist/persona/local-region.d.ts +20 -0
- package/dist/persona/local-region.js +1 -0
- package/dist/persona/model.js +1 -111
- package/dist/persona/overrides.d.ts +10 -0
- package/dist/persona/overrides.js +1 -0
- package/dist/persona/pack-personae.d.ts +11 -0
- package/dist/persona/pack-personae.js +1 -0
- package/dist/persona/store.js +1 -62
- package/dist/persona/strategy-intent.d.ts +20 -0
- package/dist/persona/strategy-intent.js +1 -0
- package/dist/persona/types.d.ts +6 -2
- package/dist/persona/types.js +1 -5
- package/dist/project/business-puzzle.d.ts +1 -1
- package/dist/project/business-puzzle.js +1 -383
- package/dist/project/context-assembly.js +1 -254
- package/dist/project/deployment-bridge.js +1 -120
- package/dist/project/deployment-doc.js +1 -1126
- package/dist/project/edit-planner.js +1 -1342
- package/dist/project/evaluation.d.ts +37 -1
- package/dist/project/evaluation.js +1 -2011
- package/dist/project/game-theory.js +1 -177
- package/dist/project/graph-builder.js +1 -656
- package/dist/project/graph.d.ts +3 -6
- package/dist/project/graph.js +1 -340
- package/dist/project/handlers.d.ts +33 -2
- package/dist/project/handlers.js +1 -1784
- package/dist/project/index.d.ts +2 -0
- package/dist/project/index.js +1 -301
- package/dist/project/intent-analyzer.js +1 -149
- package/dist/project/machine-nodes.js +1 -36
- package/dist/project/merchant-guide.d.ts +19 -0
- package/dist/project/merchant-guide.js +1 -264
- package/dist/project/migration.js +1 -125
- package/dist/project/mode-actions.js +1 -309
- package/dist/project/namespace.js +1 -206
- package/dist/project/participation-radar.js +1 -428
- package/dist/project/pipeline-actions.js +1 -109
- package/dist/project/project-store.js +1 -422
- package/dist/project/query.js +1 -153
- package/dist/project/reverse-mapping.d.ts +34 -0
- package/dist/project/reverse-mapping.js +1 -0
- package/dist/project/risk-aggregator.js +1 -295
- package/dist/project/rollback-policy.js +1 -290
- package/dist/project/semantic-assembler.js +1 -345
- package/dist/project/semantic-graph.d.ts +3 -5
- package/dist/project/semantic-graph.js +1 -292
- package/dist/project/stage-gate.js +1 -369
- package/dist/project/substep-trace.js +1 -332
- package/dist/project/task-tracker.js +1 -78
- package/dist/project/workflow-design-assessment.d.ts +24 -0
- package/dist/project/workflow-design-assessment.js +1 -0
- package/dist/role/derivation.d.ts +18 -0
- package/dist/role/derivation.js +1 -0
- package/dist/role/index.d.ts +5 -0
- package/dist/role/index.js +1 -0
- package/dist/role/model.d.ts +8 -0
- package/dist/role/model.js +1 -0
- package/dist/role/resolution.d.ts +11 -0
- package/dist/role/resolution.js +1 -0
- package/dist/role/types.d.ts +11 -0
- package/dist/role/types.js +1 -0
- package/dist/rules.js +1 -52
- package/dist/safety/confirm-gate.d.ts +1 -1
- package/dist/safety/confirm-gate.js +1 -88
- package/dist/safety/index.js +1 -3
- package/dist/safety/preview.js +1 -52
- package/dist/schema/call/allocation.d.ts +186 -1385
- package/dist/schema/call/allocation.js +1 -34
- package/dist/schema/call/arbitration.d.ts +272 -1871
- package/dist/schema/call/arbitration.js +1 -113
- package/dist/schema/call/base.d.ts +1831 -9076
- package/dist/schema/call/base.js +1 -370
- package/dist/schema/call/bridge.d.ts +911 -3171
- package/dist/schema/call/bridge.js +1 -458
- package/dist/schema/call/contact.d.ts +135 -931
- package/dist/schema/call/contact.js +1 -37
- package/dist/schema/call/demand.d.ts +164 -1194
- package/dist/schema/call/demand.js +1 -47
- package/dist/schema/call/guard.d.ts +298 -1140
- package/dist/schema/call/guard.js +1 -161
- package/dist/schema/call/handler.js +1 -322
- package/dist/schema/call/index.js +1 -20
- package/dist/schema/call/machine.d.ts +459 -5403
- package/dist/schema/call/machine.js +1 -193
- package/dist/schema/call/order.d.ts +137 -844
- package/dist/schema/call/order.js +1 -35
- package/dist/schema/call/payment.d.ts +74 -561
- package/dist/schema/call/payment.js +1 -37
- package/dist/schema/call/permission-handler.js +1 -54
- package/dist/schema/call/permission.d.ts +335 -2791
- package/dist/schema/call/permission.js +1 -105
- package/dist/schema/call/personal.d.ts +227 -1814
- package/dist/schema/call/personal.js +1 -78
- package/dist/schema/call/progress.d.ts +140 -843
- package/dist/schema/call/progress.js +1 -47
- package/dist/schema/call/proof.d.ts +42 -258
- package/dist/schema/call/proof.js +1 -33
- package/dist/schema/call/repository.d.ts +324 -2222
- package/dist/schema/call/repository.js +1 -77
- package/dist/schema/call/reward.d.ts +153 -1183
- package/dist/schema/call/reward.js +1 -30
- package/dist/schema/call/semantic.js +1 -1679
- package/dist/schema/call/service.d.ts +376 -3431
- package/dist/schema/call/service.js +1 -184
- package/dist/schema/call/treasury.d.ts +252 -2158
- package/dist/schema/call/treasury.js +1 -71
- package/dist/schema/common/index.d.ts +222 -697
- package/dist/schema/common/index.js +1 -407
- package/dist/schema/config/index.d.ts +18 -161
- package/dist/schema/config/index.js +1 -68
- package/dist/schema/employee/index.d.ts +99 -0
- package/dist/schema/employee/index.js +1 -0
- package/dist/schema/evaluation/index.d.ts +1062 -3748
- package/dist/schema/evaluation/index.js +1 -356
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.js +1 -17
- package/dist/schema/industry-pack/index.d.ts +132 -0
- package/dist/schema/industry-pack/index.js +1 -0
- package/dist/schema/intent-radar/index.d.ts +92 -245
- package/dist/schema/intent-radar/index.js +1 -89
- package/dist/schema/local/index.d.ts +2045 -18080
- package/dist/schema/local/index.js +1 -927
- package/dist/schema/local/wip.d.ts +61 -651
- package/dist/schema/local/wip.js +1 -187
- package/dist/schema/messenger/index.d.ts +949 -5557
- package/dist/schema/messenger/index.js +1 -475
- package/dist/schema/operations.d.ts +2969 -26518
- package/dist/schema/operations.js +1 -520
- package/dist/schema/persona/index.d.ts +469 -1820
- package/dist/schema/persona/index.js +1 -148
- package/dist/schema/project/index.d.ts +1027 -8408
- package/dist/schema/project/index.js +1 -2057
- package/dist/schema/query/index.d.ts +12041 -75261
- package/dist/schema/query/index.js +1 -1646
- package/dist/schema/schema-query/index.d.ts +35 -98
- package/dist/schema/schema-query/index.js +1 -104
- package/dist/schema/schema-version.js +1 -76
- package/dist/schema/task-status.d.ts +26 -132
- package/dist/schema/task-status.js +1 -36
- package/dist/schema/trust/index.d.ts +194 -1290
- package/dist/schema/trust/index.js +1 -314
- package/dist/schema/utils/guard-parser.js +1 -419
- package/dist/schema/utils/guard-query-utils.js +1 -46
- package/dist/schema/utils/node-parser.js +1 -369
- package/dist/schema/utils/object-type-utils.js +1 -35
- package/dist/schema/utils/permission-index-utils.js +1 -7
- package/dist/schema/utils/permission-machine-check.js +1 -121
- package/dist/schema/utils/skills-recommendation.d.ts +1 -0
- package/dist/schema/utils/skills-recommendation.js +1 -77
- package/dist/schema/workspace/index.d.ts +69 -0
- package/dist/schema/workspace/index.js +1 -0
- package/dist/schema-query-impl/index.js +1 -0
- package/dist/schemas/account_operation.output.json +3147 -1652
- package/dist/schemas/account_operation.schema.json +225 -218
- package/dist/schemas/bridge_operation.output.json +1168 -650
- package/dist/schemas/bridge_operation.schema.json +736 -504
- package/dist/schemas/config_operation.output.json +185 -179
- package/dist/schemas/config_operation.schema.json +21 -26
- package/dist/schemas/employee_operation.output.json +207 -0
- package/dist/schemas/employee_operation.schema.json +176 -0
- package/dist/schemas/evaluation_operation.output.json +2329 -557
- package/dist/schemas/evaluation_operation.schema.json +2939 -720
- package/dist/schemas/guard2file.output.json +58 -64
- package/dist/schemas/guard2file.schema.json +79 -81
- package/dist/schemas/index.json +29 -11
- package/dist/schemas/industry_pack_operation.output.json +594 -0
- package/dist/schemas/industry_pack_operation.schema.json +55 -0
- package/dist/schemas/intent_radar.output.json +275 -200
- package/dist/schemas/intent_radar.schema.json +124 -123
- package/dist/schemas/local_info_operation.output.json +1174 -657
- package/dist/schemas/local_info_operation.schema.json +119 -125
- package/dist/schemas/local_mark_operation.output.json +1239 -689
- package/dist/schemas/local_mark_operation.schema.json +91 -96
- package/dist/schemas/machineNode2file.output.json +63 -69
- package/dist/schemas/machineNode2file.schema.json +79 -81
- package/dist/schemas/messenger_operation.output.json +2722 -1528
- package/dist/schemas/messenger_operation.schema.json +1482 -1264
- package/dist/schemas/onchain_events.output.json +2590 -975
- package/dist/schemas/onchain_events.schema.json +117 -99
- package/dist/schemas/onchain_operations.output.json +3957 -2309
- package/dist/schemas/onchain_operations.schema.json +20799 -9285
- package/dist/schemas/onchain_operations_allocation.schema.json +172 -108
- package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
- package/dist/schemas/onchain_operations_contact.schema.json +129 -90
- package/dist/schemas/onchain_operations_demand.schema.json +170 -112
- package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
- package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
- package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
- package/dist/schemas/onchain_operations_machine.schema.json +537 -164
- package/dist/schemas/onchain_operations_order.schema.json +126 -96
- package/dist/schemas/onchain_operations_payment.schema.json +82 -67
- package/dist/schemas/onchain_operations_permission.schema.json +331 -93
- package/dist/schemas/onchain_operations_personal.schema.json +636 -96
- package/dist/schemas/onchain_operations_progress.schema.json +125 -92
- package/dist/schemas/onchain_operations_proof.schema.json +76 -69
- package/dist/schemas/onchain_operations_repository.schema.json +636 -249
- package/dist/schemas/onchain_operations_reward.schema.json +218 -108
- package/dist/schemas/onchain_operations_service.schema.json +679 -221
- package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
- package/dist/schemas/onchain_table_data.output.json +6018 -2430
- package/dist/schemas/onchain_table_data.schema.json +544 -430
- package/dist/schemas/persona_operation.output.json +1568 -265
- package/dist/schemas/persona_operation.schema.json +346 -202
- package/dist/schemas/project_operation.output.json +6957 -5147
- package/dist/schemas/project_operation.schema.json +1050 -1020
- package/dist/schemas/query_task_status.output.json +195 -99
- package/dist/schemas/query_task_status.schema.json +12 -18
- package/dist/schemas/query_toolkit.output.json +18870 -14566
- package/dist/schemas/query_toolkit.schema.json +614 -522
- package/dist/schemas/schema_query.output.json +127 -129
- package/dist/schemas/schema_query.schema.json +64 -69
- package/dist/schemas/trust_score.output.json +678 -587
- package/dist/schemas/trust_score.schema.json +289 -277
- package/dist/schemas/wip_file.output.json +116 -124
- package/dist/schemas/wip_file.schema.json +142 -143
- package/dist/schemas/workspace_operation.output.json +277 -0
- package/dist/schemas/workspace_operation.schema.json +45 -0
- package/dist/schemas/wowok_buildin_info.output.json +1693 -723
- package/dist/schemas/wowok_buildin_info.schema.json +576 -512
- package/dist/telemetry/index.js +1 -112
- package/dist/telemetry/redact.js +1 -23
- package/dist/telemetry/storage.js +1 -80
- package/dist/tools/handlers/bridge.d.ts +8 -1
- package/dist/tools/handlers/bridge.js +1 -1
- package/dist/tools/handlers/config.js +1 -74
- package/dist/tools/handlers/employee.d.ts +2 -0
- package/dist/tools/handlers/employee.js +1 -0
- package/dist/tools/handlers/evaluation.js +1 -123
- package/dist/tools/handlers/file-export.js +1 -90
- package/dist/tools/handlers/industry-pack.d.ts +2 -0
- package/dist/tools/handlers/industry-pack.js +1 -0
- package/dist/tools/handlers/intent-radar.js +1 -76
- package/dist/tools/handlers/local.js +1 -53
- package/dist/tools/handlers/messenger.js +1 -188
- package/dist/tools/handlers/onchain.js +1 -1180
- package/dist/tools/handlers/persona.js +1 -89
- package/dist/tools/handlers/project.js +1 -211
- package/dist/tools/handlers/query.js +1 -434
- package/dist/tools/handlers/schema-query.js +1 -176
- package/dist/tools/handlers/task-status.js +1 -26
- package/dist/tools/handlers/trust.js +1 -380
- package/dist/tools/handlers/wip.js +1 -90
- package/dist/tools/handlers/workspace.d.ts +2 -0
- package/dist/tools/handlers/workspace.js +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.js +1 -1382
- package/dist/tools/retry.js +1 -85
- package/dist/tools/rules-hook.d.ts +1 -1
- package/dist/tools/rules-hook.js +1 -23
- package/dist/tools/shared.d.ts +1 -1
- package/dist/tools/shared.js +1 -130
- package/dist/tools/types.d.ts +2 -1
- package/dist/tools/types.js +1 -1
- package/dist/tools/upgrade-check.d.ts +19 -0
- package/dist/tools/upgrade-check.js +1 -0
- package/dist/tools/wip-deploy-assist.js +1 -306
- package/dist/tools/wrap.js +1 -500
- package/package.json +7 -6
- package/dist/knowledge/arbitration-trust.d.ts +0 -24
- package/dist/knowledge/arbitration-trust.js +0 -117
- package/dist/schema/call/bridge-handler.d.ts +0 -8
- package/dist/schema/call/bridge-handler.js +0 -265
- package/dist/schema/sync-layer4.d.ts +0 -21
- package/dist/schema/sync-layer4.js +0 -286
- package/dist/schema-query/index.js +0 -810
- /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
package/dist/intent/index.js
CHANGED
|
@@ -1,60 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { matchEventsToIntents } from "./matcher.js";
|
|
3
|
-
import { getIntentStore, newIntentId } from "./store.js";
|
|
4
|
-
import { ALL_INTENT_TARGET_TYPES, INTENT_MAX_PER_SCOPE } from "./types.js";
|
|
5
|
-
export { newIntentId, getIntentStore, setIntentStore, SqliteIntentRadarStore } from "./store.js";
|
|
6
|
-
export { matchEventsToIntents } from "./matcher.js";
|
|
7
|
-
export { ALL_INTENT_TARGET_TYPES, INTENT_MAX_PER_SCOPE } from "./types.js";
|
|
8
|
-
export function resolveIntentSignals(intentText) {
|
|
9
|
-
const text = intentText?.trim();
|
|
10
|
-
if (!text)
|
|
11
|
-
return { industries: [], keywords: [] };
|
|
12
|
-
const { traits, matched_keywords } = inferTraitsFromDescription(text);
|
|
13
|
-
if (matched_keywords.length === 0)
|
|
14
|
-
return { industries: [], keywords: [] };
|
|
15
|
-
const similar = findSimilarIndustries(traits, 3);
|
|
16
|
-
const industries = similar
|
|
17
|
-
.slice(0, 3)
|
|
18
|
-
.map((s) => s.industry)
|
|
19
|
-
.filter((i) => i && i !== "general");
|
|
20
|
-
return { industries, keywords: matched_keywords };
|
|
21
|
-
}
|
|
22
|
-
export async function createIntent(input) {
|
|
23
|
-
const signals = resolveIntentSignals(input.intent);
|
|
24
|
-
const store = getIntentStore();
|
|
25
|
-
const existing = await store.list(input.account);
|
|
26
|
-
if (existing.length >= INTENT_MAX_PER_SCOPE) {
|
|
27
|
-
throw new Error(`intent limit reached (${INTENT_MAX_PER_SCOPE}) for scope ${input.account ?? "system"}`);
|
|
28
|
-
}
|
|
29
|
-
const now = Date.now();
|
|
30
|
-
const record = {
|
|
31
|
-
id: newIntentId(),
|
|
32
|
-
intent: input.intent,
|
|
33
|
-
account: input.account,
|
|
34
|
-
role: input.role,
|
|
35
|
-
industries: signals.industries,
|
|
36
|
-
keywords: signals.keywords,
|
|
37
|
-
target_types: input.target_types ?? [],
|
|
38
|
-
created_at: now,
|
|
39
|
-
updated_at: now,
|
|
40
|
-
};
|
|
41
|
-
await store.save(record);
|
|
42
|
-
return record;
|
|
43
|
-
}
|
|
44
|
-
export async function listIntents(account) {
|
|
45
|
-
return getIntentStore().list(account);
|
|
46
|
-
}
|
|
47
|
-
export async function removeIntent(id) {
|
|
48
|
-
return getIntentStore().remove(id);
|
|
49
|
-
}
|
|
50
|
-
export async function matchIntent(intentId, events) {
|
|
51
|
-
const intent = await getIntentStore().get(intentId);
|
|
52
|
-
if (!intent)
|
|
53
|
-
return null;
|
|
54
|
-
return matchEventsToIntents(events, [intent])[0];
|
|
55
|
-
}
|
|
56
|
-
export async function matchAllIntents(events, account) {
|
|
57
|
-
const intents = await getIntentStore().list(account);
|
|
58
|
-
return matchEventsToIntents(events, intents);
|
|
59
|
-
}
|
|
60
|
-
export { ALL_INTENT_TARGET_TYPES as SUPPORTED_TARGET_TYPES };
|
|
1
|
+
import{findSimilarIndustries,inferTraitsFromDescription}from'../knowledge/industry-generalizer.js';import{matchEventsToIntents}from'./matcher.js';import{getIntentStore,newIntentId}from'./store.js';import{ALL_INTENT_TARGET_TYPES,INTENT_MAX_PER_SCOPE}from'./types.js';export{newIntentId,getIntentStore,setIntentStore,SqliteIntentRadarStore}from'./store.js';export{matchEventsToIntents}from'./matcher.js';export{ALL_INTENT_TARGET_TYPES,INTENT_MAX_PER_SCOPE}from'./types.js';export function resolveIntentSignals(a){const b=a?.['trim']();if(!b)return{'industries':[],'keywords':[]};const {traits:c,matched_keywords:d}=inferTraitsFromDescription(b);if(d['length']===0x0)return{'industries':[],'keywords':[]};const e=findSimilarIndustries(c,0x3),f=e['slice'](0x0,0x3)['map'](g=>g['industry'])['filter'](g=>g&&g!=='general');return{'industries':f,'keywords':d};}export async function createIntent(a){const b=resolveIntentSignals(a['intent']),c=getIntentStore(),d=await c['list'](a['account']);if(d['length']>=INTENT_MAX_PER_SCOPE)throw new Error('intent\x20limit\x20reached\x20('+INTENT_MAX_PER_SCOPE+')\x20for\x20scope\x20'+(a['account']??'system'));const e=Date['now'](),f={'id':newIntentId(),'intent':a['intent'],'account':a['account'],'role':a['role'],'industries':b['industries'],'keywords':b['keywords'],'target_types':a['target_types']??[],'created_at':e,'updated_at':e};return await c['save'](f),f;}export async function listIntents(a){return getIntentStore()['list'](a);}export async function removeIntent(a){return getIntentStore()['remove'](a);}export async function matchIntent(a,b){const c=await getIntentStore()['get'](a);if(!c)return null;return matchEventsToIntents(b,[c])[0x0];}export async function matchAllIntents(a,b){const c=await getIntentStore()['list'](b);return matchEventsToIntents(a,c);}export{ALL_INTENT_TARGET_TYPES as SUPPORTED_TARGET_TYPES};
|
package/dist/intent/matcher.js
CHANGED
|
@@ -1,81 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
const TEXT_FIELDS = ["recommend", "feedback", "node", "description"];
|
|
3
|
-
const OBJECT_FIELDS = [
|
|
4
|
-
"order", "service", "demand", "progress", "arb", "arbitration",
|
|
5
|
-
"allocation", "discount", "machine", "task", "address", "resource",
|
|
6
|
-
];
|
|
7
|
-
function eventText(event) {
|
|
8
|
-
return TEXT_FIELDS
|
|
9
|
-
.map((k) => event[k])
|
|
10
|
-
.filter((v) => typeof v === "string" && v.length > 0)
|
|
11
|
-
.join(" ");
|
|
12
|
-
}
|
|
13
|
-
function eventSignals(event) {
|
|
14
|
-
const text = eventText(event);
|
|
15
|
-
if (!text)
|
|
16
|
-
return { industries: [], keywords: [] };
|
|
17
|
-
const { traits, matched_keywords } = inferTraitsFromDescription(text);
|
|
18
|
-
if (matched_keywords.length === 0)
|
|
19
|
-
return { industries: [], keywords: [] };
|
|
20
|
-
const similar = findSimilarIndustries(traits, 3);
|
|
21
|
-
return {
|
|
22
|
-
industries: similar.slice(0, 3).map((s) => s.industry),
|
|
23
|
-
keywords: matched_keywords,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function eventId(event) {
|
|
27
|
-
const id = event.id;
|
|
28
|
-
if (id?.txDigest)
|
|
29
|
-
return `${id.eventSeq ?? ""}:${id.txDigest}`;
|
|
30
|
-
return String(event.id ?? "");
|
|
31
|
-
}
|
|
32
|
-
function relatedObjects(event) {
|
|
33
|
-
const out = new Set();
|
|
34
|
-
for (const k of OBJECT_FIELDS) {
|
|
35
|
-
const v = event[k];
|
|
36
|
-
if (typeof v === "string" && v.startsWith("0x"))
|
|
37
|
-
out.add(v);
|
|
38
|
-
}
|
|
39
|
-
return Array.from(out);
|
|
40
|
-
}
|
|
41
|
-
function eventType(event) {
|
|
42
|
-
return String(event.type ?? event.type_raw ?? "");
|
|
43
|
-
}
|
|
44
|
-
function scoreEvent(event, intent) {
|
|
45
|
-
const sig = eventSignals(event);
|
|
46
|
-
const matchedIndustries = intent.industries.filter((i) => i !== "general" && sig.industries.includes(i));
|
|
47
|
-
const matchedKeywords = intent.keywords.filter((k) => sig.keywords.includes(k));
|
|
48
|
-
const score = Math.min(100, matchedIndustries.length * 40 + matchedKeywords.length * 20);
|
|
49
|
-
if (score === 0)
|
|
50
|
-
return null;
|
|
51
|
-
return {
|
|
52
|
-
event_type: eventType(event),
|
|
53
|
-
event_id: eventId(event),
|
|
54
|
-
related_objects: relatedObjects(event),
|
|
55
|
-
business_meaning: eventType(event),
|
|
56
|
-
score,
|
|
57
|
-
matched_industries: matchedIndustries,
|
|
58
|
-
matched_keywords: matchedKeywords,
|
|
59
|
-
event,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
export function matchEventsToIntents(events, intents) {
|
|
63
|
-
return intents.map((intent) => {
|
|
64
|
-
const hits = [];
|
|
65
|
-
for (const event of events) {
|
|
66
|
-
const type = eventType(event);
|
|
67
|
-
if (intent.target_types.length > 0 && !intent.target_types.includes(type))
|
|
68
|
-
continue;
|
|
69
|
-
const hit = scoreEvent(event, intent);
|
|
70
|
-
if (hit)
|
|
71
|
-
hits.push(hit);
|
|
72
|
-
}
|
|
73
|
-
hits.sort((a, b) => b.score - a.score);
|
|
74
|
-
return {
|
|
75
|
-
intent_id: intent.id,
|
|
76
|
-
intent: intent.intent,
|
|
77
|
-
hits,
|
|
78
|
-
scanned: events.length,
|
|
79
|
-
};
|
|
80
|
-
});
|
|
81
|
-
}
|
|
1
|
+
import{findSimilarIndustries,inferTraitsFromDescription}from'../knowledge/industry-generalizer.js';const TEXT_FIELDS=['recommend','feedback','node','description'],OBJECT_FIELDS=['order','service','demand','progress','arb','arbitration','allocation','discount','machine','task','address','resource'];function eventText(a){return TEXT_FIELDS['map'](b=>a[b])['filter'](b=>typeof b==='string'&&b['length']>0x0)['join']('\x20');}function eventSignals(a){const b=eventText(a);if(!b)return{'industries':[],'keywords':[]};const {traits:c,matched_keywords:d}=inferTraitsFromDescription(b);if(d['length']===0x0)return{'industries':[],'keywords':[]};const e=findSimilarIndustries(c,0x3);return{'industries':e['slice'](0x0,0x3)['map'](f=>f['industry']),'keywords':d};}function eventId(a){const b=a['id'];if(b?.['txDigest'])return(b['eventSeq']??'')+':'+b['txDigest'];return String(a['id']??'');}function relatedObjects(a){const b=new Set();for(const c of OBJECT_FIELDS){const d=a[c];if(typeof d==='string'&&d['startsWith']('0x'))b['add'](d);}return Array['from'](b);}function eventType(a){return String(a['type']??a['type_raw']??'');}function scoreEvent(a,b){const c=eventSignals(a),d=b['industries']['filter'](g=>g!=='general'&&c['industries']['includes'](g)),e=b['keywords']['filter'](g=>c['keywords']['includes'](g)),f=Math['min'](0x64,d['length']*0x28+e['length']*0x14);if(f===0x0)return null;return{'event_type':eventType(a),'event_id':eventId(a),'related_objects':relatedObjects(a),'business_meaning':eventType(a),'score':f,'matched_industries':d,'matched_keywords':e,'event':a};}export function matchEventsToIntents(a,b){return b['map'](c=>{const d=[];for(const e of a){const f=eventType(e);if(c['target_types']['length']>0x0&&!c['target_types']['includes'](f))continue;const g=scoreEvent(e,c);if(g)d['push'](g);}return d['sort']((h,i)=>i['score']-h['score']),{'intent_id':c['id'],'intent':c['intent'],'hits':d,'scanned':a['length']};});}
|
package/dist/intent/store.js
CHANGED
|
@@ -1,55 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
const KEY_PREFIX = "intent_radar:";
|
|
3
|
-
function parse(raw) {
|
|
4
|
-
try {
|
|
5
|
-
return JSON.parse(raw);
|
|
6
|
-
}
|
|
7
|
-
catch {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export function newIntentId() {
|
|
12
|
-
return `ir_${Date.now().toString(36)}${Math.random().toString(36).slice(2, 8)}`;
|
|
13
|
-
}
|
|
14
|
-
export class SqliteIntentRadarStore {
|
|
15
|
-
kv;
|
|
16
|
-
constructor(kv) {
|
|
17
|
-
this.kv = kv ?? new SQLiteStorage();
|
|
18
|
-
}
|
|
19
|
-
async save(record) {
|
|
20
|
-
await this.kv.put(`${KEY_PREFIX}${record.id}`, JSON.stringify(record));
|
|
21
|
-
}
|
|
22
|
-
async get(id) {
|
|
23
|
-
const raw = await this.kv.get(`${KEY_PREFIX}${id}`);
|
|
24
|
-
return raw ? parse(raw) : null;
|
|
25
|
-
}
|
|
26
|
-
async list(account) {
|
|
27
|
-
const rows = await this.kv.list(KEY_PREFIX);
|
|
28
|
-
const out = [];
|
|
29
|
-
for (const { value } of rows) {
|
|
30
|
-
const record = parse(value);
|
|
31
|
-
if (!record)
|
|
32
|
-
continue;
|
|
33
|
-
if (account === undefined || record.account === account) {
|
|
34
|
-
out.push(record);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return out.sort((a, b) => b.updated_at - a.updated_at);
|
|
38
|
-
}
|
|
39
|
-
async remove(id) {
|
|
40
|
-
const key = `${KEY_PREFIX}${id}`;
|
|
41
|
-
const exists = (await this.kv.get(key)) !== undefined;
|
|
42
|
-
if (exists)
|
|
43
|
-
await this.kv.del(key);
|
|
44
|
-
return exists;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
let _store = null;
|
|
48
|
-
export function getIntentStore() {
|
|
49
|
-
if (!_store)
|
|
50
|
-
_store = new SqliteIntentRadarStore();
|
|
51
|
-
return _store;
|
|
52
|
-
}
|
|
53
|
-
export function setIntentStore(store) {
|
|
54
|
-
_store = store;
|
|
55
|
-
}
|
|
1
|
+
import{SQLiteStorage}from'@wowok/wowok';const KEY_PREFIX='intent_radar:';function parse(a){try{return JSON['parse'](a);}catch{return null;}}export function newIntentId(){return'ir_'+Date['now']()['toString'](0x24)+Math['random']()['toString'](0x24)['slice'](0x2,0x8);}export class SqliteIntentRadarStore{['kv'];constructor(a){this['kv']=a??new SQLiteStorage();}async['save'](a){await this['kv']['put'](''+KEY_PREFIX+a['id'],JSON['stringify'](a));}async['get'](a){const b=await this['kv']['get'](''+KEY_PREFIX+a);return b?parse(b):null;}async['list'](a){const b=await this['kv']['list'](KEY_PREFIX),c=[];for(const {value:d}of b){const e=parse(d);if(!e)continue;(a===undefined||e['account']===a)&&c['push'](e);}return c['sort']((f,g)=>g['updated_at']-f['updated_at']);}async['remove'](a){const b=''+KEY_PREFIX+a,c=await this['kv']['get'](b)!==undefined;if(c)await this['kv']['del'](b);return c;}}let _store=null;export function getIntentStore(){if(!_store)_store=new SqliteIntentRadarStore();return _store;}export function setIntentStore(a){_store=a;}
|
package/dist/intent/types.js
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
export const INTENT_VERSION =
|
|
2
|
-
export const INTENT_MAX_PER_SCOPE = 50;
|
|
3
|
-
export const ALL_INTENT_TARGET_TYPES = [
|
|
4
|
-
"NewOrderEvent",
|
|
5
|
-
"ProgressEvent",
|
|
6
|
-
"DemandPresentEvent",
|
|
7
|
-
"DemandFeedbackEvent",
|
|
8
|
-
"NewEntityEvent",
|
|
9
|
-
"ArbEvent",
|
|
10
|
-
];
|
|
1
|
+
export const INTENT_VERSION=0x1;export const INTENT_MAX_PER_SCOPE=0x32;export const ALL_INTENT_TARGET_TYPES=['NewOrderEvent','ProgressEvent','DemandPresentEvent','DemandFeedbackEvent','NewEntityEvent','ArbEvent'];
|
|
@@ -1,192 +1 @@
|
|
|
1
|
-
export const ACQUISITION_FLYWHEEL_VERSION =
|
|
2
|
-
export const INDUSTRY_FLYWHEELS = [
|
|
3
|
-
{
|
|
4
|
-
industry: "freelance",
|
|
5
|
-
trustSellingPoints: [
|
|
6
|
-
"Delivery acceptance + fund escrow + arbitration guarantee",
|
|
7
|
-
"Transparent process: Machine defines clear delivery nodes",
|
|
8
|
-
"compensation_fund secures customer rights",
|
|
9
|
-
],
|
|
10
|
-
keyActions: [
|
|
11
|
-
{ action: "Set Reward first-order bonus", purpose: "Attract new customers to place orders", mutableField: "rewards", metricToWatch: "New customer order rate" },
|
|
12
|
-
{ action: "Cumulative-spend tiered Reward", purpose: "Incentivize repurchase", mutableField: "rewards", metricToWatch: "Repurchase rate" },
|
|
13
|
-
{ action: "Adjust Machine nodes", purpose: "Optimize delivery process speed", mutableField: "description", metricToWatch: "Average completion time" },
|
|
14
|
-
{ action: "Increase compensation_fund", purpose: "Improve trust score", mutableField: "compensation_fund", metricToWatch: "Trust score" },
|
|
15
|
-
],
|
|
16
|
-
rewardStrategy: "First-order reward + cumulative-spend tiered reward (e.g. discount after 5 orders)",
|
|
17
|
-
discountStrategy: "Monthly discount + long-term cooperation discount",
|
|
18
|
-
trustDescription: "Fund escrow + delivery acceptance + arbitration guarantee",
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
industry: "rental",
|
|
22
|
-
trustSellingPoints: [
|
|
23
|
-
"Deposit escrow + damage Guard + return process",
|
|
24
|
-
"Guard verifies item condition to prevent disputes",
|
|
25
|
-
"compensation_fund covers damage risk",
|
|
26
|
-
],
|
|
27
|
-
keyActions: [
|
|
28
|
-
{ action: "Set Discount long-term rental bonus", purpose: "Incentivize long-term rental", mutableField: "discount", metricToWatch: "Long-term rental ratio" },
|
|
29
|
-
{ action: "Credit-accumulation Reward", purpose: "Multi-rental credit accumulation", mutableField: "rewards", metricToWatch: "Re-rental rate" },
|
|
30
|
-
{ action: "Configure damage Guard", purpose: "Reduce dispute rate", mutableField: "buy_guard", metricToWatch: "Dispute rate" },
|
|
31
|
-
{ action: "Increase compensation_fund", purpose: "Cover damage risk", mutableField: "compensation_fund", metricToWatch: "Trust score" },
|
|
32
|
-
],
|
|
33
|
-
rewardStrategy: "Credit accumulation + long-term rental discount + referral cashback",
|
|
34
|
-
discountStrategy: "Monthly 10% off + quarterly 20% off + annual 30% off",
|
|
35
|
-
trustDescription: "Deposit escrow + Guard verification + return guarantee",
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
industry: "education",
|
|
39
|
-
trustSellingPoints: [
|
|
40
|
-
"Transparent course progress + refund Guard",
|
|
41
|
-
"Machine defines learning stages and acceptance nodes",
|
|
42
|
-
],
|
|
43
|
-
keyActions: [
|
|
44
|
-
{ action: "Set milestone Reward", purpose: "Incentivize course completion", mutableField: "rewards", metricToWatch: "Course completion rate" },
|
|
45
|
-
{ action: "Referral cashback Reward", purpose: "Viral acquisition", mutableField: "rewards", metricToWatch: "Referral rate" },
|
|
46
|
-
],
|
|
47
|
-
rewardStrategy: "Milestone reward + referral cashback + trial-class discount",
|
|
48
|
-
discountStrategy: "Early-bird price + group-buy price + student-aid discount",
|
|
49
|
-
trustDescription: "Transparent progress + refund guarantee + acceptance nodes",
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
industry: "travel",
|
|
53
|
-
trustSellingPoints: [
|
|
54
|
-
"Itinerary escrow + cancellation Guard + arbitration guarantee",
|
|
55
|
-
"Guard verifies itinerary change conditions",
|
|
56
|
-
],
|
|
57
|
-
keyActions: [
|
|
58
|
-
{ action: "Limited-time flash-sale Reward", purpose: "Clearance promotion", mutableField: "rewards", metricToWatch: "Conversion rate" },
|
|
59
|
-
{ action: "Spend cashback Reward", purpose: "Improve repurchase", mutableField: "rewards", metricToWatch: "Repurchase rate" },
|
|
60
|
-
],
|
|
61
|
-
rewardStrategy: "Limited-time flash sale + spend cashback + referral commission",
|
|
62
|
-
discountStrategy: "Early-bird price + group-buy price + member price",
|
|
63
|
-
trustDescription: "Itinerary escrow + cancellation guarantee + arbitration",
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
industry: "subscription",
|
|
67
|
-
trustSellingPoints: [
|
|
68
|
-
"Transparent subscription + auto-renewal Guard + cancel anytime",
|
|
69
|
-
"Machine defines billing cycles and auto-debit",
|
|
70
|
-
],
|
|
71
|
-
keyActions: [
|
|
72
|
-
{ action: "Loyalty Reward", purpose: "Long-term retention", mutableField: "rewards", metricToWatch: "Renewal rate" },
|
|
73
|
-
{ action: "Referral cashback Reward", purpose: "Viral acquisition", mutableField: "rewards", metricToWatch: "Referral rate" },
|
|
74
|
-
],
|
|
75
|
-
rewardStrategy: "Loyalty reward + referral cashback + first-month discount",
|
|
76
|
-
discountStrategy: "Annual discount + team discount + upgrade discount",
|
|
77
|
-
trustDescription: "Transparent subscription + renewal guarantee + cancel anytime",
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
industry: "retail",
|
|
81
|
-
trustSellingPoints: [
|
|
82
|
-
"Transaction escrow + logistics Guard + refund guarantee",
|
|
83
|
-
"Guard verifies shipping and receipt",
|
|
84
|
-
],
|
|
85
|
-
keyActions: [
|
|
86
|
-
{ action: "First-order discount", purpose: "Attract new customers", mutableField: "discount", metricToWatch: "New customer order rate" },
|
|
87
|
-
{ action: "Spend cashback Reward", purpose: "Improve repurchase", mutableField: "rewards", metricToWatch: "Repurchase rate" },
|
|
88
|
-
],
|
|
89
|
-
rewardStrategy: "First-order discount + spend cashback + spend-threshold discount",
|
|
90
|
-
discountStrategy: "Spend-threshold discount + limited-time discount + member price",
|
|
91
|
-
trustDescription: "Transaction escrow + logistics Guard + refund guarantee",
|
|
92
|
-
},
|
|
93
|
-
];
|
|
94
|
-
let _registryLookup = null;
|
|
95
|
-
export function _setRegistryLookup(fn) {
|
|
96
|
-
_registryLookup = fn;
|
|
97
|
-
}
|
|
98
|
-
export function getFlywheelForIndustry(industry) {
|
|
99
|
-
if (_registryLookup) {
|
|
100
|
-
const profile = _registryLookup(industry);
|
|
101
|
-
if (profile?.flywheel)
|
|
102
|
-
return profile.flywheel;
|
|
103
|
-
}
|
|
104
|
-
return INDUSTRY_FLYWHEELS.find((f) => f.industry === industry.toLowerCase());
|
|
105
|
-
}
|
|
106
|
-
export function listIndustries() {
|
|
107
|
-
return INDUSTRY_FLYWHEELS.map((f) => f.industry);
|
|
108
|
-
}
|
|
109
|
-
export function suggestAcquisitionActions(industry) {
|
|
110
|
-
const flywheel = getFlywheelForIndustry(industry);
|
|
111
|
-
return flywheel?.keyActions ?? [];
|
|
112
|
-
}
|
|
113
|
-
export function generateTrustDescription(params) {
|
|
114
|
-
const parts = [];
|
|
115
|
-
if (params.industry) {
|
|
116
|
-
const flywheel = getFlywheelForIndustry(params.industry);
|
|
117
|
-
if (flywheel) {
|
|
118
|
-
parts.push(flywheel.trustDescription);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (params.orderCount !== undefined && params.orderCount > 0) {
|
|
122
|
-
parts.push(`Completed ${params.orderCount} orders`);
|
|
123
|
-
}
|
|
124
|
-
if (params.completedRate !== undefined) {
|
|
125
|
-
parts.push(`Completion rate ${Math.round(params.completedRate * 100)}%`);
|
|
126
|
-
}
|
|
127
|
-
if (params.avgCompletionTime !== undefined) {
|
|
128
|
-
if (params.avgCompletionTime < 1) {
|
|
129
|
-
parts.push(`Average completion time ${Math.round(params.avgCompletionTime * 60)} minutes`);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
parts.push(`Average completion time ${Math.round(params.avgCompletionTime)} hours`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (params.hasCompensationFund) {
|
|
136
|
-
parts.push("Sufficient compensation fund");
|
|
137
|
-
}
|
|
138
|
-
if (params.hasArbitration) {
|
|
139
|
-
parts.push("Third-party arbitration guarantee");
|
|
140
|
-
}
|
|
141
|
-
if (params.reviewCount !== undefined && params.reviewCount > 0 && params.reviewLikeRate !== undefined) {
|
|
142
|
-
parts.push(`Like rate ${Math.round(params.reviewLikeRate * 100)}% (${params.reviewCount} reviews)`);
|
|
143
|
-
}
|
|
144
|
-
return parts.join("; ") || "No trust data available";
|
|
145
|
-
}
|
|
146
|
-
export function buildAcquisitionDashboard(params) {
|
|
147
|
-
const { orderCount, completedRate, avgCompletionTime, repeatCustomerRate, reviewLikeRate, reviewCount } = params;
|
|
148
|
-
let stage = "cold_start";
|
|
149
|
-
if (orderCount >= 50)
|
|
150
|
-
stage = "optimization";
|
|
151
|
-
else if (orderCount >= 20)
|
|
152
|
-
stage = "mature";
|
|
153
|
-
else if (orderCount >= 5)
|
|
154
|
-
stage = "growing";
|
|
155
|
-
const suggestions = [];
|
|
156
|
-
if (stage === "cold_start") {
|
|
157
|
-
suggestions.push("Cold-start stage: set first-order Reward to attract new customers");
|
|
158
|
-
suggestions.push("Increase compensation_fund to boost initial trust");
|
|
159
|
-
}
|
|
160
|
-
else if (stage === "growing") {
|
|
161
|
-
suggestions.push("Growing stage: set referral cashback Reward for viral acquisition");
|
|
162
|
-
if (repeatCustomerRate !== undefined && repeatCustomerRate < 0.2) {
|
|
163
|
-
suggestions.push("Repurchase rate is low; consider setting cumulative-spend tiered Reward");
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
else if (stage === "mature") {
|
|
167
|
-
if (reviewLikeRate !== undefined && reviewLikeRate > 0.8) {
|
|
168
|
-
suggestions.push("High like rate; you can highlight trust metrics in the description");
|
|
169
|
-
}
|
|
170
|
-
if (repeatCustomerRate !== undefined && repeatCustomerRate > 0.3) {
|
|
171
|
-
suggestions.push("High repurchase rate; consider setting loyalty Reward to incentivize long-term customers");
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
suggestions.push("Optimization stage: fine-tune pricing and Reward strategies");
|
|
176
|
-
if (avgCompletionTime !== undefined && avgCompletionTime > 48) {
|
|
177
|
-
suggestions.push("Completion time is long; consider optimizing the Machine process");
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return {
|
|
181
|
-
metrics: {
|
|
182
|
-
orderCount,
|
|
183
|
-
completedRate: completedRate ?? 0,
|
|
184
|
-
avgCompletionTime,
|
|
185
|
-
repeatCustomerRate,
|
|
186
|
-
reviewLikeRate,
|
|
187
|
-
reviewCount,
|
|
188
|
-
},
|
|
189
|
-
suggestions,
|
|
190
|
-
flywheelStage: stage,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
1
|
+
export const ACQUISITION_FLYWHEEL_VERSION=0x1;export const INDUSTRY_FLYWHEELS=[{'industry':'freelance','trustSellingPoints':['Delivery\x20acceptance\x20+\x20fund\x20escrow\x20+\x20arbitration\x20guarantee','Transparent\x20process:\x20Machine\x20defines\x20clear\x20delivery\x20nodes','compensation_fund\x20secures\x20customer\x20rights'],'keyActions':[{'action':'Set\x20Reward\x20first-order\x20bonus','purpose':'Attract\x20new\x20customers\x20to\x20place\x20orders','mutableField':'rewards','metricToWatch':'New\x20customer\x20order\x20rate'},{'action':'Cumulative-spend\x20tiered\x20Reward','purpose':'Incentivize\x20repurchase','mutableField':'rewards','metricToWatch':'Repurchase\x20rate'},{'action':'Adjust\x20Machine\x20nodes','purpose':'Optimize\x20delivery\x20process\x20speed','mutableField':'description','metricToWatch':'Average\x20completion\x20time'},{'action':'Increase\x20compensation_fund','purpose':'Improve\x20trust\x20score','mutableField':'compensation_fund','metricToWatch':'Trust\x20score'}],'rewardStrategy':'First-order\x20reward\x20+\x20cumulative-spend\x20tiered\x20reward\x20(e.g.\x20discount\x20after\x205\x20orders)','discountStrategy':'Monthly\x20discount\x20+\x20long-term\x20cooperation\x20discount','trustDescription':'Fund\x20escrow\x20+\x20delivery\x20acceptance\x20+\x20arbitration\x20guarantee'},{'industry':'rental','trustSellingPoints':['Deposit\x20escrow\x20+\x20damage\x20Guard\x20+\x20return\x20process','Guard\x20verifies\x20item\x20condition\x20to\x20prevent\x20disputes','compensation_fund\x20covers\x20damage\x20risk'],'keyActions':[{'action':'Set\x20Discount\x20long-term\x20rental\x20bonus','purpose':'Incentivize\x20long-term\x20rental','mutableField':'discount','metricToWatch':'Long-term\x20rental\x20ratio'},{'action':'Credit-accumulation\x20Reward','purpose':'Multi-rental\x20credit\x20accumulation','mutableField':'rewards','metricToWatch':'Re-rental\x20rate'},{'action':'Configure\x20damage\x20Guard','purpose':'Reduce\x20dispute\x20rate','mutableField':'buy_guard','metricToWatch':'Dispute\x20rate'},{'action':'Increase\x20compensation_fund','purpose':'Cover\x20damage\x20risk','mutableField':'compensation_fund','metricToWatch':'Trust\x20score'}],'rewardStrategy':'Credit\x20accumulation\x20+\x20long-term\x20rental\x20discount\x20+\x20referral\x20cashback','discountStrategy':'Monthly\x2010%\x20off\x20+\x20quarterly\x2020%\x20off\x20+\x20annual\x2030%\x20off','trustDescription':'Deposit\x20escrow\x20+\x20Guard\x20verification\x20+\x20return\x20guarantee'},{'industry':'education','trustSellingPoints':['Transparent\x20course\x20progress\x20+\x20refund\x20Guard','Machine\x20defines\x20learning\x20stages\x20and\x20acceptance\x20nodes'],'keyActions':[{'action':'Set\x20milestone\x20Reward','purpose':'Incentivize\x20course\x20completion','mutableField':'rewards','metricToWatch':'Course\x20completion\x20rate'},{'action':'Referral\x20cashback\x20Reward','purpose':'Viral\x20acquisition','mutableField':'rewards','metricToWatch':'Referral\x20rate'}],'rewardStrategy':'Milestone\x20reward\x20+\x20referral\x20cashback\x20+\x20trial-class\x20discount','discountStrategy':'Early-bird\x20price\x20+\x20group-buy\x20price\x20+\x20student-aid\x20discount','trustDescription':'Transparent\x20progress\x20+\x20refund\x20guarantee\x20+\x20acceptance\x20nodes'},{'industry':'travel','trustSellingPoints':['Itinerary\x20escrow\x20+\x20cancellation\x20Guard\x20+\x20arbitration\x20guarantee','Guard\x20verifies\x20itinerary\x20change\x20conditions'],'keyActions':[{'action':'Limited-time\x20flash-sale\x20Reward','purpose':'Clearance\x20promotion','mutableField':'rewards','metricToWatch':'Conversion\x20rate'},{'action':'Spend\x20cashback\x20Reward','purpose':'Improve\x20repurchase','mutableField':'rewards','metricToWatch':'Repurchase\x20rate'}],'rewardStrategy':'Limited-time\x20flash\x20sale\x20+\x20spend\x20cashback\x20+\x20referral\x20commission','discountStrategy':'Early-bird\x20price\x20+\x20group-buy\x20price\x20+\x20member\x20price','trustDescription':'Itinerary\x20escrow\x20+\x20cancellation\x20guarantee\x20+\x20arbitration'},{'industry':'subscription','trustSellingPoints':['Transparent\x20subscription\x20+\x20auto-renewal\x20Guard\x20+\x20cancel\x20anytime','Machine\x20defines\x20billing\x20cycles\x20and\x20auto-debit'],'keyActions':[{'action':'Loyalty\x20Reward','purpose':'Long-term\x20retention','mutableField':'rewards','metricToWatch':'Renewal\x20rate'},{'action':'Referral\x20cashback\x20Reward','purpose':'Viral\x20acquisition','mutableField':'rewards','metricToWatch':'Referral\x20rate'}],'rewardStrategy':'Loyalty\x20reward\x20+\x20referral\x20cashback\x20+\x20first-month\x20discount','discountStrategy':'Annual\x20discount\x20+\x20team\x20discount\x20+\x20upgrade\x20discount','trustDescription':'Transparent\x20subscription\x20+\x20renewal\x20guarantee\x20+\x20cancel\x20anytime'},{'industry':'retail','trustSellingPoints':['Transaction\x20escrow\x20+\x20logistics\x20Guard\x20+\x20refund\x20guarantee','Guard\x20verifies\x20shipping\x20and\x20receipt'],'keyActions':[{'action':'First-order\x20discount','purpose':'Attract\x20new\x20customers','mutableField':'discount','metricToWatch':'New\x20customer\x20order\x20rate'},{'action':'Spend\x20cashback\x20Reward','purpose':'Improve\x20repurchase','mutableField':'rewards','metricToWatch':'Repurchase\x20rate'}],'rewardStrategy':'First-order\x20discount\x20+\x20spend\x20cashback\x20+\x20spend-threshold\x20discount','discountStrategy':'Spend-threshold\x20discount\x20+\x20limited-time\x20discount\x20+\x20member\x20price','trustDescription':'Transaction\x20escrow\x20+\x20logistics\x20Guard\x20+\x20refund\x20guarantee'}];let _registryLookup=null;export function _setRegistryLookup(a){_registryLookup=a;}export function getFlywheelForIndustry(a){if(_registryLookup){const b=_registryLookup(a);if(b?.['flywheel'])return b['flywheel'];}return INDUSTRY_FLYWHEELS['find'](c=>c['industry']===a['toLowerCase']());}export function listIndustries(){return INDUSTRY_FLYWHEELS['map'](a=>a['industry']);}export function suggestAcquisitionActions(a){const b=getFlywheelForIndustry(a);return b?.['keyActions']??[];}export function generateTrustDescription(a){const b=[];if(a['industry']){const c=getFlywheelForIndustry(a['industry']);c&&b['push'](c['trustDescription']);}return a['orderCount']!==undefined&&a['orderCount']>0x0&&b['push']('Completed\x20'+a['orderCount']+'\x20orders'),a['completedRate']!==undefined&&b['push']('Completion\x20rate\x20'+Math['round'](a['completedRate']*0x64)+'%'),a['avgCompletionTime']!==undefined&&(a['avgCompletionTime']<0x1?b['push']('Average\x20completion\x20time\x20'+Math['round'](a['avgCompletionTime']*0x3c)+'\x20minutes'):b['push']('Average\x20completion\x20time\x20'+Math['round'](a['avgCompletionTime'])+'\x20hours')),a['hasCompensationFund']&&b['push']('Sufficient\x20compensation\x20fund'),a['hasArbitration']&&b['push']('Third-party\x20arbitration\x20guarantee'),a['reviewCount']!==undefined&&a['reviewCount']>0x0&&a['reviewLikeRate']!==undefined&&b['push']('Like\x20rate\x20'+Math['round'](a['reviewLikeRate']*0x64)+'%\x20('+a['reviewCount']+'\x20reviews)'),b['join'](';\x20')||'No\x20trust\x20data\x20available';}export function buildAcquisitionDashboard(a){const {orderCount:b,completedRate:c,avgCompletionTime:d,repeatCustomerRate:e,reviewLikeRate:f,reviewCount:g}=a;let h='cold_start';if(b>=0x32)h='optimization';else{if(b>=0x14)h='mature';else{if(b>=0x5)h='growing';}}const i=[];if(h==='cold_start')i['push']('Cold-start\x20stage:\x20set\x20first-order\x20Reward\x20to\x20attract\x20new\x20customers'),i['push']('Increase\x20compensation_fund\x20to\x20boost\x20initial\x20trust');else{if(h==='growing')i['push']('Growing\x20stage:\x20set\x20referral\x20cashback\x20Reward\x20for\x20viral\x20acquisition'),e!==undefined&&e<0.2&&i['push']('Repurchase\x20rate\x20is\x20low;\x20consider\x20setting\x20cumulative-spend\x20tiered\x20Reward');else h==='mature'?(f!==undefined&&f>0.8&&i['push']('High\x20like\x20rate;\x20you\x20can\x20highlight\x20trust\x20metrics\x20in\x20the\x20description'),e!==undefined&&e>0.3&&i['push']('High\x20repurchase\x20rate;\x20consider\x20setting\x20loyalty\x20Reward\x20to\x20incentivize\x20long-term\x20customers')):(i['push']('Optimization\x20stage:\x20fine-tune\x20pricing\x20and\x20Reward\x20strategies'),d!==undefined&&d>0x30&&i['push']('Completion\x20time\x20is\x20long;\x20consider\x20optimizing\x20the\x20Machine\x20process'));}return{'metrics':{'orderCount':b,'completedRate':c??0x0,'avgCompletionTime':d,'repeatCustomerRate':e,'reviewLikeRate':f,'reviewCount':g},'suggestions':i,'flywheelStage':h};}
|