@wowok/agent-mcp 3.0.2 → 3.0.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/LICENSE +0 -3
- package/dist/harness/recover.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/knowledge/account-marks.js +1 -1
- package/dist/knowledge/arbitration-risk.js +1 -1
- package/dist/knowledge/flywheel-loop.d.ts +4 -52
- package/dist/knowledge/flywheel-loop.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/index.d.ts +2 -225
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/machine-risk.js +1 -1
- package/dist/knowledge/machine-translation.js +1 -1
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/order-ledger.d.ts +2 -2
- package/dist/knowledge/order-ledger.js +1 -1
- package/dist/knowledge/order-puzzle.d.ts +4 -4
- package/dist/knowledge/order-puzzle.js +1 -1
- package/dist/knowledge/order-risk.d.ts +1 -0
- package/dist/knowledge/order-risk.js +1 -1
- package/dist/knowledge/order-templates.d.ts +1 -1
- package/dist/knowledge/order-templates.js +1 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/service-risk.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workspace-lists.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/context-assembly.d.ts +3 -1
- package/dist/playbooks/service-build/context-assembly.js +1 -1
- package/dist/playbooks/service-build/machine-nodes.d.ts +2 -0
- package/dist/playbooks/service-build/machine-nodes.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.d.ts +7 -0
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/review/machine.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/base.d.ts +12 -3
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +4 -0
- package/dist/schema/call/bridge.js +1 -1
- package/dist/schema/call/error-codes.d.ts +2 -0
- package/dist/schema/call/error-codes.js +1 -0
- package/dist/schema/call/guard.d.ts +4 -4
- package/dist/schema/call/semantic.d.ts +9 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/index.d.ts +3 -3
- package/dist/schema/goal/planning.d.ts +2 -2
- package/dist/schema/industry-pack/index.d.ts +4 -4
- package/dist/schema/industry-pack/modes.d.ts +4 -4
- package/dist/schema/local/index.d.ts +558 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +25 -25
- package/dist/schema/operations.d.ts +1 -1
- package/dist/schema/persona/index.d.ts +2 -2
- package/dist/schema/query/bi.d.ts +0 -4
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/trust/index.d.ts +3 -3
- package/dist/schema/workspace/index.d.ts +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +4 -0
- package/dist/schemas/bridge_operation.output.json +4 -0
- package/dist/schemas/index.json +7 -1
- package/dist/schemas/local_history_operation.output.json +1458 -0
- package/dist/schemas/local_history_operation.schema.json +105 -0
- package/dist/schemas/local_info_operation.output.json +4 -0
- package/dist/schemas/local_mark_operation.output.json +4 -0
- package/dist/schemas/onchain_operations.output.json +4 -1
- package/dist/schemas/onchain_operations.schema.json +30 -10
- package/dist/schemas/onchain_operations_guard.schema.json +30 -10
- package/dist/schemas/query_toolkit.output.json +17 -16
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/local.d.ts +1 -0
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/local.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
- package/dist/knowledge/allocation-confirm.d.ts +0 -115
- package/dist/knowledge/allocation-confirm.js +0 -1
- package/dist/knowledge/allocation-context.d.ts +0 -58
- package/dist/knowledge/allocation-context.js +0 -1
- package/dist/knowledge/allocation-translation.d.ts +0 -72
- package/dist/knowledge/allocation-translation.js +0 -1
- package/dist/knowledge/arb-confirm.d.ts +0 -28
- package/dist/knowledge/arb-confirm.js +0 -1
- package/dist/knowledge/arb-translation.d.ts +0 -48
- package/dist/knowledge/arb-translation.js +0 -1
- package/dist/knowledge/arbitration-confirm.d.ts +0 -135
- package/dist/knowledge/arbitration-confirm.js +0 -1
- package/dist/knowledge/arbitration-context.d.ts +0 -81
- package/dist/knowledge/arbitration-context.js +0 -1
- package/dist/knowledge/arbitration-translation.d.ts +0 -91
- package/dist/knowledge/arbitration-translation.js +0 -1
- package/dist/knowledge/bridge-confirm.d.ts +0 -26
- package/dist/knowledge/bridge-confirm.js +0 -1
- package/dist/knowledge/bridge-translation.d.ts +0 -37
- package/dist/knowledge/bridge-translation.js +0 -1
- package/dist/knowledge/contact-confirm.d.ts +0 -27
- package/dist/knowledge/contact-confirm.js +0 -1
- package/dist/knowledge/contact-translation.d.ts +0 -39
- package/dist/knowledge/contact-translation.js +0 -1
- package/dist/knowledge/demand-confirm.d.ts +0 -32
- package/dist/knowledge/demand-confirm.js +0 -1
- package/dist/knowledge/demand-context.d.ts +0 -17
- package/dist/knowledge/demand-context.js +0 -1
- package/dist/knowledge/demand-ledger.d.ts +0 -26
- package/dist/knowledge/demand-ledger.js +0 -1
- package/dist/knowledge/demand-puzzle.d.ts +0 -29
- package/dist/knowledge/demand-puzzle.js +0 -1
- package/dist/knowledge/demand-templates.d.ts +0 -12
- package/dist/knowledge/demand-templates.js +0 -1
- package/dist/knowledge/demand-translation.d.ts +0 -55
- package/dist/knowledge/demand-translation.js +0 -1
- package/dist/knowledge/examples-scanner-cli.d.ts +0 -1
- package/dist/knowledge/examples-scanner-cli.js +0 -1
- package/dist/knowledge/examples-scanner.d.ts +0 -121
- package/dist/knowledge/examples-scanner.js +0 -1
- package/dist/knowledge/glossary.d.ts +0 -18
- package/dist/knowledge/glossary.js +0 -1
- package/dist/knowledge/guard-bytecode-spec.d.ts +0 -82
- package/dist/knowledge/guard-bytecode-spec.js +0 -1
- package/dist/knowledge/guard-confirm.d.ts +0 -86
- package/dist/knowledge/guard-confirm.js +0 -1
- package/dist/knowledge/immutability.d.ts +0 -11
- package/dist/knowledge/immutability.js +0 -1
- package/dist/knowledge/machine-confirm.d.ts +0 -102
- package/dist/knowledge/machine-confirm.js +0 -1
- package/dist/knowledge/machine-context.d.ts +0 -160
- package/dist/knowledge/machine-context.js +0 -1
- package/dist/knowledge/machine-render.d.ts +0 -41
- package/dist/knowledge/machine-render.js +0 -1
- package/dist/knowledge/mcp-schema-audit-cli.d.ts +0 -1
- package/dist/knowledge/mcp-schema-audit-cli.js +0 -1
- package/dist/knowledge/mcp-schema-audit.d.ts +0 -91
- package/dist/knowledge/mcp-schema-audit.js +0 -1
- package/dist/knowledge/messenger-guard-guidance.d.ts +0 -17
- package/dist/knowledge/messenger-guard-guidance.js +0 -1
- package/dist/knowledge/order-confirm.d.ts +0 -115
- package/dist/knowledge/order-confirm.js +0 -1
- package/dist/knowledge/order-context.d.ts +0 -66
- package/dist/knowledge/order-context.js +0 -1
- package/dist/knowledge/order-translation.d.ts +0 -78
- package/dist/knowledge/order-translation.js +0 -1
- package/dist/knowledge/overrides-loader.d.ts +0 -13
- package/dist/knowledge/overrides-loader.js +0 -1
- package/dist/knowledge/passport-confirm.d.ts +0 -130
- package/dist/knowledge/passport-confirm.js +0 -1
- package/dist/knowledge/passport-context.d.ts +0 -59
- package/dist/knowledge/passport-context.js +0 -1
- package/dist/knowledge/passport-puzzle.d.ts +0 -108
- package/dist/knowledge/passport-puzzle.js +0 -1
- package/dist/knowledge/passport-risk.d.ts +0 -70
- package/dist/knowledge/passport-risk.js +0 -1
- package/dist/knowledge/passport-translation.d.ts +0 -68
- package/dist/knowledge/passport-translation.js +0 -1
- package/dist/knowledge/payment-confirm.d.ts +0 -26
- package/dist/knowledge/payment-confirm.js +0 -1
- package/dist/knowledge/payment-translation.d.ts +0 -37
- package/dist/knowledge/payment-translation.js +0 -1
- package/dist/knowledge/permission-confirm.d.ts +0 -110
- package/dist/knowledge/permission-confirm.js +0 -1
- package/dist/knowledge/permission-context.d.ts +0 -69
- package/dist/knowledge/permission-context.js +0 -1
- package/dist/knowledge/permission-translation.d.ts +0 -57
- package/dist/knowledge/permission-translation.js +0 -1
- package/dist/knowledge/personal-confirm.d.ts +0 -29
- package/dist/knowledge/personal-confirm.js +0 -1
- package/dist/knowledge/personal-translation.d.ts +0 -37
- package/dist/knowledge/personal-translation.js +0 -1
- package/dist/knowledge/process-model.d.ts +0 -14
- package/dist/knowledge/process-model.js +0 -1
- package/dist/knowledge/progress-confirm.d.ts +0 -108
- package/dist/knowledge/progress-confirm.js +0 -1
- package/dist/knowledge/progress-context.d.ts +0 -123
- package/dist/knowledge/progress-context.js +0 -1
- package/dist/knowledge/progress-translation.d.ts +0 -52
- package/dist/knowledge/progress-translation.js +0 -1
- package/dist/knowledge/proof-confirm.d.ts +0 -31
- package/dist/knowledge/proof-confirm.js +0 -1
- package/dist/knowledge/proof-context.d.ts +0 -17
- package/dist/knowledge/proof-context.js +0 -1
- package/dist/knowledge/proof-ledger.d.ts +0 -34
- package/dist/knowledge/proof-ledger.js +0 -1
- package/dist/knowledge/proof-puzzle.d.ts +0 -35
- package/dist/knowledge/proof-puzzle.js +0 -1
- package/dist/knowledge/proof-templates.d.ts +0 -22
- package/dist/knowledge/proof-templates.js +0 -1
- package/dist/knowledge/proof-translation.d.ts +0 -52
- package/dist/knowledge/proof-translation.js +0 -1
- package/dist/knowledge/registrar-confirm.d.ts +0 -26
- package/dist/knowledge/registrar-confirm.js +0 -1
- package/dist/knowledge/registrar-translation.d.ts +0 -37
- package/dist/knowledge/registrar-translation.js +0 -1
- package/dist/knowledge/repository-confirm.d.ts +0 -40
- package/dist/knowledge/repository-confirm.js +0 -1
- package/dist/knowledge/repository-context.d.ts +0 -12
- package/dist/knowledge/repository-context.js +0 -1
- package/dist/knowledge/repository-ledger.d.ts +0 -25
- package/dist/knowledge/repository-ledger.js +0 -1
- package/dist/knowledge/repository-puzzle.d.ts +0 -30
- package/dist/knowledge/repository-puzzle.js +0 -1
- package/dist/knowledge/repository-templates.d.ts +0 -14
- package/dist/knowledge/repository-templates.js +0 -1
- package/dist/knowledge/repository-translation.d.ts +0 -58
- package/dist/knowledge/repository-translation.js +0 -1
- package/dist/knowledge/resource-confirm.d.ts +0 -25
- package/dist/knowledge/resource-confirm.js +0 -1
- package/dist/knowledge/resource-translation.d.ts +0 -37
- package/dist/knowledge/resource-translation.js +0 -1
- package/dist/knowledge/reward-confirm.d.ts +0 -116
- package/dist/knowledge/reward-confirm.js +0 -1
- package/dist/knowledge/reward-context.d.ts +0 -127
- package/dist/knowledge/reward-context.js +0 -1
- package/dist/knowledge/reward-translation.d.ts +0 -58
- package/dist/knowledge/reward-translation.js +0 -1
- package/dist/knowledge/service-confirm.d.ts +0 -161
- package/dist/knowledge/service-confirm.js +0 -1
- package/dist/knowledge/service-context.d.ts +0 -66
- package/dist/knowledge/service-context.js +0 -1
- package/dist/knowledge/service-translation.d.ts +0 -103
- package/dist/knowledge/service-translation.js +0 -1
- package/dist/knowledge/treasury-confirm.d.ts +0 -133
- package/dist/knowledge/treasury-confirm.js +0 -1
- package/dist/knowledge/treasury-context.d.ts +0 -64
- package/dist/knowledge/treasury-context.js +0 -1
- package/dist/knowledge/treasury-translation.d.ts +0 -78
- package/dist/knowledge/treasury-translation.js +0 -1
- package/dist/knowledge/util-confirm.d.ts +0 -24
- package/dist/knowledge/util-confirm.js +0 -1
- package/dist/knowledge/util-translation.d.ts +0 -39
- package/dist/knowledge/util-translation.js +0 -1
- package/dist/loop-engineering/aggregate.d.ts +0 -50
- package/dist/loop-engineering/aggregate.js +0 -1
- package/dist/loop-engineering/context-collect.d.ts +0 -7
- package/dist/loop-engineering/context-collect.js +0 -1
- package/dist/loop-engineering/diagnose.d.ts +0 -22
- package/dist/loop-engineering/diagnose.js +0 -1
- package/dist/loop-engineering/improve.d.ts +0 -55
- package/dist/loop-engineering/improve.js +0 -1
- package/dist/loop-engineering/index.d.ts +0 -4
- package/dist/loop-engineering/index.js +0 -1
- package/dist/loop-engineering/pipeline.d.ts +0 -17
- package/dist/loop-engineering/pipeline.js +0 -1
- package/dist/schema/utils/object-type-utils.d.ts +0 -12
- package/dist/schema/utils/object-type-utils.js +0 -1
- package/dist/telemetry/index.d.ts +0 -19
- package/dist/telemetry/index.js +0 -1
- package/dist/telemetry/redact.d.ts +0 -2
- package/dist/telemetry/redact.js +0 -1
- package/dist/telemetry/storage.d.ts +0 -8
- package/dist/telemetry/storage.js +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface MessengerGuardSuggestion {
|
|
2
|
-
intent: string;
|
|
3
|
-
recognized: boolean;
|
|
4
|
-
best_semantic?: {
|
|
5
|
-
id: string;
|
|
6
|
-
pattern_name: string;
|
|
7
|
-
semantic_intent: string;
|
|
8
|
-
};
|
|
9
|
-
best_design?: {
|
|
10
|
-
id: string;
|
|
11
|
-
business_requirement: string;
|
|
12
|
-
data_source: string;
|
|
13
|
-
};
|
|
14
|
-
alternatives: string[];
|
|
15
|
-
guidance: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function suggestGuardForMessenger(intent: string): MessengerGuardSuggestion;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{matchSemanticPattern}from'./guard-translation.js';import{suggestPatternForRequirement}from'./guard-design-patterns.js';export function suggestGuardForMessenger(a){const b=matchSemanticPattern(a),c=suggestPatternForRequirement(a),d=b['length']>0x0,e=b[0x0];return{'intent':a,'recognized':d,'best_semantic':e?{'id':e['id'],'pattern_name':e['pattern_name'],'semantic_intent':e['semantic_intent']}:undefined,'best_design':c['best']?{'id':c['best']['id'],'business_requirement':c['best']['business_requirement'],'data_source':c['best']['data_source']}:undefined,'alternatives':c['alternatives']['map'](f=>f['business_requirement']),'guidance':d?'Recommend\x20guard\x20\x22'+e['pattern_name']+'\x22\x20('+e['id']+')\x20for:\x20\x22'+a+'\x22.\x20'+'Add\x20it\x20to\x20the\x20recipient\x27s\x20guard\x20list\x20(messenger_operation\x20guardlist\x20add)\x20'+'with\x20a\x20passportValiditySeconds\x20matching\x20the\x20underlying\x20data\x20volatility.':'No\x20exact\x20semantic\x20pattern\x20matched\x20\x22'+a+'\x22.\x20Closest\x20design:\x20'+(c['best']['business_requirement']+'.\x20Review\x20guard-design-patterns\x20before\x20configuring.')};}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { type OrderRiskAssessment } from "./order-risk.js";
|
|
2
|
-
export type OrderConfirmGateStatus = "approved" | "blocked_checklist" | "blocked_risk" | "blocked_user" | "blocked_environment";
|
|
3
|
-
export interface OrderConfirmGateResult {
|
|
4
|
-
status: OrderConfirmGateStatus;
|
|
5
|
-
checklist_result: OrderChecklistResult;
|
|
6
|
-
risk_result?: OrderRiskAssessment;
|
|
7
|
-
user_confirmation?: OrderUserConfirmation;
|
|
8
|
-
environment_result?: OrderEnvironmentResult;
|
|
9
|
-
confirmation_text?: string;
|
|
10
|
-
block_reason?: string;
|
|
11
|
-
decision_record: OrderDecisionRecord;
|
|
12
|
-
}
|
|
13
|
-
export interface OrderChecklistResult {
|
|
14
|
-
all_passed: boolean;
|
|
15
|
-
items: OrderChecklistItem[];
|
|
16
|
-
}
|
|
17
|
-
export interface OrderChecklistItem {
|
|
18
|
-
id: string;
|
|
19
|
-
description: string;
|
|
20
|
-
passed: boolean;
|
|
21
|
-
message: string;
|
|
22
|
-
}
|
|
23
|
-
export interface OrderUserConfirmation {
|
|
24
|
-
questions_asked: OrderConfirmationQuestion[];
|
|
25
|
-
responses: OrderConfirmationResponse[];
|
|
26
|
-
all_confirmed: boolean;
|
|
27
|
-
}
|
|
28
|
-
export interface OrderConfirmationQuestion {
|
|
29
|
-
id: string;
|
|
30
|
-
question: string;
|
|
31
|
-
requires_explicit_yes: boolean;
|
|
32
|
-
related_risk_ids?: string[];
|
|
33
|
-
}
|
|
34
|
-
export interface OrderConfirmationResponse {
|
|
35
|
-
question_id: string;
|
|
36
|
-
response: "yes" | "no" | "skip";
|
|
37
|
-
}
|
|
38
|
-
export interface OrderEnvironmentResult {
|
|
39
|
-
passed: boolean;
|
|
40
|
-
checks: {
|
|
41
|
-
name: string;
|
|
42
|
-
passed: boolean;
|
|
43
|
-
message: string;
|
|
44
|
-
}[];
|
|
45
|
-
}
|
|
46
|
-
export interface OrderDecisionRecord {
|
|
47
|
-
timestamp: string;
|
|
48
|
-
gate_version: string;
|
|
49
|
-
final_status: OrderConfirmGateStatus;
|
|
50
|
-
layers_passed: string[];
|
|
51
|
-
layers_failed: string[];
|
|
52
|
-
}
|
|
53
|
-
export interface OrderJsonForConfirm {
|
|
54
|
-
object?: string;
|
|
55
|
-
agent?: string[];
|
|
56
|
-
required_info?: string | null;
|
|
57
|
-
progress?: {
|
|
58
|
-
next_node_name?: string;
|
|
59
|
-
forward?: {
|
|
60
|
-
name: string;
|
|
61
|
-
operator?: string | null;
|
|
62
|
-
};
|
|
63
|
-
hold?: object | null;
|
|
64
|
-
message?: string;
|
|
65
|
-
};
|
|
66
|
-
arb_confirm?: {
|
|
67
|
-
arb: string;
|
|
68
|
-
confirm: boolean;
|
|
69
|
-
description?: string;
|
|
70
|
-
proposition?: string[];
|
|
71
|
-
};
|
|
72
|
-
arb_objection?: {
|
|
73
|
-
arb: string;
|
|
74
|
-
objection: string;
|
|
75
|
-
};
|
|
76
|
-
arb_claim_compensation?: {
|
|
77
|
-
arb: string;
|
|
78
|
-
};
|
|
79
|
-
receive?: {
|
|
80
|
-
received: string;
|
|
81
|
-
};
|
|
82
|
-
transfer_to?: string;
|
|
83
|
-
}
|
|
84
|
-
export interface OrderConfirmGateInput {
|
|
85
|
-
order_json: OrderJsonForConfirm;
|
|
86
|
-
intent?: string;
|
|
87
|
-
current_state?: {
|
|
88
|
-
progress_bound?: boolean;
|
|
89
|
-
claimed_by_set?: boolean;
|
|
90
|
-
dispute_count?: number;
|
|
91
|
-
agent_count?: number;
|
|
92
|
-
progress_at_terminal?: boolean;
|
|
93
|
-
service_published?: boolean;
|
|
94
|
-
service_paused?: boolean;
|
|
95
|
-
current_service_machine?: string;
|
|
96
|
-
order_machine_snapshot?: string;
|
|
97
|
-
};
|
|
98
|
-
caller?: {
|
|
99
|
-
is_owner?: boolean;
|
|
100
|
-
is_agent?: boolean;
|
|
101
|
-
};
|
|
102
|
-
skip_user_confirmation?: boolean;
|
|
103
|
-
skip_environment_check?: boolean;
|
|
104
|
-
}
|
|
105
|
-
export declare const ORDER_PUBLISH_CHECKLIST: OrderChecklistItem[];
|
|
106
|
-
export declare const ORDER_CONFIRMATION_QUESTIONS: OrderConfirmationQuestion[];
|
|
107
|
-
export declare const ORDER_CONFIRM_VERSION = "1.0.0";
|
|
108
|
-
export declare function runOrderConfirmGate(input: OrderConfirmGateInput): OrderConfirmGateResult;
|
|
109
|
-
export interface OrderProgressiveCheckResult {
|
|
110
|
-
stage: "checklist" | "risk" | "confirmation" | "environment" | "complete";
|
|
111
|
-
status: "pass" | "fail" | "pending";
|
|
112
|
-
message: string;
|
|
113
|
-
next_action?: string;
|
|
114
|
-
}
|
|
115
|
-
export declare function progressiveOrderCheck(input: OrderConfirmGateInput): OrderProgressiveCheckResult;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{MAX_AGENT_COUNT,MAX_DISPUTE_COUNT}from'@wowok/wowok';import{assessOrderRisks}from'./order-risk.js';export const ORDER_PUBLISH_CHECKLIST=[{'id':'C-O-01','description':'Order\x20object\x20address\x20is\x20valid\x20(must\x20start\x20with\x200x,\x20length\x20>=\x2040)','passed':![],'message':''},{'id':'C-O-02','description':'Operation\x20is\x20NOT\x20direct\x20order::create\x20(Order\x20created\x20via\x20service::buy)','passed':![],'message':''},{'id':'C-O-03','description':'agent\x20count\x20<=\x20MAX_AGENT_COUNT\x20('+MAX_AGENT_COUNT+')\x20—\x20⚠️\x20actual\x20allows\x2011\x20due\x20to\x20<=\x20bug','passed':![],'message':''},{'id':'C-O-04','description':'dispute\x20count\x20<\x20MAX_DISPUTE_COUNT\x20('+MAX_DISPUTE_COUNT+')\x20—\x20cannot\x20file\x2011th\x20dispute','passed':![],'message':''},{'id':'C-O-05','description':'claimed_by\x20is\x20None\x20(no\x20terminal\x20claim\x20state)\x20—\x20required\x20for\x20arb_confirm/arb_objection/arb_claim_compensation','passed':![],'message':''},{'id':'C-O-06','description':'L1\x20operations\x20(receive/transfer_to/agent_set)\x20called\x20by\x20OWNER\x20only','passed':![],'message':''},{'id':'C-O-07','description':'L2\x20operations\x20(required_info/progress/arb_*)\x20called\x20by\x20owner\x20OR\x20agent','passed':![],'message':''},{'id':'C-O-08','description':'agent_set\x20/\x20owner_change\x20called\x20BEFORE\x20Progress\x20binding\x20(frozen\x20after)','passed':![],'message':''},{'id':'C-O-09','description':'receive\x20called\x20only\x20when\x20Progress\x20is\x20at\x20terminal\x20node\x20(not\x20delivering)','passed':![],'message':''},{'id':'C-O-10','description':'transfer_to\x20/\x20arb_claim_compensation\x20/\x20arb_objection\x20are\x20IRREVERSIBLE\x20—\x20double-confirm','passed':![],'message':''},{'id':'C-O-11','description':'required_info\x20is\x20Contact\x20object\x20OR\x20WTS\x20Proof\x20object\x20OR\x20null\x20(clear)','passed':![],'message':''},{'id':'C-O-12','description':'Service\x20is\x20published\x20AND\x20not\x20paused\x20(for\x20service::buy\x20flow)','passed':![],'message':''},{'id':'C-O-13','description':'Agent\x20CANNOT\x20receive\x20payments\x20—\x20only\x20owner\x20can\x20call\x20receive','passed':![],'message':''},{'id':'C-O-14','description':'arb_claim_compensation\x20requires\x20Arb\x20in\x20Arbitrated\x20state','passed':![],'message':''},{'id':'C-O-15','description':'Order\x20has\x2014\x20fields\x20—\x20SDK\x20uses\x20\x27builder\x27\x20for\x20Move\x27s\x20\x27owner\x27\x20(naming\x20deviation)','passed':![],'message':''}];function isValidAddress(a){return typeof a==='string'&&a['startsWith']('0x')&&a['length']>=0x28;}function runStaticChecklist(a){const b=ORDER_PUBLISH_CHECKLIST['map'](y=>({...y})),c=a['order_json'],d=a['current_state']??{},e=a['caller']??{},f=b['find'](y=>y['id']==='C-O-01');if(!c['object'])f['passed']=![],f['message']='Order\x20object\x20address\x20is\x20required\x20(creation\x20goes\x20via\x20service::buy,\x20not\x20here)';else!isValidAddress(c['object'])?(f['passed']=![],f['message']='Invalid\x20Order\x20address:\x20'+c['object']):f['passed']=!![];const g=b['find'](y=>y['id']==='C-O-02');g['passed']=!![],g['message']='CallOrder_Data\x20has\x20no\x20create\x20op\x20—\x20Order\x20creation\x20goes\x20via\x20service::buy';const h=b['find'](y=>y['id']==='C-O-03');if(c['agent']){const y=c['agent']['length'],z=y<=MAX_AGENT_COUNT;h['passed']=z,h['message']=z?y===MAX_AGENT_COUNT?y+'\x20agents\x20(at\x20doc\x20limit;\x20actual\x20allows\x2011\x20due\x20to\x20bug)':y+'\x20agents':y+'\x20agents\x20>\x20MAX_AGENT_COUNT\x20('+MAX_AGENT_COUNT+')\x20—\x20will\x20abort\x20E_MAX_AGENT_COUNT\x20(note:\x20actual\x20allows\x2011\x20due\x20to\x20<=\x20bug)';}else h['passed']=!![];const i=b['find'](A=>A['id']==='C-O-04'),j=d['dispute_count']??0x0;if(c['arb_confirm']){const A=j<MAX_DISPUTE_COUNT;i['passed']=A,i['message']=A?j+'\x20existing\x20disputes':j+'\x20disputes\x20already\x20at\x20MAX_DISPUTE_COUNT\x20('+MAX_DISPUTE_COUNT+')\x20—\x20next\x20dispute()\x20will\x20abort\x20E_MAX_DISPUTE_COUNT';}else i['passed']=!![];const k=b['find'](B=>B['id']==='C-O-05');if(c['arb_confirm']||c['arb_objection']||c['arb_claim_compensation']){const B=!d['claimed_by_set'];k['passed']=B,k['message']=B?'claimed_by\x20is\x20None\x20—\x20arb\x20operations\x20allowed':'claimed_by\x20is\x20SET\x20—\x20arb\x20operations\x20blocked\x20(E_ORDER_ALREADY_CLAIMED,\x20IRREVERSIBLE)';}else k['passed']=!![];const l=b['find'](C=>C['id']==='C-O-06'),m=!!(c['receive']||c['transfer_to']||c['agent']);if(m){const C=!!e['is_owner'];l['passed']=C,l['message']=C?'Caller\x20is\x20owner\x20—\x20L1\x20allowed':'Caller\x20is\x20NOT\x20owner\x20—\x20L1\x20operation\x20blocked\x20(E_OWNER)';}else l['passed']=!![];const n=b['find'](D=>D['id']==='C-O-07'),o=!!(c['required_info']!==undefined||c['progress']||c['arb_confirm']||c['arb_objection']||c['arb_claim_compensation']);if(o){const D=!!e['is_owner']||!!e['is_agent'];n['passed']=D,n['message']=D?'Caller\x20is\x20owner\x20or\x20agent\x20—\x20L2\x20allowed':'Caller\x20is\x20NEITHER\x20owner\x20NOR\x20agent\x20—\x20L2\x20blocked\x20(E_PERMISSION)';}else n['passed']=!![];const p=b['find'](E=>E['id']==='C-O-08');if(c['agent']||c['transfer_to']&&!d['progress_bound']){if(c['agent']){const E=!d['progress_bound'];p['passed']=E,p['message']=E?'Progress\x20not\x20bound\x20—\x20agent_set\x20allowed':'Progress\x20BOUND\x20—\x20agent_set\x20aborts\x20E_PROGRESS_NOT_SPECIFIED\x20(frozen)';}else p['passed']=!![];}else p['passed']=!![];const q=b['find'](F=>F['id']==='C-O-09');if(c['receive']){const F=!!d['progress_at_terminal'];q['passed']=F,q['message']=F?'Progress\x20at\x20terminal\x20—\x20receive\x20allowed':'Progress\x20NOT\x20at\x20terminal\x20—\x20receive\x20aborts\x20E_ORDER_DELIVERING';}else q['passed']=!![];const r=b['find'](G=>G['id']==='C-O-10'),s=!!(c['transfer_to']||c['arb_claim_compensation']||c['arb_objection']);s?(r['passed']=![],r['message']='Pending\x20user\x20confirmation\x20in\x20Layer\x203\x20(irreversible\x20operation)'):r['passed']=!![];const t=b['find'](G=>G['id']==='C-O-11');if(c['required_info']!==undefined){const G=c['required_info']===null||isValidAddress(c['required_info']);t['passed']=G,t['message']=G?c['required_info']===null?'required_info\x20=\x20null\x20(clear)':'required_info\x20is\x20valid\x20address\x20(Contact\x20or\x20WTS\x20Proof)':'Invalid\x20required_info:\x20'+c['required_info'];}else t['passed']=!![];const u=b['find'](H=>H['id']==='C-O-12');u['passed']=!![],u['message']='Service\x20check\x20applies\x20only\x20to\x20service::buy\x20flow\x20(not\x20CallOrder_Data)';const v=b['find'](H=>H['id']==='C-O-13');c['receive']&&e['is_agent']&&!e['is_owner']?(v['passed']=![],v['message']='Agent\x20CANNOT\x20receive\x20payments\x20—\x20only\x20owner\x20can\x20call\x20receive\x20(L1)'):v['passed']=!![];const w=b['find'](H=>H['id']==='C-O-14');c['arb_claim_compensation']?(w['passed']=!![],w['message']='Arb\x20Arbitrated\x20state\x20verified\x20in\x20Layer\x204\x20(Environment)'):w['passed']=!![];const x=b['find'](H=>H['id']==='C-O-15');return x['passed']=!![],x['message']='Informational:\x20SDK\x20ObjectOrder.builder\x20↔\x20Move\x20Order.owner\x20(only\x20naming\x20deviation\x20in\x2022\x20objects)',{'all_passed':b['filter'](H=>H['id']!=='C-O-10')['every'](H=>H['passed']),'items':b};}function adaptRiskAssessment(a){const b=a['order_json'],c=a['current_state']??{},d=a['caller']??{};let e;if(b['agent'])e='agent_set';else{if(b['required_info']!==undefined)e='required_info_update';else{if(b['progress'])e='progress_advance';else{if(b['arb_confirm'])e='arb_confirm';else{if(b['arb_objection'])e='arb_objection';else{if(b['arb_claim_compensation'])e='arb_claim_compensation';else{if(b['receive'])e='receive';else{if(b['transfer_to'])e='transfer_to';}}}}}}}const f={'object':b['object'],'operation':e,'is_buy_operation':![],'agent_set':b['agent']?{'agents':b['agent']}:undefined,'current_dispute_count':c['dispute_count'],'claimed_by_set':c['claimed_by_set'],'progress_bound':c['progress_bound'],'progress_at_terminal':c['progress_at_terminal'],'service_published':c['service_published'],'service_paused':c['service_paused'],'current_service_machine':c['current_service_machine'],'order_machine_snapshot':c['order_machine_snapshot'],'transfer_to_new_owner':b['transfer_to'],'caller_is_owner':d['is_owner'],'caller_is_agent':d['is_agent']};return assessOrderRisks(f);}export const ORDER_CONFIRMATION_QUESTIONS=[{'id':'QO1','question':'Is\x20the\x20Order\x20object\x20address\x20correct?\x20Verify\x20it\x20matches\x20the\x20intended\x20Order\x20(check\x20on\x20explorer).','requires_explicit_yes':!![]},{'id':'QO2','question':'If\x20setting\x20agent\x20list:\x20are\x20all\x20agent\x20addresses\x20trusted\x20parties?\x20Agents\x20can\x20advance\x20Progress\x20and\x20file\x20arbitration\x20but\x20CANNOT\x20receive\x20payments.','requires_explicit_yes':!![],'related_risk_ids':['R-O-3-01']},{'id':'QO3','question':'If\x20filing\x20arbitration\x20(arb_confirm):\x20have\x20you\x20attached\x20all\x20evidence?\x20This\x20operation\x20is\x20IRREVERSIBLE\x20—\x20once\x20filed,\x20the\x20Arb\x20process\x20cannot\x20be\x20cancelled.','requires_explicit_yes':!![],'related_risk_ids':['R-O-4-04']},{'id':'QO4','question':'⚠️⚠️\x20If\x20claiming\x20compensation\x20(arb_claim_compensation):\x20do\x20you\x20confirm\x20this\x20is\x20the\x20FINAL\x20Arb\x20ruling?\x20After\x20claim,\x20claimed_by\x20is\x20set\x20IRREVERSIBLY\x20—\x20NO\x20new\x20disputes\x20can\x20ever\x20be\x20filed.','requires_explicit_yes':!![],'related_risk_ids':['R-O-3-03','R-O-4-04']},{'id':'QO5','question':'⚠️⚠️\x20If\x20transferring\x20ownership\x20(transfer_to):\x20do\x20you\x20confirm\x20the\x20new\x20owner\x20address\x20is\x20correct?\x20This\x20is\x20IRREVERSIBLE\x20—\x20new\x20owner\x20takes\x20over\x20ALL\x20permissions\x20including\x20payment\x20receipt.','requires_explicit_yes':!![],'related_risk_ids':['R-O-4-06']},{'id':'QO6','question':'If\x20advancing\x20Progress:\x20are\x20you\x20sure\x20about\x20the\x20target\x20node?\x20Node\x20transitions\x20are\x20IRREVERSIBLE\x20—\x20no\x20backward\x20movement\x20is\x20possible.','requires_explicit_yes':!![],'related_risk_ids':['R-O-4-03']},{'id':'QO7','question':'If\x20receiving\x20payment:\x20have\x20you\x20verified\x20the\x20receiving\x20object\x20ID\x20and\x20the\x20amount?\x20Funds\x20are\x20forwarded\x20to\x20the\x20owner\x20address\x20immediately.','requires_explicit_yes':![]},{'id':'QO8','question':'Have\x20you\x20exported\x20the\x20current\x20Order\x20state\x20as\x20a\x20backup\x20before\x20this\x20operation?\x20(Recommended\x20for\x20irreversible\x20ops.)','requires_explicit_yes':![]}];function processUserConfirmation(a,b){const c=a['order_json'];let d=[...ORDER_CONFIRMATION_QUESTIONS];if(!c['agent'])d=d['filter'](e=>e['id']!=='QO2');if(!c['arb_confirm'])d=d['filter'](e=>e['id']!=='QO3');if(!c['arb_claim_compensation'])d=d['filter'](e=>e['id']!=='QO4');if(!c['transfer_to'])d=d['filter'](e=>e['id']!=='QO5');if(!c['progress'])d=d['filter'](e=>e['id']!=='QO6');if(!c['receive'])d=d['filter'](e=>e['id']!=='QO7');if(a['skip_user_confirmation'])return{'questions_asked':d,'responses':d['map'](e=>({'question_id':e['id'],'response':'yes'})),'all_confirmed':!![]};return{'questions_asked':d,'responses':[],'all_confirmed':![]};}function verifyEnvironment(a){const b=[],c=a['order_json'],d=a['current_state']??{},e=a['caller']??{};c['object']&&b['push']({'name':'order_exists','passed':!![],'message':'Order\x20'+c['object']+'\x20assumed\x20to\x20exist\x20(verify\x20via\x20explorer)'});const f=!!(c['receive']||c['transfer_to']||c['agent']),g=!!(c['required_info']!==undefined||c['progress']||c['arb_confirm']||c['arb_objection']||c['arb_claim_compensation']);if(f)b['push']({'name':'signer_is_owner','passed':!!e['is_owner'],'message':e['is_owner']?'Signer\x20is\x20owner\x20—\x20L1\x20allowed':'Signer\x20is\x20NOT\x20owner\x20—\x20L1\x20operation\x20will\x20abort\x20E_OWNER'});else{if(g){const i=!!e['is_owner']||!!e['is_agent'];b['push']({'name':'signer_is_owner_or_agent','passed':i,'message':i?'Signer\x20is\x20'+(e['is_owner']?'owner':'agent')+'\x20—\x20L2\x20allowed':'Signer\x20is\x20NEITHER\x20owner\x20NOR\x20agent\x20—\x20L2\x20will\x20abort\x20E_PERMISSION'});}}(c['arb_confirm']||c['arb_objection']||c['arb_claim_compensation'])&&b['push']({'name':'claimed_by_is_none','passed':!d['claimed_by_set'],'message':d['claimed_by_set']?'claimed_by\x20is\x20SET\x20—\x20arb\x20operations\x20blocked\x20(E_ORDER_ALREADY_CLAIMED,\x20IRREVERSIBLE)':'claimed_by\x20is\x20None\x20—\x20arb\x20operations\x20allowed'});c['receive']&&b['push']({'name':'progress_at_terminal','passed':!!d['progress_at_terminal'],'message':d['progress_at_terminal']?'Progress\x20at\x20terminal\x20—\x20receive\x20allowed':'Progress\x20NOT\x20at\x20terminal\x20—\x20receive\x20aborts\x20E_ORDER_DELIVERING'});c['agent']&&b['push']({'name':'progress_not_bound','passed':!d['progress_bound'],'message':d['progress_bound']?'Progress\x20BOUND\x20—\x20agent_set\x20aborts\x20E_PROGRESS_NOT_SPECIFIED\x20(frozen)':'Progress\x20not\x20bound\x20—\x20agent_set\x20allowed'});if(c['arb_confirm']){const j=d['dispute_count']??0x0,k=j<MAX_DISPUTE_COUNT;b['push']({'name':'dispute_count_below_max','passed':k,'message':k?j+'\x20disputes\x20(<\x20MAX_DISPUTE_COUNT\x20'+MAX_DISPUTE_COUNT+')':j+'\x20disputes\x20at\x20MAX_DISPUTE_COUNT\x20—\x20next\x20dispute()\x20aborts\x20E_MAX_DISPUTE_COUNT'});}d['service_published']===![]&&b['push']({'name':'service_published','passed':![],'message':'Service\x20is\x20NOT\x20published\x20—\x20service::buy\x20will\x20fail'});d['service_paused']===!![]&&b['push']({'name':'service_not_paused','passed':![],'message':'Service\x20is\x20PAUSED\x20—\x20service::buy\x20will\x20fail'});const h=b['every'](l=>l['passed']);return{'passed':h,'checks':b};}export const ORDER_CONFIRM_VERSION='1.0.0';export function runOrderConfirmGate(a){const b=[],c=[],d=runStaticChecklist(a);if(!d['all_passed'])return c['push']('L1_checklist'),{'status':'blocked_checklist','checklist_result':d,'confirmation_text':generateConfirmationText(a,d),'block_reason':'Checklist\x20failed:\x20'+d['items']['filter'](h=>!h['passed'])['map'](h=>h['id'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ORDER_CONFIRM_VERSION,'final_status':'blocked_checklist','layers_passed':b,'layers_failed':c}};b['push']('L1_checklist');const e=adaptRiskAssessment(a),f=e['risks']['some'](h=>h['level']==='CRITICAL');if(f)return c['push']('L2_risk'),{'status':'blocked_risk','checklist_result':d,'risk_result':e,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'CRITICAL\x20risks:\x20'+e['risks']['filter'](h=>h['level']==='CRITICAL')['map'](h=>h['id'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ORDER_CONFIRM_VERSION,'final_status':'blocked_risk','layers_passed':b,'layers_failed':c}};b['push']('L2_risk');const g=processUserConfirmation(a,e);if(!g['all_confirmed']){const h=!!(a['order_json']['transfer_to']||a['order_json']['arb_claim_compensation']||a['order_json']['arb_objection']);if(h){const i=d['items']['find'](j=>j['id']==='C-O-10');if(i){const j=[];if(a['order_json']['transfer_to'])j['push']('QO5');if(a['order_json']['arb_claim_compensation'])j['push']('QO4');if(a['order_json']['arb_objection'])j['push']('QO3');const k=j['every'](l=>{const m=g['responses']['find'](n=>n['question_id']===l);return m?.['response']==='yes';});i['passed']=k,i['message']=k?'':'Irreversible\x20operation\x20not\x20confirmed\x20by\x20user';}}if(h){const l=d['items']['find'](m=>m['id']==='C-O-10');if(l&&!l['passed'])return c['push']('L3_user'),{'status':'blocked_user','checklist_result':d,'risk_result':e,'user_confirmation':g,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'User\x20did\x20not\x20confirm\x20irreversible\x20operation','decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ORDER_CONFIRM_VERSION,'final_status':'blocked_user','layers_passed':b,'layers_failed':c}};}}b['push']('L3_user');if(a['skip_environment_check'])b['push']('L4_environment');else{const m=verifyEnvironment(a);if(!m['passed'])return c['push']('L4_environment'),{'status':'blocked_environment','checklist_result':d,'risk_result':e,'user_confirmation':g,'environment_result':m,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'Environment\x20check\x20failed:\x20'+m['checks']['filter'](n=>!n['passed'])['map'](n=>n['name'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ORDER_CONFIRM_VERSION,'final_status':'blocked_environment','layers_passed':b,'layers_failed':c}};b['push']('L4_environment');}return{'status':'approved','checklist_result':d,'risk_result':e,'user_confirmation':g,'confirmation_text':generateConfirmationText(a,d,e),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ORDER_CONFIRM_VERSION,'final_status':'approved','layers_passed':b,'layers_failed':c}};}function generateConfirmationText(a,b,c){const d=[],e=a['order_json'];d['push']('═══\x20Order\x20Confirmation\x20═══'),d['push']('');e['object']?d['push']('Order:\x20'+e['object']):d['push']('Order:\x20(no\x20address\x20—\x20invalid\x20for\x20CallOrder_Data)');d['push'](''),d['push']('─\x20Operations\x20──────────────────');if(e['agent'])d['push']('-\x20⚠️\x20Set\x20agent\x20list:\x20'+e['agent']['length']+'\x20agent(s)\x20[L1,\x20owner-only,\x20frozen\x20after\x20progress]');if(e['required_info']!==undefined)d['push']('-\x20required_info:\x20'+(e['required_info']===null?'(clear)':e['required_info'])+'\x20[L2]');if(e['progress'])d['push']('-\x20Advance\x20Progress:\x20'+(e['progress']['next_node_name']??'?')+'\x20[L2,\x20irreversible]');if(e['arb_confirm'])d['push']('-\x20⚠️\x20File\x20arbitration:\x20'+e['arb_confirm']['arb']+'\x20[L2,\x20irreversible]');if(e['arb_objection'])d['push']('-\x20⚠️\x20Object\x20to\x20Arb:\x20'+e['arb_objection']['arb']+'\x20[L2,\x20irreversible]');if(e['arb_claim_compensation'])d['push']('-\x20⚠️⚠️\x20Claim\x20compensation:\x20'+e['arb_claim_compensation']['arb']+'\x20[L2,\x20ONE-TIME,\x20IRREVERSIBLE]');if(e['receive'])d['push']('-\x20Receive:\x20'+e['receive']['received']+'\x20[L1,\x20owner-only]');if(e['transfer_to'])d['push']('-\x20⚠️⚠️\x20Transfer\x20ownership\x20to:\x20'+e['transfer_to']+'\x20[L1,\x20IRREVERSIBLE]');d['push'](''),d['push']('─\x20Checklist\x20──────────────────');for(const f of b['items']){const g=f['passed']?'✓':'✗';d['push']('\x20\x20'+g+'\x20'+f['id']+':\x20'+f['description']+(f['message']?'\x20—\x20'+f['message']:''));}d['push']('');if(c){d['push']('─\x20Risk\x20Assessment\x20──────────────────'),d['push']('Overall:\x20'+c['overall_risk']),d['push']('Detected:\x20'+c['risks']['length']+'\x20risk(s)');for(const h of c['risks']){d['push']('\x20\x20['+h['level']+']\x20'+h['id']+':\x20'+h['title']);}d['push']('');}return d['join']('\x0a');}export function progressiveOrderCheck(a){const b=runStaticChecklist(a);if(!b['all_passed'])return{'stage':'checklist','status':'fail','message':'Checklist\x20failed:\x20'+b['items']['filter'](d=>!d['passed'])['map'](d=>d['id'])['join'](',\x20'),'next_action':'Fix\x20failing\x20checklist\x20items'};const c=adaptRiskAssessment(a);if(c['risks']['some'](d=>d['level']==='CRITICAL'))return{'stage':'risk','status':'fail','message':'CRITICAL\x20risks:\x20'+c['risks']['filter'](d=>d['level']==='CRITICAL')['map'](d=>d['id'])['join'](',\x20'),'next_action':'Resolve\x20CRITICAL\x20risks\x20before\x20proceeding'};if(c['needs_human_review'])return{'stage':'confirmation','status':'pending','message':'Human\x20review\x20required\x20for\x20HIGH\x20risks','next_action':'Confirm\x20risk\x20acceptance'};return{'stage':'complete','status':'pass','message':'All\x20checks\x20passed'};}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { type OrderScene, type OrderPermissionLayer, type OrderLifecycleEvent } from "./order-ledger.js";
|
|
2
|
-
import { type OrderTemplate } from "./order-templates.js";
|
|
3
|
-
import { type SemanticToSchemaRule } from "./order-translation.js";
|
|
4
|
-
import { type OrderRiskRule, type OrderRiskAssessment, type OrderStakeholder, type OrderRiskCheckContext } from "./order-risk.js";
|
|
5
|
-
import { verifySnapshotMechanism, type OrderPuzzle, type OrderPuzzleCompleteness } from "./order-puzzle.js";
|
|
6
|
-
import { ORDER_PUBLISH_CHECKLIST, ORDER_CONFIRMATION_QUESTIONS, type OrderJsonForConfirm } from "./order-confirm.js";
|
|
7
|
-
export declare const ORDER_CONTEXT_VERSION = "1.0.0";
|
|
8
|
-
export type OrderInjectionMode = "initial_design" | "mid_design_review" | "pre_execute" | "post_create_monitor" | "stakeholder_review" | "dispute_resolution";
|
|
9
|
-
export type OrderStakeholderPerspective = OrderStakeholder | "system";
|
|
10
|
-
export interface OrderContextBundle {
|
|
11
|
-
version: string;
|
|
12
|
-
mode: OrderInjectionMode;
|
|
13
|
-
stakeholder_perspective?: OrderStakeholderPerspective;
|
|
14
|
-
matched_scene?: OrderScene;
|
|
15
|
-
matched_template?: OrderTemplate;
|
|
16
|
-
matched_pattern?: SemanticToSchemaRule;
|
|
17
|
-
puzzle_state?: OrderPuzzle;
|
|
18
|
-
puzzle_completeness?: OrderPuzzleCompleteness;
|
|
19
|
-
relevant_risks: OrderRiskRule[];
|
|
20
|
-
risk_assessment?: OrderRiskAssessment;
|
|
21
|
-
relevant_checklist: typeof ORDER_PUBLISH_CHECKLIST;
|
|
22
|
-
relevant_questions: typeof ORDER_CONFIRMATION_QUESTIONS;
|
|
23
|
-
cross_object_refs: OrderCrossObjectRef[];
|
|
24
|
-
onchain_constraints: OrderOnchainConstraint[];
|
|
25
|
-
rendering_hints: OrderRenderingHints;
|
|
26
|
-
snapshot_verification?: ReturnType<typeof verifySnapshotMechanism>;
|
|
27
|
-
event_audit?: {
|
|
28
|
-
emitted: OrderLifecycleEvent[];
|
|
29
|
-
inferred: OrderLifecycleEvent[];
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export interface OrderCrossObjectRef {
|
|
33
|
-
object: "Service" | "Machine" | "Progress" | "Allocation" | "Arbitration" | "Repository" | "Demand" | "Discount" | "Contact" | "WTS_Proof";
|
|
34
|
-
field: string;
|
|
35
|
-
scene_id: string;
|
|
36
|
-
description: string;
|
|
37
|
-
}
|
|
38
|
-
export interface OrderOnchainConstraint {
|
|
39
|
-
name: string;
|
|
40
|
-
value: string | number;
|
|
41
|
-
description: string;
|
|
42
|
-
}
|
|
43
|
-
export interface OrderRenderingHints {
|
|
44
|
-
include_puzzle_template: boolean;
|
|
45
|
-
include_risk_details: boolean;
|
|
46
|
-
include_questions: boolean;
|
|
47
|
-
include_immutability_warning: boolean;
|
|
48
|
-
include_irreversible_warning: boolean;
|
|
49
|
-
include_snapshot_warning: boolean;
|
|
50
|
-
include_claimed_by_warning: boolean;
|
|
51
|
-
max_length: number;
|
|
52
|
-
}
|
|
53
|
-
export interface BuildOrderContextInput {
|
|
54
|
-
mode: OrderInjectionMode;
|
|
55
|
-
intent?: string;
|
|
56
|
-
order_json?: OrderJsonForConfirm;
|
|
57
|
-
stakeholder?: OrderStakeholderPerspective;
|
|
58
|
-
target_operation_field?: OrderScene["operation_field"];
|
|
59
|
-
target_permission_layer?: OrderPermissionLayer;
|
|
60
|
-
max_length?: number;
|
|
61
|
-
current_state?: OrderRiskCheckContext;
|
|
62
|
-
}
|
|
63
|
-
export declare function buildOrderContext(input: BuildOrderContextInput): OrderContextBundle;
|
|
64
|
-
export declare function buildPromptFromOrderContext(bundle: OrderContextBundle): string;
|
|
65
|
-
export declare function getOrderContextSummary(bundle: OrderContextBundle): string;
|
|
66
|
-
export declare function getStakeholderAdvice(stakeholder: OrderStakeholderPerspective, scene?: OrderScene): string[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{MAX_AGENT_COUNT,MAX_DISPUTE_COUNT}from'@wowok/wowok';import{ORDER_LIFECYCLE_EVENTS,inferSceneFromIntent,getScenesByOperationField,getScenesByPermissionLayer,getEmittedEvents}from'./order-ledger.js';import{getTemplatesByScene,suggestTemplateFromIntent}from'./order-templates.js';import{matchSemanticPattern}from'./order-translation.js';import{getAllOrderRiskRules,assessOrderRisks}from'./order-risk.js';import{initPuzzleFromIntent,checkPuzzleCompleteness,verifySnapshotMechanism}from'./order-puzzle.js';import{ORDER_PUBLISH_CHECKLIST,ORDER_CONFIRMATION_QUESTIONS}from'./order-confirm.js';export const ORDER_CONTEXT_VERSION='1.0.0';export function buildOrderContext(a){const b=a['max_length']??0xfa0;let c;a['intent']&&(c=inferSceneFromIntent(a['intent']));if(!c&&a['target_operation_field']){const s=getScenesByOperationField(a['target_operation_field']);if(s['length']>0x0)c=s[0x0];}if(!c&&a['target_permission_layer']){const t=getScenesByPermissionLayer(a['target_permission_layer']);if(t['length']>0x0)c=t[0x0];}let d;if(c){const u=getTemplatesByScene(c['id']);if(u['length']>0x0)d=u[0x0];}!d&&a['intent']&&(d=suggestTemplateFromIntent(a['intent']));let e;if(a['intent']){const v=matchSemanticPattern(a['intent']);if(v['length']>0x0)e=v[0x0];}let f,g;a['mode']==='initial_design'&&a['intent']&&(f=initPuzzleFromIntent({'rule_sentence':a['intent']}),g=checkPuzzleCompleteness(f));const h=filterRiskRules(a['mode'],a['stakeholder'],c);let i;a['mode']==='pre_execute'&&a['order_json']&&a['current_state']&&(i=assessOrderRisks(a['current_state']));const j=filterChecklist(a['mode']),k=filterQuestions(a['mode']);let l;f&&(a['mode']==='initial_design'||a['mode']==='mid_design_review')&&(l=verifySnapshotMechanism(f));const m=getEmittedEvents(),n=ORDER_LIFECYCLE_EVENTS['filter'](w=>!w['actually_emitted']),o={'emitted':m,'inferred':n},p=buildCrossObjectRefs(c),q=buildOnchainConstraints(),r=buildRenderingHints(a['mode'],b,!!a['order_json']?.['transfer_to'],!!a['order_json']?.['arb_claim_compensation'],!!l?.['snapshot_understood']);return{'version':ORDER_CONTEXT_VERSION,'mode':a['mode'],'stakeholder_perspective':a['stakeholder'],'matched_scene':c,'matched_template':d,'matched_pattern':e,'puzzle_state':f,'puzzle_completeness':g,'relevant_risks':h,'risk_assessment':i,'relevant_checklist':j,'relevant_questions':k,'cross_object_refs':p,'onchain_constraints':q,'rendering_hints':r,'snapshot_verification':l,'event_audit':o};}function filterRiskRules(a,b,c){const d=getAllOrderRiskRules();if(a==='initial_design')return d['filter'](e=>e['category']==='structural'||e['category']==='semantic');if(a==='pre_execute')return d;if(a==='stakeholder_review'&&b){if(b==='owner')return d['filter'](e=>e['category']==='authority'||e['category']==='lifecycle');if(b==='agent')return d['filter'](e=>e['id']==='R-O-3-01'||e['id']==='R-O-3-02'||e['id']==='R-O-1-04'||e['id']==='R-O-2-02');if(b==='arbitrator')return d['filter'](e=>e['category']==='lifecycle'||e['id']==='R-O-3-03');if(b==='service_provider')return d['filter'](e=>e['category']==='cross_object'||e['id']==='R-O-2-01');}if(a==='dispute_resolution')return d['filter'](e=>e['category']==='lifecycle'||e['id']==='R-O-3-03'||e['id']==='R-O-1-03'||e['id']==='R-O-5-04');return d;}function filterChecklist(a){if(a==='initial_design')return ORDER_PUBLISH_CHECKLIST['filter'](b=>['C-O-02','C-O-03','C-O-04','C-O-12','C-O-15']['includes'](b['id']));if(a==='dispute_resolution')return ORDER_PUBLISH_CHECKLIST['filter'](b=>['C-O-04','C-O-05','C-O-07','C-O-10','C-O-14']['includes'](b['id']));return ORDER_PUBLISH_CHECKLIST;}function filterQuestions(a){if(a==='pre_execute')return ORDER_CONFIRMATION_QUESTIONS;if(a==='dispute_resolution')return ORDER_CONFIRMATION_QUESTIONS['filter'](b=>['QO3','QO4','QO8']['includes'](b['id']));return[];}function buildCrossObjectRefs(a){const b=[{'object':'Service','field':'service','scene_id':'order_create','description':'Order\x20references\x20Service\x20at\x20creation\x20(service::buy).\x20Service.machine\x20is\x20SNAPSHOTTED\x20to\x20order.machine.\x20After\x20creation,\x20Service\x20changes\x20do\x20NOT\x20affect\x20Order.'},{'object':'Machine','field':'machine','scene_id':'order_create','description':'order.machine\x20is\x20a\x20snapshot\x20copied\x20from\x20service.machine\x20at\x20buy\x20time.\x20Not\x20a\x20reference\x20—\x20Order\x27s\x20Machine\x20is\x20decoupled\x20from\x20Service\x27s\x20Machine\x20after\x20creation.'},{'object':'Progress','field':'progress','scene_id':'order_advance','description':'Progress\x20is\x201:1\x20bound\x20to\x20Order\x20at\x20creation\x20via\x20on_progress.\x20Binding\x20is\x20one-time\x20(E_PROGRESS_ALREADY_SPECIFIED).\x20Progress\x20binding\x20FREEZES\x20owner\x20and\x20agent.'},{'object':'Allocation','field':'allocation','scene_id':'order_create','description':'Allocation\x20is\x201:1\x20bound\x20to\x20Order\x20at\x20creation\x20via\x20on_allocation.\x20Binding\x20is\x20one-time\x20(E_ALLOCATION_ALREADY_SPECIFIED).\x20Required\x20when\x20order.amount\x20>\x200.'},{'object':'Arbitration','field':'dispute','scene_id':'order_arb_confirm','description':'Arb\x20objects\x20are\x20appended\x20to\x20order.dispute\x20via\x20dispute()\x20(package-only).\x20Max\x2010\x20disputes.\x20Frozen\x20when\x20claimed_by\x20is\x20set\x20(E_ORDER_ALREADY_CLAIMED).'},{'object':'Discount','field':'discount','scene_id':'order_create','description':'Discount\x20object\x20address\x20(created-immutable).\x20Applied\x20at\x20service::buy\x20—\x20affects\x20order.amount\x20calculation.'},{'object':'Contact','field':'required_info','scene_id':'order_required_info','description':'Contact\x20object\x20can\x20be\x20set\x20as\x20required_info\x20(recipient\x20info).\x20L2\x20operation\x20—\x20both\x20owner\x20and\x20agent\x20can\x20update.'},{'object':'WTS_Proof','field':'required_info','scene_id':'order_required_info','description':'WTS\x20Proof\x20object\x20(generated\x20via\x20Wowok\x20Messenger)\x20can\x20be\x20set\x20as\x20required_info\x20(delivery\x20proof).\x20L2\x20operation.'}];return a&&b['sort']((c,d)=>{const e=c['scene_id']===a['id']?-0x1:0x0,f=d['scene_id']===a['id']?-0x1:0x0;return e-f;}),b;}function buildOnchainConstraints(){return[{'name':'MAX_AGENT_COUNT','value':MAX_AGENT_COUNT,'description':'Maximum\x20agents\x20per\x20Order\x20(doc\x20limit;\x20⚠️\x20actual\x20allows\x2011\x20due\x20to\x20<=\x20bug\x20in\x20agent_set_imp)'},{'name':'MAX_DISPUTE_COUNT','value':MAX_DISPUTE_COUNT,'description':'Maximum\x20concurrent\x20disputes\x20per\x20Order\x20(frozen\x20when\x20claimed_by.is_some())'},{'name':'Order\x20field\x20count','value':0xe,'description':'Order\x20has\x2014\x20fields\x20(no\x20Permission\x20field\x20—\x20only\x20business\x20object\x20without\x20Permission\x20in\x2022\x20objects)'},{'name':'Permission\x20layers','value':'L1/L2/L3','description':'L1=owner-only\x20(assert_owner),\x20L2=owner-or-agent\x20(has_op_permission),\x20L3=package-only'},{'name':'Emitted\x20events','value':0x1,'description':'Only\x20NewOrderEvent\x20is\x20emitted;\x2010\x20other\x20lifecycle\x20events\x20must\x20be\x20inferred\x20from\x20field\x20changes'},{'name':'SDK\x20builder\x20↔\x20Move\x20owner','value':'naming\x20deviation','description':'Only\x20naming\x20deviation\x20in\x2022\x20objects\x20—\x20SDK\x20uses\x20\x27builder\x27\x20for\x20Move\x27s\x20\x27owner\x27\x20field'}];}function buildRenderingHints(a,b,c,d,e){return{'include_puzzle_template':a==='initial_design','include_risk_details':a==='pre_execute'||a==='stakeholder_review'||a==='dispute_resolution','include_questions':a==='pre_execute','include_immutability_warning':a==='post_create_monitor','include_irreversible_warning':c||d,'include_snapshot_warning':e&&a==='initial_design','include_claimed_by_warning':a==='dispute_resolution'||d,'max_length':b};}export function buildPromptFromOrderContext(a){const b=[],d=a['rendering_hints'];b['push']('═══\x20Order\x20Context\x20(mode:\x20'+a['mode']+')\x20═══'),b['push']('');a['stakeholder_perspective']&&(b['push']('Stakeholder\x20perspective:\x20'+a['stakeholder_perspective']),b['push'](''));a['matched_scene']&&(b['push']('Scene:\x20'+a['matched_scene']['name']),b['push']('Operation\x20field:\x20'+a['matched_scene']['operation_field']),b['push']('Permission\x20layer:\x20'+a['matched_scene']['permission_layer']),b['push']('Reversibility:\x20'+a['matched_scene']['reversibility']),b['push'](''));a['matched_template']&&(b['push']('Suggested\x20template:\x20'+a['matched_template']['id']+'\x20—\x20'+a['matched_template']['name']),a['matched_template']['irreversible']&&b['push']('⚠️\x20IRREVERSIBLE\x20operation'),b['push'](''));if(d['include_puzzle_template']&&a['puzzle_completeness']){const f=a['puzzle_completeness'];b['push']('─\x20Puzzle\x20Completeness\x20──────────────'),b['push']('Complete:\x20'+(f['complete']?'YES':'NO')),f['missing']['length']>0x0&&b['push']('Missing:\x20'+f['missing']['join'](',\x20')),b['push']('Next:\x20'+f['next_step']),b['push']('');}if(d['include_snapshot_warning']&&a['snapshot_verification']){const g=a['snapshot_verification'];b['push']('─\x20Snapshot\x20Verification\x20──────────────'),b['push']('Snapshot\x20understood:\x20'+(g['snapshot_understood']?'YES':'NO')),b['push']('Message:\x20'+g['message']),b['push']('');}if(d['include_risk_details']&&a['relevant_risks']['length']>0x0){b['push']('─\x20Relevant\x20Risk\x20Rules\x20('+a['relevant_risks']['length']+')\x20──────────────');for(const i of a['relevant_risks']['slice'](0x0,0x5)){b['push']('\x20\x20'+i['id']+'\x20['+i['category']+']\x20—\x20'+i['trigger']);}a['relevant_risks']['length']>0x5&&b['push']('\x20\x20...\x20and\x20'+(a['relevant_risks']['length']-0x5)+'\x20more'),b['push']('');}a['risk_assessment']&&(b['push']('─\x20Risk\x20Assessment\x20──────────────'),b['push']('Overall:\x20'+a['risk_assessment']['overall_risk']),b['push']('Detected:\x20'+a['risk_assessment']['risks']['length']+'\x20risk(s)'),a['risk_assessment']['needs_human_review']&&b['push']('⚠️\x20Needs\x20human\x20review\x20(HIGH\x20or\x20CRITICAL\x20risks\x20detected)'),b['push'](''));if(a['event_audit']){b['push']('─\x20Event\x20Audit\x20──────────────'),b['push']('Emitted:\x20'+a['event_audit']['emitted']['length']+'\x20event(s)');for(const j of a['event_audit']['emitted']){b['push']('\x20\x20✓\x20'+j['name']+'\x20—\x20'+j['trigger']);}b['push']('Inferred\x20(NOT\x20emitted):\x20'+a['event_audit']['inferred']['length']+'\x20event(s)');for(const k of a['event_audit']['inferred']['slice'](0x0,0x3)){b['push']('\x20\x20✗\x20'+k['name']+'\x20—\x20'+k['trigger']);}a['event_audit']['inferred']['length']>0x3&&b['push']('\x20\x20...\x20and\x20'+(a['event_audit']['inferred']['length']-0x3)+'\x20more'),b['push']('');}d['include_irreversible_warning']&&(b['push']('⚠️⚠️\x20IRREVERSIBLE\x20OPERATION\x20DETECTED\x20—\x20claimed_by/transfer_to\x20cannot\x20be\x20undone'),b['push'](''));d['include_claimed_by_warning']&&(b['push']('⚠️\x20claimed_by\x20state\x20—\x20once\x20set,\x20NO\x20new\x20disputes\x20can\x20be\x20filed\x20(E_ORDER_ALREADY_CLAIMED)'),b['push'](''));if(a['onchain_constraints']['length']>0x0){b['push']('─\x20On-chain\x20Constraints\x20──────────────');for(const l of a['onchain_constraints']){b['push']('\x20\x20'+l['name']+'\x20=\x20'+l['value']+'\x20—\x20'+l['description']);}b['push']('');}if(a['cross_object_refs']['length']>0x0){b['push']('─\x20Cross-Object\x20References\x20('+a['cross_object_refs']['length']+')\x20──────────────');for(const m of a['cross_object_refs']['slice'](0x0,0x4)){b['push']('\x20\x20'+m['object']+'.'+m['field']+'\x20('+m['scene_id']+'):\x20'+m['description']);}a['cross_object_refs']['length']>0x4&&b['push']('\x20\x20...\x20and\x20'+(a['cross_object_refs']['length']-0x4)+'\x20more'),b['push']('');}return b['join']('\x0a');}export function getOrderContextSummary(a){const b=['mode='+a['mode'],'scene='+(a['matched_scene']?.['id']??'none'),'template='+(a['matched_template']?.['id']??'none'),'risks='+a['relevant_risks']['length']];if(a['stakeholder_perspective'])b['push']('stakeholder='+a['stakeholder_perspective']);if(a['risk_assessment'])b['push']('overall_risk='+a['risk_assessment']['overall_risk']);if(a['snapshot_verification'])b['push']('snapshot='+(a['snapshot_verification']['snapshot_understood']?'yes':'no'));if(a['event_audit'])b['push']('events_emitted='+a['event_audit']['emitted']['length']+'/inferred='+a['event_audit']['inferred']['length']);return b['join'](',\x20');}export function getStakeholderAdvice(a,b){const c={'owner':['You\x20are\x20the\x20Order\x20owner\x20—\x20you\x20can\x20perform\x20ALL\x20operations\x20(L1\x20+\x20L2)','Only\x20you\x20can\x20call\x20receive\x20(collect\x20payments)\x20—\x20agents\x20CANNOT','Only\x20you\x20can\x20call\x20transfer_to\x20(irreversible\x20ownership\x20transfer)','Only\x20you\x20can\x20call\x20agent_set\x20(frozen\x20after\x20Progress\x20binding)','⚠️\x20Verify\x20new\x20owner\x20address\x20TWICE\x20before\x20transfer_to\x20—\x20IRREVERSIBLE','Set\x20agents\x20BEFORE\x20service::buy\x20if\x20Machine\x20is\x20configured\x20(frozen\x20after)'],'agent':['You\x20are\x20an\x20Order\x20agent\x20—\x20you\x20can\x20perform\x20L2\x20operations\x20only','You\x20CAN:\x20advance\x20Progress,\x20update\x20required_info,\x20file\x20arb_confirm/objection/claim_compensation','You\x20CANNOT:\x20receive\x20payments,\x20transfer\x20ownership,\x20set\x20agent\x20list\x20(L1\x20owner-only)','Your\x20permissions\x20are\x20FROZEN\x20after\x20Progress\x20binding\x20(cannot\x20be\x20modified)','To\x20collect\x20payments,\x20ask\x20the\x20owner\x20to\x20do\x20it\x20for\x20you'],'arbitrator':['You\x20are\x20the\x20Arbitrator\x20—\x20you\x20interact\x20with\x20the\x20Arb\x20object,\x20not\x20Order\x20directly','Your\x20Arb\x20is\x20appended\x20to\x20order.dispute\x20via\x20dispute()\x20(package-only)','Once\x20you\x20set\x20claimed_by\x20via\x20compensate(),\x20NO\x20new\x20disputes\x20can\x20be\x20filed','claimed_by\x20is\x20IRREVERSIBLE\x20—\x20verify\x20ruling\x20before\x20calling\x20compensate()','Max\x2010\x20disputes\x20per\x20Order\x20(MAX_DISPUTE_COUNT)'],'service_provider':['You\x20are\x20the\x20Service\x20Provider\x20—\x20you\x20published\x20the\x20Service\x20the\x20Order\x20was\x20bought\x20from','Service.machine\x20is\x20SNAPSHOTTED\x20to\x20order.machine\x20at\x20buy\x20time\x20—\x20your\x20later\x20changes\x20do\x20NOT\x20propagate','Order\x20is\x20DECOUPLED\x20from\x20Service\x20after\x20creation\x20—\x20you\x20cannot\x20modify\x20the\x20Order','To\x20influence\x20Order\x20flow,\x20modify\x20Progress\x20(if\x20you\x20have\x20operator\x20permission)','Use\x20Service.pause\x20to\x20block\x20new\x20orders\x20(does\x20NOT\x20affect\x20existing\x20Orders)'],'system':['Order\x20is\x20the\x20ONLY\x20business\x20object\x20among\x2022\x20WoWok\x20objects\x20without\x20a\x20Permission\x20field','Order\x20uses\x20owner/agent\x20dual-layer\x20(assert_owner\x20+\x20has_op_permission\x20inline\x20functions)','Order\x20creation\x20is\x20COMPOSITE\x20via\x20service::buy\x20(Order\x20+\x20Allocation\x20+\x20Progress\x20atomic)','Only\x20NewOrderEvent\x20is\x20emitted\x20—\x2010\x20other\x20lifecycle\x20events\x20must\x20be\x20inferred\x20from\x20field\x20changes','SDK\x20uses\x20\x27builder\x27\x20for\x20Move\x27s\x20\x27owner\x27\x20—\x20only\x20naming\x20deviation\x20in\x2022\x20objects','⚠️\x20agent_set_imp\x20boundary\x20bug:\x20actual\x20max\x2011\x20agents\x20(not\x2010)\x20due\x20to\x20<=\x20instead\x20of\x20<']},d=c[a];if(!b)return d;const e={'order_create':['Creation\x20goes\x20via\x20service::buy\x20—\x20not\x20CallOrder_Data','wip_hash\x20must\x20NOT\x20be\x20empty\x20string\x20—\x20use\x20actual\x20hash'],'order_advance':['Node\x20transitions\x20are\x20IRREVERSIBLE\x20—\x20no\x20backward\x20movement','Guard\x20(if\x20any)\x20must\x20pass\x20for\x20forward\x20to\x20succeed'],'order_arb_claim_compensation':['⚠️⚠️\x20IRREVERSIBLE\x20—\x20claimed_by\x20cannot\x20be\x20reset','After\x20claim:\x20NO\x20new\x20disputes\x20can\x20be\x20filed\x20(E_ORDER_ALREADY_CLAIMED)'],'order_transfer':['⚠️⚠️\x20IRREVERSIBLE\x20—\x20new\x20owner\x20takes\x20over\x20ALL\x20permissions','Can\x20be\x20called\x20even\x20after\x20Progress\x20binding\x20(unlike\x20agent_set)']};return[...d,...e[b['id']]??[]];}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { type OrderScene, type OrderPermissionLayer } from "./order-ledger.js";
|
|
2
|
-
export interface SemanticToSchemaRule {
|
|
3
|
-
id: string;
|
|
4
|
-
pattern_name: string;
|
|
5
|
-
semantic_intent: string;
|
|
6
|
-
match_keywords: string[];
|
|
7
|
-
schema_fields: string[];
|
|
8
|
-
example_json: object;
|
|
9
|
-
reverse_explanation: string;
|
|
10
|
-
operation_field?: OrderScene["operation_field"];
|
|
11
|
-
permission_layer?: OrderPermissionLayer;
|
|
12
|
-
}
|
|
13
|
-
export interface SchemaToSemanticRule {
|
|
14
|
-
element_type: "field" | "op" | "index" | "error";
|
|
15
|
-
type_name: string;
|
|
16
|
-
semantic_explanation: string;
|
|
17
|
-
constraints?: string[];
|
|
18
|
-
}
|
|
19
|
-
export interface OrderConstraintRule {
|
|
20
|
-
id: string;
|
|
21
|
-
category: "structural" | "semantic" | "authority" | "lifecycle" | "cross_object";
|
|
22
|
-
rule: string;
|
|
23
|
-
applies_to: string[];
|
|
24
|
-
}
|
|
25
|
-
export declare const SEMANTIC_TO_SCHEMA_RULES: SemanticToSchemaRule[];
|
|
26
|
-
export declare const SCHEMA_TO_SEMANTIC_RULES: SchemaToSemanticRule[];
|
|
27
|
-
export declare const ORDER_CONSTRAINT_RULES: OrderConstraintRule[];
|
|
28
|
-
export declare const ORDER_TRANSLATION_VERSION = "1.0.0";
|
|
29
|
-
export declare function matchSemanticPattern(userIntent: string): SemanticToSchemaRule[];
|
|
30
|
-
export interface OrderCallData {
|
|
31
|
-
object?: string;
|
|
32
|
-
agent?: string[];
|
|
33
|
-
required_info?: string | null;
|
|
34
|
-
progress?: {
|
|
35
|
-
next_node_name?: string;
|
|
36
|
-
forward?: {
|
|
37
|
-
name: string;
|
|
38
|
-
operator?: string | null;
|
|
39
|
-
guard?: object | null;
|
|
40
|
-
};
|
|
41
|
-
op?: "next" | "hold" | "unhold" | "adminUnhold";
|
|
42
|
-
message?: string;
|
|
43
|
-
};
|
|
44
|
-
arb_confirm?: {
|
|
45
|
-
arb: string;
|
|
46
|
-
confirm: boolean;
|
|
47
|
-
description?: string;
|
|
48
|
-
proposition?: string[];
|
|
49
|
-
};
|
|
50
|
-
arb_objection?: {
|
|
51
|
-
arb: string;
|
|
52
|
-
objection: string;
|
|
53
|
-
};
|
|
54
|
-
arb_claim_compensation?: {
|
|
55
|
-
arb: string;
|
|
56
|
-
};
|
|
57
|
-
receive?: {
|
|
58
|
-
received: string;
|
|
59
|
-
};
|
|
60
|
-
transfer_to?: string;
|
|
61
|
-
}
|
|
62
|
-
export declare function explainOrderCallData(data: OrderCallData): string;
|
|
63
|
-
export declare function explainField(fieldName: string): SchemaToSemanticRule | undefined;
|
|
64
|
-
export declare function explainOp(opName: string): SchemaToSemanticRule | undefined;
|
|
65
|
-
export declare function explainOrderError(errorNameOrCode: string | number): SchemaToSemanticRule | undefined;
|
|
66
|
-
export declare function getConstraintsByCategory(category: OrderConstraintRule["category"]): OrderConstraintRule[];
|
|
67
|
-
export declare function explainPermissionLayer(layer: OrderPermissionLayer): string;
|
|
68
|
-
export declare function resolveFieldName(sdkOrMoveName: string): {
|
|
69
|
-
sdk_name: string;
|
|
70
|
-
move_name: string;
|
|
71
|
-
is_deviation: boolean;
|
|
72
|
-
};
|
|
73
|
-
export declare function matchSceneFromOperation(operationField: OrderScene["operation_field"]): OrderScene | undefined;
|
|
74
|
-
export declare function explainOrderIntent(intent: string): {
|
|
75
|
-
matched_scene?: OrderScene;
|
|
76
|
-
matched_patterns: SemanticToSchemaRule[];
|
|
77
|
-
relevant_constraints: OrderConstraintRule[];
|
|
78
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{MAX_AGENT_COUNT,MAX_DISPUTE_COUNT}from'@wowok/wowok';import{ORDER_SCENES,inferSceneFromIntent}from'./order-ledger.js';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P-O-01','pattern_name':'Create\x20Order\x20via\x20service::buy\x20(compound\x20creation)','semantic_intent':'Buy\x20items\x20from\x20a\x20Service\x20—\x20atomically\x20creates\x20Order\x20+\x20Allocation\x20+\x20Progress,\x20snapshots\x20service.machine,\x20emits\x20NewOrderEvent','match_keywords':['buy','purchase','order'],'schema_fields':['(via\x20service::buy,\x20not\x20direct\x20order::create)'],'example_json':{'_note':'Order\x20is\x20NOT\x20created\x20via\x20CallOrder_Data.\x20It\x20is\x20created\x20via\x20service::buy()\x20which\x20internally\x20calls\x20order::new\x20+\x20order::create.','_call_target':'service','object':'0xSERVICE_ADDRESS','buy':{'items':[{'name':'Product\x20A','price':'1000000000','quantity':0x1,'wip_hash':'0xABC...'}],'discount':null,'named_order':'my_order_alias','machine_forward':null}},'reverse_explanation':'Order\x20creation\x20is\x20composite\x20—\x20service::buy\x20atomically\x20builds\x20Order\x20+\x20Allocation\x20+\x20Progress\x20+\x20emits\x20NewOrderEvent.\x20order::create\x20is\x20package-only.','operation_field':'object','permission_layer':'L3_package_only'},{'id':'P-O-02','pattern_name':'Advance\x20Progress\x20(forward/hold)','semantic_intent':'Advance\x20Order\x27s\x20Progress\x20to\x20next\x20node\x20via\x20forward\x20or\x20hold','match_keywords':['advance','forward','progress','next'],'schema_fields':['object','progress'],'example_json':{'object':'0xORDER_ADDRESS','progress':{'next_node_name':'shipped','forward':{'name':'deliver','operator':null,'guard':null},'op':'next','message':'Order\x20dispatched'}},'reverse_explanation':'progress.forward\x20triggers\x20Progress::operate\x20→\x20order.progress\x20node\x20transition.\x20Both\x20owner\x20and\x20agent\x20can\x20advance\x20(L2).','operation_field':'progress','permission_layer':'L2_owner_or_agent'},{'id':'P-O-03','pattern_name':'Set\x20agent\x20list\x20(owner-only,\x20pre-progress)','semantic_intent':'Replace\x20the\x20entire\x20agent\x20list.\x20Frozen\x20after\x20Progress\x20binding.','match_keywords':['set\x20agent','agent','delegate'],'schema_fields':['object','agent'],'example_json':{'object':'0xORDER_ADDRESS','agent':['0xAGENT1','0xAGENT2']},'reverse_explanation':'agent\x20field\x20overwrites\x20entire\x20agent\x20list.\x20Owner-only\x20(L1).\x20Aborts\x20E_PROGRESS_NOT_SPECIFIED\x20if\x20Progress\x20already\x20bound.\x20⚠️\x20Boundary\x20bug:\x20actual\x20max\x2011\x20(not\x2010).','operation_field':'agent','permission_layer':'L1_owner_only'},{'id':'P-O-04','pattern_name':'Set\x20required_info\x20(Contact\x20or\x20WTS\x20Proof)','semantic_intent':'Update\x20recipient\x20contact\x20or\x20delivery\x20proof.\x20Both\x20owner\x20and\x20agent\x20can\x20update.','match_keywords':['required_info','recipient','contact','wts\x20proof'],'schema_fields':['object','required_info'],'example_json':{'object':'0xORDER_ADDRESS','required_info':'0xCONTACT_ADDRESS'},'reverse_explanation':'required_info\x20accepts\x20Contact\x20object\x20(recipient)\x20or\x20WTS\x20Proof\x20object\x20(delivery\x20proof).\x20null\x20clears.\x20L2\x20(owner\x20or\x20agent).','operation_field':'required_info','permission_layer':'L2_owner_or_agent'},{'id':'P-O-05','pattern_name':'Apply\x20for\x20arbitration\x20(arb_confirm)','semantic_intent':'File\x20arbitration\x20with\x20confirm/deny\x20+\x20description\x20+\x20proposition.\x20Triggers\x20dispute()\x20appending\x20Arb\x20to\x20order.dispute.','match_keywords':['arb_confirm','apply\x20arbitration','file\x20dispute','compensation'],'schema_fields':['object','arb_confirm'],'example_json':{'object':'0xORDER_ADDRESS','arb_confirm':{'arb':'0xARB_ADDRESS','confirm':!![],'description':'Item\x20never\x20arrived','proposition':['Refund\x20full\x20amount','Compensation\x20for\x20delay']}},'reverse_explanation':'arb_confirm\x20triggers\x20arb::principal_confirm\x20+\x20arb::description_change\x20+\x20arb::proposition_change,\x20and\x20Arb\x20module\x20calls\x20order::dispute(arb)\x20to\x20append.\x20L2.','operation_field':'arb_confirm','permission_layer':'L2_owner_or_agent'},{'id':'P-O-06','pattern_name':'Object\x20to\x20arbitration\x20(arb_objection)','semantic_intent':'Object\x20to\x20Arb\x20ruling\x20and\x20request\x20re-arbitration','match_keywords':['arb_objection','object','appeal'],'schema_fields':['object','arb_objection'],'example_json':{'object':'0xORDER_ADDRESS','arb_objection':{'arb':'0xARB_ADDRESS','objection':'Evidence\x20was\x20not\x20properly\x20reviewed'}},'reverse_explanation':'arb_objection\x20triggers\x20arb::objection.\x20Requires\x20Arb\x20status\x20=\x20Arbitrated.\x20L2\x20(owner\x20or\x20agent).\x20Irreversible.','operation_field':'arb_objection','permission_layer':'L2_owner_or_agent'},{'id':'P-O-07','pattern_name':'Claim\x20compensation\x20(arb_claim_compensation)','semantic_intent':'Claim\x20compensation\x20from\x20a\x20ruled\x20Arb.\x20Sets\x20claimed_by\x20—\x20ONE-TIME,\x20IRREVERSIBLE,\x20blocks\x20future\x20disputes.','match_keywords':['arb_claim_compensation','claim','compensation'],'schema_fields':['object','arb_claim_compensation'],'example_json':{'object':'0xORDER_ADDRESS','arb_claim_compensation':{'arb':'0xRULED_ARB_ADDRESS'}},'reverse_explanation':'arb_claim_compensation\x20triggers\x20service::compensation_claim\x20→\x20order::compensate(arb)\x20→\x20sets\x20claimed_by=arb.\x20IRREVERSIBLE.\x20L2.','operation_field':'arb_claim_compensation','permission_layer':'L2_owner_or_agent'},{'id':'P-O-08','pattern_name':'Receive\x20payment/objects\x20(owner-only)','semantic_intent':'Receive\x20CoinWrapper\x20or\x20arbitrary\x20Receiving<K>\x20from\x20Progress.\x20Funds\x20forwarded\x20to\x20owner.','match_keywords':['receive','collect','extract'],'schema_fields':['object','receive'],'example_json':{'object':'0xORDER_ADDRESS','receive':{'received':'0xRECEIVING_OBJECT_ID'}},'reverse_explanation':'receive\x20calls\x20order::owner_receive\x20or\x20owner_receive_object.\x20Owner-only\x20(L1)\x20—\x20agent\x20CANNOT\x20receive.\x20Aborts\x20E_ORDER_DELIVERING\x20if\x20Progress\x20not\x20at\x20terminal.','operation_field':'receive','permission_layer':'L1_owner_only'},{'id':'P-O-09','pattern_name':'Transfer\x20ownership\x20(transfer_to)','semantic_intent':'Transfer\x20Order\x20ownership\x20to\x20new\x20address.\x20IRREVERSIBLE.\x20New\x20owner\x20takes\x20over\x20ALL\x20permissions.','match_keywords':['transfer','transfer_to','handover'],'schema_fields':['object','transfer_to'],'example_json':{'object':'0xORDER_ADDRESS','transfer_to':'0xNEW_OWNER_ADDRESS'},'reverse_explanation':'transfer_to\x20calls\x20order::owner_change(new_owner).\x20Owner-only\x20(L1).\x20IRREVERSIBLE.\x20Unlike\x20agent_set,\x20can\x20be\x20called\x20after\x20Progress\x20binding.','operation_field':'transfer_to','permission_layer':'L1_owner_only'},{'id':'P-O-10','pattern_name':'Query\x20Order\x20state\x20(read-only)','semantic_intent':'Read\x20Order\x20fields:\x20items,\x20amount,\x20owner/builder,\x20agent,\x20dispute,\x20claimed_by,\x20progress,\x20machine,\x20time','match_keywords':['query','read','check','status'],'schema_fields':['(read-only\x20via\x20query\x20layer,\x20not\x20CallOrder_Data)'],'example_json':{'_note':'Query\x20uses\x20the\x20query/object\x20endpoint,\x20not\x20CallOrder_Data','_call_target':'query','object':'0xORDER_ADDRESS','fields':['items','amount','owner','agent','dispute','claimed_by','progress','machine']},'reverse_explanation':'Query\x20is\x20read-only\x20—\x20does\x20not\x20modify\x20state.\x20Use\x20to\x20verify\x20state\x20before\x20any\x20L1/L2\x20operation.\x20SDK\x20ObjectOrder\x20returns\x20all\x2014\x20fields.','operation_field':'object'},{'id':'P-O-11','pattern_name':'Query\x20Order\x20history\x20(event\x20log)','semantic_intent':'Query\x20Order\x20lifecycle\x20events.\x20⚠️\x20Only\x20NewOrderEvent\x20is\x20actually\x20emitted\x20—\x20other\x20events\x20must\x20be\x20INFERRED\x20from\x20field\x20changes.','match_keywords':['history','events','lifecycle','audit'],'schema_fields':['(read-only\x20via\x20query\x20layer,\x20event\x20filter)'],'example_json':{'_note':'Only\x20NewOrderEvent\x20is\x20emitted\x20on-chain.\x20Other\x20lifecycle\x20events\x20must\x20be\x20inferred\x20by\x20querying\x20Order\x20field\x20diffs\x20over\x20time.','_call_target':'query','object':'0xORDER_ADDRESS','event_filter':{'type':'order::NewOrderEvent'}},'reverse_explanation':'Audit\x20weakness:\x20only\x201\x20of\x2011\x20lifecycle\x20events\x20is\x20actually\x20emitted.\x20Use\x20status_inference\x20formula\x20from\x20ORDER_AUDIT_FORMULAS\x20to\x20derive\x20state.','operation_field':'object'},{'id':'P-O-12','pattern_name':'Monitor\x20Order\x20status\x20changes\x20(polling)','semantic_intent':'Poll\x20Order\x20status\x20to\x20detect:\x20Progress\x20advance,\x20dispute\x20append,\x20claimed_by\x20set,\x20ownership\x20transfer','match_keywords':['monitor','poll','watch','track'],'schema_fields':['(read-only\x20via\x20query\x20layer,\x20polling)'],'example_json':{'_note':'Monitor\x20by\x20querying\x20Order\x20at\x20intervals\x20and\x20diffing\x20fields','_call_target':'query','object':'0xORDER_ADDRESS','poll_interval_ms':0x1388,'watch_fields':['progress','dispute','claimed_by','owner']},'reverse_explanation':'No\x20push\x20notifications\x20—\x20must\x20poll.\x20Track\x204\x20critical\x20fields:\x20progress\x20(advance),\x20dispute\x20(new\x20arb),\x20claimed_by\x20(terminal),\x20owner\x20(transfer).','operation_field':'object'}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'field','type_name':'object','semantic_explanation':'Order\x20object\x20address.\x20STRING=operate\x20existing\x20Order.\x20null/omitted\x20is\x20invalid\x20(Order\x20creation\x20goes\x20through\x20service::buy).','constraints':['Must\x20be\x20valid\x20Order\x20object\x20ID','Order\x20must\x20exist\x20on-chain']},{'element_type':'field','type_name':'agent','semantic_explanation':'Agent\x20address\x20list\x20(overwrites\x20entire\x20list).\x20Owner-only\x20(L1).\x20Frozen\x20after\x20Progress\x20binding.\x20⚠️\x20Boundary\x20bug:\x20actual\x20max\x2011\x20(not\x2010).','constraints':['<=\x20'+MAX_AGENT_COUNT+'\x20agents\x20(doc)\x20/\x2011\x20(actual\x20bug)','Owner-only','Frozen\x20after\x20Progress\x20binding']},{'element_type':'field','type_name':'required_info','semantic_explanation':'Contact\x20object\x20(recipient\x20info)\x20or\x20WTS\x20Proof\x20object\x20(delivery\x20proof).\x20null\x20clears.\x20L2\x20(owner\x20or\x20agent).','constraints':['Must\x20be\x20Contact\x20or\x20WTS\x20Proof\x20object','null\x20clears\x20the\x20field']},{'element_type':'field','type_name':'progress','semantic_explanation':'Progress\x20operation\x20object\x20—\x20advance\x20via\x20forward/hold.\x20Both\x20owner\x20and\x20agent\x20can\x20advance.\x20Node\x20transition\x20is\x20irreversible.','constraints':['Requires\x20Progress\x20binding\x20(order.progress.is_some())','L2\x20(owner\x20or\x20agent)','Node\x20transition\x20irreversible']},{'element_type':'field','type_name':'arb_confirm','semantic_explanation':'Apply\x20for\x20arbitration\x20compensation.\x20Triggers\x20dispute()\x20appending\x20Arb\x20to\x20order.dispute.\x20L2.\x20Irreversible.','constraints':['Arb\x20must\x20exist','L2\x20(owner\x20or\x20agent)','claimed_by\x20must\x20be\x20None']},{'element_type':'field','type_name':'arb_objection','semantic_explanation':'Object\x20to\x20Arb\x20ruling\x20and\x20request\x20re-arbitration.\x20Requires\x20Arb\x20status\x20=\x20Arbitrated.\x20L2.\x20Irreversible.','constraints':['Arb\x20must\x20be\x20in\x20Arbitrated\x20state','L2\x20(owner\x20or\x20agent)']},{'element_type':'field','type_name':'arb_claim_compensation','semantic_explanation':'Claim\x20compensation\x20from\x20ruled\x20Arb.\x20Sets\x20claimed_by.\x20ONE-TIME,\x20IRREVERSIBLE,\x20blocks\x20future\x20disputes.\x20L2.','constraints':['Arb\x20must\x20be\x20Arbitrated','claimed_by\x20must\x20be\x20None','L2\x20(owner\x20or\x20agent)','IRREVERSIBLE']},{'element_type':'field','type_name':'receive','semantic_explanation':'Receive\x20CoinWrapper\x20or\x20arbitrary\x20Receiving<K>\x20from\x20Progress.\x20Funds\x20forwarded\x20to\x20owner.\x20Owner-only\x20(L1)\x20—\x20agent\x20CANNOT.','constraints':['Owner-only\x20(L1)','Progress\x20must\x20be\x20at\x20terminal\x20node\x20(not\x20delivering)','Can\x20be\x20called\x20multiple\x20times']},{'element_type':'field','type_name':'transfer_to','semantic_explanation':'New\x20owner\x20address\x20for\x20ownership\x20transfer.\x20IRREVERSIBLE.\x20New\x20owner\x20takes\x20over\x20ALL\x20permissions.\x20Owner-only\x20(L1).','constraints':['Owner-only\x20(L1)','IRREVERSIBLE','Valid\x20Wow\x20address']},{'element_type':'op','type_name':'forward','semantic_explanation':'Advance\x20Progress\x20to\x20next\x20node\x20via\x20named\x20forward.\x20Triggers\x20Progress::operate.','constraints':['Forward\x20name\x20must\x20exist\x20on\x20current\x20node','Guard\x20(if\x20any)\x20must\x20pass']},{'element_type':'op','type_name':'hold','semantic_explanation':'Hold\x20at\x20current\x20Progress\x20node\x20(optional\x20pause).','constraints':['Node\x20must\x20support\x20hold']},{'element_type':'op','type_name':'confirm','semantic_explanation':'In\x20arb_confirm:\x20true=confirm\x20materials\x20valid,\x20false=deny\x20materials.','constraints':['Boolean\x20—\x20no\x20other\x20values']},{'element_type':'index','type_name':'dispute_index','semantic_explanation':'Position\x20in\x20order.dispute\x20vector.\x200-based.\x20Max\x2010\x20disputes\x20total.','constraints':['<=\x20'+MAX_DISPUTE_COUNT+'\x20disputes','Frozen\x20when\x20claimed_by.is_some()']},{'element_type':'error','type_name':'E_OWNER\x20(code\x201)','semantic_explanation':'Sender\x20!=\x20order.owner.\x20L1\x20operation\x20attempted\x20by\x20non-owner\x20(agent\x20or\x20third\x20party).','constraints':['Aborts\x20assert_owner']},{'element_type':'error','type_name':'E_PERMISSION\x20(code\x205)','semantic_explanation':'Sender\x20is\x20neither\x20owner\x20nor\x20in\x20agent[].\x20L2\x20operation\x20attempted\x20by\x20unauthorized\x20caller.','constraints':['Aborts\x20assert_op_permission\x20(via\x20has_op_permission\x20returning\x20false)']},{'element_type':'error','type_name':'E_PROGRESS_NOT_SPECIFIED\x20(code\x203)','semantic_explanation':'⚠️\x20DUAL\x20SEMANTICS:\x20(a)\x20order::create\x20—\x20machine\x20is\x20Some\x20but\x20progress\x20is\x20None;\x20(b)\x20agent_set/owner_change\x20—\x20progress\x20is\x20already\x20bound\x20(frozen).','constraints':['Check\x20context\x20to\x20disambiguate','Same\x20code,\x20opposite\x20meanings']},{'element_type':'error','type_name':'E_ORDER_ALREADY_CLAIMED\x20(code\x207)','semantic_explanation':'claimed_by\x20is\x20already\x20Some.\x20Cannot\x20file\x20new\x20disputes,\x20claim\x20again,\x20or\x20call\x20compensate.','constraints':['IRREVERSIBLE\x20—\x20no\x20way\x20to\x20reset\x20claimed_by']},{'element_type':'error','type_name':'E_MAX_AGENT_COUNT\x20(code\x202)','semantic_explanation':'agent\x20list\x20exceeds\x20MAX_AGENT_COUNT\x20(10).\x20⚠️\x20Actual\x20boundary\x20uses\x20<=\x20so\x20allows\x2011\x20(bug).','constraints':['Doc\x20limit:\x20'+MAX_AGENT_COUNT,'Actual\x20limit:\x2011\x20(boundary\x20bug)']},{'element_type':'error','type_name':'E_MAX_DISPUTE_COUNT\x20(code\x206)','semantic_explanation':'dispute\x20vector\x20at\x20MAX_DISPUTE_COUNT\x20(10).\x20Next\x20dispute()\x20call\x20aborts.','constraints':['Max:\x20'+MAX_DISPUTE_COUNT]},{'element_type':'error','type_name':'E_ALLOCATION_NOT_SPECIFIED\x20(code\x208)','semantic_explanation':'order::create\x20with\x20amount\x20>\x200\x20but\x20allocation\x20is\x20None.','constraints':['If\x20amount\x20>\x200,\x20allocation\x20must\x20be\x20set']},{'element_type':'error','type_name':'E_ALLOCATION_ALREADY_SPECIFIED\x20(code\x209)','semantic_explanation':'on_allocation\x20called\x20twice.\x20Allocation\x20is\x20one-time\x20set.','constraints':['One-time\x20only']},{'element_type':'error','type_name':'E_PROGRESS_ALREADY_SPECIFIED\x20(code\x2010)','semantic_explanation':'on_progress\x20called\x20twice.\x20Progress\x20is\x20one-time\x20set.','constraints':['One-time\x20only']}];export const ORDER_CONSTRAINT_RULES=[{'id':'MC-O-01','category':'structural','rule':'Order\x20has\x2014\x20fields;\x20SDK\x20uses\x20\x27builder\x27\x20for\x20Move\x27s\x20\x27owner\x27\x20(only\x20naming\x20deviation\x20in\x2022\x20objects)','applies_to':['object.owner','object.builder']},{'id':'MC-O-02','category':'structural','rule':'agent\x20count\x20<=\x20MAX_AGENT_COUNT\x20('+MAX_AGENT_COUNT+')\x20per\x20docs;\x20⚠️\x20actual\x20allows\x2011\x20due\x20to\x20<=\x20bug','applies_to':['agent']},{'id':'MC-O-03','category':'structural','rule':'dispute\x20count\x20<=\x20MAX_DISPUTE_COUNT\x20('+MAX_DISPUTE_COUNT+');\x20frozen\x20when\x20claimed_by.is_some()','applies_to':['dispute']},{'id':'MC-O-04','category':'structural','rule':'Order\x20creation\x20is\x20COMPOSITE\x20via\x20service::buy\x20—\x20order::create\x20is\x20package-only','applies_to':['(creation\x20flow)']},{'id':'MC-O-05','category':'semantic','rule':'order.machine\x20is\x20a\x20SNAPSHOT\x20copied\x20from\x20service.machine\x20at\x20buy\x20time\x20(not\x20a\x20reference)','applies_to':['machine']},{'id':'MC-O-06','category':'semantic','rule':'E_PROGRESS_NOT_SPECIFIED\x20has\x20DUAL\x20semantics:\x20(a)\x20create:\x20machine\x20Some\x20+\x20progress\x20None;\x20(b)\x20agent_set/owner_change:\x20progress\x20already\x20bound','applies_to':['error\x20code\x203']},{'id':'MC-O-07','category':'semantic','rule':'Only\x20NewOrderEvent\x20is\x20actually\x20emitted;\x2010\x20other\x20lifecycle\x20events\x20must\x20be\x20inferred\x20from\x20field\x20changes','applies_to':['events']},{'id':'MC-O-08','category':'semantic','rule':'SaleItem.item\x20↔\x20PurchasedItem.name\x20(different\x20field\x20names\x20for\x20same\x20concept)','applies_to':['items.item','purchased_items.name']},{'id':'MC-O-09','category':'authority','rule':'L1\x20owner-only\x20operations:\x20receive,\x20transfer_to,\x20owner_change,\x20agent_set\x20(assert_owner)','applies_to':['receive','transfer_to','agent']},{'id':'MC-O-10','category':'authority','rule':'L2\x20owner-or-agent\x20operations:\x20required_info,\x20progress,\x20arb_confirm,\x20arb_objection,\x20arb_claim_compensation\x20(has_op_permission)','applies_to':['required_info','progress','arb_confirm','arb_objection','arb_claim_compensation']},{'id':'MC-O-11','category':'authority','rule':'L3\x20package-only\x20operations:\x20on_progress,\x20on_allocation,\x20dispute,\x20compensate\x20(no\x20external\x20access)','applies_to':['(package-only\x20functions)']},{'id':'MC-O-12','category':'authority','rule':'Agent\x20CANNOT\x20receive\x20payments\x20—\x20only\x20owner\x20can\x20call\x20owner_receive\x20/\x20owner_receive_object','applies_to':['receive']},{'id':'MC-O-13','category':'lifecycle','rule':'Progress\x20binding\x20FREEZES\x20owner\x20and\x20agent\x20—\x20agent_set/owner_change\x20abort\x20E_PROGRESS_NOT_SPECIFIED\x20after\x20binding','applies_to':['agent','transfer_to\x20(pre-progress)','owner_change']},{'id':'MC-O-14','category':'lifecycle','rule':'claimed_by\x20is\x20ONE-TIME,\x20IRREVERSIBLE\x20—\x20blocks\x20future\x20dispute(),\x20compensate(),\x20and\x20arb_claim_compensation','applies_to':['claimed_by','arb_claim_compensation','dispute']},{'id':'MC-O-15','category':'cross_object','rule':'Order\x20+\x20Allocation\x20+\x20Progress\x20are\x201:1:1\x20bound\x20at\x20creation;\x20cannot\x20rebind\x20or\x20detach','applies_to':['progress','allocation']}];export const ORDER_TRANSLATION_VERSION='1.0.0';export function matchSemanticPattern(a){const b=a['toLowerCase']();return SEMANTIC_TO_SCHEMA_RULES['filter'](c=>c['match_keywords']['some'](d=>b['includes'](d['toLowerCase']())));}export function explainOrderCallData(b){const c=[];if(!b['object'])return c['push']('Operation:\x20⚠️\x20INVALID\x20—\x20Order\x20object\x20address\x20required\x20(Order\x20creation\x20goes\x20through\x20service::buy,\x20not\x20CallOrder_Data)'),c['join']('\x0a');c['push']('Operation:\x20MODIFY\x20existing\x20Order\x20at\x20'+b['object']);b['agent']&&(c['push']('-\x20⚠️\x20Set\x20agent\x20list\x20('+b['agent']['length']+'\x20agent(s)):\x20['+b['agent']['join'](',\x20')+']'),c['push']('\x20\x20Owner-only\x20(L1).\x20Frozen\x20after\x20Progress\x20binding.\x20Boundary\x20bug\x20allows\x20max\x2011\x20(not\x2010).'));b['required_info']!==undefined&&(b['required_info']===null?c['push']('-\x20Clear\x20required_info\x20(L2\x20—\x20owner\x20or\x20agent)'):c['push']('-\x20Set\x20required_info:\x20'+b['required_info']+'\x20(Contact\x20or\x20WTS\x20Proof;\x20L2\x20—\x20owner\x20or\x20agent)'));if(b['progress']){const d=b['progress'];c['push']('-\x20Advance\x20Progress\x20(L2\x20—\x20owner\x20or\x20agent)');if(d['next_node_name'])c['push']('\x20\x20Next\x20node:\x20'+d['next_node_name']);if(d['forward'])c['push']('\x20\x20Forward:\x20'+d['forward']['name']+(d['forward']['operator']?'\x20(operator:\x20'+d['forward']['operator']+')':''));if(d['op'])c['push']('\x20\x20Op:\x20'+d['op']);if(d['message'])c['push']('\x20\x20Message:\x20\x22'+d['message']+'\x22');}if(b['arb_confirm']){const e=b['arb_confirm'];c['push']('-\x20⚠️\x20Apply\x20for\x20arbitration\x20(L2\x20—\x20owner\x20or\x20agent,\x20IRREVERSIBLE)'),c['push']('\x20\x20Arb:\x20'+e['arb']),c['push']('\x20\x20Confirm:\x20'+(e['confirm']?'valid\x20materials':'deny\x20materials'));if(e['description'])c['push']('\x20\x20Description:\x20\x22'+e['description']+'\x22');e['proposition']&&e['proposition']['length']>0x0&&c['push']('\x20\x20Propositions:\x20'+e['proposition']['length']+'\x20claim(s)');}if(b['arb_objection']){const f=b['arb_objection'];c['push']('-\x20⚠️\x20Object\x20to\x20Arb\x20ruling\x20(L2\x20—\x20owner\x20or\x20agent,\x20IRREVERSIBLE)'),c['push']('\x20\x20Arb:\x20'+f['arb']),c['push']('\x20\x20Objection:\x20\x22'+f['objection']+'\x22');}if(b['arb_claim_compensation']){const g=b['arb_claim_compensation'];c['push']('-\x20⚠️⚠️\x20CLAIM\x20COMPENSATION\x20(L2\x20—\x20owner\x20or\x20agent,\x20ONE-TIME,\x20IRREVERSIBLE)'),c['push']('\x20\x20Arb:\x20'+g['arb']),c['push']('\x20\x20After\x20claim:\x20NO\x20new\x20disputes\x20can\x20be\x20filed\x20(E_ORDER_ALREADY_CLAIMED)');}return b['receive']&&(c['push']('-\x20Receive\x20(L1\x20—\x20OWNER-ONLY,\x20agent\x20CANNOT)'),c['push']('\x20\x20Received\x20object:\x20'+b['receive']['received']),c['push']('\x20\x20Funds/objects\x20forwarded\x20to\x20owner\x20address')),b['transfer_to']&&(c['push']('-\x20⚠️⚠️\x20TRANSFER\x20OWNERSHIP\x20to\x20'+b['transfer_to']+'\x20(L1\x20—\x20OWNER-ONLY,\x20IRREVERSIBLE)'),c['push']('\x20\x20New\x20owner\x20takes\x20over\x20ALL\x20permissions'),c['push']('\x20\x20Can\x20be\x20called\x20even\x20after\x20Progress\x20binding\x20(unlike\x20agent_set)')),c['join']('\x0a');}export function explainField(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='field'&&b['type_name']===a);}export function explainOp(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='op'&&b['type_name']===a);}export function explainOrderError(a){const b=String(a);return SCHEMA_TO_SEMANTIC_RULES['find'](c=>c['element_type']==='error'&&(c['type_name']===b||c['type_name']['startsWith'](b+'\x20')||c['type_name']['includes'](b)));}export function getConstraintsByCategory(a){return ORDER_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function explainPermissionLayer(a){const b={'L1_owner_only':'L1\x20—\x20Owner-only\x20(assert_owner).\x20Aborts\x20E_OWNER\x20(code\x201)\x20if\x20sender\x20!=\x20owner.\x20Agent\x20CANNOT\x20perform\x20L1\x20ops.','L2_owner_or_agent':'L2\x20—\x20Owner\x20or\x20agent\x20(has_op_permission).\x20Aborts\x20E_PERMISSION\x20(code\x205)\x20if\x20sender\x20is\x20neither\x20owner\x20nor\x20in\x20agent[].','L3_package_only':'L3\x20—\x20Package-only\x20(no\x20external\x20access).\x20Called\x20by\x20other\x20wow-framework\x20modules\x20(progress,\x20allocation,\x20arbitration).'};return b[a];}export function resolveFieldName(a){if(a==='builder'||a==='owner')return{'sdk_name':'builder','move_name':'owner','is_deviation':!![]};return{'sdk_name':a,'move_name':a,'is_deviation':![]};}export function matchSceneFromOperation(a){const b=ORDER_SCENES['filter'](c=>c['operation_field']===a);return b['length']>0x0?b[0x0]:undefined;}export function explainOrderIntent(a){const b=inferSceneFromIntent(a),c=matchSemanticPattern(a),d=b?ORDER_CONSTRAINT_RULES['filter'](e=>{if(b['permission_layer']==='L1_owner_only')return e['category']==='authority'||e['category']==='lifecycle';if(b['permission_layer']==='L2_owner_or_agent')return e['category']==='authority'||e['category']==='semantic';return e['category']==='structural'||e['category']==='cross_object';}):ORDER_CONSTRAINT_RULES;return{'matched_scene':b,'matched_patterns':c,'relevant_constraints':d};}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { OverrideCategory } from "../loop-engineering/improve.js";
|
|
2
|
-
export interface OverrideConfig {
|
|
3
|
-
"risk-thresholds"?: Record<string, unknown>;
|
|
4
|
-
"descriptions"?: Record<string, unknown>;
|
|
5
|
-
"industry-profiles"?: Record<string, unknown>;
|
|
6
|
-
"scenario-defaults"?: Record<string, unknown>;
|
|
7
|
-
"recovery-priorities"?: Record<string, unknown>;
|
|
8
|
-
}
|
|
9
|
-
export declare function loadOverrides(forceReload?: boolean): OverrideConfig;
|
|
10
|
-
export declare function getOverride(category: OverrideCategory): Record<string, unknown> | undefined;
|
|
11
|
-
export declare function clearOverrideCache(): void;
|
|
12
|
-
export declare function listOverrideFiles(): string[];
|
|
13
|
-
export declare function getOverridesDirPath(): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{readFileSync,existsSync,readdirSync}from'fs';import{join}from'path';import{getWowMcpDir}from'@wowok/wowok';function wowokRootDir(){return getWowMcpDir();}function overridesDir(){return join(wowokRootDir(),'overrides');}let overrideCache;export function loadOverrides(a=![]){if(overrideCache&&!a)return overrideCache;const b={},c=overridesDir();if(!existsSync(c))return overrideCache=b,b;const d=['risk-thresholds','descriptions','industry-profiles','scenario-defaults','recovery-priorities'];for(const e of d){const f=join(c,e+'.json');if(!existsSync(f))continue;try{const g=readFileSync(f,'utf-8'),h=JSON['parse'](g),{_last_applied_proposal:i,_last_applied_at:j,...k}=h;void i,void j,b[e]=k;}catch{}}return overrideCache=b,b;}export function getOverride(a){const b=loadOverrides();return b[a];}export function clearOverrideCache(){overrideCache=undefined;}export function listOverrideFiles(){const a=overridesDir();if(!existsSync(a))return[];try{return readdirSync(a)['filter'](b=>b['endsWith']('.json'));}catch{return[];}}export function getOverridesDirPath(){return overridesDir();}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { type PassportScenario } from "./passport-ledger.js";
|
|
2
|
-
import { type PassportRiskAssessment } from "./passport-risk.js";
|
|
3
|
-
export type ConfirmAction = "block" | "warn" | "confirm_twice" | "info";
|
|
4
|
-
export type ConfirmSeverity = "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "INFO";
|
|
5
|
-
export type ConfirmGateStatus = "approved" | "blocked_creation" | "blocked_operation" | "blocked_consistency" | "pending_confirmation";
|
|
6
|
-
export interface PassportConfirmationRule {
|
|
7
|
-
id: string;
|
|
8
|
-
check: string;
|
|
9
|
-
severity: ConfirmSeverity;
|
|
10
|
-
action: ConfirmAction;
|
|
11
|
-
related_error?: string;
|
|
12
|
-
layer: "creation" | "operation" | "consistency";
|
|
13
|
-
}
|
|
14
|
-
export interface CheckResult {
|
|
15
|
-
errors: string[];
|
|
16
|
-
warnings: string[];
|
|
17
|
-
requiresConfirmation: string[];
|
|
18
|
-
canProceed: boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface ConfirmGateResult {
|
|
21
|
-
status: ConfirmGateStatus;
|
|
22
|
-
creation_result?: CheckResult;
|
|
23
|
-
operation_result?: CheckResult;
|
|
24
|
-
consistency_result?: CheckResult;
|
|
25
|
-
risk_assessment?: PassportRiskAssessment;
|
|
26
|
-
confirmation_text: string;
|
|
27
|
-
block_reason?: string;
|
|
28
|
-
decision_record: DecisionRecord;
|
|
29
|
-
}
|
|
30
|
-
export interface DecisionRecord {
|
|
31
|
-
timestamp: string;
|
|
32
|
-
gate_version: string;
|
|
33
|
-
final_status: ConfirmGateStatus;
|
|
34
|
-
layers_passed: string[];
|
|
35
|
-
layers_failed: string[];
|
|
36
|
-
}
|
|
37
|
-
export interface PassportGuardInfo {
|
|
38
|
-
guard: string;
|
|
39
|
-
result: boolean;
|
|
40
|
-
impack: boolean;
|
|
41
|
-
}
|
|
42
|
-
export interface ObjectPassport {
|
|
43
|
-
object: string;
|
|
44
|
-
info: PassportGuardInfo[];
|
|
45
|
-
result: boolean;
|
|
46
|
-
tx_hash: string;
|
|
47
|
-
impack_guard: string[];
|
|
48
|
-
time: number;
|
|
49
|
-
signer: string;
|
|
50
|
-
has_verified: boolean;
|
|
51
|
-
}
|
|
52
|
-
export interface ObjectGuard {
|
|
53
|
-
object: string;
|
|
54
|
-
relies?: string[];
|
|
55
|
-
relies_logic_and?: boolean;
|
|
56
|
-
table?: {
|
|
57
|
-
identifier: number;
|
|
58
|
-
value_type: string;
|
|
59
|
-
b_submission: boolean;
|
|
60
|
-
}[];
|
|
61
|
-
}
|
|
62
|
-
export type PassportOperation = {
|
|
63
|
-
type: "guard_add";
|
|
64
|
-
guard: string;
|
|
65
|
-
impack: boolean;
|
|
66
|
-
submission?: {
|
|
67
|
-
identifier: number;
|
|
68
|
-
value: unknown;
|
|
69
|
-
value_type: string;
|
|
70
|
-
}[];
|
|
71
|
-
} | {
|
|
72
|
-
type: "verify";
|
|
73
|
-
} | {
|
|
74
|
-
type: "guard_clear";
|
|
75
|
-
} | {
|
|
76
|
-
type: "freezen";
|
|
77
|
-
} | {
|
|
78
|
-
type: "destroy";
|
|
79
|
-
} | {
|
|
80
|
-
type: "result_query";
|
|
81
|
-
} | {
|
|
82
|
-
type: "result_for_guard";
|
|
83
|
-
guard: string;
|
|
84
|
-
} | {
|
|
85
|
-
type: "result_for_permission";
|
|
86
|
-
} | {
|
|
87
|
-
type: "submission_get";
|
|
88
|
-
guard: string;
|
|
89
|
-
identifier: number;
|
|
90
|
-
};
|
|
91
|
-
export declare const PASSPORT_CONFIRMATION_RULES: {
|
|
92
|
-
creation: PassportConfirmationRule[];
|
|
93
|
-
operation: PassportConfirmationRule[];
|
|
94
|
-
consistency: PassportConfirmationRule[];
|
|
95
|
-
};
|
|
96
|
-
export interface CreationCheckInput {
|
|
97
|
-
clock: string | null;
|
|
98
|
-
txDigest: string | null;
|
|
99
|
-
}
|
|
100
|
-
export declare function preCheckPassportCreation(input: CreationCheckInput): CheckResult;
|
|
101
|
-
export interface OperationCheckInput {
|
|
102
|
-
passport: ObjectPassport;
|
|
103
|
-
operation: PassportOperation;
|
|
104
|
-
guardObjects: Map<string, ObjectGuard>;
|
|
105
|
-
}
|
|
106
|
-
export declare function preCheckPassportOperation(input: OperationCheckInput): CheckResult;
|
|
107
|
-
export interface ConsistencyCheckInput {
|
|
108
|
-
passport: ObjectPassport;
|
|
109
|
-
guardObjects: Map<string, ObjectGuard>;
|
|
110
|
-
isFrozen: boolean;
|
|
111
|
-
}
|
|
112
|
-
export declare function checkPassportStateConsistency(input: ConsistencyCheckInput): CheckResult;
|
|
113
|
-
export declare const PASSPORT_CONFIRM_VERSION = "1.0.0";
|
|
114
|
-
export interface ConfirmGateInput {
|
|
115
|
-
creation_input?: CreationCheckInput;
|
|
116
|
-
operation_input?: OperationCheckInput;
|
|
117
|
-
consistency_input?: ConsistencyCheckInput;
|
|
118
|
-
skip_risk_assessment?: boolean;
|
|
119
|
-
skip_user_confirmation?: boolean;
|
|
120
|
-
scenario?: PassportScenario;
|
|
121
|
-
}
|
|
122
|
-
export declare function runPassportConfirmGate(input: ConfirmGateInput): ConfirmGateResult;
|
|
123
|
-
export declare function estimateSubmissionSize(submission: {
|
|
124
|
-
identifier: number;
|
|
125
|
-
value: unknown;
|
|
126
|
-
value_type: string;
|
|
127
|
-
}[]): number;
|
|
128
|
-
export declare function getAllConfirmationRules(): PassportConfirmationRule[];
|
|
129
|
-
export declare function getConfirmationRulesByLayer(layer: "creation" | "operation" | "consistency"): PassportConfirmationRule[];
|
|
130
|
-
export declare function getConfirmationRuleById(id: string): PassportConfirmationRule | undefined;
|