{"id":"322cba2b-1780-4b78-8ec9-eb66eaba42e5","entityType":"agent","slug":"clawhub-zhzai30-clawquest-agent-mine-openclaw","name":"ClawQuest: Agent Mine - OpenClaw Managed Mining","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zhzai30-clawquest-agent-mine-openclaw","canonicalPath":"/agent/clawhub-zhzai30-clawquest-agent-mine-openclaw","generatedAt":"2026-10-09T16:43:40.487Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":null},"description":"The managed automated mining server interface supports OpenClaw session mode and incremental event retrieval, enabling mining startup, status query, settlement, and stamina management.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 9.6K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17624wnb61zvd51ys0jmmpkkn8440pw:clawquest-agent-mine-openclaw","sourceUrl":"https://clawhub.ai/zhzai30/clawquest-agent-mine-openclaw","homepage":"https://clawhub.ai/zhzai30/skills/clawquest-agent-mine-openclaw","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zhzai30/clawquest-agent-mine-openclaw","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zhzai30/skills/clawquest-agent-mine-openclaw","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":80,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"ClawQuest: Agent Mine - OpenClaw Managed Mining technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":null},"stars":null,"forks":null,"downloads":9622,"packageName":null,"latestVersion":"1.0.11","tractionLabel":"9.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:26:04.667Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T02:26:04.668Z","lastCrawledAt":"2026-10-09T02:26:04.667Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T02:26:04.667Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.11","createdAt":"2026-04-26T10:50:04.529Z","changelog":"No user-facing changes in this version. - Version bump only; no updates to code or documentation detected.","fileCount":8,"zipByteSize":27732},{"version":"1.0.10","createdAt":"2026-04-25T04:57:50.817Z","changelog":"- Clarified agent usage constraints for OpenClaw workflows and removed internal code name references. - Updated suggested call order: recommended on-demand event/status polling instead of automatic periodic polling by default. - Added default value note for `MINING_SESSION_MAX_EVENTS` environment variable. - Fixed incomplete environment variable documentation at the end of the file.","fileCount":7,"zipByteSize":26339},{"version":"1.0.9","createdAt":"2026-04-20T03:04:35.136Z","changelog":"**Adds strict usage rules for automated agents and clarifies API endpoint restrictions:** - New section outlining mandatory rules for agents using OpenClaw workflows—agents may only interact via documented Skill tools, not direct game API calls or source modifications. - Reinforces that all automation and scripts must use the provided /tool/ endpoints. - Explicitly prohibits source code editing, patching, or unauthorized workarounds. - Clarifies that /api/* endpoints are not to be accessed directly outside managed Skill tools. - Other documentation remains unchanged.","fileCount":7,"zipByteSize":26360},{"version":"1.0.8","createdAt":"2026-04-18T03:20:35.303Z","changelog":"- Added explicit numeric mappings for apiState and miningState in check_mining_state API. - Clarified state codes section to show value-to-name mapping. - No functional or interface changes; documentation improvement only.","fileCount":7,"zipByteSize":25649},{"version":"1.0.7","createdAt":"2026-04-18T02:34:46.289Z","changelog":"Update recommended: - Improved managed mining session flow - Better quick-status reporting - Safer restart/stop behavior - Enhanced critical error handling","fileCount":7,"zipByteSize":25534},{"version":"1.0.6","createdAt":"2026-04-17T15:49:55.693Z","changelog":"- Version reset from 1.0.5/1.0.6 to 1.0.0. - No code or documentation changes detected in this release.","fileCount":7,"zipByteSize":25647},{"version":"1.0.5","createdAt":"2026-04-17T15:00:08.900Z","changelog":"No functional or documentation changes detected in this release. - Version updated from 1.0.0 to 1.0.5. - No file changes in functionality or skill documentation.","fileCount":7,"zipByteSize":25456},{"version":"1.0.4","createdAt":"2026-04-17T14:38:34.840Z","changelog":"Update recommended: - Improved managed mining session flow - Better quick-status reporting - Safer restart/stop behavior - Enhanced critical error handling","fileCount":7,"zipByteSize":25351}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17624wnb61zvd51ys0jmmpkkn8440pw:clawquest-agent-mine-openclaw","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17624wnb61zvd51ys0jmmpkkn8440pw:clawquest-agent-mine-openclaw` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/zhzai30/clawquest-agent-mine-openclaw before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T16:43:40.483Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhzai30-clawquest-agent-mine-openclaw/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":null},"readme":"Skill: ClawQuest: Agent Mine - OpenClaw Managed Mining\n\nOwner: zhzai30\n\nSummary: The managed automated mining server interface supports OpenClaw session mode and incremental event retrieval, enabling mining startup, status query, settlement, and stamina management.\n\nTags: agent-mine:1.0.1, automation:1.0.1, clawquest:1.0.1, latest:1.0.11, mining:1.0.1, openclaw:1.0.1\n\nVersion history:\n\nv1.0.11 | 2026-04-26T10:50:04.529Z | user\n\nNo user-facing changes in this version.\n\n- Version bump only; no updates to code or documentation detected.\n\nv1.0.10 | 2026-04-25T04:57:50.817Z | user\n\n- Clarified agent usage constraints for OpenClaw workflows and removed internal code name references.\n- Updated suggested call order: recommended on-demand event/status polling instead of automatic periodic polling by default.\n- Added default value note for `MINING_SESSION_MAX_EVENTS` environment variable.\n- Fixed incomplete environment variable documentation at the end of the file.\n\nv1.0.9 | 2026-04-20T03:04:35.136Z | user\n\n**Adds strict usage rules for automated agents and clarifies API endpoint restrictions:**\n\n- New section outlining mandatory rules for agents using OpenClaw workflows—agents may only interact via documented Skill tools, not direct game API calls or source modifications.\n- Reinforces that all automation and scripts must use the provided /tool/ endpoints.\n- Explicitly prohibits source code editing, patching, or unauthorized workarounds.\n- Clarifies that /api/* endpoints are not to be accessed directly outside managed Skill tools.\n- Other documentation remains unchanged.\n\nv1.0.8 | 2026-04-18T03:20:35.303Z | user\n\n- Added explicit numeric mappings for apiState and miningState in check_mining_state API.\n- Clarified state codes section to show value-to-name mapping.\n- No functional or interface changes; documentation improvement only.\n\nv1.0.7 | 2026-04-18T02:34:46.289Z | user\n\nUpdate recommended:\n- Improved managed mining session flow\n- Better quick-status reporting\n- Safer restart/stop behavior\n- Enhanced critical error handling\n\nv1.0.6 | 2026-04-17T15:49:55.693Z | user\n\n- Version reset from 1.0.5/1.0.6 to 1.0.0.\n- No code or documentation changes detected in this release.\n\nv1.0.5 | 2026-04-17T15:00:08.900Z | user\n\nNo functional or documentation changes detected in this release.\n\n- Version updated from 1.0.0 to 1.0.5.  \n- No file changes in functionality or skill documentation.\n\nv1.0.4 | 2026-04-17T14:38:34.840Z | user\n\nUpdate recommended:\n- Improved managed mining session flow\n- Better quick-status reporting\n- Safer restart/stop behavior\n- Enhanced critical error handling\n\nv1.0.3 | 2026-04-17T12:41:43.367Z | user\n\nUpdate recommended:\n- Improved managed mining session flow\n- Better quick-status reporting\n- Safer restart/stop behavior\n- Enhanced critical error handling\n\nv1.0.2 | 2026-04-17T11:54:38.120Z | user\n\nUpdate recommended:\n- Improved managed mining session flow\n- Better quick-status reporting\n- Safer restart/stop behavior\n- Enhanced critical error handling\n\nv1.0.1 | 2026-04-17T11:48:45.248Z | user\n\nNo changes detected in this version (1.0.1).\n\n- No file changes were found compared to the previous version.\n- Behavior, features, and documentation remain the same as version 1.0.0.\nUpdate recommended:\n- Improved managed mining session flow\n- Better quick-status reporting\n- Safer restart/stop behavior\n- Enhanced critical error handling\n\nv1.0.0 | 2026-04-17T11:40:20.450Z | user\n\nClawQuest: Agent Mine - OpenClaw Managed Mining v1.0.0\n\n- Initial release supporting managed idle mining via OpenClaw, matching server-side HTTP APIs for mining and stamina management.\n- Includes tools to start/stop mining sessions, manage API codes, buy/check stamina, and view session events and status.\n- Supports both basic and session-based managed mining loops with detailed state tracking and event streaming.\n- Enforces strict AI intent-to-tool mapping for start/stop/status/buy stamina/check stamina user requests.\n- Integrates auxiliary Telegram activity verification and provides configuration/environment best practices.\n\nArchive index:\n\nArchive v1.0.11: 8 files, 27732 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24780b), package-lock.json (53117b), package.json (267b), skill-card.md (2488b), SKILL.md (8384b), tools.js (18489b), _meta.json (149b)\n\nFile v1.0.11:SKILL.md\n\n---\r\nslug: clawquest-agent-mine-openclaw\r\nname: ClawQuest: Agent Mine - OpenClaw Managed Mining\r\nowner: \"@zhzai30 - zhzai30\"\r\nversion: 1.0.10\r\ndescription: Managed mining over public game APIs using X-Api-Code authentication.\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      env:\r\n        - REQUEST_TIMEOUT_MS\r\n    emoji: \"⛏️\"\r\n    homepage: \"\"\r\n---\r\n\r\n# ClawQuest: Agent Mine - OpenClaw Managed Mining\r\n\r\nThis Skill exposes managed mining tools for OpenClaw session workflows.\r\n\r\n## Agent rules OpenClaw\r\n\r\nAutomated agents (including OpenClaw workflows) must follow these constraints:\r\n\r\n- **Tools only**: Interact with the game **only** through this Skill’s **tool** HTTP API — `POST /tool/:name` on the skill-openclaw service, using the tool names documented below (`set_api_code`, `check_mining_state`, `start_managed_mining_loop`, etc.). Do **not** call the upstream game **`/api/*`** endpoints directly from the agent, custom scripts, or curl unless this Skill explicitly documents that path as a supported tool (it does not for raw `/api/*`).\r\n- **Do not modify source**: Do **not** edit, patch, or fork the `skill-openclaw` source tree, `package.json`, or runtime code to “fix” behaviour. Use documented environment variables and this `SKILL.md` only.\r\n- **Report errors; do not self-heal in code**: If a tool fails or behaviour is unexpected, **report** the failure (HTTP status, response body, tool name, `cacheKey`, timestamps, logs). Do **not** rewrite Skill code, inject alternate HTTP clients, or bypass the tool layer as a workaround.\r\n\r\n## API Contract\r\n\r\nAll mining and stamina APIs require `X-Api-Code`.\r\n\r\n- `POST /api/startMining`\r\n- `POST /api/checkMiningState`\r\n- `POST /api/endMining`\r\n- `POST /api/setAutoMining`\r\n- `POST /api/buyStamina`\r\n- `POST /api/getStamina`\r\n\r\n(Internal round flow still uses `POST /api/setAutoMining`, `POST /api/startMining` and `POST /api/endMining` via the managed loop implementation; they are not exposed as Skill tools.)\r\n\r\nAuthentication:\r\n\r\n- Header: `X-Api-Code: <apiCode>`\r\n\r\nThe Skill does not perform game client login. Users must provide `apiCode` generated in-game.\r\n\r\n## State Codes\r\n\r\n`check_mining_state` returns `apiState` and `miningState`. Numeric values map as follows.\r\n\r\n**apiState**\r\n\r\n| Value | Name        |\r\n| ----- | ----------- |\r\n| 0     | ApiInactive |\r\n| 1     | ApiInUse    |\r\n| 2     | ApiClosing  |\r\n| 3     | ApiActive   |\r\n\r\n**miningState**\r\n\r\n| Value | Name                |\r\n| ----- | ------------------- |\r\n| 0     | MiningIdle          |\r\n| 1     | MiningInProgress    |\r\n| 2     | MiningRewardPending |\r\n\r\n## Tools\r\n\r\n### set_api_code\r\n\r\nPersist an `apiCode` for later calls.\r\n\r\nInputs:\r\n\r\n- `apiCode` (required)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### get_api_code\r\n\r\nRead the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### clear_api_code\r\n\r\nDelete the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### check_mining_state\r\n\r\nQuery API activation status and mining state. Returns `apiState` and `miningState` (see [State Codes](#state-codes)).\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### buy_stamina\r\n\r\nBuy stamina using diamonds.\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### get_stamina\r\n\r\nGet stamina and diamonds.\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### start_managed_mining_loop\r\n\r\nStart managed loop execution.\r\n\r\nFlow:\r\n\r\n1. `start_mining` — abort on error\r\n2. wait for `estimatedEndAt`\r\n3. loop `end_mining` — retry on error, round complete on success\r\n4. record reward\r\n5. wait round interval and continue\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n- `lang` (optional)\r\n- `pollingIntervalMilliseconds` (optional)\r\n- `roundIntervalMilliseconds` (optional)\r\n- `maxConsecutiveErrorCount` (optional)\r\n- `autoBuyStamina` (optional)\r\n- `autoBuyStaminaMaxFailures` (optional)\r\n- `forceRestart` (optional)\r\n\r\n### start_mining_session\r\n\r\nSame as `start_managed_mining_loop` with OpenClaw session binding and event stream.\r\n\r\n### get_mining_session_events\r\n\r\nRead incremental session events.\r\n\r\nInputs:\r\n\r\n- `sinceEventId` (optional, default: `0`)\r\n\r\n### get_mining_quick_status\r\n\r\nRead lightweight managed loop status.\r\n\r\n### get_managed_mining_status\r\n\r\nRead full managed loop status.\r\n\r\n### stop_managed_mining_loop\r\n\r\nRequest safe stop for running managed loop.\r\n\r\n## Deprecated Tools\r\n\r\n- `start_auto_mining` (deprecated)\r\n- `stop_auto_mining` (deprecated)\r\n\r\n## Suggested Call Order\r\n\r\n1. `set_api_code` (one-time setup)\r\n2. `start_mining_session`\r\n3. (optional) call `get_mining_quick_status` or `get_mining_session_events` on demand — do **not** set up automatic periodic polling by default\r\n4. call `stop_managed_mining_loop` when needed\r\n\r\n## Error Codes\r\n\r\nAll API responses include a `code` field. `0` means success; non-zero values indicate an error.\r\n\r\n### Common Errors\r\n\r\n| Code | Name                | Description                                                       |\r\n| ---- | ------------------- | ----------------------------------------------------------------- |\r\n| 400  | InvalidParams       | Invalid or missing parameters (e.g. empty `X-Api-Code` header)    |\r\n| 401  | AuthFailed          | Authentication failed (invalid `apiCode`)                         |\r\n| 500  | InternalServerError | Server internal error                                             |\r\n| 1010 | NotEnoughResources  | Insufficient resources (diamonds not enough for stamina purchase) |\r\n\r\n### Mining Errors\r\n\r\n| Code | Name                  | Description                                                                                                          |\r\n| ---- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |\r\n| 2003 | InsufficientResources | Insufficient stamina to start mining                                                                                 |\r\n| 2008 | DiamondNotEnought     | Insufficient diamonds                                                                                                |\r\n| 2009 | MiningStateConflict   | Mining state conflict (e.g. calling `startMining` while already in progress, or `endMining` when not mining via API) |\r\n| 2014 | MiningApiNotActive    | API mining feature not activated for this player                                                                     |\r\n| 2018 | MiningNotFinished     | Mining not finished yet (current time has not reached `estimatedEndAt`)                                              |\r\n\r\n## Environment Variables\r\n\r\n| Variable                                     | Description                                                                |\r\n| -------------------------------------------- | -------------------------------------------------------------------------- |\r\n| `GAME_API_BASE_URL`                          | Optional API base URL override (default: `https://api.km.cocweb3.com`)     |\r\n| `REQUEST_TIMEOUT_MS`                         | Request timeout in milliseconds (default: `8000`)                          |\r\n| `MANAGED_MINING_POLL_INTERVAL_MS`            | Default polling interval in milliseconds (default: `1000`)                 |\r\n| `MANAGED_MINING_ROUND_INTERVAL_MS`           | Default round interval in milliseconds (default: `2000`)                   |\r\n| `MANAGED_MINING_MAX_CONSECUTIVE_ERROR_COUNT` | Consecutive error stop threshold (default: `10`)                           |\r\n| `MANAGED_MINING_AUTO_BUY_STAMINA`            | Enable auto-buy on stamina insufficient: `1` or `true`                     |\r\n| `MANAGED_MINING_AUTO_BUY_MAX_FAILURES`       | Consecutive auto-buy failures stop threshold (default: `3`)                |\r\n| `MINING_SESSION_MAX_EVENTS`                  | Ring buffer size for events (default: `200`)                               |\r\n| `API_CODE_STORE_PATH`                        | Path for cached apiCode store (default: `./data/api-code-store.json`)      |\r\n| `ORE_TYPE_NAME_MAP_PATH`                     | Path for ore type display name map (default: `./config/ore-type-map.json`) |\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn749jzfaas35ckrmnw2x8dqax845ndf\",\n  \"slug\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1777200604529\n}\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nManaged mining over public game APIs using X-Api-Code authentication.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhzai30](https://clawhub.ai/user/zhzai30)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agent developers use this skill to manage OpenClaw mining sessions, check mining and stamina state, collect incremental session events, and start or stop automated mining loops through documented tools.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Saved game API codes can be exposed through the local service or persisted cache.\n\nMitigation: Run the service only on a trusted local machine or behind strong authentication, avoid shared cache keys such as default, clear cached codes when finished, and rotate any apiCode that may have been stored or exposed.\n\nRisk: Mining automation and stamina purchase tools can spend account resources, including diamonds when auto-buy is enabled.\n\nMitigation: Keep auto-buy disabled unless automatic diamond spending is intended, set conservative failure limits, and monitor stamina and diamond status before starting long-running loops.\n\nRisk: The server security verdict is suspicious because the local HTTP service is under-protected for secret storage and resource-spending actions.\n\nMitigation: Review before installing, restrict network exposure, and treat the apiCode as an account secret.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zhzai30/skills/clawquest-agent-mine-openclaw)\n- [ClawHub publisher profile](https://clawhub.ai/user/zhzai30)\n- [Configured game API base URL](https://api.km.cocweb3.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with tool names, JSON-style API responses, shell commands, and configuration guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill can expose session status, cached API-code state, mining events, stamina data, and upstream game API responses.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release evidence; artifact frontmatter reports 1.0.10 and package.json reports 1.0.4)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.11:config/ore-type-map.json\n\n{\n  \"oreTypeNameMap\": {\n    \"1\": {\n      \"resourceId\": 10003,\n      \"zh_CN\": \"金矿石\",\n      \"zh_TW\": \"金礦石\",\n      \"en_US\": \"Gold Ore\",\n      \"ja_JP\": \"金鉱石\",\n      \"ko_KR\": \"금 광석\",\n      \"ru_RU\": \"Золотая руда\"\n    },\n    \"2\": {\n      \"resourceId\": 10004,\n      \"zh_CN\": \"铜矿石\",\n      \"zh_TW\": \"銅礦石\",\n      \"en_US\": \"Copper Ore\",\n      \"ja_JP\": \"銅鉱石\",\n      \"ko_KR\": \"구리 광석\",\n      \"ru_RU\": \"Медная руда\"\n    },\n    \"3\": {\n      \"resourceId\": 10005,\n      \"zh_CN\": \"铁矿石\",\n      \"zh_TW\": \"鐵礦石\",\n      \"en_US\": \"Iron Ore\",\n      \"ja_JP\": \"鉄鉱石\",\n      \"ko_KR\": \"철 광석\",\n      \"ru_RU\": \"Железная руда\"\n    },\n    \"4\": {\n      \"resourceId\": 10006,\n      \"zh_CN\": \"钴矿石\",\n      \"zh_TW\": \"鈷礦石\",\n      \"en_US\": \"Cobalt Ore\",\n      \"ja_JP\": \"コバルト鉱石\",\n      \"ko_KR\": \"코발트 광석\",\n      \"ru_RU\": \"Кобальтовая руда\"\n    },\n    \"5\": {\n      \"resourceId\": 10007,\n      \"zh_CN\": \"铀矿石\",\n      \"zh_TW\": \"鈾礦石\",\n      \"en_US\": \"Uranium Ore\",\n      \"ja_JP\": \"ウラン鉱石\",\n      \"ko_KR\": \"우라늄 광석\",\n      \"ru_RU\": \"Урановая руда\"\n    },\n    \"6\": {\n      \"resourceId\": 10008,\n      \"zh_CN\": \"伊斯密矿石\",\n      \"zh_TW\": \"伊斯密礦石\",\n      \"en_US\": \"Ismium Ore\",\n      \"ja_JP\": \"イズミウム鉱石\",\n      \"ko_KR\": \"이즈미움 광석\",\n      \"ru_RU\": \"Измиевая руда\"\n    },\n    \"7\": {\n      \"resourceId\": 10009,\n      \"zh_CN\": \"铱矿石\",\n      \"zh_TW\": \"銥礦石\",\n      \"en_US\": \"Iridium Ore\",\n      \"ja_JP\": \"イリジウム鉱石\",\n      \"ko_KR\": \"이리듐 광석\",\n      \"ru_RU\": \"Иридиевая руда\"\n    },\n    \"8\": {\n      \"resourceId\": 10010,\n      \"zh_CN\": \"电气石矿石\",\n      \"zh_TW\": \"電氣石礦石\",\n      \"en_US\": \"Tourmaline Ore\",\n      \"ja_JP\": \"電気石鉱石\",\n      \"ko_KR\": \"전기석 광석\",\n      \"ru_RU\": \"Турмалиновая руда\"\n    }\n  }\n}\n\nFile v1.0.11:package-lock.json\n\n{\r\n  \"name\": \"clawquest-agent-mine-openclaw\",\r\n  \"version\": \"1.0.4\",\r\n  \"lockfileVersion\": 3,\r\n  \"requires\": true,\r\n  \"packages\": {\r\n    \"\": {\r\n      \"name\": \"clawquest-agent-mine-openclaw\",\r\n      \"version\": \"1.0.4\",\r\n      \"dependencies\": {\r\n        \"express\": \"^4.21.2\",\r\n        \"zod\": \"^3.23.8\"\r\n      },\r\n      \"devDependencies\": {\r\n        \"@types/express\": \"^4.17.21\",\r\n        \"@types/node\": \"^25.5.2\",\r\n        \"tsx\": \"^4.19.2\",\r\n        \"typescript\": \"^5.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=20\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/aix-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"aix\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-ia32\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==\",\r\n      \"cpu\": [\r\n        \"ia32\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-loong64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==\",\r\n      \"cpu\": [\r\n        \"loong64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-mips64el\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==\",\r\n      \"cpu\": [\r\n        \"mips64el\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-riscv64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==\",\r\n      \"cpu\": [\r\n        \"riscv64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-s390x\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==\",\r\n      \"cpu\": [\r\n        \"s390x\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/netbsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"netbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/netbsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"netbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openbsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openbsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openharmony-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openharmony\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/sunos-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"sunos\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-ia32\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==\",\r\n      \"cpu\": [\r\n        \"ia32\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@types/body-parser\": {\r\n      \"version\": \"1.19.6\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz\",\r\n      \"integrity\": \"sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/connect\": \"*\",\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/connect\": {\r\n      \"version\": \"3.4.38\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\r\n      \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/express\": {\r\n      \"version\": \"4.17.25\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz\",\r\n      \"integrity\": \"sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/body-parser\": \"*\",\r\n        \"@types/express-serve-static-core\": \"^4.17.33\",\r\n        \"@types/qs\": \"*\",\r\n        \"@types/serve-static\": \"^1\"\r\n      }\r\n    },\r\n    \"node_modules/@types/express-serve-static-core\": {\r\n      \"version\": \"4.19.8\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz\",\r\n      \"integrity\": \"sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\",\r\n        \"@types/qs\": \"*\",\r\n        \"@types/range-parser\": \"*\",\r\n        \"@types/send\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/http-errors\": {\r\n      \"version\": \"2.0.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz\",\r\n      \"integrity\": \"sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/mime\": {\r\n      \"version\": \"1.3.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\r\n      \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/node\": {\r\n      \"version\": \"25.6.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz\",\r\n      \"integrity\": \"sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"undici-types\": \"~7.19.0\"\r\n      }\r\n    },\r\n    \"node_modules/@types/qs\": {\r\n      \"version\": \"6.15.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz\",\r\n      \"integrity\": \"sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/range-parser\": {\r\n      \"version\": \"1.2.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\r\n      \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/send\": {\r\n      \"version\": \"1.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz\",\r\n      \"integrity\": \"sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/serve-static\": {\r\n      \"version\": \"1.15.10\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz\",\r\n      \"integrity\": \"sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/http-errors\": \"*\",\r\n        \"@types/node\": \"*\",\r\n        \"@types/send\": \"<1\"\r\n      }\r\n    },\r\n    \"node_modules/@types/serve-static/node_modules/@types/send\": {\r\n      \"version\": \"0.17.6\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz\",\r\n      \"integrity\": \"sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/mime\": \"^1\",\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/accepts\": {\r\n      \"version\": \"1.3.8\",\r\n      \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\r\n      \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"mime-types\": \"~2.1.34\",\r\n        \"negotiator\": \"0.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/array-flatten\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/body-parser\": {\r\n      \"version\": \"1.20.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz\",\r\n      \"integrity\": \"sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"bytes\": \"~3.1.2\",\r\n        \"content-type\": \"~1.0.5\",\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"destroy\": \"~1.2.0\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"iconv-lite\": \"~0.4.24\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"qs\": \"~6.14.0\",\r\n        \"raw-body\": \"~2.5.3\",\r\n        \"type-is\": \"~1.6.18\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\",\r\n        \"npm\": \"1.2.8000 || >= 1.4.16\"\r\n      }\r\n    },\r\n    \"node_modules/bytes\": {\r\n      \"version\": \"3.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\r\n      \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/call-bind-apply-helpers\": {\r\n      \"version\": \"1.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz\",\r\n      \"integrity\": \"sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"function-bind\": \"^1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/call-bound\": {\r\n      \"version\": \"1.0.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz\",\r\n      \"integrity\": \"sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.2\",\r\n        \"get-intrinsic\": \"^1.3.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/content-disposition\": {\r\n      \"version\": \"0.5.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\r\n      \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"safe-buffer\": \"5.2.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/content-type\": {\r\n      \"version\": \"1.0.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\r\n      \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/cookie\": {\r\n      \"version\": \"0.7.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz\",\r\n      \"integrity\": \"sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/cookie-signature\": {\r\n      \"version\": \"1.0.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz\",\r\n      \"integrity\": \"sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/debug\": {\r\n      \"version\": \"2.6.9\",\r\n      \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\r\n      \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"ms\": \"2.0.0\"\r\n      }\r\n    },\r\n    \"node_modules/depd\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/destroy\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\",\r\n        \"npm\": \"1.2.8000 || >= 1.4.16\"\r\n      }\r\n    },\r\n    \"node_modules/dunder-proto\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.1\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"gopd\": \"^1.2.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/ee-first\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/encodeurl\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/es-define-property\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/es-errors\": {\r\n      \"version\": \"1.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\r\n      \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/es-object-atoms\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/esbuild\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==\",\r\n      \"dev\": true,\r\n      \"hasInstallScript\": true,\r\n      \"license\": \"MIT\",\r\n      \"bin\": {\r\n        \"esbuild\": \"bin/esbuild\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      },\r\n      \"optionalDependencies\": {\r\n        \"@esbuild/aix-ppc64\": \"0.27.7\",\r\n        \"@esbuild/android-arm\": \"0.27.7\",\r\n        \"@esbuild/android-arm64\": \"0.27.7\",\r\n        \"@esbuild/android-x64\": \"0.27.7\",\r\n        \"@esbuild/darwin-arm64\": \"0.27.7\",\r\n        \"@esbuild/darwin-x64\": \"0.27.7\",\r\n        \"@esbuild/freebsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/freebsd-x64\": \"0.27.7\",\r\n        \"@esbuild/linux-arm\": \"0.27.7\",\r\n        \"@esbuild/linux-arm64\": \"0.27.7\",\r\n        \"@esbuild/linux-ia32\": \"0.27.7\",\r\n        \"@esbuild/linux-loong64\": \"0.27.7\",\r\n        \"@esbuild/linux-mips64el\": \"0.27.7\",\r\n        \"@esbuild/linux-ppc64\": \"0.27.7\",\r\n        \"@esbuild/linux-riscv64\": \"0.27.7\",\r\n        \"@esbuild/linux-s390x\": \"0.27.7\",\r\n        \"@esbuild/linux-x64\": \"0.27.7\",\r\n        \"@esbuild/netbsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/netbsd-x64\": \"0.27.7\",\r\n        \"@esbuild/openbsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/openbsd-x64\": \"0.27.7\",\r\n        \"@esbuild/openharmony-arm64\": \"0.27.7\",\r\n        \"@esbuild/sunos-x64\": \"0.27.7\",\r\n        \"@esbuild/win32-arm64\": \"0.27.7\",\r\n        \"@esbuild/win32-ia32\": \"0.27.7\",\r\n        \"@esbuild/win32-x64\": \"0.27.7\"\r\n      }\r\n    },\r\n    \"node_modules/escape-html\": {\r\n      \"version\": \"1.0.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\r\n      \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/etag\": {\r\n      \"version\": \"1.8.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\r\n      \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/express\": {\r\n      \"version\": \"4.22.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/express/-/express-4.22.1.tgz\",\r\n      \"integrity\": \"sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"accepts\": \"~1.3.8\",\r\n        \"array-flatten\": \"1.1.1\",\r\n        \"body-parser\": \"~1.20.3\",\r\n        \"content-disposition\": \"~0.5.4\",\r\n        \"content-type\": \"~1.0.4\",\r\n        \"cookie\": \"~0.7.1\",\r\n        \"cookie-signature\": \"~1.0.6\",\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"etag\": \"~1.8.1\",\r\n        \"finalhandler\": \"~1.3.1\",\r\n        \"fresh\": \"~0.5.2\",\r\n        \"http-errors\": \"~2.0.0\",\r\n        \"merge-descriptors\": \"1.0.3\",\r\n        \"methods\": \"~1.1.2\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"path-to-regexp\": \"~0.1.12\",\r\n        \"proxy-addr\": \"~2.0.7\",\r\n        \"qs\": \"~6.14.0\",\r\n        \"range-parser\": \"~1.2.1\",\r\n        \"safe-buffer\": \"5.2.1\",\r\n        \"send\": \"~0.19.0\",\r\n        \"serve-static\": \"~1.16.2\",\r\n        \"setprototypeof\": \"1.2.0\",\r\n        \"statuses\": \"~2.0.1\",\r\n        \"type-is\": \"~1.6.18\",\r\n        \"utils-merge\": \"1.0.1\",\r\n        \"vary\": \"~1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.10.0\"\r\n      },\r\n      \"funding\": {\r\n        \"type\": \"opencollective\",\r\n        \"url\": \"https://opencollective.com/express\"\r\n      }\r\n    },\r\n    \"node_modules/finalhandler\": {\r\n      \"version\": \"1.3.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz\",\r\n      \"integrity\": \"sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"debug\": \"2.6.9\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"statuses\": \"~2.0.2\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/forwarded\": {\r\n      \"version\": \"0.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\r\n      \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/fresh\": {\r\n      \"version\": \"0.5.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\r\n      \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/fsevents\": {\r\n      \"version\": \"2.3.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\r\n      \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\r\n      \"dev\": true,\r\n      \"hasInstallScript\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\r\n      }\r\n    },\r\n    \"node_modules/function-bind\": {\r\n      \"version\": \"1.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\r\n      \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\",\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/get-intrinsic\": {\r\n      \"version\": \"1.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz\",\r\n      \"integrity\": \"sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.2\",\r\n        \"es-define-property\": \"^1.0.1\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"es-object-atoms\": \"^1.1.1\",\r\n        \"function-bind\": \"^1.1.2\",\r\n        \"get-proto\": \"^1.0.1\",\r\n        \"gopd\": \"^1.2.0\",\r\n        \"has-symbols\": \"^1.1.0\",\r\n        \"hasown\": \"^2.0.2\",\r\n        \"math-intrinsics\": \"^1.1.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/get-proto\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"dunder-proto\": \"^1.0.1\",\r\n        \"es-object-atoms\": \"^1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/get-tsconfig\": {\r\n      \"version\": \"4.14.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz\",\r\n      \"integrity\": \"sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"resolve-pkg-maps\": \"^1.0.0\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\r\n      }\r\n    },\r\n    \"node_modules/gopd\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/has-symbols\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/hasown\": {\r\n      \"version\": \"2.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\r\n      \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"function-bind\": \"^1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/http-errors\": {\r\n      \"version\": \"2.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz\",\r\n      \"integrity\": \"sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"depd\": \"~2.0.0\",\r\n        \"inherits\": \"~2.0.4\",\r\n        \"setprototypeof\": \"~1.2.0\",\r\n        \"statuses\": \"~2.0.2\",\r\n        \"toidentifier\": \"~1.0.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      },\r\n      \"funding\": {\r\n        \"type\": \"opencollective\",\r\n        \"url\": \"https://opencollective.com/express\"\r\n      }\r\n    },\r\n    \"node_modules/iconv-lite\": {\r\n      \"version\": \"0.4.24\",\r\n      \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\r\n      \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"safer-buffer\": \">= 2.1.2 < 3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=0.10.0\"\r\n      }\r\n    },\r\n    \"node_modules/inherits\": {\r\n      \"version\": \"2.0.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\r\n      \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\",\r\n      \"license\": \"ISC\"\r\n    },\r\n    \"node_modules/ipaddr.js\": {\r\n      \"version\": \"1.9.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\r\n      \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.10\"\r\n      }\r\n    },\r\n    \"node_modules/math-intrinsics\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/media-typer\": {\r\n      \"version\": \"0.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\r\n      \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/merge-descriptors\": {\r\n      \"version\": \"1.0.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\r\n      \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\",\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/sindresorhus\"\r\n      }\r\n    },\r\n    \"node_modules/methods\": {\r\n      \"version\": \"1.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\r\n      \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/mime\": {\r\n      \"version\": \"1.6.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\r\n      \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\r\n      \"license\": \"MIT\",\r\n      \"bin\": {\r\n        \"mime\": \"cli.js\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=4\"\r\n      }\r\n    },\r\n    \"node_modules/mime-db\": {\r\n      \"version\": \"1.52.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\r\n      \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/mime-types\": {\r\n      \"version\": \"2.1.35\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\r\n      \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"mime-db\": \"1.52.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/ms\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/negotiator\": {\r\n      \"version\": \"0.6.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\r\n      \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/object-inspect\": {\r\n      \"version\": \"1.13.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz\",\r\n      \"integrity\": \"sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/on-finished\": {\r\n      \"version\": \"2.4.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\r\n      \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"ee-first\": \"1.1.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/parseurl\": {\r\n      \"version\": \"1.3.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\r\n      \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/path-to-regexp\": {\r\n      \"version\": \"0.1.13\",\r\n      \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz\",\r\n      \"integrity\": \"sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/proxy-addr\": {\r\n      \"version\": \"2.0.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\r\n      \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"forwarded\": \"0.2.0\",\r\n        \"ipaddr.js\": \"1.9.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.10\"\r\n      }\r\n    },\r\n    \"node_modules/qs\": {\r\n      \"version\": \"6.14.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.14.2.tgz\",\r\n      \"integrity\": \"sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==\",\r\n      \"license\": \"BSD-3-Clause\",\r\n      \"dependencies\": {\r\n        \"side-channel\": \"^1.1.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=0.6\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/range-parser\": {\r\n      \"version\": \"1.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\r\n      \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/raw-body\": {\r\n      \"version\": \"2.5.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz\",\r\n      \"integrity\": \"sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"bytes\": \"~3.1.2\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"iconv-lite\": \"~0.4.24\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/resolve-pkg-maps\": {\r\n      \"version\": \"1.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\r\n      \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\r\n      }\r\n    },\r\n    \"node_modules/safe-buffer\": {\r\n      \"version\": \"5.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\r\n      \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\",\r\n      \"funding\": [\r\n        {\r\n          \"type\": \"github\",\r\n          \"url\": \"https://github.com/sponsors/feross\"\r\n        },\r\n        {\r\n          \"type\": \"patreon\",\r\n          \"url\": \"https://www.patreon.com/feross\"\r\n        },\r\n        {\r\n          \"type\": \"consulting\",\r\n          \"url\": \"https://feross.org/support\"\r\n        }\r\n      ],\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/safer-buffer\": {\r\n      \"version\": \"2.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\r\n      \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/send\": {\r\n      \"version\": \"0.19.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.2.tgz\",\r\n      \"integrity\": \"sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"destroy\": \"1.2.0\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"etag\": \"~1.8.1\",\r\n        \"fresh\": \"~0.5.2\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"mime\": \"1.6.0\",\r\n        \"ms\": \"2.1.3\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"range-parser\": \"~1.2.1\",\r\n        \"statuses\": \"~2.0.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8.0\"\r\n      }\r\n    },\r\n    \"node_modules/send/node_modules/ms\": {\r\n      \"version\": \"2.1.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\r\n      \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/serve-static\": {\r\n      \"version\": \"1.16.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz\",\r\n      \"integrity\": \"sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"send\": \"~0.19.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8.0\"\r\n      }\r\n    },\r\n    \"node_modules/setprototypeof\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\",\r\n      \"license\": \"ISC\"\r\n    },\r\n    \"node_modules/side-channel\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"object-inspect\": \"^1.13.3\",\r\n        \"side-channel-list\": \"^1.0.0\",\r\n        \"side-channel-map\": \"^1.0.1\",\r\n        \"side-channel-weakmap\": \"^1.0.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-list\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"object-inspect\": \"^1.13.4\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-map\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bound\": \"^1.0.2\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"get-intrinsic\": \"^1.2.5\",\r\n        \"object-inspect\": \"^1.13.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-weakmap\": {\r\n      \"version\": \"1.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz\",\r\n      \"integrity\": \"sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bound\": \"^1.0.2\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"get-intrinsic\": \"^1.2.5\",\r\n        \"object-inspect\": \"^1.13.3\",\r\n        \"side-channel-map\": \"^1.0.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/statuses\": {\r\n      \"version\": \"2.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz\",\r\n      \"integrity\": \"sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/toidentifier\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">=0.6\"\r\n      }\r\n    },\r\n    \"node_modules/tsx\": {\r\n      \"version\": \"4.21.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/ts\n\nFile v1.0.11:package.json\n\n{\n  \"name\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.4\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"dependencies\": {\n    \"express\": \"^4.21.2\",\n    \"zod\": \"^3.23.8\"\n  },\n  \"scripts\": {\n    \"start\": \"node index.js\"\n  }\n}\n\nArchive v1.0.10: 7 files, 26339 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24780b), package-lock.json (53117b), package.json (267b), SKILL.md (8166b), tools.js (18490b), _meta.json (149b)\n\nFile v1.0.10:SKILL.md\n\n---\nslug: clawquest-agent-mine-openclaw\nname: ClawQuest: Agent Mine - OpenClaw Managed Mining\nowner: \"@zhzai30 - zhzai30\"\nversion: 1.0.10\ndescription: Managed mining over public game APIs using X-Api-Code authentication.\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - REQUEST_TIMEOUT_MS\n    emoji: \"⛏️\"\n    homepage: \"\"\n---\n\n# ClawQuest: Agent Mine - OpenClaw Managed Mining\n\nThis Skill exposes managed mining tools for OpenClaw session workflows.\n\n## Agent rules OpenClaw\n\nAutomated agents (including OpenClaw workflows) must follow these constraints:\n\n- **Tools only**: Interact with the game **only** through this Skill’s **tool** HTTP API — `POST /tool/:name` on the skill-openclaw service, using the tool names documented below (`set_api_code`, `check_mining_state`, `start_managed_mining_loop`, etc.). Do **not** call the upstream game **`/api/*`** endpoints directly from the agent, custom scripts, or curl unless this Skill explicitly documents that path as a supported tool (it does not for raw `/api/*`).\n- **Do not modify source**: Do **not** edit, patch, or fork the `skill-openclaw` source tree, `package.json`, or runtime code to “fix” behaviour. Use documented environment variables and this `SKILL.md` only.\n- **Report errors; do not self-heal in code**: If a tool fails or behaviour is unexpected, **report** the failure (HTTP status, response body, tool name, `cacheKey`, timestamps, logs). Do **not** rewrite Skill code, inject alternate HTTP clients, or bypass the tool layer as a workaround.\n\n## API Contract\n\nAll mining and stamina APIs require `X-Api-Code`.\n\n- `POST /api/startMining`\n- `POST /api/checkMiningState`\n- `POST /api/endMining`\n- `POST /api/setAutoMining`\n- `POST /api/buyStamina`\n- `POST /api/getStamina`\n\n(Internal round flow still uses `POST /api/setAutoMining`, `POST /api/startMining` and `POST /api/endMining` via the managed loop implementation; they are not exposed as Skill tools.)\n\nAuthentication:\n\n- Header: `X-Api-Code: <apiCode>`\n\nThe Skill does not perform game client login. Users must provide `apiCode` generated in-game.\n\n## State Codes\n\n`check_mining_state` returns `apiState` and `miningState`. Numeric values map as follows.\n\n**apiState**\n\n| Value | Name        |\n| ----- | ----------- |\n| 0     | ApiInactive |\n| 1     | ApiInUse    |\n| 2     | ApiClosing  |\n| 3     | ApiActive   |\n\n**miningState**\n\n| Value | Name                |\n| ----- | ------------------- |\n| 0     | MiningIdle          |\n| 1     | MiningInProgress    |\n| 2     | MiningRewardPending |\n\n## Tools\n\n### set_api_code\n\nPersist an `apiCode` for later calls.\n\nInputs:\n\n- `apiCode` (required)\n- `cacheKey` (optional, default: `default`)\n\n### get_api_code\n\nRead the cached `apiCode`.\n\nInputs:\n\n- `cacheKey` (optional, default: `default`)\n\n### clear_api_code\n\nDelete the cached `apiCode`.\n\nInputs:\n\n- `cacheKey` (optional, default: `default`)\n\n### check_mining_state\n\nQuery API activation status and mining state. Returns `apiState` and `miningState` (see [State Codes](#state-codes)).\n\nInputs:\n\n- `apiCode` (optional, falls back to cache)\n- `cacheKey` (optional, default: `default`)\n\n### buy_stamina\n\nBuy stamina using diamonds.\n\nInputs:\n\n- `apiCode` (optional, falls back to cache)\n- `cacheKey` (optional, default: `default`)\n\n### get_stamina\n\nGet stamina and diamonds.\n\nInputs:\n\n- `apiCode` (optional, falls back to cache)\n- `cacheKey` (optional, default: `default`)\n\n### start_managed_mining_loop\n\nStart managed loop execution.\n\nFlow:\n\n1. `start_mining` — abort on error\n2. wait for `estimatedEndAt`\n3. loop `end_mining` — retry on error, round complete on success\n4. record reward\n5. wait round interval and continue\n\nInputs:\n\n- `apiCode` (optional, falls back to cache)\n- `cacheKey` (optional, default: `default`)\n- `lang` (optional)\n- `pollingIntervalMilliseconds` (optional)\n- `roundIntervalMilliseconds` (optional)\n- `maxConsecutiveErrorCount` (optional)\n- `autoBuyStamina` (optional)\n- `autoBuyStaminaMaxFailures` (optional)\n- `forceRestart` (optional)\n\n### start_mining_session\n\nSame as `start_managed_mining_loop` with OpenClaw session binding and event stream.\n\n### get_mining_session_events\n\nRead incremental session events.\n\nInputs:\n\n- `sinceEventId` (optional, default: `0`)\n\n### get_mining_quick_status\n\nRead lightweight managed loop status.\n\n### get_managed_mining_status\n\nRead full managed loop status.\n\n### stop_managed_mining_loop\n\nRequest safe stop for running managed loop.\n\n## Deprecated Tools\n\n- `start_auto_mining` (deprecated)\n- `stop_auto_mining` (deprecated)\n\n## Suggested Call Order\n\n1. `set_api_code` (one-time setup)\n2. `start_mining_session`\n3. (optional) call `get_mining_quick_status` or `get_mining_session_events` on demand — do **not** set up automatic periodic polling by default\n4. call `stop_managed_mining_loop` when needed\n\n## Error Codes\n\nAll API responses include a `code` field. `0` means success; non-zero values indicate an error.\n\n### Common Errors\n\n| Code | Name                | Description                                                       |\n| ---- | ------------------- | ----------------------------------------------------------------- |\n| 400  | InvalidParams       | Invalid or missing parameters (e.g. empty `X-Api-Code` header)    |\n| 401  | AuthFailed          | Authentication failed (invalid `apiCode`)                         |\n| 500  | InternalServerError | Server internal error                                             |\n| 1010 | NotEnoughResources  | Insufficient resources (diamonds not enough for stamina purchase) |\n\n### Mining Errors\n\n| Code | Name                  | Description                                                                                                          |\n| ---- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |\n| 2003 | InsufficientResources | Insufficient stamina to start mining                                                                                 |\n| 2008 | DiamondNotEnought     | Insufficient diamonds                                                                                                |\n| 2009 | MiningStateConflict   | Mining state conflict (e.g. calling `startMining` while already in progress, or `endMining` when not mining via API) |\n| 2014 | MiningApiNotActive    | API mining feature not activated for this player                                                                     |\n| 2018 | MiningNotFinished     | Mining not finished yet (current time has not reached `estimatedEndAt`)                                              |\n\n## Environment Variables\n\n| Variable                                     | Description                                                                |\n| -------------------------------------------- | -------------------------------------------------------------------------- |\n| `GAME_API_BASE_URL`                          | Optional API base URL override (default: `https://svr.km.noyagames.cn`)    |\n| `REQUEST_TIMEOUT_MS`                         | Request timeout in milliseconds (default: `8000`)                          |\n| `MANAGED_MINING_POLL_INTERVAL_MS`            | Default polling interval in milliseconds (default: `1000`)                 |\n| `MANAGED_MINING_ROUND_INTERVAL_MS`           | Default round interval in milliseconds (default: `2000`)                   |\n| `MANAGED_MINING_MAX_CONSECUTIVE_ERROR_COUNT` | Consecutive error stop threshold (default: `10`)                           |\n| `MANAGED_MINING_AUTO_BUY_STAMINA`            | Enable auto-buy on stamina insufficient: `1` or `true`                     |\n| `MANAGED_MINING_AUTO_BUY_MAX_FAILURES`       | Consecutive auto-buy failures stop threshold (default: `3`)                |\n| `MINING_SESSION_MAX_EVENTS`                  | Ring buffer size for events (default: `200`)                               |\n| `API_CODE_STORE_PATH`                        | Path for cached apiCode store (default: `./data/api-code-store.json`)      |\n| `ORE_TYPE_NAME_MAP_PATH`                     | Path for ore type display name map (default: `./config/ore-type-map.json`) |\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn749jzfaas35ckrmnw2x8dqax845ndf\",\n  \"slug\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1777093070817\n}\n\nFile v1.0.10:config/ore-type-map.json\n\n{\n  \"oreTypeNameMap\": {\n    \"1\": {\n      \"resourceId\": 10003,\n      \"zh_CN\": \"金矿石\",\n      \"zh_TW\": \"金礦石\",\n      \"en_US\": \"Gold Ore\",\n      \"ja_JP\": \"金鉱石\",\n      \"ko_KR\": \"금 광석\",\n      \"ru_RU\": \"Золотая руда\"\n    },\n    \"2\": {\n      \"resourceId\": 10004,\n      \"zh_CN\": \"铜矿石\",\n      \"zh_TW\": \"銅礦石\",\n      \"en_US\": \"Copper Ore\",\n      \"ja_JP\": \"銅鉱石\",\n      \"ko_KR\": \"구리 광석\",\n      \"ru_RU\": \"Медная руда\"\n    },\n    \"3\": {\n      \"resourceId\": 10005,\n      \"zh_CN\": \"铁矿石\",\n      \"zh_TW\": \"鐵礦石\",\n      \"en_US\": \"Iron Ore\",\n      \"ja_JP\": \"鉄鉱石\",\n      \"ko_KR\": \"철 광석\",\n      \"ru_RU\": \"Железная руда\"\n    },\n    \"4\": {\n      \"resourceId\": 10006,\n      \"zh_CN\": \"钴矿石\",\n      \"zh_TW\": \"鈷礦石\",\n      \"en_US\": \"Cobalt Ore\",\n      \"ja_JP\": \"コバルト鉱石\",\n      \"ko_KR\": \"코발트 광석\",\n      \"ru_RU\": \"Кобальтовая руда\"\n    },\n    \"5\": {\n      \"resourceId\": 10007,\n      \"zh_CN\": \"铀矿石\",\n      \"zh_TW\": \"鈾礦石\",\n      \"en_US\": \"Uranium Ore\",\n      \"ja_JP\": \"ウラン鉱石\",\n      \"ko_KR\": \"우라늄 광석\",\n      \"ru_RU\": \"Урановая руда\"\n    },\n    \"6\": {\n      \"resourceId\": 10008,\n      \"zh_CN\": \"伊斯密矿石\",\n      \"zh_TW\": \"伊斯密礦石\",\n      \"en_US\": \"Ismium Ore\",\n      \"ja_JP\": \"イズミウム鉱石\",\n      \"ko_KR\": \"이즈미움 광석\",\n      \"ru_RU\": \"Измиевая руда\"\n    },\n    \"7\": {\n      \"resourceId\": 10009,\n      \"zh_CN\": \"铱矿石\",\n      \"zh_TW\": \"銥礦石\",\n      \"en_US\": \"Iridium Ore\",\n      \"ja_JP\": \"イリジウム鉱石\",\n      \"ko_KR\": \"이리듐 광석\",\n      \"ru_RU\": \"Иридиевая руда\"\n    },\n    \"8\": {\n      \"resourceId\": 10010,\n      \"zh_CN\": \"电气石矿石\",\n      \"zh_TW\": \"電氣石礦石\",\n      \"en_US\": \"Tourmaline Ore\",\n      \"ja_JP\": \"電気石鉱石\",\n      \"ko_KR\": \"전기석 광석\",\n      \"ru_RU\": \"Турмалиновая руда\"\n    }\n  }\n}\n\nFile v1.0.10:package-lock.json\n\n{\r\n  \"name\": \"clawquest-agent-mine-openclaw\",\r\n  \"version\": \"1.0.4\",\r\n  \"lockfileVersion\": 3,\r\n  \"requires\": true,\r\n  \"packages\": {\r\n    \"\": {\r\n      \"name\": \"clawquest-agent-mine-openclaw\",\r\n      \"version\": \"1.0.4\",\r\n      \"dependencies\": {\r\n        \"express\": \"^4.21.2\",\r\n        \"zod\": \"^3.23.8\"\r\n      },\r\n      \"devDependencies\": {\r\n        \"@types/express\": \"^4.17.21\",\r\n        \"@types/node\": \"^25.5.2\",\r\n        \"tsx\": \"^4.19.2\",\r\n        \"typescript\": \"^5.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=20\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/aix-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"aix\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-ia32\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==\",\r\n      \"cpu\": [\r\n        \"ia32\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-loong64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==\",\r\n      \"cpu\": [\r\n        \"loong64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-mips64el\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==\",\r\n      \"cpu\": [\r\n        \"mips64el\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-riscv64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==\",\r\n      \"cpu\": [\r\n        \"riscv64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-s390x\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==\",\r\n      \"cpu\": [\r\n        \"s390x\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/netbsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"netbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/netbsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"netbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openbsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openbsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openbsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/openharmony-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"openharmony\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/sunos-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"sunos\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-ia32\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==\",\r\n      \"cpu\": [\r\n        \"ia32\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/win32-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"win32\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@types/body-parser\": {\r\n      \"version\": \"1.19.6\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz\",\r\n      \"integrity\": \"sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/connect\": \"*\",\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/connect\": {\r\n      \"version\": \"3.4.38\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\r\n      \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/express\": {\r\n      \"version\": \"4.17.25\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz\",\r\n      \"integrity\": \"sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/body-parser\": \"*\",\r\n        \"@types/express-serve-static-core\": \"^4.17.33\",\r\n        \"@types/qs\": \"*\",\r\n        \"@types/serve-static\": \"^1\"\r\n      }\r\n    },\r\n    \"node_modules/@types/express-serve-static-core\": {\r\n      \"version\": \"4.19.8\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz\",\r\n      \"integrity\": \"sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\",\r\n        \"@types/qs\": \"*\",\r\n        \"@types/range-parser\": \"*\",\r\n        \"@types/send\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/http-errors\": {\r\n      \"version\": \"2.0.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz\",\r\n      \"integrity\": \"sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/mime\": {\r\n      \"version\": \"1.3.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\r\n      \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/node\": {\r\n      \"version\": \"25.6.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz\",\r\n      \"integrity\": \"sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"undici-types\": \"~7.19.0\"\r\n      }\r\n    },\r\n    \"node_modules/@types/qs\": {\r\n      \"version\": \"6.15.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz\",\r\n      \"integrity\": \"sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/range-parser\": {\r\n      \"version\": \"1.2.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\r\n      \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/@types/send\": {\r\n      \"version\": \"1.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz\",\r\n      \"integrity\": \"sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/@types/serve-static\": {\r\n      \"version\": \"1.15.10\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz\",\r\n      \"integrity\": \"sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/http-errors\": \"*\",\r\n        \"@types/node\": \"*\",\r\n        \"@types/send\": \"<1\"\r\n      }\r\n    },\r\n    \"node_modules/@types/serve-static/node_modules/@types/send\": {\r\n      \"version\": \"0.17.6\",\r\n      \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz\",\r\n      \"integrity\": \"sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"@types/mime\": \"^1\",\r\n        \"@types/node\": \"*\"\r\n      }\r\n    },\r\n    \"node_modules/accepts\": {\r\n      \"version\": \"1.3.8\",\r\n      \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\r\n      \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"mime-types\": \"~2.1.34\",\r\n        \"negotiator\": \"0.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/array-flatten\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/body-parser\": {\r\n      \"version\": \"1.20.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz\",\r\n      \"integrity\": \"sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"bytes\": \"~3.1.2\",\r\n        \"content-type\": \"~1.0.5\",\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"destroy\": \"~1.2.0\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"iconv-lite\": \"~0.4.24\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"qs\": \"~6.14.0\",\r\n        \"raw-body\": \"~2.5.3\",\r\n        \"type-is\": \"~1.6.18\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\",\r\n        \"npm\": \"1.2.8000 || >= 1.4.16\"\r\n      }\r\n    },\r\n    \"node_modules/bytes\": {\r\n      \"version\": \"3.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\r\n      \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/call-bind-apply-helpers\": {\r\n      \"version\": \"1.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz\",\r\n      \"integrity\": \"sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"function-bind\": \"^1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/call-bound\": {\r\n      \"version\": \"1.0.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz\",\r\n      \"integrity\": \"sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.2\",\r\n        \"get-intrinsic\": \"^1.3.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/content-disposition\": {\r\n      \"version\": \"0.5.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\r\n      \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"safe-buffer\": \"5.2.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/content-type\": {\r\n      \"version\": \"1.0.5\",\r\n      \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\r\n      \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/cookie\": {\r\n      \"version\": \"0.7.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz\",\r\n      \"integrity\": \"sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/cookie-signature\": {\r\n      \"version\": \"1.0.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz\",\r\n      \"integrity\": \"sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/debug\": {\r\n      \"version\": \"2.6.9\",\r\n      \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\r\n      \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"ms\": \"2.0.0\"\r\n      }\r\n    },\r\n    \"node_modules/depd\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/destroy\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\",\r\n        \"npm\": \"1.2.8000 || >= 1.4.16\"\r\n      }\r\n    },\r\n    \"node_modules/dunder-proto\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.1\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"gopd\": \"^1.2.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/ee-first\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/encodeurl\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/es-define-property\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/es-errors\": {\r\n      \"version\": \"1.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\r\n      \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/es-object-atoms\": {\r\n      \"version\": \"1.1.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz\",\r\n      \"integrity\": \"sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/esbuild\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==\",\r\n      \"dev\": true,\r\n      \"hasInstallScript\": true,\r\n      \"license\": \"MIT\",\r\n      \"bin\": {\r\n        \"esbuild\": \"bin/esbuild\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      },\r\n      \"optionalDependencies\": {\r\n        \"@esbuild/aix-ppc64\": \"0.27.7\",\r\n        \"@esbuild/android-arm\": \"0.27.7\",\r\n        \"@esbuild/android-arm64\": \"0.27.7\",\r\n        \"@esbuild/android-x64\": \"0.27.7\",\r\n        \"@esbuild/darwin-arm64\": \"0.27.7\",\r\n        \"@esbuild/darwin-x64\": \"0.27.7\",\r\n        \"@esbuild/freebsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/freebsd-x64\": \"0.27.7\",\r\n        \"@esbuild/linux-arm\": \"0.27.7\",\r\n        \"@esbuild/linux-arm64\": \"0.27.7\",\r\n        \"@esbuild/linux-ia32\": \"0.27.7\",\r\n        \"@esbuild/linux-loong64\": \"0.27.7\",\r\n        \"@esbuild/linux-mips64el\": \"0.27.7\",\r\n        \"@esbuild/linux-ppc64\": \"0.27.7\",\r\n        \"@esbuild/linux-riscv64\": \"0.27.7\",\r\n        \"@esbuild/linux-s390x\": \"0.27.7\",\r\n        \"@esbuild/linux-x64\": \"0.27.7\",\r\n        \"@esbuild/netbsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/netbsd-x64\": \"0.27.7\",\r\n        \"@esbuild/openbsd-arm64\": \"0.27.7\",\r\n        \"@esbuild/openbsd-x64\": \"0.27.7\",\r\n        \"@esbuild/openharmony-arm64\": \"0.27.7\",\r\n        \"@esbuild/sunos-x64\": \"0.27.7\",\r\n        \"@esbuild/win32-arm64\": \"0.27.7\",\r\n        \"@esbuild/win32-ia32\": \"0.27.7\",\r\n        \"@esbuild/win32-x64\": \"0.27.7\"\r\n      }\r\n    },\r\n    \"node_modules/escape-html\": {\r\n      \"version\": \"1.0.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\r\n      \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/etag\": {\r\n      \"version\": \"1.8.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\r\n      \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/express\": {\r\n      \"version\": \"4.22.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/express/-/express-4.22.1.tgz\",\r\n      \"integrity\": \"sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"accepts\": \"~1.3.8\",\r\n        \"array-flatten\": \"1.1.1\",\r\n        \"body-parser\": \"~1.20.3\",\r\n        \"content-disposition\": \"~0.5.4\",\r\n        \"content-type\": \"~1.0.4\",\r\n        \"cookie\": \"~0.7.1\",\r\n        \"cookie-signature\": \"~1.0.6\",\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"etag\": \"~1.8.1\",\r\n        \"finalhandler\": \"~1.3.1\",\r\n        \"fresh\": \"~0.5.2\",\r\n        \"http-errors\": \"~2.0.0\",\r\n        \"merge-descriptors\": \"1.0.3\",\r\n        \"methods\": \"~1.1.2\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"path-to-regexp\": \"~0.1.12\",\r\n        \"proxy-addr\": \"~2.0.7\",\r\n        \"qs\": \"~6.14.0\",\r\n        \"range-parser\": \"~1.2.1\",\r\n        \"safe-buffer\": \"5.2.1\",\r\n        \"send\": \"~0.19.0\",\r\n        \"serve-static\": \"~1.16.2\",\r\n        \"setprototypeof\": \"1.2.0\",\r\n        \"statuses\": \"~2.0.1\",\r\n        \"type-is\": \"~1.6.18\",\r\n        \"utils-merge\": \"1.0.1\",\r\n        \"vary\": \"~1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.10.0\"\r\n      },\r\n      \"funding\": {\r\n        \"type\": \"opencollective\",\r\n        \"url\": \"https://opencollective.com/express\"\r\n      }\r\n    },\r\n    \"node_modules/finalhandler\": {\r\n      \"version\": \"1.3.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz\",\r\n      \"integrity\": \"sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"debug\": \"2.6.9\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"statuses\": \"~2.0.2\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/forwarded\": {\r\n      \"version\": \"0.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\r\n      \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/fresh\": {\r\n      \"version\": \"0.5.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\r\n      \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/fsevents\": {\r\n      \"version\": \"2.3.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\r\n      \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\r\n      \"dev\": true,\r\n      \"hasInstallScript\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\r\n      }\r\n    },\r\n    \"node_modules/function-bind\": {\r\n      \"version\": \"1.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\r\n      \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\",\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/get-intrinsic\": {\r\n      \"version\": \"1.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz\",\r\n      \"integrity\": \"sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bind-apply-helpers\": \"^1.0.2\",\r\n        \"es-define-property\": \"^1.0.1\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"es-object-atoms\": \"^1.1.1\",\r\n        \"function-bind\": \"^1.1.2\",\r\n        \"get-proto\": \"^1.0.1\",\r\n        \"gopd\": \"^1.2.0\",\r\n        \"has-symbols\": \"^1.1.0\",\r\n        \"hasown\": \"^2.0.2\",\r\n        \"math-intrinsics\": \"^1.1.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/get-proto\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"dunder-proto\": \"^1.0.1\",\r\n        \"es-object-atoms\": \"^1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/get-tsconfig\": {\r\n      \"version\": \"4.14.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz\",\r\n      \"integrity\": \"sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"resolve-pkg-maps\": \"^1.0.0\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\r\n      }\r\n    },\r\n    \"node_modules/gopd\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/has-symbols\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/hasown\": {\r\n      \"version\": \"2.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\r\n      \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"function-bind\": \"^1.1.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/http-errors\": {\r\n      \"version\": \"2.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz\",\r\n      \"integrity\": \"sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"depd\": \"~2.0.0\",\r\n        \"inherits\": \"~2.0.4\",\r\n        \"setprototypeof\": \"~1.2.0\",\r\n        \"statuses\": \"~2.0.2\",\r\n        \"toidentifier\": \"~1.0.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      },\r\n      \"funding\": {\r\n        \"type\": \"opencollective\",\r\n        \"url\": \"https://opencollective.com/express\"\r\n      }\r\n    },\r\n    \"node_modules/iconv-lite\": {\r\n      \"version\": \"0.4.24\",\r\n      \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\r\n      \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"safer-buffer\": \">= 2.1.2 < 3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=0.10.0\"\r\n      }\r\n    },\r\n    \"node_modules/inherits\": {\r\n      \"version\": \"2.0.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\r\n      \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\",\r\n      \"license\": \"ISC\"\r\n    },\r\n    \"node_modules/ipaddr.js\": {\r\n      \"version\": \"1.9.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\r\n      \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.10\"\r\n      }\r\n    },\r\n    \"node_modules/math-intrinsics\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      }\r\n    },\r\n    \"node_modules/media-typer\": {\r\n      \"version\": \"0.3.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\r\n      \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/merge-descriptors\": {\r\n      \"version\": \"1.0.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\r\n      \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\",\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/sindresorhus\"\r\n      }\r\n    },\r\n    \"node_modules/methods\": {\r\n      \"version\": \"1.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\r\n      \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/mime\": {\r\n      \"version\": \"1.6.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\r\n      \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\r\n      \"license\": \"MIT\",\r\n      \"bin\": {\r\n        \"mime\": \"cli.js\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=4\"\r\n      }\r\n    },\r\n    \"node_modules/mime-db\": {\r\n      \"version\": \"1.52.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\r\n      \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/mime-types\": {\r\n      \"version\": \"2.1.35\",\r\n      \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\r\n      \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"mime-db\": \"1.52.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/ms\": {\r\n      \"version\": \"2.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\r\n      \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/negotiator\": {\r\n      \"version\": \"0.6.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\r\n      \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/object-inspect\": {\r\n      \"version\": \"1.13.4\",\r\n      \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz\",\r\n      \"integrity\": \"sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/on-finished\": {\r\n      \"version\": \"2.4.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\r\n      \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"ee-first\": \"1.1.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/parseurl\": {\r\n      \"version\": \"1.3.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\r\n      \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/path-to-regexp\": {\r\n      \"version\": \"0.1.13\",\r\n      \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz\",\r\n      \"integrity\": \"sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/proxy-addr\": {\r\n      \"version\": \"2.0.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\r\n      \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"forwarded\": \"0.2.0\",\r\n        \"ipaddr.js\": \"1.9.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.10\"\r\n      }\r\n    },\r\n    \"node_modules/qs\": {\r\n      \"version\": \"6.14.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.14.2.tgz\",\r\n      \"integrity\": \"sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==\",\r\n      \"license\": \"BSD-3-Clause\",\r\n      \"dependencies\": {\r\n        \"side-channel\": \"^1.1.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=0.6\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/range-parser\": {\r\n      \"version\": \"1.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\r\n      \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.6\"\r\n      }\r\n    },\r\n    \"node_modules/raw-body\": {\r\n      \"version\": \"2.5.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz\",\r\n      \"integrity\": \"sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"bytes\": \"~3.1.2\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"iconv-lite\": \"~0.4.24\",\r\n        \"unpipe\": \"~1.0.0\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/resolve-pkg-maps\": {\r\n      \"version\": \"1.0.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\r\n      \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\r\n      }\r\n    },\r\n    \"node_modules/safe-buffer\": {\r\n      \"version\": \"5.2.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\r\n      \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\",\r\n      \"funding\": [\r\n        {\r\n          \"type\": \"github\",\r\n          \"url\": \"https://github.com/sponsors/feross\"\r\n        },\r\n        {\r\n          \"type\": \"patreon\",\r\n          \"url\": \"https://www.patreon.com/feross\"\r\n        },\r\n        {\r\n          \"type\": \"consulting\",\r\n          \"url\": \"https://feross.org/support\"\r\n        }\r\n      ],\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/safer-buffer\": {\r\n      \"version\": \"2.1.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\r\n      \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/send\": {\r\n      \"version\": \"0.19.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.2.tgz\",\r\n      \"integrity\": \"sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"debug\": \"2.6.9\",\r\n        \"depd\": \"2.0.0\",\r\n        \"destroy\": \"1.2.0\",\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"etag\": \"~1.8.1\",\r\n        \"fresh\": \"~0.5.2\",\r\n        \"http-errors\": \"~2.0.1\",\r\n        \"mime\": \"1.6.0\",\r\n        \"ms\": \"2.1.3\",\r\n        \"on-finished\": \"~2.4.1\",\r\n        \"range-parser\": \"~1.2.1\",\r\n        \"statuses\": \"~2.0.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8.0\"\r\n      }\r\n    },\r\n    \"node_modules/send/node_modules/ms\": {\r\n      \"version\": \"2.1.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\r\n      \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\r\n      \"license\": \"MIT\"\r\n    },\r\n    \"node_modules/serve-static\": {\r\n      \"version\": \"1.16.3\",\r\n      \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz\",\r\n      \"integrity\": \"sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"encodeurl\": \"~2.0.0\",\r\n        \"escape-html\": \"~1.0.3\",\r\n        \"parseurl\": \"~1.3.3\",\r\n        \"send\": \"~0.19.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.8.0\"\r\n      }\r\n    },\r\n    \"node_modules/setprototypeof\": {\r\n      \"version\": \"1.2.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\r\n      \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\",\r\n      \"license\": \"ISC\"\r\n    },\r\n    \"node_modules/side-channel\": {\r\n      \"version\": \"1.1.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz\",\r\n      \"integrity\": \"sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"object-inspect\": \"^1.13.3\",\r\n        \"side-channel-list\": \"^1.0.0\",\r\n        \"side-channel-map\": \"^1.0.1\",\r\n        \"side-channel-weakmap\": \"^1.0.2\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-list\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"object-inspect\": \"^1.13.4\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-map\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bound\": \"^1.0.2\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"get-intrinsic\": \"^1.2.5\",\r\n        \"object-inspect\": \"^1.13.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/side-channel-weakmap\": {\r\n      \"version\": \"1.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz\",\r\n      \"integrity\": \"sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==\",\r\n      \"license\": \"MIT\",\r\n      \"dependencies\": {\r\n        \"call-bound\": \"^1.0.2\",\r\n        \"es-errors\": \"^1.3.0\",\r\n        \"get-intrinsic\": \"^1.2.5\",\r\n        \"object-inspect\": \"^1.13.3\",\r\n        \"side-channel-map\": \"^1.0.1\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">= 0.4\"\r\n      },\r\n      \"funding\": {\r\n        \"url\": \"https://github.com/sponsors/ljharb\"\r\n      }\r\n    },\r\n    \"node_modules/statuses\": {\r\n      \"version\": \"2.0.2\",\r\n      \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz\",\r\n      \"integrity\": \"sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">= 0.8\"\r\n      }\r\n    },\r\n    \"node_modules/toidentifier\": {\r\n      \"version\": \"1.0.1\",\r\n      \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\r\n      \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\",\r\n      \"license\": \"MIT\",\r\n      \"engines\": {\r\n        \"node\": \">=0.6\"\r\n      }\r\n    },\r\n    \"node_modules/tsx\": {\r\n      \"version\": \"4.21.0\",\r\n      \"resolved\": \"https://registry.npmjs.org/ts\n\nFile v1.0.10:package.json\n\n{\n  \"name\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.4\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"dependencies\": {\n    \"express\": \"^4.21.2\",\n    \"zod\": \"^3.23.8\"\n  },\n  \"scripts\": {\n    \"start\": \"node index.js\"\n  }\n}\n\nArchive v1.0.9: 7 files, 26360 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24780b), package-lock.json (53117b), package.json (267b), SKILL.md (8339b), tools.js (18490b), _meta.json (148b)\n\nFile v1.0.9:SKILL.md\n\n---\r\nslug: clawquest-agent-mine-openclaw\r\nname: ClawQuest: Agent Mine - OpenClaw Managed Mining\r\nowner: \"@zhzai30 - zhzai30\"\r\nversion: 1.0.9\r\ndescription: Managed mining over public game APIs using X-Api-Code authentication.\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      env:\r\n        - REQUEST_TIMEOUT_MS\r\n    emoji: \"⛏️\"\r\n    homepage: \"\"\r\n---\r\n\r\n# ClawQuest: Agent Mine - OpenClaw Managed Mining\r\n\r\nThis Skill exposes managed mining tools for OpenClaw session workflows.\r\n\r\n## Agent rules OpenClaw\r\n\r\nAutomated agents (including OpenClaw workflows referred to internally as **龙虾**) must follow these constraints:\r\n\r\n- **Tools only**: Interact with the game **only** through this Skill’s **tool** HTTP API — `POST /tool/:name` on the skill-openclaw service, using the tool names documented below (`set_api_code`, `check_mining_state`, `start_managed_mining_loop`, etc.). Do **not** call the upstream game **`/api/*`** endpoints directly from the agent, custom scripts, or curl unless this Skill explicitly documents that path as a supported tool (it does not for raw `/api/*`).\r\n- **Do not modify source**: Do **not** edit, patch, or fork the `skill-openclaw` source tree, `package.json`, or runtime code to “fix” behaviour. Use documented environment variables and this `SKILL.md` only.\r\n- **Report errors; do not self-heal in code**: If a tool fails or behaviour is unexpected, **report** the failure (HTTP status, response body, tool name, `cacheKey`, timestamps, logs). Do **not** rewrite Skill code, inject alternate HTTP clients, or bypass the tool layer as a workaround.\r\n\r\n## API Contract\r\n\r\nAll mining and stamina APIs require `X-Api-Code`.\r\n\r\n- `POST /api/startMining`\r\n- `POST /api/checkMiningState`\r\n- `POST /api/endMining`\r\n- `POST /api/setAutoMining`\r\n- `POST /api/buyStamina`\r\n- `POST /api/getStamina`\r\n\r\n(Internal round flow still uses `POST /api/setAutoMining`, `POST /api/startMining` and `POST /api/endMining` via the managed loop implementation; they are not exposed as Skill tools.)\r\n\r\nAuthentication:\r\n\r\n- Header: `X-Api-Code: <apiCode>`\r\n\r\nThe Skill does not perform game client login. Users must provide `apiCode` generated in-game.\r\n\r\n## State Codes\r\n\r\n`check_mining_state` returns `apiState` and `miningState`. Numeric values map as follows.\r\n\r\n**apiState**\r\n\r\n| Value | Name        |\r\n| ----- | ----------- |\r\n| 0     | ApiInactive |\r\n| 1     | ApiInUse    |\r\n| 2     | ApiClosing  |\r\n| 3     | ApiActive   |\r\n\r\n**miningState**\r\n\r\n| Value | Name                |\r\n| ----- | ------------------- |\r\n| 0     | MiningIdle          |\r\n| 1     | MiningInProgress    |\r\n| 2     | MiningRewardPending |\r\n\r\n## Tools\r\n\r\n### set_api_code\r\n\r\nPersist an `apiCode` for later calls.\r\n\r\nInputs:\r\n\r\n- `apiCode` (required)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### get_api_code\r\n\r\nRead the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### clear_api_code\r\n\r\nDelete the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### check_mining_state\r\n\r\nQuery API activation status and mining state. Returns `apiState` and `miningState` (see [State Codes](#state-codes)).\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### buy_stamina\r\n\r\nBuy stamina using diamonds.\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### get_stamina\r\n\r\nGet stamina and diamonds.\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### start_managed_mining_loop\r\n\r\nStart managed loop execution.\r\n\r\nFlow:\r\n\r\n1. `start_mining` — abort on error\r\n2. wait for `estimatedEndAt`\r\n3. loop `end_mining` — retry on error, round complete on success\r\n4. record reward\r\n5. wait round interval and continue\r\n\r\nInputs:\r\n\r\n- `apiCode` (optional, falls back to cache)\r\n- `cacheKey` (optional, default: `default`)\r\n- `lang` (optional)\r\n- `pollingIntervalMilliseconds` (optional)\r\n- `roundIntervalMilliseconds` (optional)\r\n- `maxConsecutiveErrorCount` (optional)\r\n- `autoBuyStamina` (optional)\r\n- `autoBuyStaminaMaxFailures` (optional)\r\n- `forceRestart` (optional)\r\n\r\n### start_mining_session\r\n\r\nSame as `start_managed_mining_loop` with OpenClaw session binding and event stream.\r\n\r\n### get_mining_session_events\r\n\r\nRead incremental session events.\r\n\r\nInputs:\r\n\r\n- `sinceEventId` (optional, default: `0`)\r\n\r\n### get_mining_quick_status\r\n\r\nRead lightweight managed loop status.\r\n\r\n### get_managed_mining_status\r\n\r\nRead full managed loop status.\r\n\r\n### stop_managed_mining_loop\r\n\r\nRequest safe stop for running managed loop.\r\n\r\n## Deprecated Tools\r\n\r\n- `start_auto_mining` (deprecated)\r\n- `stop_auto_mining` (deprecated)\r\n\r\n## Suggested Call Order\r\n\r\n1. `set_api_code` (one-time setup)\r\n2. `start_mining_session`\r\n3. poll `get_mining_session_events` or `get_mining_quick_status`\r\n4. call `stop_managed_mining_loop` when needed\r\n\r\n## Error Codes\r\n\r\nAll API responses include a `code` field. `0` means success; non-zero values indicate an error.\r\n\r\n### Common Errors\r\n\r\n| Code | Name                | Description                                                       |\r\n| ---- | ------------------- | ----------------------------------------------------------------- |\r\n| 400  | InvalidParams       | Invalid or missing parameters (e.g. empty `X-Api-Code` header)    |\r\n| 401  | AuthFailed          | Authentication failed (invalid `apiCode`)                         |\r\n| 500  | InternalServerError | Server internal error                                             |\r\n| 1010 | NotEnoughResources  | Insufficient resources (diamonds not enough for stamina purchase) |\r\n\r\n### Mining Errors\r\n\r\n| Code | Name                  | Description                                                                                                          |\r\n| ---- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |\r\n| 2003 | InsufficientResources | Insufficient stamina to start mining                                                                                 |\r\n| 2008 | DiamondNotEnought     | Insufficient diamonds                                                                                                |\r\n| 2009 | MiningStateConflict   | Mining state conflict (e.g. calling `startMining` while already in progress, or `endMining` when not mining via API) |\r\n| 2014 | MiningApiNotActive    | API mining feature not activated for this player                                                                     |\r\n| 2018 | MiningNotFinished     | Mining not finished yet (current time has not reached `estimatedEndAt`)                                              |\r\n\r\n## Environment Variables\r\n\r\n| Variable                                     | Description                                                                |\r\n| -------------------------------------------- | -------------------------------------------------------------------------- |\r\n| `GAME_API_BASE_URL`                          | Optional API base URL override (default: `https://svr.km.noyagames.cn`)    |\r\n| `REQUEST_TIMEOUT_MS`                         | Request timeout in milliseconds (default: `8000`)                          |\r\n| `MANAGED_MINING_POLL_INTERVAL_MS`            | Default polling interval in milliseconds (default: `1000`)                 |\r\n| `MANAGED_MINING_ROUND_INTERVAL_MS`           | Default round interval in milliseconds (default: `2000`)                   |\r\n| `MANAGED_MINING_MAX_CONSECUTIVE_ERROR_COUNT` | Consecutive error stop threshold (default: `10`)                           |\r\n| `MANAGED_MINING_AUTO_BUY_STAMINA`            | Enable auto-buy on stamina insufficient: `1` or `true`                     |\r\n| `MANAGED_MINING_AUTO_BUY_MAX_FAILURES`       | Consecutive auto-buy failures stop threshold (default: `3`)                |\r\n| `MINING_SESSION_MAX_EVENTS`                  | Ring buffer size for events (default: `200`)                               |\r\n| `API_CODE_STORE_PATH`                        | Path for cached apiCode store (default: `./data/api-code-store.json`)      |\r\n| `ORE_TYPE_NAME_MAP_PATH`                     | Path for ore type display name map (default: `./config/ore-type-map.json`) |\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn749jzfaas35ckrmnw2x8dqax845ndf\",\n  \"slug\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1776654275136\n}\n\nFile v1.0.9:config/ore-type-map.json\n\n{\n  \"oreTypeNameMap\": {\n    \"1\": {\n      \"resourceId\": 10003,\n      \"zh_CN\": \"金矿石\",\n      \"zh_TW\": \"金礦石\",\n      \"en_US\": \"Gold Ore\",\n      \"ja_JP\": \"金鉱石\",\n      \"ko_KR\": \"금 광석\",\n      \"ru_RU\": \"Золотая руда\"\n    },\n    \"2\": {\n      \"resourceId\": 10004,\n      \"zh_CN\": \"铜矿石\",\n      \"zh_TW\": \"銅礦石\",\n      \"en_US\": \"Copper Ore\",\n      \"ja_JP\": \"銅鉱石\",\n      \"ko_KR\": \"구리 광석\",\n      \"ru_RU\": \"Медная руда\"\n    },\n    \"3\": {\n      \"resourceId\": 10005,\n      \"zh_CN\": \"铁矿石\",\n      \"zh_TW\": \"鐵礦石\",\n      \"en_US\": \"Iron Ore\",\n      \"ja_JP\": \"鉄鉱石\",\n      \"ko_KR\": \"철 광석\",\n      \"ru_RU\": \"Железная руда\"\n    },\n    \"4\": {\n      \"resourceId\": 10006,\n      \"zh_CN\": \"钴矿石\",\n      \"zh_TW\": \"鈷礦石\",\n      \"en_US\": \"Cobalt Ore\",\n      \"ja_JP\": \"コバルト鉱石\",\n      \"ko_KR\": \"코발트 광석\",\n      \"ru_RU\": \"Кобальтовая руда\"\n    },\n    \"5\": {\n      \"resourceId\": 10007,\n      \"zh_CN\": \"铀矿石\",\n      \"zh_TW\": \"鈾礦石\",\n      \"en_US\": \"Uranium Ore\",\n      \"ja_JP\": \"ウラン鉱石\",\n      \"ko_KR\": \"우라늄 광석\",\n      \"ru_RU\": \"Урановая руда\"\n    },\n    \"6\": {\n      \"resourceId\": 10008,\n      \"zh_CN\": \"伊斯密矿石\",\n      \"zh_TW\": \"伊斯密礦石\",\n      \"en_US\": \"Ismium Ore\",\n      \"ja_JP\": \"イズミウム鉱石\",\n      \"ko_KR\": \"이즈미움 광석\",\n      \"ru_RU\": \"Измиевая руда\"\n    },\n    \"7\": {\n      \"resourceId\": 10009,\n      \"zh_CN\": \"铱矿石\",\n      \"zh_TW\": \"銥礦石\",\n      \"en_US\": \"Iridium Ore\",\n      \"ja_JP\": \"イリジウム鉱石\",\n      \"ko_KR\": \"이리듐 광석\",\n      \"ru_RU\": \"Иридиевая руда\"\n    },\n    \"8\": {\n      \"resourceId\": 10010,\n      \"zh_CN\": \"电气石矿石\",\n      \"zh_TW\": \"電氣石礦石\",\n      \"en_US\": \"Tourmaline Ore\",\n      \"ja_JP\": \"電気石鉱石\",\n      \"ko_KR\": \"전기석 광석\",\n      \"ru_RU\": \"Турмалиновая руда\"\n    }\n  }\n}\n\nFile v1.0.9:package-lock.json\n\n{\r\n  \"name\": \"clawquest-agent-mine-openclaw\",\r\n  \"version\": \"1.0.4\",\r\n  \"lockfileVersion\": 3,\r\n  \"requires\": true,\r\n  \"packages\": {\r\n    \"\": {\r\n      \"name\": \"clawquest-agent-mine-openclaw\",\r\n      \"version\": \"1.0.4\",\r\n      \"dependencies\": {\r\n        \"express\": \"^4.21.2\",\r\n        \"zod\": \"^3.23.8\"\r\n      },\r\n      \"devDependencies\": {\r\n        \"@types/express\": \"^4.17.21\",\r\n        \"@types/node\": \"^25.5.2\",\r\n        \"tsx\": \"^4.19.2\",\r\n        \"typescript\": \"^5.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=20\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/aix-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"aix\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/freebsd-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"freebsd\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-ia32\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==\",\r\n      \"cpu\": [\r\n        \"ia32\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-loong64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==\",\r\n      \"cpu\": [\r\n        \"loong64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"linux\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/linux-mips64el\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG\n\nArchive v1.0.8: 7 files, 25649 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24923b), package-lock.json (53117b), package.json (267b), SKILL.md (7445b), tools.js (18067b), _meta.json (148b)\n\nArchive v1.0.7: 7 files, 25534 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24923b), package-lock.json (53117b), package.json (267b), SKILL.md (7034b), tools.js (18067b), _meta.json (148b)\n\nArchive v1.0.6: 7 files, 25647 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24923b), package-lock.json (53117b), package.json (267b), SKILL.md (5689b), tools.js (19468b), _meta.json (148b)\n\nArchive v1.0.5: 7 files, 25456 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24923b), package-lock.json (53117b), package.json (267b), SKILL.md (5689b), tools.js (18513b), _meta.json (148b)\n\nArchive v1.0.4: 7 files, 25351 bytes\n\nFiles: config/ore-type-map.json (1986b), index.js (24923b), package-lock.json (53117b), package.json (267b), SKILL.md (5689b), tools.js (18055b), _meta.json (148b)\n\nArchive v1.0.3: 8 files, 25984 bytes\n\nFiles: config/ore-type-map.json (1986b), package-lock.json (51509b), package.json (442b), SKILL.md (4261b), src/index.ts (23163b), src/tools.ts (18630b), tsconfig.json (273b), _meta.json (148b)\n\nArchive v1.0.2: 8 files, 33987 bytes\n\nFiles: config/ore-type-map.json (1986b), package-lock.json (51509b), package.json (442b), SKILL.md (16030b), src/index.ts (26715b), src/tools.ts (22810b), tsconfig.json (273b), _meta.json (148b)","readmeExcerpt":"Skill: ClawQuest: Agent Mine - OpenClaw Managed Mining Owner: zhzai30 Summary: The managed automated mining server interface supports OpenClaw session mode and incremental event retrieval, enabling mining startup, status query, settlement, and stamina management. Tags: agent-mine:1.0.1, automation:1.0.1, clawquest:1.0.1, latest:1.0.11, mining:1.0.1, openclaw:1.0.1 Version history: v1.0.11 | 2026-04-26T10:50:04.529Z |","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nslug: clawquest-agent-mine-openclaw\r\nname: ClawQuest: Agent Mine - OpenClaw Managed Mining\r\nowner: \"@zhzai30 - zhzai30\"\r\nversion: 1.0.10\r\ndescription: Managed mining over public game APIs using X-Api-Code authentication.\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      env:\r\n        - REQUEST_TIMEOUT_MS\r\n    emoji: \"⛏️\"\r\n    homepage: \"\"\r\n---\r\n\r\n# ClawQuest: Agent Mine - OpenClaw Managed Mining\r\n\r\nThis Skill exposes managed mining tools for OpenClaw session workflows.\r\n\r\n## Agent rules OpenClaw\r\n\r\nAutomated agents (including OpenClaw workflows) must follow these constraints:\r\n\r\n- **Tools only**: Interact with the game **only** through this Skill’s **tool** HTTP API — `POST /tool/:name` on the skill-openclaw service, using the tool names documented below (`set_api_code`, `check_mining_state`, `start_managed_mining_loop`, etc.). Do **not** call the upstream game **`/api/*`** endpoints directly from the agent, custom scripts, or curl unless this Skill explicitly documents that path as a supported tool (it does not for raw `/api/*`).\r\n- **Do not modify source**: Do **not** edit, patch, or fork the `skill-openclaw` source tree, `package.json`, or runtime code to “fix” behaviour. Use documented environment variables and this `SKILL.md` only.\r\n- **Report errors; do not self-heal in code**: If a tool fails or behaviour is unexpected, **report** the failure (HTTP status, response body, tool name, `cacheKey`, timestamps, logs). Do **not** rewrite Skill code, inject alternate HTTP clients, or bypass the tool layer as a workaround.\r\n\r\n## API Contract\r\n\r\nAll mining and stamina APIs require `X-Api-Code`.\r\n\r\n- `POST /api/startMining`\r\n- `POST /api/checkMiningState`\r\n- `POST /api/endMining`\r\n- `POST /api/setAutoMining`\r\n- `POST /api/buyStamina`\r\n- `POST /api/getStamina`\r\n\r\n(Internal round flow still uses `POST /api/setAutoMining`, `POST /api/startMining` and `POST /api/endMining` via the managed loop implementation; they are not exposed as Skill tools.)\r\n\r\nAuthentication:\r\n\r\n- Header: `X-Api-Code: <apiCode>`\r\n\r\nThe Skill does not perform game client login. Users must provide `apiCode` generated in-game.\r\n\r\n## State Codes\r\n\r\n`check_mining_state` returns `apiState` and `miningState`. Numeric values map as follows.\r\n\r\n**apiState**\r\n\r\n| Value | Name        |\r\n| ----- | ----------- |\r\n| 0     | ApiInactive |\r\n| 1     | ApiInUse    |\r\n| 2     | ApiClosing  |\r\n| 3     | ApiActive   |\r\n\r\n**miningState**\r\n\r\n| Value | Name                |\r\n| ----- | ------------------- |\r\n| 0     | MiningIdle          |\r\n| 1     | MiningInProgress    |\r\n| 2     | MiningRewardPending |\r\n\r\n## Tools\r\n\r\n### set_api_code\r\n\r\nPersist an `apiCode` for later calls.\r\n\r\nInputs:\r\n\r\n- `apiCode` (required)\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### get_api_code\r\n\r\nRead the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### clear_api_code\r\n\r\nDelete the cached `apiCode`.\r\n\r\nInputs:\r\n\r\n- `cacheKey` (optional, default: `default`)\r\n\r\n### check_mining_state\r\n\r\nQuer"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn749jzfaas35ckrmnw2x8dqax845ndf\",\n  \"slug\": \"clawquest-agent-mine-openclaw\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1777200604529\n}"},{"path":"skill-card.md","content":"## Description:\n\nManaged mining over public game APIs using X-Api-Code authentication.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhzai30](https://clawhub.ai/user/zhzai30)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agent developers use this skill to manage OpenClaw mining sessions, check mining and stamina state, collect incremental session events, and start or stop automated mining loops through documented tools.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Saved game API codes can be exposed through the local service or persisted cache.\n\nMitigation: Run the service only on a trusted local machine or behind strong authentication, avoid shared cache keys such as default, clear cached codes when finished, and rotate any apiCode that may have been stored or exposed.\n\nRisk: Mining automation and stamina purchase tools can spend account resources, including diamonds when auto-buy is enabled.\n\nMitigation: Keep auto-buy disabled unless automatic diamond spending is intended, set conservative failure limits, and monitor stamina and diamond status before starting long-running loops.\n\nRisk: The server security verdict is suspicious because the local HTTP service is under-protected for secret storage and resource-spending actions.\n\nMitigation: Review before installing, restrict network exposure, and treat the apiCode as an account secret.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zhzai30/skills/clawquest-agent-mine-openclaw)\n- [ClawHub publisher profile](https://clawhub.ai/user/zhzai30)\n- [Configured game API base URL](https://api.km.cocweb3.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with tool names, JSON-style API responses, shell commands, and configuration guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill can expose session status, cached API-code state, mining events, stamina data, and upstream game API responses.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release evidence; artifact frontmatter reports 1.0.10 and package.json reports 1.0.4)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"config/ore-type-map.json","content":"{\n  \"oreTypeNameMap\": {\n    \"1\": {\n      \"resourceId\": 10003,\n      \"zh_CN\": \"金矿石\",\n      \"zh_TW\": \"金礦石\",\n      \"en_US\": \"Gold Ore\",\n      \"ja_JP\": \"金鉱石\",\n      \"ko_KR\": \"금 광석\",\n      \"ru_RU\": \"Золотая руда\"\n    },\n    \"2\": {\n      \"resourceId\": 10004,\n      \"zh_CN\": \"铜矿石\",\n      \"zh_TW\": \"銅礦石\",\n      \"en_US\": \"Copper Ore\",\n      \"ja_JP\": \"銅鉱石\",\n      \"ko_KR\": \"구리 광석\",\n      \"ru_RU\": \"Медная руда\"\n    },\n    \"3\": {\n      \"resourceId\": 10005,\n      \"zh_CN\": \"铁矿石\",\n      \"zh_TW\": \"鐵礦石\",\n      \"en_US\": \"Iron Ore\",\n      \"ja_JP\": \"鉄鉱石\",\n      \"ko_KR\": \"철 광석\",\n      \"ru_RU\": \"Железная руда\"\n    },\n    \"4\": {\n      \"resourceId\": 10006,\n      \"zh_CN\": \"钴矿石\",\n      \"zh_TW\": \"鈷礦石\",\n      \"en_US\": \"Cobalt Ore\",\n      \"ja_JP\": \"コバルト鉱石\",\n      \"ko_KR\": \"코발트 광석\",\n      \"ru_RU\": \"Кобальтовая руда\"\n    },\n    \"5\": {\n      \"resourceId\": 10007,\n      \"zh_CN\": \"铀矿石\",\n      \"zh_TW\": \"鈾礦石\",\n      \"en_US\": \"Uranium Ore\",\n      \"ja_JP\": \"ウラン鉱石\",\n      \"ko_KR\": \"우라늄 광석\",\n      \"ru_RU\": \"Урановая руда\"\n    },\n    \"6\": {\n      \"resourceId\": 10008,\n      \"zh_CN\": \"伊斯密矿石\",\n      \"zh_TW\": \"伊斯密礦石\",\n      \"en_US\": \"Ismium Ore\",\n      \"ja_JP\": \"イズミウム鉱石\",\n      \"ko_KR\": \"이즈미움 광석\",\n      \"ru_RU\": \"Измиевая руда\"\n    },\n    \"7\": {\n      \"resourceId\": 10009,\n      \"zh_CN\": \"铱矿石\",\n      \"zh_TW\": \"銥礦石\",\n      \"en_US\": \"Iridium Ore\",\n      \"ja_JP\": \"イリジウム鉱石\",\n      \"ko_KR\": \"이리듐 광석\",\n      \"ru_RU\": \"Иридиевая руда\"\n    },\n    \"8\": {\n      \"resourceId\": 10010,\n      \"zh_CN\": \"电气石矿石\",\n      \"zh_TW\": \"電氣石礦石\",\n      \"en_US\": \"Tourmaline Ore\",\n      \"ja_JP\": \"電気石鉱石\",\n      \"ko_KR\": \"전기석 광석\",\n      \"ru_RU\": \"Турмалиновая руда\"\n    }\n  }\n}"},{"path":"package-lock.json","content":"{\r\n  \"name\": \"clawquest-agent-mine-openclaw\",\r\n  \"version\": \"1.0.4\",\r\n  \"lockfileVersion\": 3,\r\n  \"requires\": true,\r\n  \"packages\": {\r\n    \"\": {\r\n      \"name\": \"clawquest-agent-mine-openclaw\",\r\n      \"version\": \"1.0.4\",\r\n      \"dependencies\": {\r\n        \"express\": \"^4.21.2\",\r\n        \"zod\": \"^3.23.8\"\r\n      },\r\n      \"devDependencies\": {\r\n        \"@types/express\": \"^4.17.21\",\r\n        \"@types/node\": \"^25.5.2\",\r\n        \"tsx\": \"^4.19.2\",\r\n        \"typescript\": \"^5.6.3\"\r\n      },\r\n      \"engines\": {\r\n        \"node\": \">=20\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/aix-ppc64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==\",\r\n      \"cpu\": [\r\n        \"ppc64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"aix\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==\",\r\n      \"cpu\": [\r\n        \"arm\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/android-x64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==\",\r\n      \"cpu\": [\r\n        \"x64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"android\"\r\n      ],\r\n      \"engines\": {\r\n        \"node\": \">=18\"\r\n      }\r\n    },\r\n    \"node_modules/@esbuild/darwin-arm64\": {\r\n      \"version\": \"0.27.7\",\r\n      \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz\",\r\n      \"integrity\": \"sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==\",\r\n      \"cpu\": [\r\n        \"arm64\"\r\n      ],\r\n      \"dev\": true,\r\n      \"license\": \"MIT\",\r\n      \"optional\": true,\r\n      \"os\": [\r\n        \"darwin\"\r\n      ],\r\n    "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1711,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:26:04.668Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T16:43:40.487Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}