@wowok/agent-mcp 2.4.3 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/runtime.d.ts +4 -0
- package/dist/config/runtime.js +29 -5
- package/dist/harness/auto-escalation.d.ts +27 -0
- package/dist/harness/auto-escalation.js +68 -0
- package/dist/index.js +21 -0
- package/dist/knowledge/allocation-confirm.d.ts +115 -0
- package/dist/knowledge/allocation-confirm.js +534 -0
- package/dist/knowledge/allocation-context.d.ts +58 -0
- package/dist/knowledge/allocation-context.js +249 -0
- package/dist/knowledge/allocation-ledger.d.ts +67 -0
- package/dist/knowledge/allocation-ledger.js +463 -0
- package/dist/knowledge/allocation-puzzle.d.ts +135 -0
- package/dist/knowledge/allocation-puzzle.js +298 -0
- package/dist/knowledge/allocation-risk.d.ts +78 -0
- package/dist/knowledge/allocation-risk.js +568 -0
- package/dist/knowledge/allocation-templates.d.ts +38 -0
- package/dist/knowledge/allocation-templates.js +970 -0
- package/dist/knowledge/allocation-translation.d.ts +72 -0
- package/dist/knowledge/allocation-translation.js +585 -0
- package/dist/knowledge/arb-risk.d.ts +37 -0
- package/dist/knowledge/arb-risk.js +210 -0
- package/dist/knowledge/arbitration-confirm.d.ts +135 -0
- package/dist/knowledge/arbitration-confirm.js +559 -0
- package/dist/knowledge/arbitration-context.d.ts +81 -0
- package/dist/knowledge/arbitration-context.js +505 -0
- package/dist/knowledge/arbitration-ledger.d.ts +62 -0
- package/dist/knowledge/arbitration-ledger.js +521 -0
- package/dist/knowledge/arbitration-puzzle.d.ts +84 -0
- package/dist/knowledge/arbitration-puzzle.js +304 -0
- package/dist/knowledge/arbitration-risk.d.ts +112 -0
- package/dist/knowledge/arbitration-risk.js +433 -0
- package/dist/knowledge/arbitration-templates.d.ts +38 -0
- package/dist/knowledge/arbitration-templates.js +276 -0
- package/dist/knowledge/arbitration-translation.d.ts +91 -0
- package/dist/knowledge/arbitration-translation.js +487 -0
- package/dist/knowledge/bridge-risk.d.ts +36 -0
- package/dist/knowledge/bridge-risk.js +263 -0
- package/dist/knowledge/contact-risk.d.ts +32 -0
- package/dist/knowledge/contact-risk.js +200 -0
- package/dist/knowledge/demand-confirm.d.ts +32 -0
- package/dist/knowledge/demand-confirm.js +206 -0
- package/dist/knowledge/demand-risk.d.ts +30 -0
- package/dist/knowledge/demand-risk.js +240 -0
- package/dist/knowledge/demand-translation.d.ts +55 -0
- package/dist/knowledge/demand-translation.js +354 -0
- package/dist/knowledge/deployment-scanner.d.ts +63 -0
- package/dist/knowledge/deployment-scanner.js +762 -0
- package/dist/knowledge/examples-scanner-cli.d.ts +1 -0
- package/dist/knowledge/examples-scanner-cli.js +26 -0
- package/dist/knowledge/examples-scanner.d.ts +121 -0
- package/dist/knowledge/examples-scanner.js +825 -0
- package/dist/knowledge/flywheel-loop.d.ts +3 -0
- package/dist/knowledge/flywheel-loop.js +32 -3
- package/dist/knowledge/glossary.js +3 -1
- package/dist/knowledge/guard-confirm.d.ts +86 -0
- package/dist/knowledge/guard-confirm.js +406 -0
- package/dist/knowledge/guard-context.d.ts +56 -0
- package/dist/knowledge/guard-context.js +287 -0
- package/dist/knowledge/guard-design-patterns.d.ts +37 -0
- package/dist/knowledge/guard-design-patterns.js +257 -0
- package/dist/knowledge/guard-puzzle.js +3 -2
- package/dist/knowledge/guard-risk.d.ts +1 -1
- package/dist/knowledge/guard-risk.js +12 -14
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +6 -5
- package/dist/knowledge/index.d.ts +342 -0
- package/dist/knowledge/index.js +344 -0
- package/dist/knowledge/machine-confirm.d.ts +102 -0
- package/dist/knowledge/machine-confirm.js +559 -0
- package/dist/knowledge/machine-context.d.ts +160 -0
- package/dist/knowledge/machine-context.js +812 -0
- package/dist/knowledge/machine-ledger.d.ts +41 -0
- package/dist/knowledge/machine-ledger.js +315 -0
- package/dist/knowledge/machine-puzzle.d.ts +206 -0
- package/dist/knowledge/machine-puzzle.js +494 -0
- package/dist/knowledge/machine-risk.d.ts +75 -0
- package/dist/knowledge/machine-risk.js +644 -0
- package/dist/knowledge/machine-templates.d.ts +92 -0
- package/dist/knowledge/machine-templates.js +1592 -0
- package/dist/knowledge/machine-topology.d.ts +57 -0
- package/dist/knowledge/machine-topology.js +234 -0
- package/dist/knowledge/machine-translation.d.ts +96 -0
- package/dist/knowledge/machine-translation.js +513 -0
- package/dist/knowledge/mcp-schema-audit-cli.d.ts +1 -0
- package/dist/knowledge/mcp-schema-audit-cli.js +45 -0
- package/dist/knowledge/mcp-schema-audit.d.ts +90 -0
- package/dist/knowledge/mcp-schema-audit.js +772 -0
- package/dist/knowledge/onchain-constants.d.ts +4 -0
- package/dist/knowledge/onchain-constants.js +35 -0
- package/dist/knowledge/order-confirm.d.ts +115 -0
- package/dist/knowledge/order-confirm.js +573 -0
- package/dist/knowledge/order-context.d.ts +66 -0
- package/dist/knowledge/order-context.js +390 -0
- package/dist/knowledge/order-ledger.d.ts +69 -0
- package/dist/knowledge/order-ledger.js +341 -0
- package/dist/knowledge/order-puzzle.d.ts +159 -0
- package/dist/knowledge/order-puzzle.js +255 -0
- package/dist/knowledge/order-risk.d.ts +66 -0
- package/dist/knowledge/order-risk.js +653 -0
- package/dist/knowledge/order-templates.d.ts +50 -0
- package/dist/knowledge/order-templates.js +368 -0
- package/dist/knowledge/order-translation.d.ts +78 -0
- package/dist/knowledge/order-translation.js +550 -0
- package/dist/knowledge/passport-confirm.d.ts +130 -0
- package/dist/knowledge/passport-confirm.js +531 -0
- package/dist/knowledge/passport-context.d.ts +59 -0
- package/dist/knowledge/passport-context.js +306 -0
- package/dist/knowledge/passport-ledger.d.ts +48 -0
- package/dist/knowledge/passport-ledger.js +282 -0
- package/dist/knowledge/passport-puzzle.d.ts +108 -0
- package/dist/knowledge/passport-puzzle.js +333 -0
- package/dist/knowledge/passport-risk.d.ts +70 -0
- package/dist/knowledge/passport-risk.js +450 -0
- package/dist/knowledge/passport-templates.d.ts +40 -0
- package/dist/knowledge/passport-templates.js +568 -0
- package/dist/knowledge/passport-translation.d.ts +68 -0
- package/dist/knowledge/passport-translation.js +516 -0
- package/dist/knowledge/payment-risk.d.ts +33 -0
- package/dist/knowledge/payment-risk.js +182 -0
- package/dist/knowledge/permission-confirm.d.ts +110 -0
- package/dist/knowledge/permission-confirm.js +426 -0
- package/dist/knowledge/permission-context.d.ts +58 -0
- package/dist/knowledge/permission-context.js +224 -0
- package/dist/knowledge/permission-ledger.d.ts +38 -0
- package/dist/knowledge/permission-ledger.js +403 -0
- package/dist/knowledge/permission-puzzle.d.ts +122 -0
- package/dist/knowledge/permission-puzzle.js +173 -0
- package/dist/knowledge/permission-risk.d.ts +76 -0
- package/dist/knowledge/permission-risk.js +411 -0
- package/dist/knowledge/permission-templates.d.ts +38 -0
- package/dist/knowledge/permission-templates.js +234 -0
- package/dist/knowledge/permission-translation.d.ts +57 -0
- package/dist/knowledge/permission-translation.js +350 -0
- package/dist/knowledge/personal-risk.d.ts +36 -0
- package/dist/knowledge/personal-risk.js +212 -0
- package/dist/knowledge/progress-confirm.d.ts +108 -0
- package/dist/knowledge/progress-confirm.js +456 -0
- package/dist/knowledge/progress-context.d.ts +123 -0
- package/dist/knowledge/progress-context.js +452 -0
- package/dist/knowledge/progress-ledger.d.ts +63 -0
- package/dist/knowledge/progress-ledger.js +327 -0
- package/dist/knowledge/progress-puzzle.d.ts +82 -0
- package/dist/knowledge/progress-puzzle.js +219 -0
- package/dist/knowledge/progress-risk.d.ts +74 -0
- package/dist/knowledge/progress-risk.js +461 -0
- package/dist/knowledge/progress-templates.d.ts +38 -0
- package/dist/knowledge/progress-templates.js +228 -0
- package/dist/knowledge/progress-translation.d.ts +52 -0
- package/dist/knowledge/progress-translation.js +401 -0
- package/dist/knowledge/proof-confirm.d.ts +31 -0
- package/dist/knowledge/proof-confirm.js +187 -0
- package/dist/knowledge/proof-risk.d.ts +33 -0
- package/dist/knowledge/proof-risk.js +207 -0
- package/dist/knowledge/proof-translation.d.ts +52 -0
- package/dist/knowledge/proof-translation.js +283 -0
- package/dist/knowledge/registrar-risk.d.ts +34 -0
- package/dist/knowledge/registrar-risk.js +217 -0
- package/dist/knowledge/repository-confirm.d.ts +36 -0
- package/dist/knowledge/repository-confirm.js +242 -0
- package/dist/knowledge/repository-risk.d.ts +40 -0
- package/dist/knowledge/repository-risk.js +312 -0
- package/dist/knowledge/repository-translation.d.ts +58 -0
- package/dist/knowledge/repository-translation.js +422 -0
- package/dist/knowledge/resource-risk.d.ts +32 -0
- package/dist/knowledge/resource-risk.js +157 -0
- package/dist/knowledge/reward-confirm.d.ts +113 -0
- package/dist/knowledge/reward-confirm.js +496 -0
- package/dist/knowledge/reward-context.d.ts +127 -0
- package/dist/knowledge/reward-context.js +504 -0
- package/dist/knowledge/reward-ledger.d.ts +96 -0
- package/dist/knowledge/reward-ledger.js +502 -0
- package/dist/knowledge/reward-puzzle.d.ts +97 -0
- package/dist/knowledge/reward-puzzle.js +288 -0
- package/dist/knowledge/reward-risk.d.ts +84 -0
- package/dist/knowledge/reward-risk.js +545 -0
- package/dist/knowledge/reward-translation.d.ts +58 -0
- package/dist/knowledge/reward-translation.js +501 -0
- package/dist/knowledge/safety-rules.js +11 -3
- package/dist/knowledge/scenario-modes.d.ts +53 -0
- package/dist/knowledge/scenario-modes.js +302 -0
- package/dist/knowledge/service-confirm.d.ts +152 -0
- package/dist/knowledge/service-confirm.js +699 -0
- package/dist/knowledge/service-context.d.ts +66 -0
- package/dist/knowledge/service-context.js +403 -0
- package/dist/knowledge/service-ledger.d.ts +71 -0
- package/dist/knowledge/service-ledger.js +609 -0
- package/dist/knowledge/service-puzzle.d.ts +158 -0
- package/dist/knowledge/service-puzzle.js +236 -0
- package/dist/knowledge/service-risk.d.ts +108 -0
- package/dist/knowledge/service-risk.js +615 -0
- package/dist/knowledge/service-templates.d.ts +39 -0
- package/dist/knowledge/service-templates.js +418 -0
- package/dist/knowledge/service-translation.d.ts +103 -0
- package/dist/knowledge/service-translation.js +622 -0
- package/dist/knowledge/tools-reference.d.ts +17 -0
- package/dist/knowledge/tools-reference.js +151 -0
- package/dist/knowledge/treasury-confirm.d.ts +133 -0
- package/dist/knowledge/treasury-confirm.js +512 -0
- package/dist/knowledge/treasury-context.d.ts +64 -0
- package/dist/knowledge/treasury-context.js +363 -0
- package/dist/knowledge/treasury-ledger.d.ts +42 -0
- package/dist/knowledge/treasury-ledger.js +300 -0
- package/dist/knowledge/treasury-puzzle.d.ts +163 -0
- package/dist/knowledge/treasury-puzzle.js +216 -0
- package/dist/knowledge/treasury-risk.d.ts +86 -0
- package/dist/knowledge/treasury-risk.js +440 -0
- package/dist/knowledge/treasury-templates.d.ts +38 -0
- package/dist/knowledge/treasury-templates.js +316 -0
- package/dist/knowledge/treasury-translation.d.ts +78 -0
- package/dist/knowledge/treasury-translation.js +498 -0
- package/dist/knowledge/util-risk.d.ts +30 -0
- package/dist/knowledge/util-risk.js +135 -0
- package/dist/project/business-puzzle.d.ts +47 -0
- package/dist/project/business-puzzle.js +372 -0
- package/dist/project/deployment-doc.d.ts +61 -0
- package/dist/project/deployment-doc.js +432 -0
- package/dist/project/risk-aggregator.d.ts +50 -0
- package/dist/project/risk-aggregator.js +280 -0
- package/dist/project/substep-trace.d.ts +130 -0
- package/dist/project/substep-trace.js +332 -0
- package/dist/schema/call/allocation.d.ts +34 -34
- package/dist/schema/call/arbitration.d.ts +141 -141
- package/dist/schema/call/base.d.ts +386 -386
- package/dist/schema/call/base.js +3 -3
- package/dist/schema/call/bridge-handler.d.ts +5 -2
- package/dist/schema/call/bridge.d.ts +159 -159
- package/dist/schema/call/contact.d.ts +110 -110
- package/dist/schema/call/demand.d.ts +76 -76
- package/dist/schema/call/handler.d.ts +2 -3
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +58 -58
- package/dist/schema/call/order.d.ts +98 -110
- package/dist/schema/call/permission-handler.d.ts +5 -0
- package/dist/schema/call/permission-handler.js +54 -0
- package/dist/schema/call/permission.d.ts +108 -108
- package/dist/schema/call/personal.d.ts +14 -14
- package/dist/schema/call/progress.d.ts +57 -72
- package/dist/schema/call/progress.js +7 -4
- package/dist/schema/call/proof.d.ts +18 -18
- package/dist/schema/call/proof.js +12 -7
- package/dist/schema/call/repository.d.ts +154 -154
- package/dist/schema/call/reward.d.ts +55 -55
- package/dist/schema/call/service.d.ts +231 -231
- package/dist/schema/call/treasury.d.ts +93 -93
- package/dist/schema/config/index.d.ts +178 -5
- package/dist/schema/config/index.js +52 -1
- package/dist/schema/local/index.d.ts +3554 -836
- package/dist/schema/local/index.js +2 -1
- package/dist/schema/messenger/index.d.ts +162 -162
- package/dist/schema/operations.d.ts +1058 -1074
- package/dist/schema/operations.js +7 -1
- package/dist/schema/project/index.d.ts +1412 -6
- package/dist/schema/project/index.js +441 -3
- package/dist/schema/query/index.d.ts +672 -672
- package/dist/schema/schema-query/index.d.ts +23 -3
- package/dist/schema/schema-query/index.js +13 -2
- package/dist/schema/sync-layer4.d.ts +21 -0
- package/dist/schema/sync-layer4.js +261 -0
- package/dist/schema/trust/index.d.ts +26 -26
- package/dist/schemas/account_operation.output.json +718 -0
- package/dist/schemas/config_operation.output.json +173 -0
- package/dist/schemas/index.json +9 -1
- package/dist/schemas/local_info_operation.output.json +718 -0
- package/dist/schemas/local_mark_operation.output.json +718 -0
- package/dist/schemas/onchain_operations.output.json +3 -2
- package/dist/schemas/onchain_operations.schema.json +1809 -336
- package/dist/schemas/onchain_operations_allocation.schema.json +2 -1
- package/dist/schemas/onchain_operations_arbitration.schema.json +2 -1
- package/dist/schemas/onchain_operations_contact.schema.json +2 -1
- package/dist/schemas/onchain_operations_demand.schema.json +2 -1
- package/dist/schemas/onchain_operations_gen_passport.schema.json +878 -872
- package/dist/schemas/onchain_operations_gen_proof.schema.json +273 -0
- package/dist/schemas/onchain_operations_guard.schema.json +578 -579
- package/dist/schemas/onchain_operations_machine.schema.json +2 -1
- package/dist/schemas/onchain_operations_order.schema.json +13 -9
- package/dist/schemas/onchain_operations_payment.schema.json +0 -514
- package/dist/schemas/onchain_operations_permission.schema.json +0 -514
- package/dist/schemas/onchain_operations_personal.schema.json +0 -514
- package/dist/schemas/onchain_operations_progress.schema.json +14 -10
- package/dist/schemas/onchain_operations_proof.schema.json +699 -0
- package/dist/schemas/onchain_operations_repository.schema.json +2 -1
- package/dist/schemas/onchain_operations_reward.schema.json +2 -1
- package/dist/schemas/onchain_operations_service.schema.json +2 -1
- package/dist/schemas/onchain_operations_treasury.schema.json +2 -1
- package/dist/schemas/onchain_table_data.schema.json +32 -1
- package/dist/schemas/project_operation.output.json +918 -0
- package/dist/schemas/project_operation.schema.json +474 -3
- package/dist/schemas/query_toolkit.output.json +14906 -6
- package/dist/schemas/schema_query.output.json +38 -1
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/tools/handlers/config.d.ts +1 -1
- package/dist/tools/handlers/config.js +21 -18
- package/dist/tools/handlers/file-export.d.ts +2 -2
- package/dist/tools/handlers/local.d.ts +3 -30
- package/dist/tools/handlers/local.js +14 -3
- package/dist/tools/handlers/messenger.d.ts +1 -1
- package/dist/tools/handlers/messenger.js +2 -1
- package/dist/tools/handlers/onchain.d.ts +1 -1
- package/dist/tools/handlers/onchain.js +24 -22
- package/dist/tools/handlers/project.d.ts +1 -1
- package/dist/tools/handlers/project.js +262 -18
- package/dist/tools/handlers/query.d.ts +4 -4
- package/dist/tools/handlers/schema-query.d.ts +1 -1
- package/dist/tools/handlers/schema-query.js +21 -20
- package/dist/tools/handlers/trust.d.ts +1 -1
- package/dist/tools/handlers/trust.js +2 -2
- package/dist/tools/handlers/wip.d.ts +1 -1
- package/dist/tools/handlers/wip.js +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +96 -25
- package/dist/tools/rules-hook.d.ts +1 -1
- package/dist/tools/rules-hook.js +3 -2
- package/dist/tools/shared.d.ts +13 -22
- package/dist/tools/types.d.ts +5 -5
- package/dist/tools/wrap.d.ts +10 -2
- package/dist/tools/wrap.js +212 -0
- package/package.json +3 -3
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
export const PROGRESS_TEMPLATES = [
|
|
2
|
+
{
|
|
3
|
+
id: "T-PR-01",
|
|
4
|
+
name: "Single named_operator workflow",
|
|
5
|
+
description: "Bind a single named_operator role (e.g. 'seller' or 'logistics') to a Progress. " +
|
|
6
|
+
"Suitable for linear flows with one external operator besides OrderHolder.",
|
|
7
|
+
applicable_scenes: ["progress_named_operator", "progress_task_submit"],
|
|
8
|
+
industry_tags: ["universal", "ecommerce"],
|
|
9
|
+
params: [
|
|
10
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
11
|
+
{ name: "operator_name", type: "name", description: "named_operator name (e.g. 'seller', 'logistics')", required: true },
|
|
12
|
+
{ name: "operator_address", type: "address", description: "Single operator address", required: true },
|
|
13
|
+
],
|
|
14
|
+
body: (p) => ({
|
|
15
|
+
object: p.progress_address,
|
|
16
|
+
progress_namedOperator: {
|
|
17
|
+
op: "set",
|
|
18
|
+
name: p.operator_name,
|
|
19
|
+
operators: [p.operator_address],
|
|
20
|
+
},
|
|
21
|
+
}),
|
|
22
|
+
notes: [
|
|
23
|
+
"Use 'set' for initial assignment (REPLACE list); use 'add' for extending existing list",
|
|
24
|
+
"Operator name must be a valid NAME (common::NAME) — non-empty, length-bounded",
|
|
25
|
+
"Empty name '' is reserved for OrderHolder — do not use here",
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "T-PR-02",
|
|
30
|
+
name: "Multi named_operator collaborative workflow",
|
|
31
|
+
description: "Bind multiple named_operator roles in one transaction (e.g. seller + logistics + reviewer). " +
|
|
32
|
+
"Suitable for collaborative workflows where different roles advance different forwards.",
|
|
33
|
+
applicable_scenes: ["progress_named_operator"],
|
|
34
|
+
industry_tags: ["logistics", "arbitration", "freelance"],
|
|
35
|
+
params: [
|
|
36
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
37
|
+
{ name: "roles", type: "string[]", description: "named_operator names (e.g. ['seller','logistics','reviewer'])", required: true },
|
|
38
|
+
{ name: "addresses_per_role", type: "string", description: "Comma-separated addresses per role, semicolon-separated roles (e.g. '0xA,0xB;0xC;0xD,0xE')", required: true },
|
|
39
|
+
],
|
|
40
|
+
body: (p) => {
|
|
41
|
+
const roles = p.roles;
|
|
42
|
+
const roleAddrStrings = p.addresses_per_role.split(";");
|
|
43
|
+
const operations = [];
|
|
44
|
+
for (let i = 0; i < roles.length; i++) {
|
|
45
|
+
const roleName = roles[i];
|
|
46
|
+
const addrs = (roleAddrStrings[i] ?? "").split(",").map(s => s.trim()).filter(s => s.length > 0);
|
|
47
|
+
operations.push({
|
|
48
|
+
object: p.progress_address,
|
|
49
|
+
progress_namedOperator: {
|
|
50
|
+
op: "set",
|
|
51
|
+
name: roleName,
|
|
52
|
+
operators: addrs,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
_batch: operations,
|
|
58
|
+
_note: "Each entry is a separate CallProgress_Data; submit all in one transaction",
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
notes: [
|
|
62
|
+
"Each role must satisfy common::NAME — non-empty, length-bounded",
|
|
63
|
+
"Total roles ≤ MAX_NAMED_OPERATOR_COUNT (60); each role's addresses ≤ MAX_NAMED_OPERATOR_ADDRESS_COUNT (80)",
|
|
64
|
+
"Submit all operations in a single transaction for atomicity",
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: "T-PR-03",
|
|
69
|
+
name: "Context_repository binding workflow",
|
|
70
|
+
description: "Bind context Repository objects to a Progress for query-time context " +
|
|
71
|
+
"(learning progress, inspection records, bridge state). Up to 30 repositories.",
|
|
72
|
+
applicable_scenes: ["progress_context_repository"],
|
|
73
|
+
industry_tags: ["education", "content", "rental", "cross_chain"],
|
|
74
|
+
params: [
|
|
75
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
76
|
+
{ name: "repository_addresses", type: "string[]", description: "Repository object addresses to bind", required: true },
|
|
77
|
+
{ name: "op", type: "string", description: "Operation: 'add' (extend) | 'set' (replace) | 'remove' | 'clear'", required: false, default: "add" },
|
|
78
|
+
],
|
|
79
|
+
body: (p) => ({
|
|
80
|
+
object: p.progress_address,
|
|
81
|
+
repository: {
|
|
82
|
+
op: p.op || "add",
|
|
83
|
+
objects: p.repository_addresses,
|
|
84
|
+
},
|
|
85
|
+
}),
|
|
86
|
+
notes: [
|
|
87
|
+
"op='add' is idempotent (vector::contains check); op='set' clears then adds",
|
|
88
|
+
"Total count ≤ MAX_CONTEXT_REPOSITORY_COUNT (30); E_MAX_CONTEXT_REPOSITORY_COUNT on overflow",
|
|
89
|
+
"Binding creates Registrar affiliation — remove before deleting Repository to avoid dangling refs",
|
|
90
|
+
"Bind BEFORE forward advance so on-chain guards can read context data",
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "T-PR-04",
|
|
95
|
+
name: "Forward advancement workflow",
|
|
96
|
+
description: "Advance a Progress forward (next or hold). Forwards are defined in the bound Machine; " +
|
|
97
|
+
"this template emits the operate payload for a single forward step.",
|
|
98
|
+
applicable_scenes: ["progress_completed", "progress_unhold"],
|
|
99
|
+
industry_tags: ["universal"],
|
|
100
|
+
params: [
|
|
101
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
102
|
+
{ name: "next_node_name", type: "name", description: "Target node name (must exist in Machine)", required: true },
|
|
103
|
+
{ name: "forward", type: "name", description: "Forward name (from current → next_node_name)", required: true },
|
|
104
|
+
{ name: "op", type: "string", description: "'next' to advance the forward, 'hold' to lock the forward", required: false, default: "next" },
|
|
105
|
+
{ name: "message", type: "string", description: "Deliverable message (≤ MAX_LONG_NAME_LENGTH)", required: false, default: "" },
|
|
106
|
+
],
|
|
107
|
+
body: (p) => ({
|
|
108
|
+
object: p.progress_address,
|
|
109
|
+
operate: {
|
|
110
|
+
operation: {
|
|
111
|
+
next_node_name: p.next_node_name,
|
|
112
|
+
forward: p.forward,
|
|
113
|
+
},
|
|
114
|
+
op: p.op || "next",
|
|
115
|
+
message: p.message || "",
|
|
116
|
+
},
|
|
117
|
+
}),
|
|
118
|
+
notes: [
|
|
119
|
+
"Forward must exist in Machine: query machine::info_borrow(machine, current, next_node, forward)",
|
|
120
|
+
"If Forward.guard is Some, use *_with_passport variant (SDK auto-selects based on submission)",
|
|
121
|
+
"If Forward.namedOperator is set, caller must be in that operator list (IsNamedOperator short-circuit)",
|
|
122
|
+
"op='hold' blocks the forward; op='next' advances it; op='unhold' self-releases; op='adminUnhold' force-releases via 224",
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: "T-PR-05",
|
|
127
|
+
name: "Unhold / adminUnhold workflow",
|
|
128
|
+
description: "Release a previously-held forward. Two modes: (a) self-unhold by original holder (op='unhold'); " +
|
|
129
|
+
"(b) adminUnhold via 224 permission to bypass holder check (op='adminUnhold', deadlock recovery).",
|
|
130
|
+
applicable_scenes: ["progress_unhold"],
|
|
131
|
+
industry_tags: ["content", "rental", "arbitration", "subscription"],
|
|
132
|
+
params: [
|
|
133
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
134
|
+
{ name: "next_node_name", type: "name", description: "Target node name (matches the held forward)", required: true },
|
|
135
|
+
{ name: "forward", type: "name", description: "Forward name (matches the held forward)", required: true },
|
|
136
|
+
{ name: "admin_unhold", type: "string", description: "'true' to force-release via 224 permission (op='adminUnhold'); 'false' for self-unhold (op='unhold')", required: false, default: "false" },
|
|
137
|
+
{ name: "message", type: "string", description: "Release message (≤ MAX_LONG_NAME_LENGTH)", required: false, default: "" },
|
|
138
|
+
],
|
|
139
|
+
body: (p) => ({
|
|
140
|
+
object: p.progress_address,
|
|
141
|
+
operate: {
|
|
142
|
+
operation: {
|
|
143
|
+
next_node_name: p.next_node_name,
|
|
144
|
+
forward: p.forward,
|
|
145
|
+
},
|
|
146
|
+
op: p.admin_unhold === "true" ? "adminUnhold" : "unhold",
|
|
147
|
+
message: p.message || "",
|
|
148
|
+
},
|
|
149
|
+
}),
|
|
150
|
+
notes: [
|
|
151
|
+
"op='unhold': sender must == Holder.who; else E_NOT_THE_HOLDER",
|
|
152
|
+
"op='adminUnhold': requires 224 permission (PROGRESS_UNHOLD); bypasses holder check",
|
|
153
|
+
"Re-hold on already-accomplished forward → E_FORWARD_ALREADY_ACCOMPLISHED",
|
|
154
|
+
"Use adminUnhold sparingly — log every invocation for audit",
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
id: "T-PR-06",
|
|
159
|
+
name: "Owner receive workflow",
|
|
160
|
+
description: "Owner receives Receiving<K> objects or CoinWrapper<T> coins at a terminal node. " +
|
|
161
|
+
"Unwraps via Payment.unwrap_with_check; forwards to Permission owner. " +
|
|
162
|
+
"Note: NOT exposed in CallProgress_Data — direct Move call required.",
|
|
163
|
+
applicable_scenes: ["progress_owner_receive"],
|
|
164
|
+
industry_tags: ["finance", "treasury", "rental", "freelance"],
|
|
165
|
+
params: [
|
|
166
|
+
{ name: "progress_address", type: "address", description: "Progress object address", required: true },
|
|
167
|
+
{ name: "machine_address", type: "address", description: "Bound Machine object address", required: true },
|
|
168
|
+
{ name: "permission_address", type: "address", description: "Machine's Permission object address", required: true },
|
|
169
|
+
{ name: "asset_type", type: "string", description: "'coin' or 'object'", required: true },
|
|
170
|
+
{ name: "received_object", type: "address", description: "Receiving<K> object address (the received 'envelope')", required: true },
|
|
171
|
+
{ name: "payment_object", type: "address", description: "Payment<T> object address (only for asset_type='coin')", required: false },
|
|
172
|
+
],
|
|
173
|
+
body: (p) => ({
|
|
174
|
+
_note: "This operation is NOT exposed via CallProgress_Data; must be called via direct Move call.",
|
|
175
|
+
_move_target: p.asset_type === "coin"
|
|
176
|
+
? "progress::owner_receive<T>"
|
|
177
|
+
: "progress::owner_receive_object<K>",
|
|
178
|
+
_arguments: p.asset_type === "coin"
|
|
179
|
+
? [p.progress_address, p.machine_address, p.permission_address, p.received_object, p.payment_object]
|
|
180
|
+
: [p.progress_address, p.machine_address, p.permission_address, p.received_object],
|
|
181
|
+
_permission_required: 225,
|
|
182
|
+
_permission_label: "PROGRESS_OWNER_RECEIVE",
|
|
183
|
+
}),
|
|
184
|
+
notes: [
|
|
185
|
+
"Permission 225 (PROGRESS_OWNER_RECEIVE) is required; SDK CallProgress_Data does NOT expose this op",
|
|
186
|
+
"Recipient is Permission owner (Machine.permission's owner), NOT Progress creator",
|
|
187
|
+
"Triggered at terminal nodes: 'deposit_refunded', 'completed', 'enforced', 'paid'",
|
|
188
|
+
"For coins: Payment.unwrap_with_check validates amount before forwarding to owner",
|
|
189
|
+
"For objects: generic K:key+store — forwarded directly via permission::owner_receive_inner",
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
];
|
|
193
|
+
export const PROGRESS_TEMPLATES_VERSION = "1.0.0";
|
|
194
|
+
export function getAllProgressTemplates() {
|
|
195
|
+
return [...PROGRESS_TEMPLATES];
|
|
196
|
+
}
|
|
197
|
+
export function getProgressTemplateById(id) {
|
|
198
|
+
return PROGRESS_TEMPLATES.find(t => t.id === id);
|
|
199
|
+
}
|
|
200
|
+
export function getProgressTemplatesByScene(sceneId) {
|
|
201
|
+
return PROGRESS_TEMPLATES.filter(t => t.applicable_scenes.includes(sceneId));
|
|
202
|
+
}
|
|
203
|
+
export function getProgressTemplatesByIndustry(industry) {
|
|
204
|
+
return PROGRESS_TEMPLATES.filter(t => t.industry_tags.includes(industry) || t.industry_tags.includes("universal"));
|
|
205
|
+
}
|
|
206
|
+
export function suggestProgressTemplateForScene(sceneId) {
|
|
207
|
+
const matches = getProgressTemplatesByScene(sceneId);
|
|
208
|
+
return matches.length > 0 ? matches[0] : undefined;
|
|
209
|
+
}
|
|
210
|
+
export function listProgressTemplates() {
|
|
211
|
+
return PROGRESS_TEMPLATES.map(t => ({
|
|
212
|
+
id: t.id,
|
|
213
|
+
name: t.name,
|
|
214
|
+
description: t.description,
|
|
215
|
+
scenes: t.applicable_scenes,
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
export function fillProgressTemplate(templateId, params) {
|
|
219
|
+
const tpl = getProgressTemplateById(templateId);
|
|
220
|
+
if (!tpl)
|
|
221
|
+
return { ok: false, error: `Template ${templateId} not found` };
|
|
222
|
+
for (const p of tpl.params) {
|
|
223
|
+
if (p.required && !(p.name in params)) {
|
|
224
|
+
return { ok: false, error: `Missing required param: ${p.name}` };
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return { ok: true, body: tpl.body(params) };
|
|
228
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export interface ProgressSemanticToSchemaRule {
|
|
2
|
+
id: string;
|
|
3
|
+
pattern_name: string;
|
|
4
|
+
semantic_intent: string;
|
|
5
|
+
match_keywords: string[];
|
|
6
|
+
schema_fields: string[];
|
|
7
|
+
example_json: object;
|
|
8
|
+
reverse_explanation: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ProgressSchemaToSemanticRule {
|
|
11
|
+
element_type: "field" | "op" | "phase";
|
|
12
|
+
type_name: string;
|
|
13
|
+
semantic_explanation: string;
|
|
14
|
+
constraints?: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface ProgressConstraintRule {
|
|
17
|
+
id: string;
|
|
18
|
+
category: "structural" | "semantic" | "permission" | "lifecycle" | "cross_object";
|
|
19
|
+
rule: string;
|
|
20
|
+
applies_to: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare const PROGRESS_SEMANTIC_TO_SCHEMA_RULES: ProgressSemanticToSchemaRule[];
|
|
23
|
+
export declare const PROGRESS_SCHEMA_TO_SEMANTIC_RULES: ProgressSchemaToSemanticRule[];
|
|
24
|
+
export declare const PROGRESS_CONSTRAINT_RULES: ProgressConstraintRule[];
|
|
25
|
+
export declare const PROGRESS_TRANSLATION_VERSION = "1.0.0";
|
|
26
|
+
export declare function matchSemanticPattern(userIntent: string): ProgressSemanticToSchemaRule[];
|
|
27
|
+
export interface ProgressCallDataForExplanation {
|
|
28
|
+
object?: string | null;
|
|
29
|
+
task?: string;
|
|
30
|
+
repository?: {
|
|
31
|
+
op: string;
|
|
32
|
+
objects?: string[];
|
|
33
|
+
};
|
|
34
|
+
progress_namedOperator?: {
|
|
35
|
+
op: string;
|
|
36
|
+
name: string;
|
|
37
|
+
operators?: string[];
|
|
38
|
+
};
|
|
39
|
+
operate?: {
|
|
40
|
+
operation: {
|
|
41
|
+
next_node_name: string;
|
|
42
|
+
forward: string;
|
|
43
|
+
};
|
|
44
|
+
op?: "next" | "hold" | "unhold" | "adminUnhold";
|
|
45
|
+
message?: string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare function explainProgressCallData(data: ProgressCallDataForExplanation): string;
|
|
49
|
+
export declare function explainField(fieldName: string): ProgressSchemaToSemanticRule | undefined;
|
|
50
|
+
export declare function explainOp(opName: string): ProgressSchemaToSemanticRule | undefined;
|
|
51
|
+
export declare function getConstraintsByCategory(category: ProgressConstraintRule["category"]): ProgressConstraintRule[];
|
|
52
|
+
export declare function explainPermissionIndex(index: number): string;
|