@aiping.cn/model_router 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,31 +1,70 @@
1
1
  /**
2
- * @aiping.cn/model_router — OpenClaw Plugin Entry Point
2
+ * @aiping.cn/model_router — OpenClaw Plugin Entry Point (v1.4)
3
3
  *
4
- * Registers the "aiping:claw" virtual model with the OpenClaw Gateway
5
- * and routes incoming requests to either a local Ollama model or the
6
- * AIPing cloud API based on a lightweight 5-dimension rule scorer.
4
+ * Real OpenClaw 2026.3.11 plugin API:
5
+ * - api.pluginConfig → plugin's validated config (read-only snapshot)
6
+ * - api.registerHttpRoute() → proxy at /aiping/v1/chat/completions
7
+ * - api.registerCli() → adds `openclaw model-router-setup` terminal command
7
8
  *
8
- * 默认策略:约 90% 请求走本地模型,只有复杂任务走云端。
9
+ * Setup flow:
10
+ * 1. openclaw plugins install @aiping.cn/model_router
11
+ * 2. openclaw model-router-setup ← interactive wizard (stdin/stdout)
12
+ * 3. openclaw gateway --restart ← reload with new config
9
13
  */
10
- import type { ChatRequest, ChatResponse } from './types.js';
14
+ import type { IncomingMessage, ServerResponse } from 'http';
11
15
  export default function register(api: OpenClawPluginAPI): void;
16
+ interface CommanderProgram {
17
+ command(name: string): CommanderCommand;
18
+ }
19
+ interface CommanderCommand {
20
+ description(desc: string): CommanderCommand;
21
+ option(flags: string, desc?: string, defaultValue?: unknown): CommanderCommand;
22
+ action(fn: (...args: unknown[]) => void | Promise<void>): CommanderCommand;
23
+ }
24
+ interface PluginLogger {
25
+ info(msg: string): void;
26
+ warn(msg: string): void;
27
+ error(msg: string): void;
28
+ debug(msg: string): void;
29
+ }
12
30
  interface OpenClawPluginAPI {
13
- getConfig(): Record<string, unknown>;
14
- setConfig(config: Record<string, unknown>): Promise<void>;
15
- onConfigChange(callback: (config: Record<string, unknown>) => void): void;
16
- registerCommand(cmd: {
17
- name: string;
18
- description: string;
19
- run(): Promise<void>;
31
+ id: string;
32
+ name: string;
33
+ version: string;
34
+ description: string;
35
+ source: string;
36
+ config: Record<string, unknown>;
37
+ pluginConfig: Record<string, unknown>;
38
+ runtime: unknown;
39
+ logger: PluginLogger;
40
+ registerTool(tool: unknown, opts?: unknown): void;
41
+ registerHook(events: unknown, handler: unknown, opts?: unknown): void;
42
+ registerHttpRoute(params: {
43
+ path: string;
44
+ auth: 'gateway' | 'plugin';
45
+ match?: 'exact' | 'prefix';
46
+ handler: (req: IncomingMessage, res: ServerResponse) => Promise<boolean | void>;
47
+ }): void;
48
+ registerChannel(registration: unknown): void;
49
+ registerProvider(provider: unknown): void;
50
+ registerGatewayMethod(method: string, handler: unknown): void;
51
+ registerCli(registrar: (params: {
52
+ program: CommanderProgram;
53
+ config: unknown;
54
+ workspaceDir: string;
55
+ logger: PluginLogger;
56
+ }) => void | Promise<void>, opts?: {
57
+ commands?: string[];
20
58
  }): void;
21
- registerModelRoute(route: {
22
- model: string;
59
+ registerService(service: unknown): void;
60
+ registerCommand(command: {
61
+ name: string;
23
62
  description: string;
24
- chat(request: ChatRequest): Promise<ChatResponse>;
25
- chatStream(request: ChatRequest): AsyncGenerator<string>;
63
+ handler(...args: unknown[]): Promise<void>;
26
64
  }): void;
27
- /** Optional: set the Gateway's default model (available in OpenClaw Gateway ≥ 1.x) */
28
- setDefaultModel?(model: string): Promise<void>;
65
+ registerContextEngine(id: string, factory: unknown): void;
66
+ resolvePath(input: string): string;
67
+ on(hookName: string, handler: unknown, opts?: unknown): void;
29
68
  }
30
69
  export {};
31
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAW1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA+D7D;AA8GD,UAAU,iBAAiB;IACzB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1E,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,kBAAkB,CAAC,KAAK,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;KAC1D,GAAG,IAAI,CAAC;IACT,sFAAsF;IACtF,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAe5D,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAoH7D;AA0ID,UAAU,gBAAgB;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACzC;AAED,UAAU,gBAAgB;IACxB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC/E,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;CAC5E;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IAErB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtE,iBAAiB,CAAC,MAAM,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;KACjF,GAAG,IAAI,CAAC;IACT,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9D,WAAW,CACT,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACvI,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,OAAO,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5C,GAAG,IAAI,CAAC;IACT,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D"}
package/dist/index.js CHANGED
@@ -1,13 +1,50 @@
1
1
  "use strict";
2
2
  /**
3
- * @aiping.cn/model_router — OpenClaw Plugin Entry Point
3
+ * @aiping.cn/model_router — OpenClaw Plugin Entry Point (v1.4)
4
4
  *
5
- * Registers the "aiping:claw" virtual model with the OpenClaw Gateway
6
- * and routes incoming requests to either a local Ollama model or the
7
- * AIPing cloud API based on a lightweight 5-dimension rule scorer.
5
+ * Real OpenClaw 2026.3.11 plugin API:
6
+ * - api.pluginConfig → plugin's validated config (read-only snapshot)
7
+ * - api.registerHttpRoute() → proxy at /aiping/v1/chat/completions
8
+ * - api.registerCli() → adds `openclaw model-router-setup` terminal command
8
9
  *
9
- * 默认策略:约 90% 请求走本地模型,只有复杂任务走云端。
10
+ * Setup flow:
11
+ * 1. openclaw plugins install @aiping.cn/model_router
12
+ * 2. openclaw model-router-setup ← interactive wizard (stdin/stdout)
13
+ * 3. openclaw gateway --restart ← reload with new config
10
14
  */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
11
48
  Object.defineProperty(exports, "__esModule", { value: true });
12
49
  exports.default = register;
13
50
  const types_js_1 = require("./types.js");
@@ -15,115 +52,171 @@ const router_js_1 = require("./router/router.js");
15
52
  const local_js_1 = require("./providers/local.js");
16
53
  const cloud_js_1 = require("./providers/cloud.js");
17
54
  const wizard_js_1 = require("./setup/wizard.js");
55
+ const os = __importStar(require("os"));
56
+ const fs = __importStar(require("fs"));
57
+ const path = __importStar(require("path"));
18
58
  // ──────────────────────────────────────────────────────────────────────────────
19
- // OpenClaw plugin API surface (api object injected by the Gateway at load time)
59
+ // Plugin entry point called synchronously when the plugin is loaded
20
60
  // ──────────────────────────────────────────────────────────────────────────────
21
61
  function register(api) {
22
- let config = buildConfig(api.getConfig());
23
- // Re-build config whenever it changes (live reload support)
24
- api.onConfigChange((newConfig) => {
25
- config = buildConfig(newConfig);
26
- });
27
- // ── 注册 CLI 命令:重新运行配置向导 ─────────────────────────────────────
28
- api.registerCommand({
29
- name: 'aiping:setup',
30
- description: '运行 AIPing Model Router 中文配置向导',
31
- async run() {
32
- const updated = await (0, wizard_js_1.runSetupWizard)(config);
33
- await api.setConfig(updated);
34
- config = updated;
35
- },
36
- });
37
- // ── 首次安装:自动触发中文配置向导 ─────────────────────────────────────
38
- // 如果 aipingApiKey 还没配置,说明是首次安装,自动启动向导。
39
- if (!config.aipingApiKey) {
40
- (0, wizard_js_1.runSetupWizard)(config)
41
- .then(async (updated) => {
42
- await api.setConfig(updated);
43
- config = updated;
44
- })
45
- .catch((wizardErr) => {
46
- console.warn('[aiping:router] 配置向导退出,稍后可运行 `openclaw run aiping:setup` 重新配置。', wizardErr.message);
62
+ const cfg = buildConfig(api.pluginConfig ?? {});
63
+ // ── Register `openclaw model-router-setup` CLI command ───────────────────────
64
+ // registerCli adds real top-level commands to the `openclaw` CLI via Commander.
65
+ // The registrar function receives { program } and attaches subcommands.
66
+ api.registerCli(({ program }) => {
67
+ program
68
+ .command('model-router-setup')
69
+ .description('Configure AIPing Model Router — interactive wizard (中文)')
70
+ .action(async () => {
71
+ const current = buildConfig(readPluginConfigFromFile(api.id) ?? api.pluginConfig ?? {});
72
+ const updated = await (0, wizard_js_1.runSetupWizard)(current);
73
+ const saved = writePluginConfigToFile(api.id, updated);
74
+ if (saved) {
75
+ console.log('\n✅ 配置已保存。重启 gateway 生效:openclaw gateway --restart\n');
76
+ }
77
+ else {
78
+ console.log('\n⚠️ 请手动设置 API Key:');
79
+ console.log(` openclaw plugins config model_router set aipingApiKey "${updated.aipingApiKey}"\n`);
80
+ }
47
81
  });
48
- }
49
- // ── 注册虚拟模型 aiping:claw ─────────────────────────────────────────────
50
- api.registerModelRoute({
51
- model: 'aiping:claw',
52
- description: 'AIPing 智能路由 — 自动在本地模型和云端 Kimi-K2.5 之间切换(约 90% 走本地)',
53
- async chat(request) {
54
- return handleChat(request, config);
82
+ }, { commands: ['model-router-setup'] });
83
+ // ── HTTP proxy: /aiping/v1/chat/completions ──────────────────────────────────
84
+ api.registerHttpRoute({
85
+ path: '/aiping/v1/chat/completions',
86
+ auth: 'plugin',
87
+ match: 'exact',
88
+ handler: async (req, res) => {
89
+ if (req.method === 'OPTIONS') {
90
+ res.writeHead(204, corsHeaders());
91
+ res.end();
92
+ return true;
93
+ }
94
+ if (req.method !== 'POST') {
95
+ res.writeHead(405, { 'Content-Type': 'application/json' });
96
+ res.end(JSON.stringify({ error: 'Method not allowed' }));
97
+ return true;
98
+ }
99
+ try {
100
+ const body = await readBody(req);
101
+ const chatReq = JSON.parse(body);
102
+ // Always re-read from disk so config changes take effect without gateway restart
103
+ const liveCfg = buildConfig(readPluginConfigFromFile(api.id) ?? api.pluginConfig ?? {});
104
+ const router = new router_js_1.Router(liveCfg);
105
+ const decision = router.decide(chatReq);
106
+ if (chatReq.stream === true) {
107
+ res.writeHead(200, {
108
+ 'Content-Type': 'text/event-stream',
109
+ 'Cache-Control': 'no-cache',
110
+ Connection: 'keep-alive',
111
+ ...corsHeaders(),
112
+ });
113
+ await pipeStream(decision.target, liveCfg, chatReq, res);
114
+ res.end();
115
+ }
116
+ else {
117
+ const response = await fetchChat(decision.target, liveCfg, chatReq);
118
+ const json = JSON.stringify(response);
119
+ res.writeHead(200, {
120
+ 'Content-Type': 'application/json',
121
+ 'Content-Length': Buffer.byteLength(json),
122
+ ...corsHeaders(),
123
+ });
124
+ res.end(json);
125
+ }
126
+ }
127
+ catch (err) {
128
+ const message = err instanceof Error ? err.message : String(err);
129
+ api.logger.warn(`[model_router] request error: ${message}`);
130
+ if (!res.headersSent) {
131
+ res.writeHead(500, { 'Content-Type': 'application/json' });
132
+ res.end(JSON.stringify({ error: { message, type: 'router_error' } }));
133
+ }
134
+ }
135
+ return true;
55
136
  },
56
- async *chatStream(request) {
57
- yield* handleChatStream(request, config);
137
+ });
138
+ // ── Health / status endpoint ─────────────────────────────────────────────────
139
+ api.registerHttpRoute({
140
+ path: '/aiping/health',
141
+ auth: 'plugin',
142
+ match: 'exact',
143
+ handler: async (_req, res) => {
144
+ const liveCfg = buildConfig(readPluginConfigFromFile(api.id) ?? api.pluginConfig ?? {});
145
+ res.writeHead(200, { 'Content-Type': 'application/json' });
146
+ res.end(JSON.stringify({
147
+ ok: true,
148
+ plugin: '@aiping.cn/model_router',
149
+ version: '1.4.0',
150
+ configured: Boolean(liveCfg.aipingApiKey),
151
+ localModel: liveCfg.localModel,
152
+ cloudModel: liveCfg.cloudModel,
153
+ routingThreshold: liveCfg.routingThreshold,
154
+ proxyEndpoint: '/aiping/v1/chat/completions',
155
+ }));
156
+ return true;
58
157
  },
59
158
  });
60
- // ── 注册为默认模型 ────────────────────────────────────────────────────────
61
- // 尝试通过 Gateway API 设置默认模型(若 API 可用)
62
- if (typeof api.setDefaultModel === 'function') {
63
- api.setDefaultModel('aiping:claw').catch(() => {
64
- // 静默失败:向导内已提供手动设置方式
65
- });
159
+ // ── Startup log ──────────────────────────────────────────────────────────────
160
+ if (!cfg.aipingApiKey) {
161
+ api.logger.warn('[model_router] 尚未配置 AIPing API Key。\n' +
162
+ ' ➜ 运行配置向导:openclaw model-router-setup');
163
+ }
164
+ else {
165
+ api.logger.info(`[model_router] ✅ 就绪 | 本地=${cfg.localModel} | 云端=${cfg.cloudModel}` +
166
+ ` | 阈值=${cfg.routingThreshold} | 代理=/aiping/v1/chat/completions`);
66
167
  }
67
- console.log('[aiping:router] ✅ 已注册虚拟模型 "aiping:claw"' +
68
- ` | 阈值=${config.routingThreshold} | 本地=${config.localModel}` +
69
- (config.debugRouting ? ' | 路由调试开启' : ''));
70
168
  }
71
169
  // ──────────────────────────────────────────────────────────────────────────────
72
- // Core request handlers
170
+ // Routing helpers
73
171
  // ──────────────────────────────────────────────────────────────────────────────
74
- async function handleChat(request, config) {
75
- const router = new router_js_1.Router(config);
76
- const local = new local_js_1.LocalAdapter(config);
77
- const cloud = new cloud_js_1.CloudAdapter(config);
78
- const decision = router.decide(request);
79
- if (decision.target === 'local') {
172
+ async function fetchChat(target, cfg, req) {
173
+ const local = new local_js_1.LocalAdapter(cfg);
174
+ const cloud = new cloud_js_1.CloudAdapter(cfg);
175
+ if (target === 'local') {
80
176
  try {
81
- return await local.chat(request);
177
+ return await local.chat(req);
82
178
  }
83
- catch (err) {
84
- if (config.fallbackToCloud) {
85
- console.warn(`[aiping:router] Local failed (${err.message}), falling back to cloud`);
86
- return cloud.chat(request);
179
+ catch (e) {
180
+ if (cfg.fallbackToCloud) {
181
+ return cloud.chat(req);
87
182
  }
88
- throw err;
183
+ throw e;
89
184
  }
90
185
  }
91
- // Cloud path: no fallback needed (cloud errors surface directly)
92
186
  try {
93
- return await cloud.chat(request);
187
+ return await cloud.chat(req);
94
188
  }
95
- catch (err) {
96
- // If cloud fails and fallback is enabled, try local as last resort
97
- if (config.fallbackToCloud && !(err instanceof local_js_1.LocalAdapterError)) {
98
- console.warn(`[aiping:router] Cloud failed (${err.message}), trying local as fallback`);
99
- return local.chat(request);
189
+ catch (e) {
190
+ if (cfg.fallbackToCloud) {
191
+ return local.chat(req);
100
192
  }
101
- throw err;
193
+ throw e;
102
194
  }
103
195
  }
104
- async function* handleChatStream(request, config) {
105
- const router = new router_js_1.Router(config);
106
- const local = new local_js_1.LocalAdapter(config);
107
- const cloud = new cloud_js_1.CloudAdapter(config);
108
- const decision = router.decide(request);
109
- if (decision.target === 'local') {
196
+ async function pipeStream(target, cfg, req, res) {
197
+ const local = new local_js_1.LocalAdapter(cfg);
198
+ const cloud = new cloud_js_1.CloudAdapter(cfg);
199
+ const r = req;
200
+ if (target === 'local') {
110
201
  try {
111
- yield* local.chatStream(request);
202
+ for await (const chunk of local.chatStream(r))
203
+ res.write(chunk);
112
204
  return;
113
205
  }
114
- catch (err) {
115
- if (config.fallbackToCloud) {
116
- console.warn(`[aiping:router] Local stream failed (${err.message}), falling back to cloud`);
117
- yield* cloud.chatStream(request);
206
+ catch (e) {
207
+ if (cfg.fallbackToCloud) {
208
+ for await (const chunk of cloud.chatStream(r))
209
+ res.write(chunk);
118
210
  return;
119
211
  }
120
- throw err;
212
+ throw e;
121
213
  }
122
214
  }
123
- yield* cloud.chatStream(request);
215
+ for await (const chunk of cloud.chatStream(r))
216
+ res.write(chunk);
124
217
  }
125
218
  // ──────────────────────────────────────────────────────────────────────────────
126
- // Helpers
219
+ // Config persistence helpers
127
220
  // ──────────────────────────────────────────────────────────────────────────────
128
221
  function buildConfig(raw) {
129
222
  return {
@@ -132,18 +225,68 @@ function buildConfig(raw) {
132
225
  localProxyKey: raw['localProxyKey'] ?? '',
133
226
  localModel: raw['localModel'] ?? types_js_1.DEFAULT_CONFIG.localModel,
134
227
  cloudModel: raw['cloudModel'] ?? types_js_1.DEFAULT_CONFIG.cloudModel,
135
- routingThreshold: typeof raw['routingThreshold'] === 'number'
136
- ? raw['routingThreshold']
137
- : types_js_1.DEFAULT_CONFIG.routingThreshold,
138
- fallbackToCloud: typeof raw['fallbackToCloud'] === 'boolean'
139
- ? raw['fallbackToCloud']
140
- : types_js_1.DEFAULT_CONFIG.fallbackToCloud,
141
- localTimeoutMs: typeof raw['localTimeoutMs'] === 'number'
142
- ? raw['localTimeoutMs']
143
- : types_js_1.DEFAULT_CONFIG.localTimeoutMs,
144
- debugRouting: typeof raw['debugRouting'] === 'boolean'
145
- ? raw['debugRouting']
146
- : types_js_1.DEFAULT_CONFIG.debugRouting,
228
+ routingThreshold: typeof raw['routingThreshold'] === 'number' ? raw['routingThreshold'] : types_js_1.DEFAULT_CONFIG.routingThreshold,
229
+ fallbackToCloud: typeof raw['fallbackToCloud'] === 'boolean' ? raw['fallbackToCloud'] : types_js_1.DEFAULT_CONFIG.fallbackToCloud,
230
+ localTimeoutMs: typeof raw['localTimeoutMs'] === 'number' ? raw['localTimeoutMs'] : types_js_1.DEFAULT_CONFIG.localTimeoutMs,
231
+ debugRouting: typeof raw['debugRouting'] === 'boolean' ? raw['debugRouting'] : types_js_1.DEFAULT_CONFIG.debugRouting,
232
+ };
233
+ }
234
+ function resolveOpenClawConfigPath() {
235
+ const candidates = [
236
+ path.join(os.homedir(), '.openclaw', 'openclaw.json'),
237
+ path.join(os.homedir(), '.config', 'openclaw', 'openclaw.json'),
238
+ ];
239
+ return candidates.find(p => fs.existsSync(p)) ?? null;
240
+ }
241
+ /** Read plugin config directly from openclaw.json (always fresh, not from plugin snapshot) */
242
+ function readPluginConfigFromFile(pluginId) {
243
+ try {
244
+ const configPath = resolveOpenClawConfigPath();
245
+ if (!configPath)
246
+ return null;
247
+ const root = JSON.parse(fs.readFileSync(configPath, 'utf8'));
248
+ const entries = root['plugins']?.['entries'];
249
+ const entry = entries?.[pluginId];
250
+ return entry?.['config'] ?? null;
251
+ }
252
+ catch {
253
+ return null;
254
+ }
255
+ }
256
+ /** Persist updated plugin config back to openclaw.json */
257
+ function writePluginConfigToFile(pluginId, updated) {
258
+ try {
259
+ const configPath = resolveOpenClawConfigPath();
260
+ if (!configPath)
261
+ return false;
262
+ const root = JSON.parse(fs.readFileSync(configPath, 'utf8'));
263
+ const plugins = root['plugins'] ?? {};
264
+ const entries = plugins['entries'] ?? {};
265
+ const entry = entries[pluginId] ?? {};
266
+ entry['config'] = updated;
267
+ entries[pluginId] = entry;
268
+ plugins['entries'] = entries;
269
+ root['plugins'] = plugins;
270
+ fs.writeFileSync(configPath, JSON.stringify(root, null, 2), 'utf8');
271
+ return true;
272
+ }
273
+ catch {
274
+ return false;
275
+ }
276
+ }
277
+ function readBody(req) {
278
+ return new Promise((resolve, reject) => {
279
+ const chunks = [];
280
+ req.on('data', (c) => chunks.push(c));
281
+ req.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
282
+ req.on('error', reject);
283
+ });
284
+ }
285
+ function corsHeaders() {
286
+ return {
287
+ 'Access-Control-Allow-Origin': '*',
288
+ 'Access-Control-Allow-Headers': 'Content-Type, Authorization',
289
+ 'Access-Control-Allow-Methods': 'POST, OPTIONS',
147
290
  };
148
291
  }
149
292
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@ function printOllamaStatus(status, baseUrl) {
111
111
  tip(c.cyan('https://ollama.com/download'));
112
112
  blank();
113
113
  info(' 安装后请重新运行此向导:');
114
- cmd('openclaw run aiping:setup');
114
+ cmd('openclaw model-router-setup');
115
115
  }
116
116
  else if (!status.serviceRunning) {
117
117
  warn(`Ollama 已安装,但服务未运行(地址:${baseUrl})`);
@@ -296,7 +296,7 @@ async function runSetupWizard(existingConfig = {}) {
296
296
  console.log(c.bold('╚══════════════════════════════════════════════════════════╝'));
297
297
  blank();
298
298
  info('向导将自动检测环境,并引导你修复任何问题,确保安装完即可使用。');
299
- info('中途可按 Ctrl+C 退出,稍后运行 ' + c.cyan('openclaw run aiping:setup') + ' 重新配置。');
299
+ info('中途可按 Ctrl+C 退出,稍后运行 ' + c.cyan('openclaw model-router-setup') + ' 重新配置。');
300
300
  blank();
301
301
  try {
302
302
  // ── 环境预检:自动扫描 Ollama ──────────────────────────────────────────
@@ -474,7 +474,7 @@ async function runSetupWizard(existingConfig = {}) {
474
474
  console.log(c.red(c.bold(' ⚠️ 警告:本地和云端均未就绪')));
475
475
  hr();
476
476
  info('配置已保存,但当前 aiping:claw 无法处理任何请求。');
477
- info('请修复后运行:' + c.cyan(' openclaw run aiping:setup'));
477
+ info('请修复后运行:' + c.cyan(' openclaw model-router-setup'));
478
478
  blank();
479
479
  }
480
480
  // Set as default model
@@ -514,7 +514,7 @@ async function runSetupWizard(existingConfig = {}) {
514
514
  info(' 在 OpenClaw 中选择模型 ' + c.bold(c.cyan('"aiping:claw"')) + ' 即可开始使用。');
515
515
  blank();
516
516
  info(' 常用命令:');
517
- info(c.dim(' openclaw run aiping:setup # 重新配置'));
517
+ info(c.dim(' openclaw model-router-setup # 重新配置'));
518
518
  info(c.dim(' openclaw plugins config @aiping.cn/model_router list # 查看配置'));
519
519
  info(c.dim(' openclaw plugins config @aiping.cn/model_router set debugRouting true # 路由日志'));
520
520
  blank();
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmTA,wCA2RC;AA9kBD,4DAA8C;AAC9C,qCAA2D;AAC3D,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,0CAA6C;AAC7C,+CAMuB;AAMvB,iFAAiF;AACjF,0BAA0B;AAC1B,iFAAiF;AACjF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;AAC5C,MAAM,CAAC,GAAG;IACR,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAG,CAAC,CAAC,CAAC;IACzD,KAAK,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;IACzD,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;IACzD,GAAG,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;IACzD,GAAG,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAG,CAAC,CAAC,CAAC;IACzD,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,SAAS,EAAE,KAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,SAAS,KAAK,KAAe,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,SAAS,GAAG,CAAC,CAAS,IAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,SAAS,IAAI,CAAC,CAAS,IAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,SAAS,EAAE,CAAC,CAAS,IAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,SAAS,IAAI,CAAC,CAAS,IAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,SAAS,IAAI,CAAC,CAAS,IAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS,GAAG,CAAC,CAAS,IAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,SAAS,IAAI,CAAC,CAAS,IAAM,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3F,SAAS,OAAO,CAAC,CAAS,IAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,SAAS,UAAU,KAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAElF,iFAAiF;AACjF,+DAA+D;AAC/D,iFAAiF;AACjF,KAAK,UAAU,kBAAkB;IAC/B,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC;KAC9D,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;YAC9E,GAAG,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;YACpC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IACD,sBAAsB;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC/B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,6BAA6B;AAC7B,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,MAAoB,EAAE,OAAe;IAC9D,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzB,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvB,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAClC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,gBAAgB,OAAO,QAAQ,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACzB,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,6BAA6B;AAC7B,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,6BAA6B,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACxD,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,2BAA2B;AAC3B,iFAAiF;AACjF,KAAK,UAAU,cAAc,CAC3B,EAAsB,EACtB,SAAiD,EACjD,YAAoB;IAEpB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACtC,KAAK,EAAE,CAAC;QACR,gCAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC7B,eAAe,YAAY,IAAI,CAChC,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;IACtC,CAAC;IAED,KAAK,EAAE,CAAC;IACR,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC;IACR,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,KAAK,EAAE,CAAC;IAER,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAE3B,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAElC,oBAAoB;IACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,oBAAoB;IACpB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iFAAiF;AACjF,uEAAuE;AACvE,iFAAiF;AACjF,KAAK,UAAU,eAAe,CAC5B,EAAsB,EACtB,WAA+B,EAC/B,UAAkB;IAElB,IAAI,UAAU,GAAG,WAAW,IAAI,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,IAAI,UAAU,CAAC;QAElC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACtC,CAAC;YACD,SAAS;QACX,CAAC;QAED,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,cAAc,QAAQ,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,UAAU,EAAE,CAAC;QAEb,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YAChD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,qDAAqD;YACrD,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;YACD,SAAS;QACX,CAAC;QAED,cAAc;QACd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,+EAA+E;AAC/E,iFAAiF;AACjF,KAAK,UAAU,qBAAqB,CAClC,EAAsB,EACtB,OAAe;IAEf,IAAI,MAAM,GAAG,MAAM,IAAA,0BAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC9B,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC5B,gDAAgD,CACjD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC5B,kDAAkD,CACnD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC1D,CAAC;QAED,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,aAAa,CAAC,CAAC;QACvB,MAAM,GAAG,MAAM,IAAA,0BAAY,EAAC,OAAO,CAAC,CAAC;QACrC,UAAU,EAAE,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD,KAAK,UAAU,kBAAkB,CAAC,MAAoB;IACpD,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,IAAA,0BAAY,EAAC,MAAM,CAAC,aAAa,CAAC;QAClC,MAAM,CAAC,YAAY;YACjB,CAAC,CAAC,IAAA,0BAAY,EAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAe,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KACnG,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAC3F;QACD,OAAO,EAAE,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,KAAK,GAAG;QAC9D,YAAY,EAAE,WAAW,CAAC,SAAS;QACnC,YAAY,EAAE,WAAW,CAAC,SAAS;KACpC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,cAAc;AACd,iFAAiF;AAC1E,KAAK,UAAU,cAAc,CAAC,iBAAgC,EAAE;IACrE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAL,eAAK,EAAE,MAAM,EAAN,gBAAM,EAAE,CAAC,CAAC;IAEvD,KAAK,EAAE,CAAC;IACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;IACpF,KAAK,EAAE,CAAC;IACR,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACxC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,CAAC;IAChF,KAAK,EAAE,CAAC;IAER,IAAI,CAAC;QACH,iEAAiE;QACjE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE/B,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,IAAI,yBAAc,CAAC,aAAa,CAAC;QACnF,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;QACxD,UAAU,EAAE,CAAC;QAEb,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YACjC,EAAE,CAAC,gBAAgB,aAAa,QAAQ,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC;YACrE,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,EAAE,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,UAAU,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,EAAE,CAAC;QAER,uEAAuE;QACvE,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAE3C,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC1D,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC7B,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACrC,KAAK,EAAE,CAAC;QAER,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,IAAI,yBAAc,CAAC,UAAU,CAAC;QAC1E,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,eAAe,CAC1E,EAAE,EACF,cAAc,CAAC,YAAY,EAC3B,UAAU,CACX,CAAC;QACF,KAAK,EAAE,CAAC;QAER,iEAAiE;QACjE,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAErC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACrC,KAAK,EAAE,CAAC;QAER,qCAAqC;QACrC,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CACrC,kBAAkB,aAAa,cAAc,CAC9C,CAAC;QACF,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC;QAE5D,2BAA2B;QAC3B,IAAI,YAAY,GAAG,aAAa,CAAC;QACjC,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,YAAY,GAAG,MAAM,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;YACjD,UAAU,EAAE,CAAC;QACf,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YACjC,KAAK,EAAE,CAAC;YACR,YAAY,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,EAAE,EACF,YAAY,CAAC,MAAM,EACnB,cAAc,CAAC,UAAU,IAAI,yBAAc,CAAC,UAAU,CACvD,CAAC;QAEF,kDAAkD;QAClD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAC7E,CAAC;QACF,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;YACnD,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC;YACpC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACpC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAChC,8BAA8B,CAC/B,CAAC;YACF,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3B,WAAW;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;gBACpD,UAAU,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAC7E,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,EAAE,CAAC,MAAM,UAAU,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,UAAU,qBAAqB,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,EAAE,CAAC,MAAM,UAAU,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,aAAa,IAAI,EAAE,CAAC;QACtF,KAAK,EAAE,CAAC;QAER,mEAAmE;QACnE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE7B,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC1C,KAAK,EAAE,CAAC;QAER,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,IAAI,yBAAc,CAAC,gBAAgB,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,YAAY,IAAI,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;QAE1E,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAC9D,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAC7B,CAAC;QAEF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC;QAER,2DAA2D;QAC3D,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAErC,MAAM,MAAM,GAAiB;YAC3B,YAAY;YACZ,aAAa,EAAE,aAAa;YAC5B,aAAa;YACb,UAAU;YACV,UAAU;YACV,gBAAgB;YAChB,eAAe;YACf,cAAc,EAAE,cAAc,CAAC,cAAc,IAAI,yBAAc,CAAC,cAAc;YAC9E,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,yBAAc,CAAC,YAAY;SACzE,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvB,KAAK,EAAE,CAAC;QAER,OAAO,CAAC,aAAa,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;QACtD,UAAU,EAAE,CAAC;QAEb,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,EAAE,CAAC,aAAa,UAAU,aAAa,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,UAAU,SAAS,CAAC,CAAC;YACvC,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACjC,GAAG,CAAC,cAAc,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAY,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAChE,UAAU,EAAE,CAAC;YACb,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAE9B,4DAA4D;YAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;gBACjF,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBACtD,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAY,EAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;oBAC3D,UAAU,EAAE,CAAC;oBACb,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;wBAC9C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACtC,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,KAAK,EAAE,CAAC;YACR,EAAE,EAAE,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACjD,EAAE,EAAE,CAAC;YACL,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACzD,KAAK,EAAE,CAAC;QACV,CAAC;QAED,uBAAuB;QACvB,KAAK,EAAE,CAAC;QACR,EAAE,EAAE,CAAC;QACL,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CACvC,2CAA2C,CAC5C,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAC/D,eAAe,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACrC,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,EAAE,CAAC,gCAAgC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtB,GAAG,CAAC,gDAAgD,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,KAAK,EAAE,CAAC;QACR,EAAE,EAAE,CAAC;QACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,CAAC;QAER,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO;YAChC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO;YAChC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,CAAC;QAChB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC,CAAC;QAC/F,KAAK,EAAE,CAAC;QAER,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -1,18 +1,19 @@
1
1
  {
2
- "id": "@aiping.cn/model_router",
2
+ "id": "model_router",
3
3
  "version": "1.0.0",
4
4
  "name": "AIPing Model Router",
5
5
  "description": "Routes 'aiping:claw' model requests between your local Ollama model and AIPing cloud (Kimi-K2.5) using fast rule-based scoring.",
6
6
  "extensions": ["dist/index.js"],
7
7
  "configSchema": {
8
8
  "type": "object",
9
- "required": ["aipingApiKey"],
9
+ "required": [],
10
10
  "properties": {
11
11
  "aipingApiKey": {
12
12
  "type": "string",
13
13
  "title": "AIPing API Key",
14
14
  "description": "Your AIPing API key. Get it at https://aiping.cn/user/user-center",
15
- "secret": true
15
+ "secret": true,
16
+ "default": ""
16
17
  },
17
18
  "localProxyUrl": {
18
19
  "type": "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiping.cn/model_router",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "OpenClaw plugin: smart routing between local Ollama models and AIPing cloud (Kimi-K2.5). ~90% requests stay local.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -45,6 +45,11 @@
45
45
  "access": "public",
46
46
  "registry": "https://registry.npmjs.org"
47
47
  },
48
+ "openclaw": {
49
+ "extensions": [
50
+ "./dist/index.js"
51
+ ]
52
+ },
48
53
  "devDependencies": {
49
54
  "@types/node": "^20.11.0",
50
55
  "typescript": "^5.3.3",