@senpi/runtime 3.0.58 → 3.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -2
- package/dist/actions/action-events.d.ts +3 -3
- package/dist/actions/action-events.d.ts.map +1 -1
- package/dist/actions/action-events.js +24 -16
- package/dist/actions/action-events.js.map +1 -1
- package/dist/actions/action-runtime-module.d.ts.map +1 -1
- package/dist/actions/action-runtime-module.js +18 -1
- package/dist/actions/action-runtime-module.js.map +1 -1
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +84 -11
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/decision-engine.d.ts +0 -2
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +1 -79
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +40 -2
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +178 -5
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +103 -16
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts +2 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +47 -15
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/actions/skipped-signal-results.d.ts +16 -0
- package/dist/actions/skipped-signal-results.d.ts.map +1 -0
- package/dist/actions/skipped-signal-results.js +47 -0
- package/dist/actions/skipped-signal-results.js.map +1 -0
- package/dist/cli/deploy-render.d.ts +91 -0
- package/dist/cli/deploy-render.d.ts.map +1 -0
- package/dist/cli/deploy-render.js +216 -0
- package/dist/cli/deploy-render.js.map +1 -0
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +78 -6
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts +6 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +164 -5
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/cli/validate-command.d.ts.map +1 -1
- package/dist/cli/validate-command.js +32 -1
- package/dist/cli/validate-command.js.map +1 -1
- package/dist/deploy/deadlines.d.ts +47 -0
- package/dist/deploy/deadlines.d.ts.map +1 -0
- package/dist/deploy/deadlines.js +56 -0
- package/dist/deploy/deadlines.js.map +1 -0
- package/dist/deploy/error-text.d.ts +25 -0
- package/dist/deploy/error-text.d.ts.map +1 -0
- package/dist/deploy/error-text.js +42 -0
- package/dist/deploy/error-text.js.map +1 -0
- package/dist/deploy/funding.d.ts +87 -0
- package/dist/deploy/funding.d.ts.map +1 -0
- package/dist/deploy/funding.js +229 -0
- package/dist/deploy/funding.js.map +1 -0
- package/dist/deploy/install-gate-runner.d.ts +12 -0
- package/dist/deploy/install-gate-runner.d.ts.map +1 -0
- package/dist/deploy/install-gate-runner.js +17 -0
- package/dist/deploy/install-gate-runner.js.map +1 -0
- package/dist/deploy/job.d.ts +199 -0
- package/dist/deploy/job.d.ts.map +1 -0
- package/dist/deploy/job.js +463 -0
- package/dist/deploy/job.js.map +1 -0
- package/dist/deploy/min-budget.d.ts +68 -0
- package/dist/deploy/min-budget.d.ts.map +1 -0
- package/dist/deploy/min-budget.js +297 -0
- package/dist/deploy/min-budget.js.map +1 -0
- package/dist/deploy/orchestrator.d.ts +305 -0
- package/dist/deploy/orchestrator.d.ts.map +1 -0
- package/dist/deploy/orchestrator.js +2910 -0
- package/dist/deploy/orchestrator.js.map +1 -0
- package/dist/deploy/package.d.ts +130 -0
- package/dist/deploy/package.d.ts.map +1 -0
- package/dist/deploy/package.js +351 -0
- package/dist/deploy/package.js.map +1 -0
- package/dist/deploy/proof-gate.d.ts +82 -0
- package/dist/deploy/proof-gate.d.ts.map +1 -0
- package/dist/deploy/proof-gate.js +269 -0
- package/dist/deploy/proof-gate.js.map +1 -0
- package/dist/deploy/python-float.d.ts +34 -0
- package/dist/deploy/python-float.d.ts.map +1 -0
- package/dist/deploy/python-float.js +46 -0
- package/dist/deploy/python-float.js.map +1 -0
- package/dist/deploy/recheck-commands.d.ts +50 -0
- package/dist/deploy/recheck-commands.d.ts.map +1 -0
- package/dist/deploy/recheck-commands.js +59 -0
- package/dist/deploy/recheck-commands.js.map +1 -0
- package/dist/deploy/register.d.ts +99 -0
- package/dist/deploy/register.d.ts.map +1 -0
- package/dist/deploy/register.js +689 -0
- package/dist/deploy/register.js.map +1 -0
- package/dist/deploy/taxonomy.d.ts +24 -0
- package/dist/deploy/taxonomy.d.ts.map +1 -0
- package/dist/deploy/taxonomy.js +31 -0
- package/dist/deploy/taxonomy.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +244 -132
- package/dist/index.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +13 -0
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +32 -0
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +3 -1
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-registry.d.ts +8 -0
- package/dist/runtime/strategy-registry.d.ts.map +1 -1
- package/dist/runtime/strategy-registry.js +14 -1
- package/dist/runtime/strategy-registry.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +8 -0
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +1 -0
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +19 -3
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-events.js +64 -2
- package/dist/runtime-api/intake/intake-events.js.map +1 -1
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +7 -4
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +7 -1
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +12 -0
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +24 -0
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +10 -1
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +10 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +14 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/events.d.ts +7 -0
- package/dist/scanners/events.d.ts.map +1 -1
- package/dist/scanners/events.js.map +1 -1
- package/dist/scanners/external/scaffold/delivery.py +23 -12
- package/dist/scanners/external/scaffold/scaffold.py +55 -7
- package/dist/scanners/implementations/market-regime.d.ts +1 -1
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +10 -2
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +58 -4
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +192 -15
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/strategy-status.d.ts +32 -0
- package/dist/senpi/strategy-status.d.ts.map +1 -0
- package/dist/senpi/strategy-status.js +70 -0
- package/dist/senpi/strategy-status.js.map +1 -0
- package/dist/senpi/types.d.ts +47 -3
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/skills-manager/manifest.js +1 -1
- package/dist/skills-manager/skills-manifest.json +1 -1
- package/dist/telemetry/event-builders.d.ts +45 -6
- package/dist/telemetry/event-builders.d.ts.map +1 -1
- package/dist/telemetry/event-builders.js +99 -11
- package/dist/telemetry/event-builders.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +37 -2
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +84 -4
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/scanner-tick-event.d.ts +32 -0
- package/dist/telemetry/scanner-tick-event.d.ts.map +1 -0
- package/dist/telemetry/scanner-tick-event.js +32 -0
- package/dist/telemetry/scanner-tick-event.js.map +1 -0
- package/dist/types/strategy.d.ts +9 -1
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/universe/package-universe.d.ts +97 -0
- package/dist/universe/package-universe.d.ts.map +1 -0
- package/dist/universe/package-universe.js +275 -0
- package/dist/universe/package-universe.js.map +1 -0
- package/dist/utils/event-catalog.d.ts +58 -0
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +1 -0
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/validate/codes.d.ts +20 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +36 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/import-stage.js +5 -5
- package/dist/validate/import-stage.js.map +1 -1
- package/dist/validate/index.d.ts +1 -1
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/install-gate.d.ts.map +1 -1
- package/dist/validate/install-gate.js +10 -2
- package/dist/validate/install-gate.js.map +1 -1
- package/dist/validate/live-instruments.d.ts +44 -0
- package/dist/validate/live-instruments.d.ts.map +1 -0
- package/dist/validate/live-instruments.js +71 -0
- package/dist/validate/live-instruments.js.map +1 -0
- package/dist/validate/live-stage.js +5 -5
- package/dist/validate/live-stage.js.map +1 -1
- package/dist/validate/proof.d.ts +11 -1
- package/dist/validate/proof.d.ts.map +1 -1
- package/dist/validate/proof.js +7 -6
- package/dist/validate/proof.js.map +1 -1
- package/dist/validate/recipe-checks.d.ts.map +1 -1
- package/dist/validate/recipe-checks.js +6 -4
- package/dist/validate/recipe-checks.js.map +1 -1
- package/dist/validate/run.d.ts +5 -0
- package/dist/validate/run.d.ts.map +1 -1
- package/dist/validate/run.js +10 -1
- package/dist/validate/run.js.map +1 -1
- package/dist/validate/target.d.ts +41 -0
- package/dist/validate/target.d.ts.map +1 -1
- package/dist/validate/target.js +192 -16
- package/dist/validate/target.js.map +1 -1
- package/dist/validate/universe-stage.d.ts +71 -0
- package/dist/validate/universe-stage.d.ts.map +1 -0
- package/dist/validate/universe-stage.js +183 -0
- package/dist/validate/universe-stage.js.map +1 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/runtime/managed-wallet-guard.d.ts +0 -47
- package/dist/runtime/managed-wallet-guard.d.ts.map +0 -1
- package/dist/runtime/managed-wallet-guard.js +0 -106
- package/dist/runtime/managed-wallet-guard.js.map +0 -1
- package/dist/runtime/protection-nudge.d.ts +0 -67
- package/dist/runtime/protection-nudge.d.ts.map +0 -1
- package/dist/runtime/protection-nudge.js +0 -244
- package/dist/runtime/protection-nudge.js.map +0 -1
|
@@ -51,12 +51,20 @@ class DefaultScannerRuntimeModule {
|
|
|
51
51
|
this.events.emit("scanner:run:start", event);
|
|
52
52
|
},
|
|
53
53
|
onRunResult: (result) => {
|
|
54
|
-
// Stamp the matching run start
|
|
54
|
+
// Stamp the matching run start and how the scanner is driven onto the terminal event
|
|
55
|
+
// (telemetry duration + producer attribution); data only.
|
|
55
56
|
const startKey = telemetryKey(result.address, result.scannerId);
|
|
56
57
|
const startedAt = runStarts.get(startKey);
|
|
57
58
|
runStarts.delete(startKey);
|
|
59
|
+
const scheduleMode = this.engine
|
|
60
|
+
.describeRegistrations(result.address)
|
|
61
|
+
.find((registration) => registration.scannerId === result.scannerId)?.scheduleMode;
|
|
58
62
|
emitTerminalScannerRunEvent((eventName, event) => {
|
|
59
|
-
this.events.emit(eventName,
|
|
63
|
+
this.events.emit(eventName, {
|
|
64
|
+
...event,
|
|
65
|
+
...(startedAt === undefined ? {} : { startedAt }),
|
|
66
|
+
...(scheduleMode === undefined ? {} : { scheduleMode }),
|
|
67
|
+
});
|
|
60
68
|
}, result);
|
|
61
69
|
},
|
|
62
70
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-module.js","sourceRoot":"","sources":["../../src/scanners/runtime-module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-module.js","sourceRoot":"","sources":["../../src/scanners/runtime-module.ts"],"names":[],"mappings":"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"}
|
package/dist/senpi/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { McpTransport, SenpiClientConfig, CreatePositionRequest, CreatePositionResult, EditPositionResult, GetPositionResult, OpenPosition, GetStrategyResult, GetOpenOrdersResult, GetTraderHistoryOptions, TraderHistoryEntry, GetTraderStateOptions, TraderStateResult, StrategyFundResult, ClosePositionsRequest, GetPnlHistoryOptions, ListStrategiesFilters, StrategySummary, RatchetStopPosition, RatchetStopEvent, AddRatchetStopInput, EditRatchetStopInput, DeleteRatchetStopInput, QueryRatchetStopsInput, QueryRatchetStopEventsInput } from './types.js';
|
|
1
|
+
import type { McpTransport, SenpiClientConfig, CreatePositionRequest, CreatePositionResult, EditPositionResult, GetPositionResult, OpenPosition, GetStrategyResult, GetOpenOrdersResult, GetTraderHistoryOptions, TraderHistoryEntry, GetTraderStateOptions, TraderStateResult, StrategyFundResult, CreateCustomStrategyParams, CreateCustomStrategyResult, PortfolioPayload, ClosePositionsRequest, GetPnlHistoryOptions, ListStrategiesFilters, StrategySummary, RatchetStopPosition, RatchetStopEvent, AddRatchetStopInput, EditRatchetStopInput, DeleteRatchetStopInput, QueryRatchetStopsInput, QueryRatchetStopEventsInput } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Typed error thrown by `SenpiClient` mutation methods when the response
|
|
4
4
|
* reports a failure at either layer (outer MCP envelope or inner engine
|
|
@@ -168,6 +168,7 @@ export declare class SenpiClient {
|
|
|
168
168
|
*/
|
|
169
169
|
getClearingHouseState(wallet: string, opts?: {
|
|
170
170
|
retryUnreadable?: boolean;
|
|
171
|
+
signal?: AbortSignal;
|
|
171
172
|
}): Promise<Record<string, unknown> | null>;
|
|
172
173
|
/**
|
|
173
174
|
* Single fetch + validate attempt. Returns a tagged result so the caller can
|
|
@@ -212,9 +213,33 @@ export declare class SenpiClient {
|
|
|
212
213
|
* {@link getPosition} / getPositionsForAssets). Does not call `list_open_positions`.
|
|
213
214
|
* DEX keys `main` map to reconciler dex `""` to match DSL state paths; `xyz` stays `xyz`.
|
|
214
215
|
*/
|
|
215
|
-
listOpenPositions(wallet: string
|
|
216
|
+
listOpenPositions(wallet: string, opts?: {
|
|
217
|
+
signal?: AbortSignal;
|
|
218
|
+
}): Promise<OpenPosition[]>;
|
|
219
|
+
/**
|
|
220
|
+
* The strategy behind a wallet, or `null` when the backend lists none for it.
|
|
221
|
+
*
|
|
222
|
+
* `initialBudget` is `totalFunded` VERBATIM, including its `undefined`: an amount the backend did
|
|
223
|
+
* not report is carried through as unread, never as `0`. This result is the strategy-details
|
|
224
|
+
* surface (`StrategyState.fetchDetails` → the `strategy: details` context slice), and a `0` there
|
|
225
|
+
* tells an agent the wallet is empty — the unreadable-renders-as-zero failure `[W_BUDGET_FUNDED_UNREADABLE]`
|
|
226
|
+
* closes on the deploy report, one surface over.
|
|
227
|
+
*/
|
|
216
228
|
getStrategy(wallet: string): Promise<GetStrategyResult | null>;
|
|
217
|
-
|
|
229
|
+
/**
|
|
230
|
+
* `opts.signal` bounds ONE MCP call (H6). Deploy passes `AbortSignal.timeout(...)` on every call
|
|
231
|
+
* it makes, so a backend that never answers cannot hold the deploy job's single-flight slot.
|
|
232
|
+
*
|
|
233
|
+
* FAILS CLOSED, like {@link listOpenPositions}: `callTool` throws only on an RPC fault, so a
|
|
234
|
+
* tool-level error envelope (`{success:false,…}`) or an isError text payload RESOLVES here. Read
|
|
235
|
+
* as `[]` those became "you own zero strategies" — and every caller treats zero as proof of
|
|
236
|
+
* absence: deploy's reconcile falls through to `needsWallet`, so one transient backend failure
|
|
237
|
+
* created and funded a second wallet beside every live one and then reported `live`. An empty
|
|
238
|
+
* `strategies` array is still a real answer and is returned as one; anything else throws.
|
|
239
|
+
*/
|
|
240
|
+
listStrategies(filters?: ListStrategiesFilters, opts?: {
|
|
241
|
+
signal?: AbortSignal;
|
|
242
|
+
}): Promise<StrategySummary[]>;
|
|
218
243
|
getOpenOrders(wallet: string): Promise<GetOpenOrdersResult[]>;
|
|
219
244
|
/**
|
|
220
245
|
* Closed-position history from MCP `discovery_get_trader_history`.
|
|
@@ -222,8 +247,26 @@ export declare class SenpiClient {
|
|
|
222
247
|
*/
|
|
223
248
|
getTraderHistory(wallet: string, opts?: GetTraderHistoryOptions): Promise<TraderHistoryEntry[]>;
|
|
224
249
|
topUp(wallet: string, amount: number): Promise<StrategyFundResult>;
|
|
250
|
+
/**
|
|
251
|
+
* Raw portfolio from account_get_portfolio. Interpretation (the funding
|
|
252
|
+
* waterfall) lives in deploy/funding.ts — this method only fetches.
|
|
253
|
+
* Returns null on a non-record payload; throws on transport error.
|
|
254
|
+
*/
|
|
255
|
+
getPortfolio(opts?: {
|
|
256
|
+
forceFetch?: boolean;
|
|
257
|
+
signal?: AbortSignal;
|
|
258
|
+
}): Promise<PortfolioPayload | null>;
|
|
259
|
+
/**
|
|
260
|
+
* Create (and backend-fund) a custom strategy wallet. skillName/skillVersion
|
|
261
|
+
* attribution is mandatory: strategies created without it are unattributable.
|
|
262
|
+
*/
|
|
263
|
+
createCustomStrategy(params: CreateCustomStrategyParams, opts?: {
|
|
264
|
+
signal?: AbortSignal;
|
|
265
|
+
}): Promise<CreateCustomStrategyResult>;
|
|
225
266
|
withdrawFunds(wallet: string, amount: number): Promise<StrategyFundResult>;
|
|
226
|
-
closeStrategy(wallet: string
|
|
267
|
+
closeStrategy(wallet: string, opts?: {
|
|
268
|
+
signal?: AbortSignal;
|
|
269
|
+
}): Promise<StrategyFundResult>;
|
|
227
270
|
/**
|
|
228
271
|
* Submit a batch close_positions MCP call.
|
|
229
272
|
*
|
|
@@ -247,6 +290,17 @@ export declare class SenpiClient {
|
|
|
247
290
|
name: string;
|
|
248
291
|
maxLeverage: number;
|
|
249
292
|
}>>;
|
|
293
|
+
/**
|
|
294
|
+
* Non-delisted instrument NAMES from `market_list_instruments` — the live-universe gate's read.
|
|
295
|
+
* Distinct from {@link listInstruments} on purpose: that projection requires `max_leverage` and
|
|
296
|
+
* ignores `is_delisted`, both wrong for a liveness question (an instrument without a leverage
|
|
297
|
+
* figure is still live; a delisted one is not). Returns [] when the response carries no
|
|
298
|
+
* recognizable instruments — callers MUST treat an empty list as "could not read", never as
|
|
299
|
+
* "everything is dead" (a real read always contains at least the majors).
|
|
300
|
+
*/
|
|
301
|
+
listInstrumentNames(opts?: {
|
|
302
|
+
signal?: AbortSignal;
|
|
303
|
+
}): Promise<string[]>;
|
|
250
304
|
/**
|
|
251
305
|
* Fetch PnL and account value history plus the today_snapshot (UTC-day-scoped metrics)
|
|
252
306
|
* via MCP `strategy_get_pnl_and_account_value_history`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/senpi/client.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EAGpB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAGjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGxB,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,EACjE,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO;CAOpB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/senpi/client.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EAGpB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAGjB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGxB,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,EACjE,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO;CAOpB;AAsOD,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IAGxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,SAAS,CAAuB;IAIxC,OAAO,CAAC,cAAc,CAA8B;IACpD,+EAA+E;IAC/E,OAAO,CAAC,eAAe,CAA8C;IACrE,8FAA8F;IAC9F,OAAO,CAAC,cAAc,CAAuC;IAE7D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAuC;IAG9E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAK;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAEnC,iBAAiB,EAAE,YAAY,GAAG,iBAAiB;IAUzD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC9B;;;;;;;;;OASG;YACW,eAAe;IAWvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;;OAKG;YACW,QAAQ;YAgFR,aAAa;IAyC3B;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;OAGG;IACH,YAAY,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE;IAQ3F;;;;;;;OAOG;IACG,cAAc,CAClB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAWhE;;;;;OAKG;IACG,eAAe,CACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAWhE;;;;;;;OAOG;IACG,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAQ1B,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAY3B,sBAAsB,CAC1B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAY9B,OAAO,CAAC,uBAAuB;IAWzB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAYnF;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAiBzG;;;OAGG;IACH;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GACxE,OAAO,CAAC,kBAAkB,CAAC;IAiDxB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAS3F;;;;;;;;;;;;OAYG;IACG,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACzD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAiD1C;;;;;;;;;;;OAWG;YACW,2BAA2B;IAyDzC,qCAAqC;IACrC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMhG;;OAEG;IACG,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAalE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QACxD,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,OAAO,YAAY,EAAE,cAAc,CAAC;QAChD,wBAAwB,CAAC,EAAE,OAAO,YAAY,EAAE,wBAAwB,CAAC;QACzE,qHAAqH;QACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,uHAAuH;QACvH,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,OAAO,CAAC;IAepB;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBjG;;;;;;;;OAQG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAmBpE;;;;;;;;;;OAUG;IACG,cAAc,CAClB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,eAAe,EAAE,CAAC;IAgCvB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgBnE;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA8B/F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOxE;;;;OAIG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAU3G;;;OAGG;IACG,oBAAoB,CACxB,MAAM,EAAE,0BAA0B,EAClC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAmBhC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAO1E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOjG;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ1G;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ9E,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAiB1G,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAmB9E;;;;;;;OAOG;IACG,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAe7E;;;;;;;;;;;OAWG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9F;;;;;;;;;OASG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CAmDtG;AA+HD;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQvF;AA2JD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAgBtE"}
|
package/dist/senpi/client.js
CHANGED
|
@@ -64,6 +64,45 @@ function extractEngineMessage(data) {
|
|
|
64
64
|
return data.errorCode;
|
|
65
65
|
return "Trading engine reported failure";
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* A short, quotable account of an unrecognizable read-tool payload, for the throw a fail-closed
|
|
69
|
+
* read raises. Prefers whatever the tool said about itself (an error envelope's message) and falls
|
|
70
|
+
* back to naming the shape — the reader has to be able to tell a backend outage from a schema
|
|
71
|
+
* change without reading the raw response.
|
|
72
|
+
*/
|
|
73
|
+
function describeToolFailure(data) {
|
|
74
|
+
if (data === null || data === undefined)
|
|
75
|
+
return "response was empty";
|
|
76
|
+
if (typeof data !== "object")
|
|
77
|
+
return `response was ${typeof data}: ${String(data).slice(0, 200)}`;
|
|
78
|
+
const rec = data;
|
|
79
|
+
if (rec.success === false)
|
|
80
|
+
return `tool reported failure: ${extractEngineMessage(rec)}`;
|
|
81
|
+
return `response keys: ${Object.keys(rec).join(", ") || "(none)"}`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The attribution stamp on a `strategy_list` row, tolerant of a JSON-encoded metadata payload.
|
|
85
|
+
*
|
|
86
|
+
* Serializer drift delivering `strategyMetadata` as a string would otherwise read as "no stamp",
|
|
87
|
+
* which is the fail-OPEN direction here: an unstamped candidate is one deploy's gate cannot see, so
|
|
88
|
+
* it would create a second wallet beside a live one. An unparseable or non-object payload stays
|
|
89
|
+
* `undefined` — unknown, never "not ours". See {@link StrategySummary.skillName}.
|
|
90
|
+
*/
|
|
91
|
+
function readSkillName(raw) {
|
|
92
|
+
let meta = raw;
|
|
93
|
+
if (typeof meta === "string") {
|
|
94
|
+
try {
|
|
95
|
+
meta = JSON.parse(meta);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (!isRecord(meta))
|
|
102
|
+
return undefined;
|
|
103
|
+
const name = asString(meta.skillName)?.trim();
|
|
104
|
+
return name ? name : undefined;
|
|
105
|
+
}
|
|
67
106
|
/**
|
|
68
107
|
* Enforces success at both response layers and returns the unwrapped
|
|
69
108
|
* inner data. Throws `SenpiClientError` on any reported failure.
|
|
@@ -165,6 +204,47 @@ function assertClosePositionSucceeded(raw, ctx) {
|
|
|
165
204
|
throw new Error(`close_position rejected (${ctx.wallet} ${ctx.coin}): ${detail || "success=false"}`);
|
|
166
205
|
}
|
|
167
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* The error an abandoned MCP call reports. Deliberately says the outcome is UNKNOWN rather than
|
|
209
|
+
* "failed": the request may well have landed, and a caller that moves money must not read a
|
|
210
|
+
* timeout as "nothing happened".
|
|
211
|
+
*/
|
|
212
|
+
function abortedCallError(toolName, signal) {
|
|
213
|
+
const reason = signal.reason;
|
|
214
|
+
if (reason instanceof Error && reason.name !== "TimeoutError")
|
|
215
|
+
return reason;
|
|
216
|
+
const err = new Error(`MCP call ${toolName} exceeded its deadline and was abandoned — the request may still be ` +
|
|
217
|
+
`in flight on the server, so nothing about its outcome is known`);
|
|
218
|
+
err.name = "AbortError";
|
|
219
|
+
return err;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Stop awaiting `promise` once `signal` aborts.
|
|
223
|
+
*
|
|
224
|
+
* Used for the gateway-injected MCP transport, which accepts no abort options: the remote call
|
|
225
|
+
* keeps running, so this bounds the WAIT, not the work. That is still the property callers need —
|
|
226
|
+
* a deploy step boundary becomes reachable, and the job watchdog can free the single-flight slot
|
|
227
|
+
* instead of parking on a call that never answers. The orphaned promise always keeps a rejection
|
|
228
|
+
* handler attached, so a late failure can never surface as an unhandled rejection.
|
|
229
|
+
*/
|
|
230
|
+
function boundAwait(promise, signal, toolName) {
|
|
231
|
+
if (signal.aborted) {
|
|
232
|
+
// Never wait on work we are already unwilling to wait for.
|
|
233
|
+
promise.catch(() => { });
|
|
234
|
+
return Promise.reject(abortedCallError(toolName, signal));
|
|
235
|
+
}
|
|
236
|
+
return new Promise((resolve, reject) => {
|
|
237
|
+
const onAbort = () => reject(abortedCallError(toolName, signal));
|
|
238
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
239
|
+
promise.then((value) => {
|
|
240
|
+
signal.removeEventListener("abort", onAbort);
|
|
241
|
+
resolve(value);
|
|
242
|
+
}, (err) => {
|
|
243
|
+
signal.removeEventListener("abort", onAbort);
|
|
244
|
+
reject(err);
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
}
|
|
168
248
|
export class SenpiClient {
|
|
169
249
|
// Injected mode
|
|
170
250
|
injectedTransport;
|
|
@@ -340,9 +420,16 @@ export class SenpiClient {
|
|
|
340
420
|
{ kind: SpanKind.CLIENT });
|
|
341
421
|
}
|
|
342
422
|
async callToolInner(toolName, args, opts) {
|
|
343
|
-
// Injected mode: delegate directly
|
|
423
|
+
// Injected mode: delegate directly. `McpTransport` takes no options, so an abort cannot
|
|
424
|
+
// cancel the remote work — but the AWAIT is still bounded, which is the half that matters to
|
|
425
|
+
// a caller with a deadline (`senpi deploy`'s D-5 per-call bound runs on this path in
|
|
426
|
+
// production). Without this, `opts.signal` was silently dropped here and the bound was a
|
|
427
|
+
// no-op on every agent box.
|
|
344
428
|
if (this.injectedTransport) {
|
|
345
|
-
|
|
429
|
+
if (opts?.signal?.aborted)
|
|
430
|
+
throw abortedCallError(toolName, opts.signal);
|
|
431
|
+
const call = this.injectedTransport(toolName, args);
|
|
432
|
+
return opts?.signal ? boundAwait(call, opts.signal, toolName) : call;
|
|
346
433
|
}
|
|
347
434
|
// Self-managed mode: lazily (re)connect on demand, then call via MCP client.
|
|
348
435
|
await this.ensureConnected();
|
|
@@ -594,8 +681,12 @@ export class SenpiClient {
|
|
|
594
681
|
*/
|
|
595
682
|
async getClearingHouseState(wallet, opts) {
|
|
596
683
|
const retryUnreadable = opts?.retryUnreadable === true;
|
|
684
|
+
// One signal deliberately SHARED across every attempt: this ladder bounds attempt COUNT, not
|
|
685
|
+
// wall time, so without a shared deadline a caller has no bound at all. An
|
|
686
|
+
// `AbortSignal.timeout(N)` fires N ms after creation however many attempts have run — which is
|
|
687
|
+
// exactly the wall-clock bound wanted here.
|
|
597
688
|
for (let attempt = 1; attempt <= this.staleRetryMaxAttempts; attempt++) {
|
|
598
|
-
const result = await this.fetchClearingHouseStateOnce(wallet, retryUnreadable);
|
|
689
|
+
const result = await this.fetchClearingHouseStateOnce(wallet, retryUnreadable, opts?.signal);
|
|
599
690
|
if (result.outcome === "ok")
|
|
600
691
|
return result.data;
|
|
601
692
|
const retryable = result.outcome === "stale" || (result.outcome === "unreadable" && retryUnreadable);
|
|
@@ -646,12 +737,17 @@ export class SenpiClient {
|
|
|
646
737
|
* Only the trade path (`retryUnreadable` true) folds those forms into the
|
|
647
738
|
* single retryable "unreadable" outcome.
|
|
648
739
|
*/
|
|
649
|
-
async fetchClearingHouseStateOnce(wallet, retryUnreadable) {
|
|
740
|
+
async fetchClearingHouseStateOnce(wallet, retryUnreadable, signal) {
|
|
650
741
|
let raw;
|
|
651
742
|
try {
|
|
652
|
-
raw = await this.callTool("strategy_get_clearinghouse_state", { strategy_wallet: wallet });
|
|
743
|
+
raw = await this.callTool("strategy_get_clearinghouse_state", { strategy_wallet: wallet }, signal ? { signal } : undefined);
|
|
653
744
|
}
|
|
654
745
|
catch (err) {
|
|
746
|
+
// A blown deadline is terminal for the whole ladder — retrying cannot beat a clock that has
|
|
747
|
+
// already run out, and swallowing it into `unreadable` would hand the caller a silent null
|
|
748
|
+
// where it needs a loud throw.
|
|
749
|
+
if (signal?.aborted === true)
|
|
750
|
+
throw err;
|
|
655
751
|
if (!retryUnreadable)
|
|
656
752
|
throw err;
|
|
657
753
|
logger.warn("getClearingHouseState: transport threw", {
|
|
@@ -734,8 +830,8 @@ export class SenpiClient {
|
|
|
734
830
|
* {@link getPosition} / getPositionsForAssets). Does not call `list_open_positions`.
|
|
735
831
|
* DEX keys `main` map to reconciler dex `""` to match DSL state paths; `xyz` stays `xyz`.
|
|
736
832
|
*/
|
|
737
|
-
async listOpenPositions(wallet) {
|
|
738
|
-
const state = await this.getClearingHouseState(wallet);
|
|
833
|
+
async listOpenPositions(wallet, opts) {
|
|
834
|
+
const state = await this.getClearingHouseState(wallet, opts);
|
|
739
835
|
if (state == null) {
|
|
740
836
|
logger.warn("listOpenPositions: clearing house state null", { wallet });
|
|
741
837
|
throw new Error("strategy_get_clearinghouse_state: empty or invalid response");
|
|
@@ -750,6 +846,15 @@ export class SenpiClient {
|
|
|
750
846
|
return openPositionsFromClearingHouseState(state);
|
|
751
847
|
}
|
|
752
848
|
// ─── New MCP methods ────────────────────────────────────────────────────────
|
|
849
|
+
/**
|
|
850
|
+
* The strategy behind a wallet, or `null` when the backend lists none for it.
|
|
851
|
+
*
|
|
852
|
+
* `initialBudget` is `totalFunded` VERBATIM, including its `undefined`: an amount the backend did
|
|
853
|
+
* not report is carried through as unread, never as `0`. This result is the strategy-details
|
|
854
|
+
* surface (`StrategyState.fetchDetails` → the `strategy: details` context slice), and a `0` there
|
|
855
|
+
* tells an agent the wallet is empty — the unreadable-renders-as-zero failure `[W_BUDGET_FUNDED_UNREADABLE]`
|
|
856
|
+
* closes on the deploy report, one surface over.
|
|
857
|
+
*/
|
|
753
858
|
async getStrategy(wallet) {
|
|
754
859
|
// The backend `strategy_get` tool requires a strategy_id, not a wallet address.
|
|
755
860
|
// Look up by wallet via `strategy_list` with an address filter instead.
|
|
@@ -769,7 +874,18 @@ export class SenpiClient {
|
|
|
769
874
|
createdAt: match.createdAt,
|
|
770
875
|
};
|
|
771
876
|
}
|
|
772
|
-
|
|
877
|
+
/**
|
|
878
|
+
* `opts.signal` bounds ONE MCP call (H6). Deploy passes `AbortSignal.timeout(...)` on every call
|
|
879
|
+
* it makes, so a backend that never answers cannot hold the deploy job's single-flight slot.
|
|
880
|
+
*
|
|
881
|
+
* FAILS CLOSED, like {@link listOpenPositions}: `callTool` throws only on an RPC fault, so a
|
|
882
|
+
* tool-level error envelope (`{success:false,…}`) or an isError text payload RESOLVES here. Read
|
|
883
|
+
* as `[]` those became "you own zero strategies" — and every caller treats zero as proof of
|
|
884
|
+
* absence: deploy's reconcile falls through to `needsWallet`, so one transient backend failure
|
|
885
|
+
* created and funded a second wallet beside every live one and then reported `live`. An empty
|
|
886
|
+
* `strategies` array is still a real answer and is returned as one; anything else throws.
|
|
887
|
+
*/
|
|
888
|
+
async listStrategies(filters, opts) {
|
|
773
889
|
const args = {};
|
|
774
890
|
if (filters?.strategyAddresses)
|
|
775
891
|
args.strategy_addresses = filters.strategyAddresses;
|
|
@@ -779,11 +895,15 @@ export class SenpiClient {
|
|
|
779
895
|
args.strategy_ids = filters.strategyIds;
|
|
780
896
|
if (filters?.strategyType)
|
|
781
897
|
args.strategy_type = filters.strategyType;
|
|
782
|
-
const raw = await this.callTool("strategy_list", args);
|
|
898
|
+
const raw = await this.callTool("strategy_list", args, opts);
|
|
783
899
|
const data = unwrapEnvelope(raw);
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
:
|
|
900
|
+
if (!isRecord(data) || !Array.isArray(data.strategies)) {
|
|
901
|
+
const detail = describeToolFailure(data);
|
|
902
|
+
logger.warn("listStrategies: strategy_list response not recognizable", { detail });
|
|
903
|
+
throw new Error(`strategy_list: no strategies array in the response — the strategy list is UNKNOWN, ` +
|
|
904
|
+
`not empty (${detail})`);
|
|
905
|
+
}
|
|
906
|
+
const strategies = data.strategies;
|
|
787
907
|
return strategies.filter(isRecord).map((s) => ({
|
|
788
908
|
id: asString(s.id) ?? "",
|
|
789
909
|
strategyWalletAddress: asString(s.strategyWalletAddress) ?? "",
|
|
@@ -792,7 +912,10 @@ export class SenpiClient {
|
|
|
792
912
|
strategyType: asString(s.strategyType) ?? "",
|
|
793
913
|
strategyName: asString(s.strategyName) ?? asString(s.name) ?? "",
|
|
794
914
|
createdAt: asString(s.createdAt) ?? "",
|
|
795
|
-
|
|
915
|
+
// NOT `?? 0`: a missing or unparseable figure stays undefined so the report layer can say
|
|
916
|
+
// "unreadable" instead of asserting an empty wallet. See StrategySummary.totalFunded.
|
|
917
|
+
totalFunded: asNumber(s.totalFunded) ?? undefined,
|
|
918
|
+
skillName: readSkillName(s.strategyMetadata),
|
|
796
919
|
}));
|
|
797
920
|
}
|
|
798
921
|
async getOpenOrders(wallet) {
|
|
@@ -854,6 +977,34 @@ export class SenpiClient {
|
|
|
854
977
|
return { success: false };
|
|
855
978
|
return { success: data.success === true, message: asString(data.message) ?? undefined };
|
|
856
979
|
}
|
|
980
|
+
/**
|
|
981
|
+
* Raw portfolio from account_get_portfolio. Interpretation (the funding
|
|
982
|
+
* waterfall) lives in deploy/funding.ts — this method only fetches.
|
|
983
|
+
* Returns null on a non-record payload; throws on transport error.
|
|
984
|
+
*/
|
|
985
|
+
async getPortfolio(opts) {
|
|
986
|
+
const raw = await this.callTool("account_get_portfolio", { ...(opts?.forceFetch ? { forceFetch: true } : {}) }, opts);
|
|
987
|
+
const data = unwrapEnvelope(raw);
|
|
988
|
+
return isRecord(data) ? data : null;
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Create (and backend-fund) a custom strategy wallet. skillName/skillVersion
|
|
992
|
+
* attribution is mandatory: strategies created without it are unattributable.
|
|
993
|
+
*/
|
|
994
|
+
async createCustomStrategy(params, opts) {
|
|
995
|
+
const raw = await this.callTool("strategy_create_custom_strategy", {
|
|
996
|
+
initialBudget: params.initialBudget,
|
|
997
|
+
positions: [],
|
|
998
|
+
...(params.strategyName ? { strategyName: params.strategyName } : {}),
|
|
999
|
+
skillName: params.skillName,
|
|
1000
|
+
skillVersion: params.skillVersion,
|
|
1001
|
+
}, opts);
|
|
1002
|
+
const data = unwrapEnvelope(raw);
|
|
1003
|
+
if (!isRecord(data))
|
|
1004
|
+
return { success: false };
|
|
1005
|
+
const strategyId = asString(data.strategyId) ?? asString(data.id) ?? asString(data.strategy_id) ?? undefined;
|
|
1006
|
+
return { success: data.success === true, strategyId, message: asString(data.message) ?? undefined };
|
|
1007
|
+
}
|
|
857
1008
|
async withdrawFunds(wallet, amount) {
|
|
858
1009
|
const raw = await this.callTool("strategy_withdraw_funds", { strategy_wallet: wallet, amount });
|
|
859
1010
|
const data = unwrapEnvelope(raw);
|
|
@@ -861,8 +1012,8 @@ export class SenpiClient {
|
|
|
861
1012
|
return { success: false };
|
|
862
1013
|
return { success: data.success === true, message: asString(data.message) ?? undefined };
|
|
863
1014
|
}
|
|
864
|
-
async closeStrategy(wallet) {
|
|
865
|
-
const raw = await this.callTool("strategy_close", { strategy_wallet: wallet });
|
|
1015
|
+
async closeStrategy(wallet, opts) {
|
|
1016
|
+
const raw = await this.callTool("strategy_close", { strategy_wallet: wallet }, opts);
|
|
866
1017
|
const data = unwrapEnvelope(raw);
|
|
867
1018
|
if (!isRecord(data))
|
|
868
1019
|
return { success: false };
|
|
@@ -937,6 +1088,32 @@ export class SenpiClient {
|
|
|
937
1088
|
}
|
|
938
1089
|
return result;
|
|
939
1090
|
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Non-delisted instrument NAMES from `market_list_instruments` — the live-universe gate's read.
|
|
1093
|
+
* Distinct from {@link listInstruments} on purpose: that projection requires `max_leverage` and
|
|
1094
|
+
* ignores `is_delisted`, both wrong for a liveness question (an instrument without a leverage
|
|
1095
|
+
* figure is still live; a delisted one is not). Returns [] when the response carries no
|
|
1096
|
+
* recognizable instruments — callers MUST treat an empty list as "could not read", never as
|
|
1097
|
+
* "everything is dead" (a real read always contains at least the majors).
|
|
1098
|
+
*/
|
|
1099
|
+
async listInstrumentNames(opts) {
|
|
1100
|
+
const raw = await this.callTool("market_list_instruments", {}, opts);
|
|
1101
|
+
const unwrapped = unwrapEnvelope(raw) ?? raw;
|
|
1102
|
+
if (unwrapped == null || typeof unwrapped !== "object")
|
|
1103
|
+
return [];
|
|
1104
|
+
const instrumentsRaw = unwrapped.instruments;
|
|
1105
|
+
if (!Array.isArray(instrumentsRaw))
|
|
1106
|
+
return [];
|
|
1107
|
+
const names = [];
|
|
1108
|
+
for (const row of instrumentsRaw) {
|
|
1109
|
+
if (!isRecord(row))
|
|
1110
|
+
continue;
|
|
1111
|
+
const name = asString(row.name);
|
|
1112
|
+
if (name != null && row.is_delisted !== true)
|
|
1113
|
+
names.push(name);
|
|
1114
|
+
}
|
|
1115
|
+
return names;
|
|
1116
|
+
}
|
|
940
1117
|
/**
|
|
941
1118
|
* Fetch PnL and account value history plus the today_snapshot (UTC-day-scoped metrics)
|
|
942
1119
|
* via MCP `strategy_get_pnl_and_account_value_history`.
|