@aalis/plugin-okx-trading 0.9.2 → 0.10.0

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,11 +1,23 @@
1
- import type { Context } from '@aalis/core';
2
- import type { ConfigSchema } from '@aalis/schema-config';
3
- export declare const name = "@aalis/plugin-okx-trading";
4
- export declare const displayName = "OKX \u4EA4\u6613";
5
- export declare const subsystem = "external";
6
- export declare const inject: {
7
- optional: string[];
8
- };
9
- export declare const configSchema: ConfigSchema;
10
- export declare function apply(ctx: Context, config: Record<string, unknown>): void;
1
+ /**
2
+ * 动真金白银 / 改仓位:visibility restricted(最低等级 2,仅信任档/owner 可驱动)。
3
+ * 堵"任意 visitor 驱动 LLM 用 owner 真钱下单/划转"。不加逐单 confirm —— okx 刻意保留
4
+ * 实时/算法交易能力(见实盘安全闸注释),改用「等级门禁 + 一次性显式 confirmRealMoney」。
5
+ * 注意:与 ACCOUNT_READ_OKX_TOOLS 必须互斥——capabilityMinLevel 里 risk 会遮蔽
6
+ * visibility,二者同标会把门槛从 2 反降到 1。
7
+ */
8
+ export declare const MUTATING_OKX_TOOLS: Set<string>;
9
+ /**
10
+ * 账户读:risk sensitive(挡等级 0 的陌生群成员经 LLM 读 owner 真实资金数据;
11
+ * owner 与已授权用户不受影响)。判据是**语义**(读账户/订单/资金流水/链上地址),
12
+ * 不是文件归属——trade/algo/transfer 文件里的查询工具同样在列(对抗审计抓过
13
+ * 按文件包装漏掉 9 个同类工具的教训)。行情/量化数据(market/rubik)是公开数据,
14
+ * 不在此列,维持 public。
15
+ */
16
+ export declare const ACCOUNT_READ_OKX_TOOLS: Set<string>;
17
+ declare const _default: import("@aalis/core").PluginDefinition<{
18
+ tools: import("@aalis/core/dist/composition/descriptors.js").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
19
+ logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
20
+ config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
21
+ }>;
22
+ export default _default;
11
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYzD,eAAO,MAAM,IAAI,8BAA8B,CAAC;AAChD,eAAO,MAAM,WAAW,qBAAW,CAAC;AACpC,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,MAAM;;CAA0B,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAE,YA0D1B,CAAC;AAsCF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmEzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6GA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAa7B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,aAgCjC,CAAC;;;;;;AAOH,wBAOG"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
- import { useToolService } from '@aalis/api-tools';
1
+ import { tools } from '@aalis/api-tools';
2
+ import { config, definePlugin, logger, optional } from '@aalis/core';
2
3
  import { OkxClient } from './client.js';
3
4
  import { registerAccountTools } from './tools/account.js';
4
5
  import { registerAlgoTools } from './tools/algo.js';
@@ -7,12 +8,7 @@ import { registerOrderQueryTools } from './tools/orders.js';
7
8
  import { registerRubikTools } from './tools/rubik.js';
8
9
  import { registerTradeTools } from './tools/trade.js';
9
10
  import { registerTransferTools } from './tools/transfer.js';
10
- // ===== 插件元数据 =====
11
- export const name = '@aalis/plugin-okx-trading';
12
- export const displayName = 'OKX 交易';
13
- export const subsystem = 'external';
14
- export const inject = { optional: ['tools'] };
15
- export const configSchema = {
11
+ const configSchema = {
16
12
  apiKey: {
17
13
  type: 'string',
18
14
  label: 'API Key',
@@ -88,11 +84,82 @@ function resolveConfig(config) {
88
84
  maxPageLimit,
89
85
  };
90
86
  }
87
+ // ===== 工具权限三分名单(模块级导出,测试做补集断言防漏网)=====
88
+ /**
89
+ * 动真金白银 / 改仓位:visibility restricted(最低等级 2,仅信任档/owner 可驱动)。
90
+ * 堵"任意 visitor 驱动 LLM 用 owner 真钱下单/划转"。不加逐单 confirm —— okx 刻意保留
91
+ * 实时/算法交易能力(见实盘安全闸注释),改用「等级门禁 + 一次性显式 confirmRealMoney」。
92
+ * 注意:与 ACCOUNT_READ_OKX_TOOLS 必须互斥——capabilityMinLevel 里 risk 会遮蔽
93
+ * visibility,二者同标会把门槛从 2 反降到 1。
94
+ */
95
+ export const MUTATING_OKX_TOOLS = new Set([
96
+ 'okx_place_order',
97
+ 'okx_cancel_order',
98
+ 'okx_amend_order',
99
+ 'okx_set_leverage',
100
+ 'okx_set_position_mode',
101
+ 'okx_adjust_margin',
102
+ 'okx_batch_place_orders',
103
+ 'okx_batch_cancel_orders',
104
+ 'okx_close_position',
105
+ 'okx_place_algo_order',
106
+ 'okx_cancel_algo_order',
107
+ 'okx_transfer',
108
+ ]);
109
+ /**
110
+ * 账户读:risk sensitive(挡等级 0 的陌生群成员经 LLM 读 owner 真实资金数据;
111
+ * owner 与已授权用户不受影响)。判据是**语义**(读账户/订单/资金流水/链上地址),
112
+ * 不是文件归属——trade/algo/transfer 文件里的查询工具同样在列(对抗审计抓过
113
+ * 按文件包装漏掉 9 个同类工具的教训)。行情/量化数据(market/rubik)是公开数据,
114
+ * 不在此列,维持 public。
115
+ */
116
+ export const ACCOUNT_READ_OKX_TOOLS = new Set([
117
+ // account.ts —— 余额/持仓/账单/杠杆/费率等账户全貌
118
+ 'okx_get_account_config',
119
+ 'okx_get_asset_balances',
120
+ 'okx_get_balance',
121
+ 'okx_get_bills',
122
+ 'okx_get_bills_archive',
123
+ 'okx_get_currencies',
124
+ 'okx_get_interest_accrued',
125
+ 'okx_get_leverage_info',
126
+ 'okx_get_max_avail_size',
127
+ 'okx_get_max_size',
128
+ 'okx_get_positions',
129
+ 'okx_get_positions_history',
130
+ 'okx_get_risk_state',
131
+ 'okx_get_trade_fee',
132
+ // orders.ts —— 挂单/历史订单/成交
133
+ 'okx_get_fills',
134
+ 'okx_get_order_history',
135
+ 'okx_get_pending_orders',
136
+ // trade.ts 里的查询孪生体
137
+ 'okx_get_fills_archive',
138
+ 'okx_get_order_detail',
139
+ // transfer.ts —— 资金流水/充提记录/链上充值地址
140
+ 'okx_get_asset_bills',
141
+ 'okx_get_deposit_address',
142
+ 'okx_get_deposit_history',
143
+ 'okx_get_transfer_state',
144
+ 'okx_get_withdrawal_history',
145
+ // algo.ts —— 算法单查询
146
+ 'okx_get_algo_order_history',
147
+ 'okx_get_pending_algo_orders',
148
+ ]);
91
149
  // ===== 插件入口 =====
92
- export function apply(ctx, config) {
150
+ const uses = { tools: optional(tools), logger, config };
151
+ export default definePlugin({
152
+ name: '@aalis/plugin-okx-trading',
153
+ displayName: 'OKX 交易',
154
+ subsystem: 'external',
155
+ configSchema,
156
+ uses,
157
+ apply: registerOkxTools,
158
+ });
159
+ function registerOkxTools({ tools: baseTools, logger, config }) {
93
160
  const cfg = resolveConfig(config);
94
161
  if (!cfg.apiKey || !cfg.secretKey || !cfg.passphrase) {
95
- ctx.logger.warn('OKX 交易插件缺少 API 凭证,已跳过初始化');
162
+ logger.warn('OKX 交易插件缺少 API 凭证,已跳过初始化');
96
163
  return;
97
164
  }
98
165
  const client = new OkxClient({
@@ -102,36 +169,22 @@ export function apply(ctx, config) {
102
169
  timeoutMs: cfg.timeoutMs,
103
170
  });
104
171
  const modeLabel = cfg.demo ? '模拟盘' : '实盘';
105
- ctx.logger.info(`OKX 交易插件已初始化 (${modeLabel})`);
106
- const baseTools = useToolService(ctx);
172
+ logger.info(`OKX 交易插件已初始化 (${modeLabel})`);
107
173
  baseTools.registerGroup({
108
174
  name: 'okx',
109
175
  label: 'OKX 交易',
110
176
  description: `OKX 虚拟币交易工具集 (${modeLabel}),提供行情查询、账户管理、下单交易等功能`,
111
177
  });
112
- // 动真金白银 / 改仓位的工具:标 restricted(最低等级 2,仅信任档/owner 可驱动)。
113
- // 堵"任意 visitor 驱动 LLM 用 owner 真钱下单/划转"。不加逐单 confirm —— okx 刻意保留
114
- // 实时/算法交易能力(见上方实盘安全闸注释),改用「等级门禁 + 一次性显式 confirmRealMoney」。
115
- const MUTATING_OKX_TOOLS = new Set([
116
- 'okx_place_order',
117
- 'okx_cancel_order',
118
- 'okx_amend_order',
119
- 'okx_set_leverage',
120
- 'okx_set_position_mode',
121
- 'okx_adjust_margin',
122
- 'okx_batch_place_orders',
123
- 'okx_batch_cancel_orders',
124
- 'okx_close_position',
125
- 'okx_place_algo_order',
126
- 'okx_cancel_algo_order',
127
- 'okx_transfer',
128
- ]);
129
- // 工具代理:自动注入 groups;动账户的工具自动标 restricted(不公开给低档用户)。
130
- const reg = tool => baseTools.register({
131
- ...tool,
132
- groups: ['okx'],
133
- visibility: MUTATING_OKX_TOOLS.has(tool.definition.function.name) ? 'restricted' : tool.visibility,
134
- });
178
+ // 工具代理:自动注入 groups;权限档在这一个点按三分名单派发(见模块级名单注释)。
179
+ const reg = tool => {
180
+ const toolName = tool.definition.function.name;
181
+ return baseTools.register({
182
+ ...tool,
183
+ groups: ['okx'],
184
+ visibility: MUTATING_OKX_TOOLS.has(toolName) ? 'restricted' : tool.visibility,
185
+ risk: ACCOUNT_READ_OKX_TOOLS.has(toolName) ? 'sensitive' : tool.risk,
186
+ });
187
+ };
135
188
  registerMarketTools(reg, client);
136
189
  registerRubikTools(reg, client);
137
190
  registerAccountTools(reg, client, { defaultLimit: cfg.defaultPageLimit, maxLimit: cfg.maxPageLimit });
@@ -140,7 +193,7 @@ export function apply(ctx, config) {
140
193
  // 不加逐单人工确认(保留实时/算法交易能力)——以「一次性显式确认 + 启动告警」替代。
141
194
  const tradingArmed = cfg.demo || cfg.confirmRealMoney;
142
195
  if (!cfg.demo) {
143
- ctx.logger.warn(cfg.confirmRealMoney
196
+ logger.warn(cfg.confirmRealMoney
144
197
  ? '⚠️ OKX 实盘模式:LLM 可用真实资金下单/撤单/划转/提币,且无逐单人工确认,请确认这是本意。'
145
198
  : 'OKX 处于实盘(demo:false)但未设 confirmRealMoney:true,已禁用交易/策略/划转工具(仅保留查询)。');
146
199
  }
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAgB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,EAAE;KACZ;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,EAAE;KACZ;IACD,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,iBAAiB;KAC/B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,0BAA0B;KACxC;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EACT,6EAA6E;KAChF;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;IACjE,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,wBAAwB;KACtC;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAChG,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE;IAC/F,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC;AAiBF,SAAS,aAAa,CAAC,MAAyC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACrF,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO;QACL,MAAM,EAAG,MAAM,CAAC,MAAiB,IAAI,EAAE;QACvC,SAAS,EAAG,MAAM,CAAC,SAAoB,IAAI,EAAE;QAC7C,UAAU,EAAG,MAAM,CAAC,UAAqB,IAAI,EAAE;QAC/C,OAAO,EAAG,MAAM,CAAC,OAAkB,IAAI,qBAAqB;QAC5D,IAAI,EAAG,MAAM,CAAC,IAAgB,IAAI,IAAI;QACtC,gBAAgB,EAAG,MAAM,CAAC,gBAA4B,IAAI,KAAK;QAC/D,SAAS,EAAG,MAAM,CAAC,SAAoB,IAAI,KAAK;QAChD,aAAa,EAAG,MAAM,CAAC,aAAyB,IAAI,IAAI;QACxD,UAAU,EAAG,MAAM,CAAC,UAAsB,IAAI,KAAK;QACnD,cAAc,EAAG,MAAM,CAAC,cAA0B,IAAI,KAAK;QAC3D,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC;QAC7D,YAAY;KACb,CAAC;AACJ,CAAC;AAED,wCAAwC;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;IACnB,wBAAwB;IACxB,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;CACf,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IAC5C,oCAAoC;IACpC,wBAAwB;IACxB,wBAAwB;IACxB,iBAAiB;IACjB,eAAe;IACf,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;IACxB,kBAAkB;IAClB,mBAAmB;IACnB,2BAA2B;IAC3B,oBAAoB;IACpB,mBAAmB;IACnB,0BAA0B;IAC1B,eAAe;IACf,uBAAuB;IACvB,wBAAwB;IACxB,mBAAmB;IACnB,uBAAuB;IACvB,sBAAsB;IACtB,kCAAkC;IAClC,qBAAqB;IACrB,yBAAyB;IACzB,yBAAyB;IACzB,wBAAwB;IACxB,4BAA4B;IAC5B,mBAAmB;IACnB,4BAA4B;IAC5B,6BAA6B;CAC9B,CAAC,CAAC;AAEH,mBAAmB;AAEnB,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAGxD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,UAAU;IACrB,YAAY;IACZ,IAAI;IACJ,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAQ;IAClE,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE;QACzF,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAC;IAE3C,SAAS,CAAC,aAAa,CAAC;QACtB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,iBAAiB,SAAS,uBAAuB;KAC/D,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,GAAG,GAA8C,IAAI,CAAC,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC;YACxB,GAAG,IAAI;YACP,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;YAC7E,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;SACrE,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACtG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACzG,qEAAqE;IACrE,8CAA8C;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,gBAAgB,CAAC;IACtD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,gBAAgB;YAClB,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,qEAAqE,CAC1E,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,IAAI,YAAY;QAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAClF,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY;QAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9E,IAAI,GAAG,CAAC,cAAc,IAAI,YAAY;QAAE,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7E,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { ScopedToolService } from '@aalis/api-tools';
2
- export type RegFn = ScopedToolService['register'];
1
+ import type { BoundTools } from '@aalis/api-tools';
2
+ export type RegFn = BoundTools['register'];
3
3
  /** 分页 limit 参数的 default 与硬上限(OKX API 单页一般 100,个别 300)。 */
4
4
  export interface PageLimitCfg {
5
5
  defaultLimit: number;
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/tools/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAElD,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,CAI9E;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAK9D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE1C"}
1
+ {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/tools/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAE3C,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,CAI9E;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,SAAK,GAAG,OAAO,CAK9D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-okx-trading",
3
- "version": "0.9.2",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,22 +24,26 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/schema-config": ">=0.9.0 <1.0.0",
28
- "@aalis/api-tools": ">=0.5.1 <1.0.0"
27
+ "@aalis/schema-config": ">=0.12.0 <1.0.0",
28
+ "@aalis/api-tools": ">=0.9.0 <1.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",
32
32
  "typescript": "^5.7.0",
33
- "@aalis/core": "0.11.0",
34
- "@aalis/api-webui": "0.9.0"
33
+ "@aalis/core": "0.17.0",
34
+ "@aalis/api-webui": "0.10.0"
35
35
  },
36
36
  "peerDependencies": {
37
- "@aalis/core": ">=0.11.0 <1.0.0"
37
+ "@aalis/core": ">=0.17.0 <1.0.0"
38
38
  },
39
39
  "aalis": {
40
40
  "service": {
41
41
  "optional": [
42
42
  "tools"
43
+ ],
44
+ "required": [
45
+ "config",
46
+ "logger"
43
47
  ]
44
48
  }
45
49
  },