@senpi/runtime 3.0.103 → 3.0.107

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.
Files changed (209) hide show
  1. package/dist/actions/action-events.d.ts +7 -21
  2. package/dist/actions/action-events.d.ts.map +1 -1
  3. package/dist/actions/action-events.js +25 -56
  4. package/dist/actions/action-events.js.map +1 -1
  5. package/dist/actions/action-runtime-module.d.ts.map +1 -1
  6. package/dist/actions/action-runtime-module.js +1 -18
  7. package/dist/actions/action-runtime-module.js.map +1 -1
  8. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  9. package/dist/actions/close-position/close-position.action.js +17 -89
  10. package/dist/actions/close-position/close-position.action.js.map +1 -1
  11. package/dist/actions/event-derivation.d.ts +2 -40
  12. package/dist/actions/event-derivation.d.ts.map +1 -1
  13. package/dist/actions/event-derivation.js +9 -189
  14. package/dist/actions/event-derivation.js.map +1 -1
  15. package/dist/actions/open-position/open-position.action.d.ts +33 -0
  16. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  17. package/dist/actions/open-position/open-position.action.js +223 -170
  18. package/dist/actions/open-position/open-position.action.js.map +1 -1
  19. package/dist/actions/position-tracker/position-tracker.action.d.ts +1 -2
  20. package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
  21. package/dist/actions/position-tracker/position-tracker.action.js +15 -50
  22. package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
  23. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  24. package/dist/dsl/engine-client/event-mapping.js +0 -15
  25. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  26. package/dist/dsl/events/build-closed-event.d.ts +1 -16
  27. package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
  28. package/dist/dsl/events/build-closed-event.js +0 -5
  29. package/dist/dsl/events/build-closed-event.js.map +1 -1
  30. package/dist/dsl/events/handlers.d.ts +0 -7
  31. package/dist/dsl/events/handlers.d.ts.map +1 -1
  32. package/dist/dsl/events/handlers.js +7 -49
  33. package/dist/dsl/events/handlers.js.map +1 -1
  34. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  35. package/dist/dsl/monitor/create-monitor.js +0 -7
  36. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  37. package/dist/dsl/monitor/dsl-failure-events.d.ts +0 -2
  38. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -1
  39. package/dist/dsl/monitor/dsl-failure-events.js +1 -2
  40. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -1
  41. package/dist/dsl/monitor/process-one-position.d.ts +0 -6
  42. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  43. package/dist/dsl/monitor/process-one-position.js +21 -55
  44. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  45. package/dist/health/types.d.ts +0 -6
  46. package/dist/health/types.d.ts.map +1 -1
  47. package/dist/health/types.js.map +1 -1
  48. package/dist/index.d.ts +4 -16
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +47 -245
  51. package/dist/index.js.map +1 -1
  52. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +6 -0
  53. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts.map +1 -1
  54. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js +25 -0
  55. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js.map +1 -1
  56. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  57. package/dist/runtime/create-runtime-context.js +5 -0
  58. package/dist/runtime/create-runtime-context.js.map +1 -1
  59. package/dist/runtime/domain-events.d.ts.map +1 -1
  60. package/dist/runtime/domain-events.js +0 -7
  61. package/dist/runtime/domain-events.js.map +1 -1
  62. package/dist/runtime/lifecycle-events.d.ts +1 -9
  63. package/dist/runtime/lifecycle-events.d.ts.map +1 -1
  64. package/dist/runtime/lifecycle-events.js +2 -11
  65. package/dist/runtime/lifecycle-events.js.map +1 -1
  66. package/dist/runtime/pending-opens-ledger.d.ts +93 -0
  67. package/dist/runtime/pending-opens-ledger.d.ts.map +1 -0
  68. package/dist/runtime/pending-opens-ledger.js +118 -0
  69. package/dist/runtime/pending-opens-ledger.js.map +1 -0
  70. package/dist/runtime/reconcile-run.d.ts +0 -2
  71. package/dist/runtime/reconcile-run.d.ts.map +1 -1
  72. package/dist/runtime/reconcile-run.js +1 -2
  73. package/dist/runtime/reconcile-run.js.map +1 -1
  74. package/dist/runtime/reconcile-state.d.ts +0 -8
  75. package/dist/runtime/reconcile-state.d.ts.map +1 -1
  76. package/dist/runtime/reconcile-state.js +1 -3
  77. package/dist/runtime/reconcile-state.js.map +1 -1
  78. package/dist/runtime/runtime.d.ts +5 -5
  79. package/dist/runtime/runtime.d.ts.map +1 -1
  80. package/dist/runtime/runtime.js +20 -44
  81. package/dist/runtime/runtime.js.map +1 -1
  82. package/dist/runtime/strategy-registry.d.ts +1 -0
  83. package/dist/runtime/strategy-registry.d.ts.map +1 -1
  84. package/dist/runtime/strategy-registry.js +19 -0
  85. package/dist/runtime/strategy-registry.js.map +1 -1
  86. package/dist/runtime/supervisor/long-running-supervisor.d.ts +0 -8
  87. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  88. package/dist/runtime/supervisor/long-running-supervisor.js +0 -1
  89. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  90. package/dist/runtime/update-apply-deps.d.ts +6 -0
  91. package/dist/runtime/update-apply-deps.d.ts.map +1 -1
  92. package/dist/runtime/update-apply-deps.js +8 -19
  93. package/dist/runtime/update-apply-deps.js.map +1 -1
  94. package/dist/runtime-api/intake/intake-events.d.ts +3 -3
  95. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
  96. package/dist/runtime-api/intake/intake-events.js +3 -21
  97. package/dist/runtime-api/intake/intake-events.js.map +1 -1
  98. package/dist/runtime-api/intake/intake-mount.d.ts +2 -0
  99. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  100. package/dist/runtime-api/intake/intake-mount.js +10 -57
  101. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  102. package/dist/runtime-api/intake/process-signal-post.d.ts +0 -11
  103. package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
  104. package/dist/runtime-api/intake/process-signal-post.js +8 -39
  105. package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
  106. package/dist/runtime-api/intake/scaffold-error-router.d.ts +43 -0
  107. package/dist/runtime-api/intake/scaffold-error-router.d.ts.map +1 -0
  108. package/dist/runtime-api/intake/scaffold-error-router.js +63 -0
  109. package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -0
  110. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  111. package/dist/runtime-api/intake/scanner-launcher.js +0 -12
  112. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  113. package/dist/runtime-api/intake/types.d.ts +1 -22
  114. package/dist/runtime-api/intake/types.d.ts.map +1 -1
  115. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  116. package/dist/runtime-api/routes/signals.js +1 -7
  117. package/dist/runtime-api/routes/signals.js.map +1 -1
  118. package/dist/runtime-api/routes/signals.schema.d.ts +0 -1
  119. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
  120. package/dist/runtime-api/routes/signals.schema.js +0 -6
  121. package/dist/runtime-api/routes/signals.schema.js.map +1 -1
  122. package/dist/scanners/engine/engine.d.ts +0 -5
  123. package/dist/scanners/engine/engine.d.ts.map +1 -1
  124. package/dist/scanners/engine/engine.js +2 -30
  125. package/dist/scanners/engine/engine.js.map +1 -1
  126. package/dist/scanners/external/scaffold/delivery.py +12 -79
  127. package/dist/scanners/external/scaffold/scaffold.py +9 -63
  128. package/dist/scanners/external-scanner-receiver.d.ts +0 -11
  129. package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
  130. package/dist/scanners/external-scanner-receiver.js.map +1 -1
  131. package/dist/scanners/runtime-module.d.ts.map +1 -1
  132. package/dist/scanners/runtime-module.js +0 -5
  133. package/dist/scanners/runtime-module.js.map +1 -1
  134. package/dist/senpi/client.d.ts.map +1 -1
  135. package/dist/senpi/client.js +4 -12
  136. package/dist/senpi/client.js.map +1 -1
  137. package/dist/senpi/types.d.ts +0 -5
  138. package/dist/senpi/types.d.ts.map +1 -1
  139. package/dist/skills-manager/manifest.d.ts.map +1 -1
  140. package/dist/skills-manager/manifest.js +3 -12
  141. package/dist/skills-manager/manifest.js.map +1 -1
  142. package/dist/skills-manager/skills-manifest.json +3 -3
  143. package/dist/strategy/strategy-state.d.ts +26 -0
  144. package/dist/strategy/strategy-state.d.ts.map +1 -1
  145. package/dist/strategy/strategy-state.js +48 -20
  146. package/dist/strategy/strategy-state.js.map +1 -1
  147. package/dist/telemetry/event-builders.d.ts +6 -74
  148. package/dist/telemetry/event-builders.d.ts.map +1 -1
  149. package/dist/telemetry/event-builders.js +11 -108
  150. package/dist/telemetry/event-builders.js.map +1 -1
  151. package/dist/telemetry/event-store.d.ts +0 -6
  152. package/dist/telemetry/event-store.d.ts.map +1 -1
  153. package/dist/telemetry/event-store.js +6 -6
  154. package/dist/telemetry/event-store.js.map +1 -1
  155. package/dist/telemetry/metrics.d.ts +2 -14
  156. package/dist/telemetry/metrics.d.ts.map +1 -1
  157. package/dist/telemetry/metrics.js +4 -19
  158. package/dist/telemetry/metrics.js.map +1 -1
  159. package/dist/telemetry/tracing.d.ts +0 -9
  160. package/dist/telemetry/tracing.d.ts.map +1 -1
  161. package/dist/telemetry/tracing.js +0 -36
  162. package/dist/telemetry/tracing.js.map +1 -1
  163. package/dist/types/dsl/index.d.ts +0 -11
  164. package/dist/types/dsl/index.d.ts.map +1 -1
  165. package/dist/types/runtime.d.ts +9 -0
  166. package/dist/types/runtime.d.ts.map +1 -1
  167. package/dist/types/scanner.d.ts +0 -9
  168. package/dist/types/scanner.d.ts.map +1 -1
  169. package/dist/types/strategy.d.ts +6 -0
  170. package/dist/types/strategy.d.ts.map +1 -1
  171. package/dist/utils/event-catalog.d.ts +0 -81
  172. package/dist/utils/event-catalog.d.ts.map +1 -1
  173. package/dist/utils/event-catalog.js +0 -1
  174. package/dist/utils/event-catalog.js.map +1 -1
  175. package/dist/utils/keyed-mutex.d.ts +1 -3
  176. package/dist/utils/keyed-mutex.d.ts.map +1 -1
  177. package/dist/utils/keyed-mutex.js +1 -3
  178. package/dist/utils/keyed-mutex.js.map +1 -1
  179. package/openclaw.plugin.json +1 -1
  180. package/package.json +1 -1
  181. package/dist/actions/skipped-signal-results.d.ts +0 -16
  182. package/dist/actions/skipped-signal-results.d.ts.map +0 -1
  183. package/dist/actions/skipped-signal-results.js +0 -47
  184. package/dist/actions/skipped-signal-results.js.map +0 -1
  185. package/dist/scanners/external/scaffold/ulid.py +0 -58
  186. package/dist/telemetry/live-telemetry.d.ts +0 -158
  187. package/dist/telemetry/live-telemetry.d.ts.map +0 -1
  188. package/dist/telemetry/live-telemetry.js +0 -581
  189. package/dist/telemetry/live-telemetry.js.map +0 -1
  190. package/dist/telemetry/scanner-stats.d.ts +0 -136
  191. package/dist/telemetry/scanner-stats.d.ts.map +0 -1
  192. package/dist/telemetry/scanner-stats.js +0 -304
  193. package/dist/telemetry/scanner-stats.js.map +0 -1
  194. package/dist/telemetry/strategy-topology.d.ts +0 -99
  195. package/dist/telemetry/strategy-topology.d.ts.map +0 -1
  196. package/dist/telemetry/strategy-topology.js +0 -93
  197. package/dist/telemetry/strategy-topology.js.map +0 -1
  198. package/dist/telemetry/telemetry-publisher.d.ts +0 -63
  199. package/dist/telemetry/telemetry-publisher.d.ts.map +0 -1
  200. package/dist/telemetry/telemetry-publisher.js +0 -229
  201. package/dist/telemetry/telemetry-publisher.js.map +0 -1
  202. package/dist/telemetry/timeline-buffer.d.ts +0 -95
  203. package/dist/telemetry/timeline-buffer.d.ts.map +0 -1
  204. package/dist/telemetry/timeline-buffer.js +0 -237
  205. package/dist/telemetry/timeline-buffer.js.map +0 -1
  206. package/dist/utils/ulid.d.ts +0 -9
  207. package/dist/utils/ulid.d.ts.map +0 -1
  208. package/dist/utils/ulid.js +0 -43
  209. package/dist/utils/ulid.js.map +0 -1
@@ -1,158 +0,0 @@
1
- /**
2
- * The publisher: the piece that turns the buffer and the three builders into frames on the gateway
3
- * websocket, plus the snapshot a client reads when it connects.
4
- *
5
- * Two things about the transport shape the whole module:
6
- * - The only route to the websocket is a captured `context.broadcast`, and `context` exists only
7
- * inside a gateway RPC handler — the plugin api object has no push surface at all. So the handle is
8
- * captured from the FIRST request of ANY kind, not only from the subscribe method: a box whose
9
- * client never calls subscribe would otherwise hold nothing to publish through, silently.
10
- * - The gateway drops any event name that does not start with `plugin.`, and closes the socket with
11
- * 1008 for a slow client unless the call passes `dropIfSlow`. Both are enforced here rather than at
12
- * each call site, because either mistake is invisible until a client is missing frames.
13
- *
14
- * Three cadences, because the three payloads cost different things to build:
15
- * - timeline, on the flush tick — a drain plus a filter, cheap, and the one a live screen feels.
16
- * - stats, on the sample tick — a scan of the whole held window and an async read of every runtime's
17
- * health and system state, so it runs an order of magnitude less often.
18
- * - topology, on the sample tick but published only when it changes — it rides the same gather as
19
- * stats, and nothing in the plugin signals a topology change, so "on change" means polled and
20
- * diffed rather than pushed.
21
- *
22
- * The snapshot is what stops a client that joins mid-life from seeing an empty screen: it is read
23
- * from the buffer's held window, which the flush drain never evicts.
24
- *
25
- * Everything that leaves the box is scrubbed here. `logger.event` redacts its `redact` slot and not
26
- * its `attributes`, which is sound for the disk ring — that never leaves — but not for a stream a
27
- * browser reads. Both outbound paths funnel through {@link toWireRecord}, so that is where the
28
- * scrub sits; it is what makes the flush tick asynchronous and gives it an in-flight guard.
29
- */
30
- import type { EventName } from "../utils/event-catalog.js";
31
- import { type TimelineBuffer } from "./timeline-buffer.js";
32
- import { type ScannerStateSnapshot, type ScannerStatsPayload } from "./scanner-stats.js";
33
- import { type IdMembership, type RuntimeHealthLike, type StrategyTopologyPayload, type TopologyStrategySource } from "./strategy-topology.js";
34
- /** The gateway drops any broadcast whose name does not carry this prefix, with no error. */
35
- export declare const EVENT_TIMELINE = "plugin.senpi.timeline";
36
- export declare const EVENT_STATS = "plugin.senpi.scanner.stats";
37
- export declare const EVENT_TOPOLOGY = "plugin.senpi.strategies";
38
- /**
39
- * Byte ceiling for one frame. The bridge's north read limit is 256 KiB and a breach closes the
40
- * client socket with 1009, so the budget is set at half of it: the payload envelope the gateway wraps
41
- * around ours, and the growth of a single record's attribute bag, both have to fit inside the margin.
42
- */
43
- export declare const MAX_FRAME_BYTES: number;
44
- /** Flush cadence for the timeline. A live screen feels this number. */
45
- export declare const DEFAULT_FLUSH_INTERVAL_MS = 1000;
46
- /**
47
- * Sample cadence for stats and topology. Both are built from one async read of every runtime's health
48
- * and system state, so they share a tick. Five seconds is roughly a third of the default bucket width
49
- * — fast enough that a counter visibly moves and a hung scan is seen while it is still running, slow
50
- * enough that the per-scanner store read behind the system state is not a poll loop.
51
- */
52
- export declare const DEFAULT_SAMPLE_INTERVAL_MS = 5000;
53
- /**
54
- * The PUBLICATION list: what leaves on the timeline event. A name being on this list AND on the
55
- * admission list is the normal case, not a duplication — `signal.outcome` is the decision row the feed
56
- * is built around and the source of `opens`/`closes`/`skips`, and the two `scaffold.tick_*` names are
57
- * the source of `errors` and the rows behind the Errors filter. A failing external scanner has to
58
- * leave a visible line, not only a number that silently goes up.
59
- *
60
- * The two lists are separate so admission can be widened for a counter the feed does not display,
61
- * which is the direction that has to stay open: the display filter belongs here at publish time,
62
- * where it is still recoverable, never at append time, where it is not. Today nothing is admitted for
63
- * counting alone, so the sets are equal — the seam is what matters, not the difference.
64
- */
65
- export declare const PUBLISHED_EVENT_NAMES: ReadonlySet<EventName>;
66
- /**
67
- * The share of its own interval a tick may take before it is warned about. A fraction rather than a
68
- * constant, so a deployment that changes a cadence gets a proportional threshold: 250ms on the
69
- * one-second timeline flush, 1.25s on the five-second sample.
70
- *
71
- * A quarter, not a whole interval. Both ticks share an event loop with the serial trading path, so a
72
- * tick holding it for a quarter of its own period is already adding latency to trading; and a tick
73
- * that fills its interval has already started stacking on the next one, which is too late to be told.
74
- */
75
- export declare const SLOW_TICK_FRACTION = 0.25;
76
- /**
77
- * How often the timing summary is logged, and the floor between two slow-tick warns of the same kind.
78
- * The flush tick runs every second, so a line per tick would be tens of thousands a day for numbers
79
- * that only mean anything aggregated — and a repeating tick that is slow is slow every time.
80
- */
81
- export declare const TIMING_REPORT_INTERVAL_MS = 60000;
82
- export interface GatewayBroadcastOpts {
83
- dropIfSlow?: boolean;
84
- stateVersion?: number;
85
- }
86
- export type GatewayBroadcastFn = (event: string, payload: unknown, opts?: GatewayBroadcastOpts) => void;
87
- /** One record as it goes on the wire. */
88
- export interface TimelineWireRecord {
89
- seq: number;
90
- ts: number;
91
- name: string;
92
- level: string;
93
- address: string;
94
- scannerId?: string;
95
- body: string;
96
- attrs: Record<string, string | number | boolean>;
97
- }
98
- export interface TimelinePayload {
99
- v: 1;
100
- epoch: string;
101
- batchSeq: number;
102
- records: TimelineWireRecord[];
103
- }
104
- export interface TelemetrySnapshot {
105
- epoch: string;
106
- topology: StrategyTopologyPayload;
107
- stats: ScannerStatsPayload;
108
- recent: TimelinePayload;
109
- /**
110
- * The client asked to resume from a cursor inside THIS epoch whose successor is no longer held, or
111
- * the window it is owed did not fit one frame. Either way there is a gap this response cannot fill,
112
- * and only the box knows it: `recent.records` alone looks like a normal short window.
113
- *
114
- * A cursor from another epoch is not truncation. It buys nothing, so the whole retained window is
115
- * served — which is the most this box could ever serve, and so nothing was withheld.
116
- */
117
- truncated: boolean;
118
- }
119
- /** Everything the two builders need that the buffer cannot supply, gathered once per tick. */
120
- export interface TelemetryFacts {
121
- strategies: TopologyStrategySource[];
122
- runningRuntimeIds: IdMembership;
123
- unwiredRuntimeIds: IdMembership;
124
- readHealth?: (runtimeId: string) => RuntimeHealthLike | undefined;
125
- scannerState: ScannerStateSnapshot[];
126
- }
127
- export interface LiveTelemetryOptions {
128
- /** Defaults to the process buffer — one per process, shared by every address. */
129
- buffer?: TimelineBuffer;
130
- collectFacts: () => Promise<TelemetryFacts>;
131
- flushIntervalMs?: number;
132
- sampleIntervalMs?: number;
133
- now?: () => number;
134
- /**
135
- * Monotonic millisecond reader for tick durations. Defaults to `performance.now`; `now` is wall
136
- * clock and can step backwards under NTP, which would report a negative tick.
137
- */
138
- monotonicMs?: () => number;
139
- }
140
- export interface LiveTelemetry {
141
- readonly epoch: string;
142
- /** Take the broadcast handle off a gateway request context if we do not hold one yet. */
143
- captureBroadcast(ctx: unknown, methodName: string): void;
144
- /** `afterSeq` counts only when `afterEpoch` is the epoch this box is running. */
145
- snapshot(params?: {
146
- afterEpoch?: unknown;
147
- afterSeq?: unknown;
148
- }): Promise<TelemetrySnapshot>;
149
- /** One flush tick: drain, filter to the publication list, scrub, frame, broadcast. */
150
- flushTimeline(): Promise<void>;
151
- /** One sample tick: stats always, topology when it changed. */
152
- sample(): Promise<void>;
153
- start(): void;
154
- /** Clear both timers, drop the captured handle, and empty the buffer. */
155
- stop(): void;
156
- }
157
- export declare function createLiveTelemetry(options: LiveTelemetryOptions): LiveTelemetry;
158
- //# sourceMappingURL=live-telemetry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/live-telemetry.ts"],"names":[],"mappings":"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"}