@wowok/skills 3.1.2 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -7
- package/dist/installer.d.ts +4 -3
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +61 -13
- package/dist/installer.js.map +1 -1
- package/dist/targets.d.ts +34 -9
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +135 -21
- package/dist/targets.js.map +1 -1
- package/package.json +2 -2
- package/wowok-arbitrator/SKILL.md +60 -189
- package/wowok-auditor/SKILL.md +3 -3
- package/wowok-collaborator/SKILL.md +33 -73
- package/wowok-governance/SKILL.md +32 -71
- package/wowok-machine/SKILL.md +64 -206
- package/wowok-market/SKILL.md +25 -62
- package/wowok-messenger/SKILL.md +50 -172
- package/wowok-onboard/SKILL.md +50 -124
- package/wowok-order/SKILL.md +93 -211
- package/wowok-output/SKILL.md +59 -168
- package/wowok-planner/SKILL.md +26 -74
- package/wowok-provider/SKILL.md +66 -168
- package/wowok-supplier/SKILL.md +51 -76
package/dist/targets.js
CHANGED
|
@@ -9,8 +9,29 @@
|
|
|
9
9
|
* NEVER hardcode a skill name or a client directory anywhere else.
|
|
10
10
|
*
|
|
11
11
|
* Directory choices below are taken from each client's official documentation
|
|
12
|
-
* (verified 2026-09). Where a client only documents a
|
|
13
|
-
* path), no path is registered here — the CLI prints a
|
|
12
|
+
* (re-verified 2026-09 against the live docs). Where a client only documents a
|
|
13
|
+
* UI flow (no on-disk path), no path is registered here — the CLI prints a
|
|
14
|
+
* manual hint instead.
|
|
15
|
+
*
|
|
16
|
+
* Lifecycle notes (2026-09):
|
|
17
|
+
* - Roo Code was sunset by its team on 2026-05-15 (repo archived, v3.54.0
|
|
18
|
+
* final; official successor: Cline, community fork: Zoo Code). The `roo`
|
|
19
|
+
* target was REMOVED — see README for manual cleanup of old installs.
|
|
20
|
+
* - Windsurf was renamed Devin Desktop on 2026-06-02 (Cognition). On-disk
|
|
21
|
+
* paths are unchanged (still ~/.codeium/windsurf/).
|
|
22
|
+
* - Added (2026-09, per official docs): Gemini CLI, Qwen Code, Google
|
|
23
|
+
* Antigravity, Grok Build (xAI) and OpenCode.
|
|
24
|
+
* - CodeBuddy (official docs 2026-08-26): the recommended global MCP file is
|
|
25
|
+
* now the dotted `~/.codebuddy/.mcp.json`; the dotless `mcp.json` is
|
|
26
|
+
* DEPRECATED (read order: .mcp.json → mcp.json → ~/.codebuddy.json). Older
|
|
27
|
+
* dotless-file entries are migrated by the legacy cleanup.
|
|
28
|
+
* - Google Antigravity 2.0 unified the MCP config (2026-09 Google docs):
|
|
29
|
+
* CLI, 2.0 and IDE all share `~/.gemini/config/mcp_config.json` — the
|
|
30
|
+
* pre-2.0 `~/.gemini/antigravity/` location is obsolete. MCP registration
|
|
31
|
+
* is therefore automated (standard `mcpServers` JSON, command/args stdio).
|
|
32
|
+
* - Added (2026-09): WorkBuddy (Tencent) — MCP only, standard `mcpServers`
|
|
33
|
+
* JSON at ~/.workbuddy/mcp.json + <project>/.workbuddy/mcp.json; its skills
|
|
34
|
+
* come from the cross-client `.agents/skills` root (the "agents" target).
|
|
14
35
|
*/
|
|
15
36
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
37
|
if (k2 === undefined) k2 = k;
|
|
@@ -46,7 +67,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
46
67
|
};
|
|
47
68
|
})();
|
|
48
69
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS = exports.
|
|
70
|
+
exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS = exports.OPENCODE_SKILL_ROOT = exports.GROK_SKILL_ROOT = exports.QWEN_SKILL_ROOT = exports.GEMINI_SKILL_ROOT = exports.COPILOT_SKILL_ROOT = exports.KILO_SKILL_ROOT = exports.CLINE_SKILL_ROOT = exports.QODER_SKILL_ROOT = exports.TRAE_SKILL_ROOT = exports.CODEBUDDY_SKILL_ROOT = exports.WINDSURF_SKILL_ROOT = exports.CURSOR_SKILL_ROOT = exports.CODEX_SKILL_ROOT = exports.CLAUDE_SKILL_ROOT = exports.AGENTS_SKILL_ROOT = exports.MCP_PACKAGE = exports.MANIFEST_FILE = exports.SKILL_MIGRATION_TARGETS = exports.LEGACY_SKILL_NAMES = exports.SKILL_NAMES = void 0;
|
|
50
71
|
exports.getClientTarget = getClientTarget;
|
|
51
72
|
exports.expandHome = expandHome;
|
|
52
73
|
exports.resolveSkillRoots = resolveSkillRoots;
|
|
@@ -96,7 +117,7 @@ exports.MCP_PACKAGE = '@wowok/agent-mcp';
|
|
|
96
117
|
// =========================================================================
|
|
97
118
|
// Skill roots (cross-client standard + per-client native)
|
|
98
119
|
// =========================================================================
|
|
99
|
-
/** Cross-client root read by Codex, Cursor, Windsurf
|
|
120
|
+
/** Cross-client root read by Codex, Cursor, Windsurf (Devin Desktop), Kilo (+ Trae project). */
|
|
100
121
|
exports.AGENTS_SKILL_ROOT = '.agents/skills';
|
|
101
122
|
exports.CLAUDE_SKILL_ROOT = '.claude/skills';
|
|
102
123
|
exports.CODEX_SKILL_ROOT = '.agents/skills';
|
|
@@ -105,15 +126,22 @@ exports.WINDSURF_SKILL_ROOT = '.windsurf/skills';
|
|
|
105
126
|
exports.CODEBUDDY_SKILL_ROOT = '.codebuddy/skills';
|
|
106
127
|
exports.TRAE_SKILL_ROOT = '.trae/skills';
|
|
107
128
|
exports.QODER_SKILL_ROOT = '.qoder/skills';
|
|
108
|
-
exports.ROO_SKILL_ROOT = '.roo/skills';
|
|
109
129
|
exports.CLINE_SKILL_ROOT = '.cline/skills';
|
|
110
130
|
exports.KILO_SKILL_ROOT = '.kilo/skills';
|
|
111
131
|
exports.COPILOT_SKILL_ROOT = '.github/skills';
|
|
132
|
+
exports.GEMINI_SKILL_ROOT = '.gemini/skills';
|
|
133
|
+
exports.QWEN_SKILL_ROOT = '.qwen/skills';
|
|
134
|
+
exports.GROK_SKILL_ROOT = '.grok/skills';
|
|
135
|
+
exports.OPENCODE_SKILL_ROOT = '.opencode/skills';
|
|
112
136
|
const home = () => os.homedir();
|
|
113
137
|
/** Kilo Code new-platform config dir (XDG style). */
|
|
114
138
|
function kiloConfigDir() {
|
|
115
139
|
return path.join(process.env.XDG_CONFIG_HOME || path.join(home(), '.config'), 'kilo');
|
|
116
140
|
}
|
|
141
|
+
/** OpenCode config dir (XDG style, same on every platform). */
|
|
142
|
+
function opencodeConfigDir() {
|
|
143
|
+
return path.join(process.env.XDG_CONFIG_HOME || path.join(home(), '.config'), 'opencode');
|
|
144
|
+
}
|
|
117
145
|
/**
|
|
118
146
|
* Pre-3.1 installers registered Qoder's MCP server in an undocumented
|
|
119
147
|
* `mcp-settings.json` inside the app data dir. Qoder actually reads
|
|
@@ -200,8 +228,9 @@ exports.CLIENT_TARGETS = [
|
|
|
200
228
|
label: 'Cross-client (.agents/skills)',
|
|
201
229
|
userSkillDirs: [path.join(home(), exports.AGENTS_SKILL_ROOT)],
|
|
202
230
|
projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
|
|
203
|
-
// Read by Codex, Cursor, Windsurf
|
|
204
|
-
// once "enable .agents skills
|
|
231
|
+
// Read by Codex, Cursor, Windsurf (Devin Desktop), Kilo, Antigravity,
|
|
232
|
+
// Gemini CLI (alias) and Trae project-level (once "enable .agents skills
|
|
233
|
+
// directory" is turned on).
|
|
205
234
|
userMcp: [],
|
|
206
235
|
projectMcp: [],
|
|
207
236
|
},
|
|
@@ -242,7 +271,7 @@ exports.CLIENT_TARGETS = [
|
|
|
242
271
|
},
|
|
243
272
|
{
|
|
244
273
|
id: 'windsurf',
|
|
245
|
-
label: '
|
|
274
|
+
label: 'Devin Desktop (formerly Windsurf)',
|
|
246
275
|
userSkillDirs: [path.join(home(), '.codeium', 'windsurf', 'skills')],
|
|
247
276
|
projectSkillDirs: [exports.WINDSURF_SKILL_ROOT],
|
|
248
277
|
// Only the user-scope MCP file is documented for Windsurf.
|
|
@@ -262,10 +291,31 @@ exports.CLIENT_TARGETS = [
|
|
|
262
291
|
label: 'CodeBuddy',
|
|
263
292
|
userSkillDirs: [path.join(home(), '.codebuddy', 'skills')],
|
|
264
293
|
projectSkillDirs: [exports.CODEBUDDY_SKILL_ROOT],
|
|
265
|
-
//
|
|
294
|
+
// Official (2026-08-26): the recommended global MCP file is the dotted
|
|
295
|
+
// ~/.codebuddy/.mcp.json; the dotless mcp.json is deprecated (read order:
|
|
296
|
+
// .mcp.json → mcp.json → ~/.codebuddy.json, first existing wins). Project
|
|
297
|
+
// scope is <project>/.mcp.json — the same file Claude uses.
|
|
266
298
|
userMcp: [{ scope: 'user', path: path.join(home(), '.codebuddy', '.mcp.json'), format: 'json' }],
|
|
267
|
-
// CodeBuddy project scope is <project>/.mcp.json — the same file Claude uses.
|
|
268
299
|
projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
|
|
300
|
+
// Pre-3.3 installers wrote the deprecated dotless `~/.codebuddy/mcp.json`.
|
|
301
|
+
legacyMcpFiles: [path.join(home(), '.codebuddy', 'mcp.json')],
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
id: 'workbuddy',
|
|
305
|
+
label: 'WorkBuddy (Tencent)',
|
|
306
|
+
// User-level skills: ~/.workbuddy/skills/<name>/SKILL.md (loaded on
|
|
307
|
+
// restart; the in-app skill market imports into the same store). Project
|
|
308
|
+
// skills use the cross-client .agents/skills root ("agents" target).
|
|
309
|
+
userSkillDirs: [path.join(home(), '.workbuddy', 'skills')],
|
|
310
|
+
projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
|
|
311
|
+
// Official docs: user scope ~/.workbuddy/mcp.json, project scope
|
|
312
|
+
// <project>/.workbuddy/mcp.json — standard `mcpServers` JSON (command/args,
|
|
313
|
+
// stdio + SSE). The UI mirror is Plugins → MCP Servers → Configure MCP.
|
|
314
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.workbuddy', 'mcp.json'), format: 'json' }],
|
|
315
|
+
projectMcp: [{ scope: 'project', path: '.workbuddy/mcp.json', format: 'json' }],
|
|
316
|
+
notes: [
|
|
317
|
+
'WorkBuddy: restart the app after install so new skills and the MCP server are loaded.',
|
|
318
|
+
],
|
|
269
319
|
},
|
|
270
320
|
{
|
|
271
321
|
id: 'trae',
|
|
@@ -274,6 +324,10 @@ exports.CLIENT_TARGETS = [
|
|
|
274
324
|
projectSkillDirs: [exports.TRAE_SKILL_ROOT],
|
|
275
325
|
userMcp: traeMcpPaths().map((p) => ({ scope: 'user', path: p, format: 'json' })),
|
|
276
326
|
projectMcp: [{ scope: 'project', path: '.trae/mcp.json', format: 'json' }],
|
|
327
|
+
notes: [
|
|
328
|
+
'Trae project-level MCP only loads after enabling Settings → MCP → "Enable project-level MCP". ' +
|
|
329
|
+
'Verify the user-level config path via Settings → MCP → Open config file.',
|
|
330
|
+
],
|
|
277
331
|
},
|
|
278
332
|
{
|
|
279
333
|
id: 'qoder',
|
|
@@ -284,16 +338,6 @@ exports.CLIENT_TARGETS = [
|
|
|
284
338
|
projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
|
|
285
339
|
legacyMcpFiles: [qoderLegacyMcpFile()],
|
|
286
340
|
},
|
|
287
|
-
{
|
|
288
|
-
id: 'roo',
|
|
289
|
-
label: 'Roo Code',
|
|
290
|
-
userSkillDirs: [path.join(home(), '.roo', 'skills')],
|
|
291
|
-
projectSkillDirs: [exports.ROO_SKILL_ROOT],
|
|
292
|
-
userMcp: vscodeGlobalStorageFiles('rooveterinaryinc.roo-cline', 'cline_mcp_settings.json').map((p) => ({ scope: 'user', path: p, format: 'json' })),
|
|
293
|
-
projectMcp: [{ scope: 'project', path: '.roo/mcp.json', format: 'json' }],
|
|
294
|
-
// Roo is a VS Code extension: its global MCP file is the globalStorage one.
|
|
295
|
-
legacyMcpFiles: [path.join(home(), '.roo', 'mcp_settings.json')],
|
|
296
|
-
},
|
|
297
341
|
{
|
|
298
342
|
id: 'cline',
|
|
299
343
|
label: 'Cline',
|
|
@@ -329,7 +373,7 @@ exports.CLIENT_TARGETS = [
|
|
|
329
373
|
{
|
|
330
374
|
scope: 'user',
|
|
331
375
|
path: path.join(kiloConfigDir(), 'kilo.json'),
|
|
332
|
-
format: '
|
|
376
|
+
format: 'mcp-array-json',
|
|
333
377
|
},
|
|
334
378
|
]),
|
|
335
379
|
],
|
|
@@ -366,6 +410,76 @@ exports.CLIENT_TARGETS = [
|
|
|
366
410
|
// never scanned for user-level prompts). Copilot reads skills now.
|
|
367
411
|
legacyUserDirs: [path.join(home(), '.github', 'prompts')],
|
|
368
412
|
legacyProjectDirs: ['.github/prompts'],
|
|
413
|
+
notes: [
|
|
414
|
+
'Copilot CLI also reads .mcp.json at the project root (the same file the ' +
|
|
415
|
+
'claude target writes). .github/mcp.json targets the Copilot coding agent.',
|
|
416
|
+
],
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
id: 'gemini',
|
|
420
|
+
label: 'Gemini CLI',
|
|
421
|
+
userSkillDirs: [path.join(home(), exports.GEMINI_SKILL_ROOT)],
|
|
422
|
+
projectSkillDirs: [exports.GEMINI_SKILL_ROOT],
|
|
423
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.gemini', 'settings.json'), format: 'json' }],
|
|
424
|
+
projectMcp: [{ scope: 'project', path: '.gemini/settings.json', format: 'json' }],
|
|
425
|
+
// Gemini CLI also reads ~/.agents/skills and .agents/skills as aliases of
|
|
426
|
+
// its own roots (the alias wins inside one scope) — the "agents" target
|
|
427
|
+
// covers those, so skills end up discoverable either way.
|
|
428
|
+
notes: [
|
|
429
|
+
'Gemini CLI also reads the cross-client ~/.agents/skills and .agents/skills roots (covered by the "agents" target).',
|
|
430
|
+
],
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: 'qwen',
|
|
434
|
+
label: 'Qwen Code',
|
|
435
|
+
userSkillDirs: [path.join(home(), exports.QWEN_SKILL_ROOT)],
|
|
436
|
+
projectSkillDirs: [exports.QWEN_SKILL_ROOT],
|
|
437
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.qwen', 'settings.json'), format: 'json' }],
|
|
438
|
+
projectMcp: [{ scope: 'project', path: '.qwen/settings.json', format: 'json' }],
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
id: 'antigravity',
|
|
442
|
+
label: 'Google Antigravity',
|
|
443
|
+
userSkillDirs: [path.join(home(), '.gemini', 'config', 'skills')],
|
|
444
|
+
projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
|
|
445
|
+
// Antigravity 2.0 unified the MCP config (2026-09 Google docs): CLI, 2.0
|
|
446
|
+
// and IDE all share ~/.gemini/config/mcp_config.json — the pre-2.0
|
|
447
|
+
// ~/.gemini/antigravity/ location is obsolete. Standard `mcpServers` JSON
|
|
448
|
+
// (command/args for local stdio servers).
|
|
449
|
+
userMcp: [
|
|
450
|
+
{
|
|
451
|
+
scope: 'user',
|
|
452
|
+
path: path.join(home(), '.gemini', 'config', 'mcp_config.json'),
|
|
453
|
+
format: 'json',
|
|
454
|
+
},
|
|
455
|
+
],
|
|
456
|
+
projectMcp: [],
|
|
457
|
+
notes: [
|
|
458
|
+
'Google Antigravity project skills come from the cross-client .agents/skills root (covered by the "agents" target).',
|
|
459
|
+
],
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
id: 'grok',
|
|
463
|
+
label: 'Grok Build (xAI)',
|
|
464
|
+
userSkillDirs: [path.join(home(), exports.GROK_SKILL_ROOT)],
|
|
465
|
+
projectSkillDirs: [exports.GROK_SKILL_ROOT],
|
|
466
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.grok', 'config.toml'), format: 'toml' }],
|
|
467
|
+
projectMcp: [{ scope: 'project', path: '.grok/config.toml', format: 'toml' }],
|
|
468
|
+
notes: [
|
|
469
|
+
'Grok Build also auto-reads Claude Code skills and MCP config (~/.claude/skills, project .mcp.json), so the claude target covers it too — the entries above are Grok-native.',
|
|
470
|
+
],
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
id: 'opencode',
|
|
474
|
+
label: 'OpenCode',
|
|
475
|
+
userSkillDirs: [path.join(opencodeConfigDir(), 'skills')],
|
|
476
|
+
projectSkillDirs: [exports.OPENCODE_SKILL_ROOT],
|
|
477
|
+
// OpenCode merges opencode.json and opencode.jsonc, so writing a plain
|
|
478
|
+
// opencode.json never clobbers a commented .jsonc file.
|
|
479
|
+
userMcp: [
|
|
480
|
+
{ scope: 'user', path: path.join(opencodeConfigDir(), 'opencode.json'), format: 'mcp-array-json' },
|
|
481
|
+
],
|
|
482
|
+
projectMcp: [{ scope: 'project', path: 'opencode.json', format: 'mcp-array-json' }],
|
|
369
483
|
},
|
|
370
484
|
];
|
|
371
485
|
exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS.map((t) => t.id);
|
package/dist/targets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuZH,0CAEC;AAGD,gCAIC;AAMD,8CAgBC;AAGD,0CAmBC;AA1cD,uCAAyB;AACzB,2CAA6B;AAE7B,4EAA4E;AAC5E,SAAS;AACT,4EAA4E;AAE5E;;;GAGG;AACU,QAAA,WAAW,GAAsB;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,kBAAkB;CACnB,CAAC;AAEF,6EAA6E;AAChE,QAAA,kBAAkB,GAAsB;IACnD,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,2EAA2E;AAC9D,QAAA,uBAAuB,GAA2B;IAC7D,cAAc,EAAE,4CAA4C;IAC5D,aAAa,EAAE,8CAA8C;IAC7D,gBAAgB,EAAE,wEAAwE;IAC1F,aAAa,EAAE,qDAAqD;CACrE,CAAC;AAEF,kEAAkE;AACrD,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD,mEAAmE;AACtD,QAAA,WAAW,GAAG,kBAAkB,CAAC;AAE9C,4EAA4E;AAC5E,0DAA0D;AAC1D,4EAA4E;AAE5E,qFAAqF;AACxE,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AAErC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AACpC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,cAAc,GAAG,aAAa,CAAC;AAC/B,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,kBAAkB,GAAG,gBAAgB,CAAC;AAgEnD,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAExC,qDAAqD;AACrD,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB;IACzB,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;QAChE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC;YACrD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa;IACpB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,yEAAyE;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY;IACnB,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc;IACrB,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAAC,WAAmB,EAAE,QAAgB;IACrE,OAAO,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAA4B;IACrD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,+BAA+B;QACtC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,sEAAsE;QACtE,wDAAwD;QACxD,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,aAAa;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,4EAA4E;QAC5E,2EAA2E;QAC3E,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrF,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrE,iEAAiE;QACjE,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;KAChE;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,uCAAuC;QAC9C,4EAA4E;QAC5E,4DAA4D;QAC5D,2EAA2E;QAC3E,qDAAqD;QACrD,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5F,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9F,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAC/E;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5F,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5E,2EAA2E;QAC3E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,iBAAiB,EAAE,CAAC,eAAe,CAAC;KACrC;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,oBAAoB;QAC3B,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpE,gBAAgB,EAAE,CAAC,2BAAmB,CAAC;QACvC,2DAA2D;QAC3D,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBAClE,MAAM,EAAE,MAAM;aACf;SACF;QACD,UAAU,EAAE,EAAE;QACd,8EAA8E;QAC9E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC3D;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,gBAAgB,EAAE,CAAC,4BAAoB,CAAC;QACxC,sDAAsD;QACtD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChG,8EAA8E;QAC9E,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KACtE;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,2BAA2B;QAClC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC;QAChC,gBAAgB,EAAE,CAAC,uBAAe,CAAC;QACnC,OAAO,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAClG,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAC3E;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,gBAAgB,EAAE,CAAC,wBAAgB,CAAC;QACpC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChG,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrE,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC;KACvC;IACD;QACE,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,sBAAc,CAAC;QAClC,OAAO,EAAE,wBAAwB,CAC/B,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAC5E,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzE,4EAA4E;QAC5E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;KACjE;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,gBAAgB,EAAE,CAAC,wBAAgB,CAAC;QACpC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;YAChF,GAAG,wBAAwB,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAClF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CACtE;SACF;QACD,UAAU,EAAE,EAAE;KACf;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,uBAAe,CAAC;QACnC,OAAO,EAAE;YACP,GAAG,wBAAwB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjF,KAAK,EAAE,MAAe;gBACtB,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,MAAe;aACxB,CAAC,CAAC;YACH;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,CAAC;gBACtF,MAAM,EAAE,MAAM;aACf;YACD,2EAA2E;YAC3E,kEAAkE;YAClE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;gBACpD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,MAAe;wBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC;wBAC7C,MAAM,EAAE,WAAoB;qBAC7B;iBACF,CAAC;SACP;QACD,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;YACvD,CAAC,CAAC;gBACE,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,6DAA6D;oBACrH,oDAAoD;aACvD;YACH,CAAC,CAAC,EAAE;KACP;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,gCAAgC;QACvC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,gBAAgB,EAAE,CAAC,0BAAkB,CAAC;QACtC,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBACtD,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;aAC5C;SACF;QACD,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;aAC5C;SACF;QACD,yEAAyE;QACzE,mEAAmE;QACnE,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,iBAAiB,EAAE,CAAC,iBAAiB,CAAC;KACvC;CACF,CAAC;AAEW,QAAA,kBAAkB,GAA8B,sBAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7F,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,qDAAqD;AACrD,SAAgB,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,SAA4B,EAC5B,KAAyB,EACzB,GAAW;IAEX,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,SAAgB,eAAe,CAC7B,SAA4B,EAC5B,KAAyB,EACzB,GAAW;IAEX,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wowok/skills",
|
|
3
|
-
"version": "3.1
|
|
4
|
-
"description": "WoWok AI Skills for Claude Code, Codex, Cursor, Windsurf, Trae, CodeBuddy,
|
|
3
|
+
"version": "3.2.1",
|
|
4
|
+
"description": "WoWok AI Skills for Claude Code, Codex, Gemini CLI, Qwen Code, Grok Build, OpenCode, Google Antigravity, Cursor, Devin Desktop (formerly Windsurf), Trae, CodeBuddy, WorkBuddy, Qoder, Cline, Kilo Code and GitHub Copilot - dialogue orchestration layer on top of the WoWok MCP server (rules/reference knowledge is served by MCP directly since v2.0.0)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -2,237 +2,108 @@
|
|
|
2
2
|
name: wowok-arbitrator
|
|
3
3
|
description: "WoWok Arbitrator — build and operate on-chain arbitration services. Create Arbitration objects, configure voting rules (open or guard-based weighted), manage dispute cases through their full lifecycle, and earn fees from resolution. Core value: achieve trust consensus between merchants and users through transparent, fair, and efficient dispute resolution. Use when: User wants to create/configure an Arbitration service; User needs to handle dispute cases and voting processes; User wants to design voter eligibility and weight mechanisms; User mentions \"arbitration\", \"dispute\", \"voting\", \"arb\", \"judge\"."
|
|
4
4
|
metadata:
|
|
5
|
-
version: "2.
|
|
5
|
+
version: "2.1.0"
|
|
6
6
|
role: arbitrator
|
|
7
7
|
related: "wowok-order, wowok-messenger"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# WoWok Arbitrator Guide
|
|
11
11
|
|
|
12
|
-
Build trust through fair dispute resolution
|
|
13
|
-
|
|
14
|
-
> **Related
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## MCP Knowledge Layer
|
|
19
|
-
|
|
20
|
-
The following content has been pushed down to the MCP knowledge layer and is applied automatically — this Skill no longer duplicates it:
|
|
21
|
-
|
|
22
|
-
| Content | Access via (MCP action) | Applied Via |
|
|
23
|
-
|---------|--------------------------|-------------|
|
|
24
|
-
| Guard design rules (structural layers, data source classification, voting_guard table design) | `schema_query` action='get_guard_design_patterns' | `goal_operation` action='aggregate_risks' |
|
|
25
|
-
| Safety rules (confirmation levels, immutability, object reuse) | `schema_query` action='get_safety_rules' | Pre-publish checks + `goal_operation` action='aggregate_risks' |
|
|
26
|
-
| Arbitration-specific risks | auto-applied | `goal_operation` action='aggregate_risks' |
|
|
27
|
-
|
|
28
|
-
This Skill keeps the arbitration **conversation flow**, **evidence collection** scripts, and **dispute resolution** guidance — the MCP layer handles the rule evaluation.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Core Interaction Principles
|
|
33
|
-
|
|
34
|
-
These four principles govern every arbitration build/handle step. They mirror the wowok-onboard model and are non-negotiable.
|
|
35
|
-
|
|
36
|
-
1. **Review-first**: State (a) what the AI understood about the arbitration, (b) the dependency order to build, and (c) the interaction contract — before the first choice.
|
|
37
|
-
2. **User-driven**: Every step is an explicit user decision; the AI provides a `recommend` but never auto-advances.
|
|
38
|
-
3. **Reuse / Customize / Discover (choose one of three)**: For every component (Permission, Voting/Usage Guards, Contact), surface all three avenues — reuse an existing object, customize a new one, or discover from other projects / the system.
|
|
39
|
-
4. **Default-config disclosure**: Disclose a new object's default config + important info + caveats BEFORE the user decides. No silent defaults.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## ⚠️ PRE-FLIGHT: Required Items Checklist
|
|
44
|
-
|
|
45
|
-
**THIS SECTION IS MANDATORY.** Before ANY arbitration service creation, the AI MUST collect explicit user confirmation for EVERY required item. **Do NOT skip, do NOT fabricate, do NOT proceed with missing items.**
|
|
46
|
-
|
|
47
|
-
### The Golden Rule
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
NEVER guess the user's fee model, voting structure, or Guard design.
|
|
51
|
-
These are BUSINESS and GOVERNANCE decisions that ONLY the user can make.
|
|
52
|
-
|
|
53
|
-
User hasn't provided it → ASK.
|
|
54
|
-
User provides incomplete info → ASK for clarification.
|
|
55
|
-
User says "just make something up" → REFUSE and explain why each item matters.
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Required Items
|
|
59
|
-
|
|
60
|
-
| # | Item | User Must Provide | Why Not Fabricate |
|
|
61
|
-
|---|------|-------------------|--------------------|
|
|
62
|
-
| **1** | **Account** | Which account to operate from. Default `""` is fine. | Safe default exists |
|
|
63
|
-
| **2** | **Arbitration Name** | Service name. What kind of arbitration? | Your brand and reputation on-chain |
|
|
64
|
-
| **3** | **Fee** | How much per case? (e.g. "10 WOW per dispute") | IS your revenue model — you cannot guess pricing |
|
|
65
|
-
| **4** | **Voting Guard(s)** | Who votes and with what weight? Open voting (centralized) or Guard-based (decentralized)? | ⛔ Guards are **immutable after creation** — wrong design = create replacement Guard |
|
|
66
|
-
| **5** | **Usage Guard** | Who can file disputes? Public or restricted? | Controls your case volume and quality |
|
|
67
|
-
| **6** | **Contact (um)** | Messenger Contact name/ID for evidence exchange | Without this, customers cannot submit evidence — service is broken |
|
|
68
|
-
|
|
69
|
-
### Information Collection Protocol
|
|
70
|
-
|
|
71
|
-
Present checklist Steps 1-6 to user. Each item: "Reuse or create new? Provide details." Track status: [pending] / [confirmed: reuse <id>] / [confirmed: create]. ⛔ GATE: ALL Steps 1-6 must be [confirmed] before any on-chain action — NOT confirmed → STOP. Ask. Do NOT suggest creating arbitration.
|
|
72
|
-
|
|
73
|
-
All subsequent on-chain operations use Step 1 (Account) as `env.account`.
|
|
74
|
-
|
|
75
|
-
### Anti-Fabrication Rules (HARD Constraints)
|
|
76
|
-
|
|
77
|
-
| Never... | Because... |
|
|
78
|
-
|----------|------------|
|
|
79
|
-
| Invent a fee amount | You don't know their pricing strategy |
|
|
80
|
-
| Assume usage_guard logic | You don't know their target audience |
|
|
81
|
-
| Skip the checklist | Arbitration design decisions are on-chain and visible |
|
|
12
|
+
> Build trust through fair dispute resolution — neutral third-party resolution of customer/merchant conflicts, paid per case.
|
|
13
|
+
> **Tools**: `onchain_operations` operation_type=`arbitration` (service + most case ops); customer-side case ops live on operation_type=`order`.
|
|
14
|
+
> **Related**: [wowok-order](../wowok-order/SKILL.md) · [wowok-provider](../wowok-provider/SKILL.md) · [wowok-messenger](../wowok-messenger/SKILL.md)
|
|
82
15
|
|
|
83
16
|
---
|
|
84
17
|
|
|
85
|
-
##
|
|
86
|
-
|
|
87
|
-
### Two-Layer Design
|
|
88
|
-
|
|
89
|
-
| Layer | Object | Purpose | Lifecycle |
|
|
90
|
-
|-------|--------|---------|-----------|
|
|
91
|
-
| **Service** | Arbitration | Rules, fees, voter configuration | Permanent |
|
|
92
|
-
| **Case** | Arb | Individual dispute with state machine | Per dispute |
|
|
93
|
-
|
|
94
|
-
**Separation of Powers**:
|
|
95
|
-
- **Arbitrator controls**: Who can vote, voting weights, final verdict (`indemnity`)
|
|
96
|
-
- **Customer controls**: Accept result or object, claim compensation timing
|
|
97
|
-
|
|
98
|
-
Neither party can force outcome unilaterally — the design forces collaboration toward consensus.
|
|
99
|
-
|
|
100
|
-
### Arb State Machine
|
|
101
|
-
|
|
102
|
-
Customer dispute creates Arb directly at (1). State (0) entered only via `reset`.
|
|
18
|
+
## What the MCP already handles
|
|
103
19
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
| **(0) Revision Pending** | Customer (via Order): `arb_confirm` | → (1) |
|
|
107
|
-
| **(1) Arbitrator_confirming** | Arbitrator: `confirm` → (2), `reset` → (0), feedback | → (2) or (0) |
|
|
108
|
-
| **(2) Voting** | Arbitrator: vote, set deadline, `arbitration` → (3), feedback | → (3) |
|
|
109
|
-
| **(3) Arbitrated** | Customer (via Order): `arb_objection` → (4), `arb_claim_compensation` → (5) | → (4) or (5) |
|
|
110
|
-
| **(4) Objectionable** | Arbitrator: `reset` → (0), feedback | → (0) |
|
|
111
|
-
| **(5) Finished** | Arbitrator: `withdraw` → (6) | → (6) |
|
|
112
|
-
| **(6) Withdrawn** | Terminal | — |
|
|
20
|
+
- Guard design rules (voting-table design, `FixedValue`/`GuardIdentifier` weight sources, structural checks): `schema_query` action=`get_guard_design_patterns`; safety/confirmation: `get_safety_rules`; applied through `goal_operation` action=`aggregate_risks` and the publish/pre-call gates.
|
|
21
|
+
- Move guidance and the arbitration schema (`onchain_operations_arbitration`) carry exact field constraints — read the call output, don't memorize this file.
|
|
113
22
|
|
|
114
|
-
|
|
115
|
-
- **Standard**: (1) → confirm → (2) → arbitration → (3) → arb_claim_compensation → (5) → withdraw → (6)
|
|
116
|
-
- **With Revision**: (1) → reset → (0) → arb_confirm → (1) → confirm → (2) → ...
|
|
117
|
-
- **With Objection**: ... → (3) → arb_objection → (4) → reset → (0) → ...
|
|
23
|
+
Keep the conversation flow, the governance questions, and the evidence discipline.
|
|
118
24
|
|
|
119
25
|
---
|
|
120
26
|
|
|
121
|
-
##
|
|
122
|
-
|
|
123
|
-
### Essential Configuration
|
|
124
|
-
|
|
125
|
-
| Field | Purpose | Key Decision |
|
|
126
|
-
|-------|---------|--------------|
|
|
127
|
-
| `fee` | Revenue per case | Balance accessibility with sustainability |
|
|
128
|
-
| `voting_guard` | Who votes, with what weight | Open (centralized) vs Guard-based (decentralized) |
|
|
129
|
-
| `usage_guard` | Who can file disputes | Public vs invitation-only |
|
|
130
|
-
| `um` | Contact for evidence exchange | Messenger addresses for WTS verification |
|
|
131
|
-
|
|
132
|
-
**⚠️ Start paused** (`pause: true`). **Forgetting to unpause = all disputes silently rejected with no error.** Complete all configuration — fee, guards, um — before unpausing.
|
|
133
|
-
|
|
134
|
-
**⚠️ Guard Immutability**: Once a Guard is created, its rules **cannot be modified**. If your `voting_guard` design is wrong, you must create a replacement Guard and reconfigure the Arbitration — wasteful but not fatal. Test with `gen_passport` before finalizing.
|
|
135
|
-
|
|
136
|
-
**⚠️ Permission Isolation from Service** (CRITICAL for mainnet trust): The Arbitration's Permission object MUST be separate from the Service's Permission object. Sharing the same Permission — or having overlapping owner/admin addresses — breaks dispute fairness because the merchant can control arbitration operations (vote, confirm, execute rulings). For mainnet deployment, use a completely independent third-party Permission with a different owner and admin list. The evaluation engine deducts risk scores significantly for Permission overlap (-30 for same Permission, -20 for owner/admin overlap). Testnet may tolerate shared Permission for simplicity, but mainnet users should treat this as a critical trust factor.
|
|
137
|
-
|
|
138
|
-
### Voting Modes
|
|
27
|
+
## Interaction principles
|
|
139
28
|
|
|
140
|
-
|
|
29
|
+
1. **Review-first**: restate the arbitration design, the build dependency order, and the interaction contract before the first choice.
|
|
30
|
+
2. **User-driven**: every governance/business parameter is an explicit user decision; recommend, never auto-advance.
|
|
31
|
+
3. **Reuse / customize / discover** for Permission, Guards, Contact.
|
|
32
|
+
4. **Default disclosure**: show defaults and consequences before deciding. Default network **testnet** — mainnet is a different trust posture.
|
|
141
33
|
|
|
142
34
|
---
|
|
143
35
|
|
|
144
|
-
##
|
|
36
|
+
## Pre-flight: business decisions (gate before any write)
|
|
145
37
|
|
|
146
|
-
|
|
38
|
+
Never invent a fee, a voting structure, or Guard logic — missing → ASK; "make something up" → REFUSE.
|
|
147
39
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
| 5 | **Resolution** | (3) | Customer: `arb_claim_compensation` → (5), or `arb_objection` → (4). |
|
|
155
|
-
| 6 | **Objection** | (4) | Only `reset` → (0) for revision. |
|
|
156
|
-
| 7 | **Withdraw** | (5)/(3)/(4) | Finished: **immediate**. Others: ⛔ **30-day mandatory wait**. |
|
|
40
|
+
1. **Account** (`env.account`, default `""`).
|
|
41
|
+
2. **Arbitration name + description/location** — the public brand.
|
|
42
|
+
3. **Fee** per case (`fee`, smallest units) — revenue model; customer pays it when filing.
|
|
43
|
+
4. **Voting Guards** — open (empty list, permission vote weight 1) or guard-based weighted list (≤50 Guards). Immutable once each Guard is created.
|
|
44
|
+
5. **Usage Guard** (`usage_guard` or null) — who is allowed to file; null = anyone.
|
|
45
|
+
6. **Contact `um`** — without it evidence exchange breaks.
|
|
157
46
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
| Channel | Use | Visibility |
|
|
161
|
-
|---------|-----|------------|
|
|
162
|
-
| **Messenger** (preferred) | Specific evidence, privacy-sensitive | Encrypted, off-chain |
|
|
163
|
-
| **on-chain feedback** | General clarification, procedural | Public, permanent |
|
|
164
|
-
|
|
165
|
-
**Best-move advice** (`evaluation_operation` → `arb_game`): pass `status` (7-state) + `perspective` (`customer`/`merchant`/`arbitrator`) to get ranked moves (optimal + payoff + risk). Read the result; the role decides and acts.
|
|
47
|
+
⛔ All six confirmed before creating. Track pending/confirmed like the provider checklist.
|
|
166
48
|
|
|
167
49
|
---
|
|
168
50
|
|
|
169
|
-
##
|
|
51
|
+
## Architecture
|
|
170
52
|
|
|
171
|
-
|
|
53
|
+
Two objects: **Arbitration** (the service: fee, voting/usage Guards, `um`, `bPaused`, `balance`, Permission — permanent) and **Arb** (one per case: state machine, propositions, votes, fee held in escrow, verdict).
|
|
172
54
|
|
|
173
|
-
|
|
55
|
+
Separation of powers: the arbitrator sets process and verdict (`indemnity`); the CUSTOMER confirms filings, objects, and claims compensation. Neither side can finish a case unilaterally.
|
|
174
56
|
|
|
175
|
-
###
|
|
57
|
+
### Arb state machine (codes are the on-chain names used by `arb_game` too)
|
|
176
58
|
|
|
177
|
-
|
|
59
|
+
| # | State | Who moves, how |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| 0 | `Principal_confirming` | Customer via order `arb_confirm` ({arb, confirm, proposition?, description?}) → 1 |
|
|
62
|
+
| 1 | `Arbitrator_confirming` | Arbitrator `confirm` → 2 · `reset` (with feedback) → 0 · `feedback` |
|
|
63
|
+
| 2 | `Voting` | `vote` · `voting_deadline_change` · `arbitration` (verdict) → 3 · `feedback` |
|
|
64
|
+
| 3 | `Arbitrated` | Customer: `arb_objection` → 4 · `arb_claim_compensation` → 5 |
|
|
65
|
+
| 4 | `Objectionable` | Arbitrator `reset` → 0 (only exit) · `feedback` |
|
|
66
|
+
| 5 | `Finished` | Terminal; fee withdrawable immediately |
|
|
67
|
+
| 6 | `Withdrawn` | Terminal |
|
|
178
68
|
|
|
179
|
-
|
|
69
|
+
`feedback` may be written in ANY non-terminal state (0–4) and emits a permanent public `FeedbackEvent`. Flows: standard 1→2→3→5→6; revision loops through 0; objection loops 3→4→0.
|
|
180
70
|
|
|
181
71
|
---
|
|
182
72
|
|
|
183
|
-
##
|
|
184
|
-
|
|
185
|
-
### Evidence (Messenger)
|
|
186
|
-
|
|
187
|
-
1. Customer queries Arbitration's `um` → gets Messenger addresses
|
|
188
|
-
2. Customer sends WTS evidence files (encrypted, off-chain)
|
|
189
|
-
3. Arbitrator verifies WTS authenticity (`verify_wts`)
|
|
190
|
-
4. Only verified evidence considered valid
|
|
191
|
-
|
|
192
|
-
Dispute initiators should pre-screen their collection via `evaluation_operation` action `evidence_review` (list mode): it partitions items into usable/manual/rejected and yields `proof_candidates` to reference in the dispute description (the human picks — nothing attaches automatically). When a party's evidence is thin, point them to it before voting.
|
|
193
|
-
|
|
194
|
-
**⚠️ `um` must be configured before unpausing** — without it customers cannot submit evidence.
|
|
73
|
+
## Build phase
|
|
195
74
|
|
|
196
|
-
|
|
75
|
+
Create the Arbitration **paused** (`pause: true`), configure, then `pause: false` last. While paused, filing ABORTS with arbitration error `E_PAUSED` (4) — it is an on-chain error, not a silent reject, but the practical damage is the same: no cases can arrive. Verify unpaused before going live.
|
|
197
76
|
|
|
198
|
-
|
|
77
|
+
- `fee`, `description`, `location` are settable by Permission.
|
|
78
|
+
- `voting_guard: {op:'add'|'set'|'remove'|'clear', guards:[…]}`. Each entry is `{guard, vote_weight}`: fixed u32 weight, or a u8 Guard-table identifier whose submitted number becomes the voter's weight at vote time (`FixedValue` / `GuardIdentifier`). Open = empty list → plain Permission vote, weight 1. Test every Guard with standalone `gen_passport` before adding — Guards are immutable from creation; a flawed voting Guard can only be replaced (the list itself stays mutable while configured pre-service / as allowed).
|
|
79
|
+
- `usage_guard`: a Guard address or null; when set, filing MUST pass it via Passport (`dispute_with_passport`), else plain `dispute` aborts `E_NEED_PASSPORT` (6).
|
|
80
|
+
- `um`: a Contact; evidence flows through its Messenger addresses.
|
|
81
|
+
- **Permission isolation (mainnet trust)**: the Arbitration's Permission MUST differ from every Service it's bound to — binding a shared one aborts `E_ARBITRATION_PERMISSION_CONFLICT` (33, enforced at Service bind). Separately, the buyer-side risk model scores same-Permission as **−6 points (critical)** and overlapping owner/admin as **−4 points (warning)** inside its 20-point trust dimension — even distinct objects with the same controllers fail the intent. Use a genuinely independent third-party Permission.
|
|
199
82
|
|
|
200
83
|
---
|
|
201
84
|
|
|
202
|
-
##
|
|
85
|
+
## Handling a case
|
|
203
86
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
- **
|
|
87
|
+
1. **Arrival**: customer files via `arbitration` `dispute: {order, description?, proposition[], fee:{balance}, namedArb?}` (≤20 propositions; fee locked in the Arb; excess fee is refunded). Arb appears at state 1.
|
|
88
|
+
2. **Review (1)**: `confirm: {arb, voting_deadline}` — proceed, or `reset` with feedback when the filing is insufficient (don't escalate thin cases).
|
|
89
|
+
- `voting_deadline` is ms: **0 (default) = already-passed → direct verdict, voting impossible**; **null = open-ended**; a future timestamp = voting window (recommend ≥24h; ~3 days is a convention, NOT a chain limit).
|
|
90
|
+
3. **Voting (2)**: `vote: {arb, votes:[indices…], voting_guard?}` — 0-based proposition indices; re-voting REPLACES the prior vote; ≤520 voters. With a deadline set, `arbitration` cannot run until it has passed (`E_VOTING_DEADLINE_NOT_PASSED`).
|
|
91
|
+
4. **Verdict (2→3)**: `arbitration: {arb, feedback, indemnity}` — irreversible for the arbitrator; only customer objection/claim follows. **Indemnity is capped at 3× the order amount** (`MAX_INDEMNITY_MULTIPLE`, abort 9) and is paid from the SERVICE's `compensation_fund`, never from arbitrator funds.
|
|
92
|
+
5. **Customer branch (3)**: claim → 5, or object with `arb_objection` → 4 → your `reset` sends it to 0 for revision.
|
|
93
|
+
6. **Fee withdrawal**: `arb_withdraw: {arb}` — immediate at Finished; from Arbitrated/Objectionable only after 30 days past indemnity time (`WITHDRAW_DURATION_TIME`, abort 8). Then move the balance onward with `fees_transfer: {to:{allocation|{treasury}}, payment_remark, payment_index}`.
|
|
207
94
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
## Quick Reference
|
|
211
|
-
|
|
212
|
-
### Critical Constraints
|
|
213
|
-
|
|
214
|
-
- Max 20 propositions per case
|
|
215
|
-
- Max 520 voters per case
|
|
216
|
-
- Max 50 voting guards per Arbitration
|
|
217
|
-
- ⛔ 30-day withdrawal wait for non-finished cases (mandatory, cannot bypass)
|
|
218
|
-
- ⛔ Guard is **immutable after creation** — test before finalizing
|
|
219
|
-
- ⛔ `arbitration` verdict is **irreversible** by arbitrator — only customer can object
|
|
220
|
-
- ⛔ `feedback` is **permanently public on-chain** — use Messenger for privacy-sensitive communication
|
|
95
|
+
**Move advice**: `evaluation_operation` action=`arb_game` with `status` (one of the 7 state names) and `perspective: customer|merchant|arbitrator` returns ranked moves/payoffs/risk — read-only; the role decides.
|
|
221
96
|
|
|
222
97
|
---
|
|
223
98
|
|
|
224
|
-
##
|
|
225
|
-
|
|
226
|
-
1. **Configure before unpause**: Fee, contact, voting rules ready first. ⚠️ Unpause is the last step.
|
|
227
|
-
2. **Reset proactively**: Unclear case? Send back immediately with clear feedback (Messenger preferred for privacy).
|
|
228
|
-
3. **Verify all evidence**: Use `verify_wts` before evaluating — unverified evidence is not evidence.
|
|
229
|
-
4. **Write detailed feedback**: Your on-chain reputation is permanent. Be professional, reasoned, and fair.
|
|
230
|
-
5. **Set fair indemnity**: Proportional to order value and dispute nature.
|
|
231
|
-
6. **Test guards first**: Use `gen_passport` to verify voting_guard logic before deployment.
|
|
232
|
-
7. **Set reasonable deadlines**: Suggest ≤ 3 days for voting — balances efficiency with thoroughness.
|
|
99
|
+
## Evidence & reputation
|
|
233
100
|
|
|
234
|
-
|
|
101
|
+
- Customer reads the Arbitration's `um`, sends WTS evidence off-chain via encrypted Messenger; arbitrator runs `messenger_operation` `verify_wts` before considering anything — unverified evidence is not evidence.
|
|
102
|
+
- Tell initiators to pre-sort with `evaluation_operation` action=`evidence_review` (list mode): usable/manual/rejected partition + `proof_candidates` for the dispute description; the human selects — nothing auto-attaches.
|
|
103
|
+
- On-chain `feedback` is permanent and public: reasoned, professional, consistent. Use Messenger for anything private.
|
|
235
104
|
|
|
236
|
-
|
|
105
|
+
## Hard constraints (quick reference)
|
|
237
106
|
|
|
238
|
-
|
|
107
|
+
- Propositions ≤20 · voters ≤520 · voting Guards ≤50 · indemnity ≤3× order amount.
|
|
108
|
+
- Paused ⇒ filing aborts (4); verdict needs deadline passed when one is set (7); non-finished withdrawal waits 30d (8).
|
|
109
|
+
- Guards immutable from creation — `gen_passport` first. Verdict irreversible for the arbitrator. Feedback permanent/public.
|