@senpi/runtime 3.0.117 → 3.0.122

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 (321) hide show
  1. package/README.md +16 -0
  2. package/dist/actions/action-events.d.ts +7 -21
  3. package/dist/actions/action-events.d.ts.map +1 -1
  4. package/dist/actions/action-events.js +26 -54
  5. package/dist/actions/action-events.js.map +1 -1
  6. package/dist/actions/action-runtime-module.d.ts.map +1 -1
  7. package/dist/actions/action-runtime-module.js +7 -38
  8. package/dist/actions/action-runtime-module.js.map +1 -1
  9. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  10. package/dist/actions/close-position/close-position.action.js +15 -122
  11. package/dist/actions/close-position/close-position.action.js.map +1 -1
  12. package/dist/actions/decision-engine.d.ts.map +1 -1
  13. package/dist/actions/decision-engine.js +2 -15
  14. package/dist/actions/decision-engine.js.map +1 -1
  15. package/dist/actions/event-derivation.d.ts +2 -71
  16. package/dist/actions/event-derivation.d.ts.map +1 -1
  17. package/dist/actions/event-derivation.js +8 -251
  18. package/dist/actions/event-derivation.js.map +1 -1
  19. package/dist/actions/open-position/open-position.action.d.ts +2 -17
  20. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  21. package/dist/actions/open-position/open-position.action.js +56 -162
  22. package/dist/actions/open-position/open-position.action.js.map +1 -1
  23. package/dist/actions/position-tracker/position-tracker.action.d.ts +1 -2
  24. package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
  25. package/dist/actions/position-tracker/position-tracker.action.js +17 -62
  26. package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
  27. package/dist/actions/store/types.d.ts +2 -9
  28. package/dist/actions/store/types.d.ts.map +1 -1
  29. package/dist/actions/store/types.js.map +1 -1
  30. package/dist/actions/types.d.ts +0 -13
  31. package/dist/actions/types.d.ts.map +1 -1
  32. package/dist/actions/types.js +0 -13
  33. package/dist/actions/types.js.map +1 -1
  34. package/dist/cli/guide-commands.d.ts.map +1 -1
  35. package/dist/cli/guide-commands.js +16 -11
  36. package/dist/cli/guide-commands.js.map +1 -1
  37. package/dist/cli/senpi-commands.d.ts.map +1 -1
  38. package/dist/cli/senpi-commands.js +18 -7
  39. package/dist/cli/senpi-commands.js.map +1 -1
  40. package/dist/constants/dsl/index.d.ts +17 -6
  41. package/dist/constants/dsl/index.d.ts.map +1 -1
  42. package/dist/constants/dsl/index.js +17 -6
  43. package/dist/constants/dsl/index.js.map +1 -1
  44. package/dist/dsl/engine/floors.d.ts +25 -1
  45. package/dist/dsl/engine/floors.d.ts.map +1 -1
  46. package/dist/dsl/engine/floors.js +38 -6
  47. package/dist/dsl/engine/floors.js.map +1 -1
  48. package/dist/dsl/engine/index.d.ts +1 -1
  49. package/dist/dsl/engine/index.d.ts.map +1 -1
  50. package/dist/dsl/engine/index.js +1 -1
  51. package/dist/dsl/engine/index.js.map +1 -1
  52. package/dist/dsl/engine/round.d.ts +22 -2
  53. package/dist/dsl/engine/round.d.ts.map +1 -1
  54. package/dist/dsl/engine/round.js +78 -5
  55. package/dist/dsl/engine/round.js.map +1 -1
  56. package/dist/dsl/engine/tick.d.ts.map +1 -1
  57. package/dist/dsl/engine/tick.js +31 -16
  58. package/dist/dsl/engine/tick.js.map +1 -1
  59. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  60. package/dist/dsl/engine-client/event-mapping.js +0 -14
  61. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  62. package/dist/dsl/events/build-closed-event.d.ts +1 -16
  63. package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
  64. package/dist/dsl/events/build-closed-event.js +0 -6
  65. package/dist/dsl/events/build-closed-event.js.map +1 -1
  66. package/dist/dsl/events/handlers.d.ts +0 -7
  67. package/dist/dsl/events/handlers.d.ts.map +1 -1
  68. package/dist/dsl/events/handlers.js +7 -37
  69. package/dist/dsl/events/handlers.js.map +1 -1
  70. package/dist/dsl/events/initial-state.d.ts +1 -1
  71. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  72. package/dist/dsl/events/initial-state.js +4 -7
  73. package/dist/dsl/events/initial-state.js.map +1 -1
  74. package/dist/dsl/monitor/create-monitor.d.ts +2 -6
  75. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  76. package/dist/dsl/monitor/create-monitor.js +9 -15
  77. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  78. package/dist/dsl/monitor/dsl-failure-events.d.ts +0 -2
  79. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -1
  80. package/dist/dsl/monitor/dsl-failure-events.js +1 -2
  81. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -1
  82. package/dist/dsl/monitor/exchange-sync.d.ts +8 -3
  83. package/dist/dsl/monitor/exchange-sync.d.ts.map +1 -1
  84. package/dist/dsl/monitor/exchange-sync.js +16 -4
  85. package/dist/dsl/monitor/exchange-sync.js.map +1 -1
  86. package/dist/dsl/monitor/process-one-position.d.ts +0 -1
  87. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  88. package/dist/dsl/monitor/process-one-position.js +113 -62
  89. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  90. package/dist/dsl/plugin/index.d.ts +10 -12
  91. package/dist/dsl/plugin/index.d.ts.map +1 -1
  92. package/dist/dsl/plugin/index.js +14 -12
  93. package/dist/dsl/plugin/index.js.map +1 -1
  94. package/dist/health/types.d.ts +0 -13
  95. package/dist/health/types.d.ts.map +1 -1
  96. package/dist/health/types.js +0 -12
  97. package/dist/health/types.js.map +1 -1
  98. package/dist/index.d.ts +4 -27
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +206 -257
  101. package/dist/index.js.map +1 -1
  102. package/dist/runtime/action-registry.d.ts.map +1 -1
  103. package/dist/runtime/action-registry.js +3 -4
  104. package/dist/runtime/action-registry.js.map +1 -1
  105. package/dist/runtime/auto-update/coordinator.d.ts +16 -0
  106. package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
  107. package/dist/runtime/auto-update/coordinator.js +129 -13
  108. package/dist/runtime/auto-update/coordinator.js.map +1 -1
  109. package/dist/runtime/auto-update/run-update-command.d.ts.map +1 -1
  110. package/dist/runtime/auto-update/run-update-command.js +18 -14
  111. package/dist/runtime/auto-update/run-update-command.js.map +1 -1
  112. package/dist/runtime/auto-update/types.d.ts +17 -1
  113. package/dist/runtime/auto-update/types.d.ts.map +1 -1
  114. package/dist/runtime/auto-update/types.js +11 -0
  115. package/dist/runtime/auto-update/types.js.map +1 -1
  116. package/dist/runtime/boot-skip.d.ts +73 -0
  117. package/dist/runtime/boot-skip.d.ts.map +1 -0
  118. package/dist/runtime/boot-skip.js +113 -0
  119. package/dist/runtime/boot-skip.js.map +1 -0
  120. package/dist/runtime/create-runtime-context.d.ts +2 -0
  121. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  122. package/dist/runtime/create-runtime-context.js +1 -0
  123. package/dist/runtime/create-runtime-context.js.map +1 -1
  124. package/dist/runtime/domain-events.d.ts.map +1 -1
  125. package/dist/runtime/domain-events.js +0 -7
  126. package/dist/runtime/domain-events.js.map +1 -1
  127. package/dist/runtime/lifecycle-events.d.ts +43 -10
  128. package/dist/runtime/lifecycle-events.d.ts.map +1 -1
  129. package/dist/runtime/lifecycle-events.js +83 -12
  130. package/dist/runtime/lifecycle-events.js.map +1 -1
  131. package/dist/runtime/lifecycle-reaper.d.ts +202 -0
  132. package/dist/runtime/lifecycle-reaper.d.ts.map +1 -0
  133. package/dist/runtime/lifecycle-reaper.js +390 -0
  134. package/dist/runtime/lifecycle-reaper.js.map +1 -0
  135. package/dist/runtime/reconcile-run.d.ts +3 -13
  136. package/dist/runtime/reconcile-run.d.ts.map +1 -1
  137. package/dist/runtime/reconcile-run.js +3 -4
  138. package/dist/runtime/reconcile-run.js.map +1 -1
  139. package/dist/runtime/reconcile-state.d.ts +0 -8
  140. package/dist/runtime/reconcile-state.d.ts.map +1 -1
  141. package/dist/runtime/reconcile-state.js +1 -4
  142. package/dist/runtime/reconcile-state.js.map +1 -1
  143. package/dist/runtime/run.d.ts +5 -1
  144. package/dist/runtime/run.d.ts.map +1 -1
  145. package/dist/runtime/run.js +1 -0
  146. package/dist/runtime/run.js.map +1 -1
  147. package/dist/runtime/runtime-schema.js +3 -3
  148. package/dist/runtime/runtime-schema.js.map +1 -1
  149. package/dist/runtime/runtime.d.ts +2 -1
  150. package/dist/runtime/runtime.d.ts.map +1 -1
  151. package/dist/runtime/runtime.js +4 -27
  152. package/dist/runtime/runtime.js.map +1 -1
  153. package/dist/runtime/supervisor/long-running-supervisor.d.ts +0 -13
  154. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  155. package/dist/runtime/supervisor/long-running-supervisor.js +0 -1
  156. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  157. package/dist/runtime/update-apply-deps.d.ts +23 -2
  158. package/dist/runtime/update-apply-deps.d.ts.map +1 -1
  159. package/dist/runtime/update-apply-deps.js +11 -5
  160. package/dist/runtime/update-apply-deps.js.map +1 -1
  161. package/dist/runtime/validate-dsl-position-tracking.d.ts.map +1 -1
  162. package/dist/runtime/validate-dsl-position-tracking.js +1 -2
  163. package/dist/runtime/validate-dsl-position-tracking.js.map +1 -1
  164. package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -1
  165. package/dist/runtime-api/handlers/ingest-signals.js +0 -1
  166. package/dist/runtime-api/handlers/ingest-signals.js.map +1 -1
  167. package/dist/runtime-api/handlers/types.d.ts +0 -5
  168. package/dist/runtime-api/handlers/types.d.ts.map +1 -1
  169. package/dist/runtime-api/intake/intake-events.d.ts +1 -1
  170. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
  171. package/dist/runtime-api/intake/intake-events.js +3 -9
  172. package/dist/runtime-api/intake/intake-events.js.map +1 -1
  173. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  174. package/dist/runtime-api/intake/intake-mount.js +19 -4
  175. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  176. package/dist/runtime-api/intake/process-error-post.d.ts +1 -6
  177. package/dist/runtime-api/intake/process-error-post.d.ts.map +1 -1
  178. package/dist/runtime-api/intake/process-error-post.js +1 -5
  179. package/dist/runtime-api/intake/process-error-post.js.map +1 -1
  180. package/dist/runtime-api/intake/process-signal-post.d.ts +1 -7
  181. package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
  182. package/dist/runtime-api/intake/process-signal-post.js +0 -5
  183. package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
  184. package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -1
  185. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  186. package/dist/runtime-api/intake/scanner-launcher.js +0 -15
  187. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  188. package/dist/runtime-api/intake/types.d.ts +0 -55
  189. package/dist/runtime-api/intake/types.d.ts.map +1 -1
  190. package/dist/runtime-api/routes/signals.d.ts +0 -2
  191. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  192. package/dist/runtime-api/routes/signals.js +1 -5
  193. package/dist/runtime-api/routes/signals.js.map +1 -1
  194. package/dist/runtime-api/routes/signals.schema.d.ts +0 -43
  195. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
  196. package/dist/runtime-api/routes/signals.schema.js +0 -43
  197. package/dist/runtime-api/routes/signals.schema.js.map +1 -1
  198. package/dist/runtime-api/server.d.ts +1 -7
  199. package/dist/runtime-api/server.d.ts.map +1 -1
  200. package/dist/runtime-api/server.js +0 -1
  201. package/dist/runtime-api/server.js.map +1 -1
  202. package/dist/scanners/engine/engine.d.ts +1 -22
  203. package/dist/scanners/engine/engine.d.ts.map +1 -1
  204. package/dist/scanners/engine/engine.js +11 -78
  205. package/dist/scanners/engine/engine.js.map +1 -1
  206. package/dist/scanners/engine/lifecycle.d.ts +1 -7
  207. package/dist/scanners/engine/lifecycle.d.ts.map +1 -1
  208. package/dist/scanners/events.d.ts +0 -4
  209. package/dist/scanners/events.d.ts.map +1 -1
  210. package/dist/scanners/events.js +0 -2
  211. package/dist/scanners/events.js.map +1 -1
  212. package/dist/scanners/external/scaffold/delivery.py +25 -194
  213. package/dist/scanners/external/scaffold/scaffold.py +31 -172
  214. package/dist/scanners/external/scaffold/senpi_mcp.py +8 -150
  215. package/dist/scanners/external-scanner-receiver.d.ts +0 -17
  216. package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
  217. package/dist/scanners/external-scanner-receiver.js +0 -8
  218. package/dist/scanners/external-scanner-receiver.js.map +1 -1
  219. package/dist/scanners/runtime-module.d.ts +0 -1
  220. package/dist/scanners/runtime-module.d.ts.map +1 -1
  221. package/dist/scanners/runtime-module.js +9 -66
  222. package/dist/scanners/runtime-module.js.map +1 -1
  223. package/dist/skills-manager/manifest.d.ts.map +1 -1
  224. package/dist/skills-manager/manifest.js +1 -0
  225. package/dist/skills-manager/manifest.js.map +1 -1
  226. package/dist/skills-manager/skills-manifest.json +1 -0
  227. package/dist/telemetry/attributes.d.ts +0 -20
  228. package/dist/telemetry/attributes.d.ts.map +1 -1
  229. package/dist/telemetry/attributes.js +0 -24
  230. package/dist/telemetry/attributes.js.map +1 -1
  231. package/dist/telemetry/event-builders.d.ts +6 -81
  232. package/dist/telemetry/event-builders.d.ts.map +1 -1
  233. package/dist/telemetry/event-builders.js +17 -141
  234. package/dist/telemetry/event-builders.js.map +1 -1
  235. package/dist/telemetry/event-store.d.ts +0 -6
  236. package/dist/telemetry/event-store.d.ts.map +1 -1
  237. package/dist/telemetry/event-store.js +8 -12
  238. package/dist/telemetry/event-store.js.map +1 -1
  239. package/dist/telemetry/metrics.d.ts +2 -14
  240. package/dist/telemetry/metrics.d.ts.map +1 -1
  241. package/dist/telemetry/metrics.js +4 -19
  242. package/dist/telemetry/metrics.js.map +1 -1
  243. package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
  244. package/dist/telemetry/spans/redact-pii.js +2 -18
  245. package/dist/telemetry/spans/redact-pii.js.map +1 -1
  246. package/dist/telemetry/tracing.d.ts +0 -9
  247. package/dist/telemetry/tracing.d.ts.map +1 -1
  248. package/dist/telemetry/tracing.js +0 -36
  249. package/dist/telemetry/tracing.js.map +1 -1
  250. package/dist/types/dsl/index.d.ts +1 -12
  251. package/dist/types/dsl/index.d.ts.map +1 -1
  252. package/dist/types/runtime.d.ts +8 -0
  253. package/dist/types/runtime.d.ts.map +1 -1
  254. package/dist/types/scanner.d.ts +0 -15
  255. package/dist/types/scanner.d.ts.map +1 -1
  256. package/dist/utils/event-catalog.d.ts +91 -166
  257. package/dist/utils/event-catalog.d.ts.map +1 -1
  258. package/dist/utils/event-catalog.js +13 -18
  259. package/dist/utils/event-catalog.js.map +1 -1
  260. package/dist/utils/keyed-mutex.d.ts +3 -2
  261. package/dist/utils/keyed-mutex.d.ts.map +1 -1
  262. package/dist/utils/keyed-mutex.js +3 -2
  263. package/dist/utils/keyed-mutex.js.map +1 -1
  264. package/dist/utils/logger.d.ts +1 -4
  265. package/dist/utils/logger.d.ts.map +1 -1
  266. package/dist/utils/logger.js.map +1 -1
  267. package/dist/validate/recipe-checks.d.ts.map +1 -1
  268. package/dist/validate/recipe-checks.js +2 -2
  269. package/dist/validate/recipe-checks.js.map +1 -1
  270. package/openclaw.plugin.json +5 -1
  271. package/package.json +1 -1
  272. package/dist/actions/skipped-signal-results.d.ts +0 -25
  273. package/dist/actions/skipped-signal-results.d.ts.map +0 -1
  274. package/dist/actions/skipped-signal-results.js +0 -71
  275. package/dist/actions/skipped-signal-results.js.map +0 -1
  276. package/dist/runtime-api/intake/ingest-request.d.ts +0 -17
  277. package/dist/runtime-api/intake/ingest-request.d.ts.map +0 -1
  278. package/dist/runtime-api/intake/ingest-request.js +0 -34
  279. package/dist/runtime-api/intake/ingest-request.js.map +0 -1
  280. package/dist/runtime-api/intake/scaffold-tick-router.d.ts +0 -39
  281. package/dist/runtime-api/intake/scaffold-tick-router.d.ts.map +0 -1
  282. package/dist/runtime-api/intake/scaffold-tick-router.js +0 -122
  283. package/dist/runtime-api/intake/scaffold-tick-router.js.map +0 -1
  284. package/dist/scanners/external/scaffold/tick_facts.py +0 -130
  285. package/dist/scanners/external/scaffold/ulid.py +0 -58
  286. package/dist/telemetry/live-telemetry.d.ts +0 -238
  287. package/dist/telemetry/live-telemetry.d.ts.map +0 -1
  288. package/dist/telemetry/live-telemetry.js +0 -853
  289. package/dist/telemetry/live-telemetry.js.map +0 -1
  290. package/dist/telemetry/scanner-stats.d.ts +0 -143
  291. package/dist/telemetry/scanner-stats.d.ts.map +0 -1
  292. package/dist/telemetry/scanner-stats.js +0 -426
  293. package/dist/telemetry/scanner-stats.js.map +0 -1
  294. package/dist/telemetry/scanner-tick-feed.d.ts +0 -87
  295. package/dist/telemetry/scanner-tick-feed.d.ts.map +0 -1
  296. package/dist/telemetry/scanner-tick-feed.js +0 -48
  297. package/dist/telemetry/scanner-tick-feed.js.map +0 -1
  298. package/dist/telemetry/strategy-topology.d.ts +0 -99
  299. package/dist/telemetry/strategy-topology.d.ts.map +0 -1
  300. package/dist/telemetry/strategy-topology.js +0 -93
  301. package/dist/telemetry/strategy-topology.js.map +0 -1
  302. package/dist/telemetry/telemetry-publisher.d.ts +0 -63
  303. package/dist/telemetry/telemetry-publisher.d.ts.map +0 -1
  304. package/dist/telemetry/telemetry-publisher.js +0 -229
  305. package/dist/telemetry/telemetry-publisher.js.map +0 -1
  306. package/dist/telemetry/tick-frame.d.ts +0 -212
  307. package/dist/telemetry/tick-frame.d.ts.map +0 -1
  308. package/dist/telemetry/tick-frame.js +0 -421
  309. package/dist/telemetry/tick-frame.js.map +0 -1
  310. package/dist/telemetry/timeline-buffer.d.ts +0 -95
  311. package/dist/telemetry/timeline-buffer.d.ts.map +0 -1
  312. package/dist/telemetry/timeline-buffer.js +0 -237
  313. package/dist/telemetry/timeline-buffer.js.map +0 -1
  314. package/dist/utils/telemetry-required-log.d.ts +0 -60
  315. package/dist/utils/telemetry-required-log.d.ts.map +0 -1
  316. package/dist/utils/telemetry-required-log.js +0 -105
  317. package/dist/utils/telemetry-required-log.js.map +0 -1
  318. package/dist/utils/ulid.d.ts +0 -9
  319. package/dist/utils/ulid.d.ts.map +0 -1
  320. package/dist/utils/ulid.js +0 -43
  321. package/dist/utils/ulid.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import { ACTION_TYPE } from '../types.js';
2
1
  import { decisionMetaFromDecision } from '../decision-meta.js';
3
2
  import { DecisionEngine, LlmDecisionStrategy, NoDecisionStrategy, RuleDecisionStrategy } from '../decision-engine.js';
4
3
  import { HOOK_EVENT } from '../../types/hooks.js';
@@ -6,8 +5,7 @@ import { interpolatePrompt } from '../../context/interpolate.js';
6
5
  import { emitDecisionErrorNotification } from '../decision-error-notification.js';
7
6
  import { createLogger } from '../../utils/logger.js';
8
7
  import { resolveCloseOrderType, resolveFeeOptimizedLimitOptions } from '../../utils/resolve-order-type.js';
9
- import { emitActionResultEvents, emitOrderPlaced, emitOrderFilled, emitOrderFailed, buildActionEventContext, scanIdPayloadFields } from '../action-events.js';
10
- import { skippedSignalResults } from '../skipped-signal-results.js';
8
+ import { emitActionResultEvents, emitOrderPlaced, emitOrderFilled, emitOrderFailed, buildActionEventContext } from '../action-events.js';
11
9
  import { parseCloseFillDetail, SenpiTimeoutError, SenpiClientError } from '../../senpi/client.js';
12
10
  import { withSpan } from '../../telemetry/tracing.js';
13
11
  import { SpanStatusCode } from '@opentelemetry/api';
@@ -17,7 +15,7 @@ export class ClosePositionAction {
17
15
  config;
18
16
  context;
19
17
  name;
20
- actionType = ACTION_TYPE.closePosition;
18
+ actionType = 'CLOSE_POSITION';
21
19
  decisionEngine;
22
20
  constructor(config, context) {
23
21
  this.config = config;
@@ -77,49 +75,12 @@ export class ClosePositionAction {
77
75
  error: 'strategy_address_mismatch',
78
76
  };
79
77
  }
80
- // The signals a batch-level early exit attributes its per-signal rows to. A close can run off
81
- // a scan or off static params, so the scan's signals come first and the configured asset is
82
- // the fallback — mirroring `normalizeSignals`' own `payload.asset` fallback. With neither
83
- // present nothing is attributable and the exits below record no per-signal outcome.
84
- const attributableSignals = scanResult?.signals?.length
85
- ? scanResult.signals
86
- : typeof this.config.params?.asset === 'string'
87
- ? [{ asset: this.config.params.asset, dex: this.config.params.dex, score: 1 }]
88
- : [];
89
78
  // Refresh clearinghouse so hasOpenPosition reflects live positions. Nothing else
90
79
  // refreshes THIS object: the DSL monitor holds a different StrategyState instance (the
91
80
  // one in the shared `strategyStates` map), so its per-tick fetches never reach this
92
81
  // cache. Without this line every close would read a view written by some earlier action
93
82
  // on this context, or none at all, and short-circuit as 'no_open_position'.
94
83
  await strategyState.fetchClearinghouseState();
95
- // Never close against an unknown exchange view. A failed refresh clears the cache, so
96
- // `hasOpenPosition` would answer false for every asset and each signal would be recorded as
97
- // 'no_open_position' — a claim about the book we cannot make. Mirrors open-position's
98
- // fail-closed `clearinghouse_unknown` skip: record the signals as skipped for an unknown
99
- // reason and return.
100
- if (strategyState.getClearinghouseState() === undefined) {
101
- const unknownResults = skippedSignalResults(attributableSignals, 'clearinghouse_unknown', Date.now());
102
- logger.error('Skipping close: clearinghouse view unknown', {
103
- wallet: address,
104
- skippedCount: unknownResults.length,
105
- assets: unknownResults.map((r) => r.asset),
106
- });
107
- const unknownResult = {
108
- success: true,
109
- action_type: this.actionType,
110
- summary: 'Clearinghouse view unknown — skipped close',
111
- skipped: true,
112
- skipReason: 'clearinghouse_unknown',
113
- data: {
114
- results: unknownResults,
115
- closedCount: 0,
116
- failedCount: 0,
117
- skippedCount: unknownResults.length,
118
- },
119
- };
120
- emitActionResultEvents(this.eventCtx(), event, address, unknownResult, { scanResult });
121
- return unknownResult;
122
- }
123
84
  // ── Static params path (bypasses decision engine) ──
124
85
  if (this.config.decision_mode === 'none' && typeof this.config.params?.asset === 'string') {
125
86
  const signals = [{
@@ -140,42 +101,15 @@ export class ClosePositionAction {
140
101
  ? (address, scannerId) => this.context.scannerModule.getScannerContext(address, scannerId)
141
102
  : undefined,
142
103
  };
143
- // A context provider or the prompt template can throw before any decision exists. Both are
144
- // preparation for the same decision, so they fail as one unit: the attributable signals are
145
- // recorded as failures and the pass returns, instead of the throw escaping to the caller
146
- // unrecorded.
147
- let contextData;
148
- let interpolatedPrompt;
149
- try {
150
- contextData = this.config.context?.length
151
- ? await this.context.contextBuilder.build(this.config.context, providerRequest)
152
- : {};
153
- interpolatedPrompt = this.config.decision_prompt
154
- ? interpolatePrompt(this.config.decision_prompt, {
155
- ...contextData,
156
- ...(this.config.params ?? {}),
157
- })
158
- : undefined;
159
- }
160
- catch (error) {
161
- const message = error instanceof Error ? error.message : String(error);
162
- logger.error('context build failed', error, { wallet: address });
163
- const contextErrorResults = skippedSignalResults(attributableSignals, 'context_error', Date.now(), { success: false, error: message });
164
- const contextErrorResult = {
165
- success: false,
166
- action_type: this.actionType,
167
- summary: `Context build failed: ${message}`,
168
- error: message,
169
- data: {
170
- results: contextErrorResults,
171
- closedCount: 0,
172
- failedCount: contextErrorResults.length,
173
- skippedCount: 0,
174
- },
175
- };
176
- emitActionResultEvents(this.eventCtx(), event, address, contextErrorResult, { scanResult });
177
- return contextErrorResult;
178
- }
104
+ const contextData = this.config.context?.length
105
+ ? await this.context.contextBuilder.build(this.config.context, providerRequest)
106
+ : {};
107
+ const interpolatedPrompt = this.config.decision_prompt
108
+ ? interpolatePrompt(this.config.decision_prompt, {
109
+ ...contextData,
110
+ ...(this.config.params ?? {}),
111
+ })
112
+ : undefined;
179
113
  let decision;
180
114
  try {
181
115
  decision = await this.decisionEngine.decide(this.config.decision_mode, {
@@ -190,20 +124,12 @@ export class ClosePositionAction {
190
124
  const message = error instanceof Error ? error.message : String(error);
191
125
  await emitDecisionErrorNotification(this.context, message);
192
126
  const eventCtx = this.eventCtx();
193
- // The decision produced nothing usable, so the attributable signals are the only inputs to
194
- // record. The rows are failures, not skips: `success: false` plus the error message, counted
195
- // under `failedCount` so the pass does not read as benign on the span or the stored record.
196
- const errorResults = skippedSignalResults(attributableSignals, 'decision_error', Date.now(), { success: false, error: message });
197
127
  const errorResult = {
198
128
  success: false,
199
129
  action_type: this.actionType,
200
130
  summary: `Decision failed: ${message}`,
201
131
  error: message,
202
132
  data: {
203
- results: errorResults,
204
- closedCount: 0,
205
- failedCount: errorResults.length,
206
- skippedCount: 0,
207
133
  _decisionMeta: {
208
134
  durationMs: 0,
209
135
  tokensUsed: null,
@@ -225,7 +151,6 @@ export class ClosePositionAction {
225
151
  const isBelowConfidence = decision.execute && decision.confidence < minConfidence;
226
152
  if (!decision.execute) {
227
153
  logger.info('decision no execute', decision);
228
- const noExecuteResults = skippedSignalResults(attributableSignals, 'decision_no_execute', Date.now());
229
154
  const rejectedResult = {
230
155
  success: true,
231
156
  action_type: this.actionType,
@@ -233,10 +158,6 @@ export class ClosePositionAction {
233
158
  skipped: true,
234
159
  skipReason: 'decision_no_execute',
235
160
  data: {
236
- results: noExecuteResults,
237
- closedCount: 0,
238
- failedCount: 0,
239
- skippedCount: noExecuteResults.length,
240
161
  confidence: decision.confidence,
241
162
  reasoning: decision.reasoning,
242
163
  _decisionMeta: decisionMetaFromDecision(this.config, decision),
@@ -247,7 +168,6 @@ export class ClosePositionAction {
247
168
  return rejectedResult;
248
169
  }
249
170
  if (isBelowConfidence) {
250
- const belowConfResults = skippedSignalResults(attributableSignals, 'below_confidence', Date.now());
251
171
  const belowConfResult = {
252
172
  success: true,
253
173
  action_type: this.actionType,
@@ -255,10 +175,6 @@ export class ClosePositionAction {
255
175
  skipped: true,
256
176
  skipReason: 'below_confidence',
257
177
  data: {
258
- results: belowConfResults,
259
- closedCount: 0,
260
- failedCount: 0,
261
- skippedCount: belowConfResults.length,
262
178
  confidence: decision.confidence,
263
179
  threshold: minConfidence,
264
180
  _decisionMeta: decisionMetaFromDecision(this.config, decision),
@@ -272,23 +188,12 @@ export class ClosePositionAction {
272
188
  const signals = this.normalizeSignals(decision.payload);
273
189
  const meta = decisionMetaFromDecision(this.config, decision);
274
190
  if (!signals.length) {
275
- // `success: false` plus the error code on each row, matching the batch result and its
276
- // `decision_error`/`context_error` siblings: the decision returned something unusable, so
277
- // the rows classify as errors rather than as a benign skip indistinguishable from no_slots.
278
- const invalidPayloadResults = skippedSignalResults(attributableSignals, 'invalid_payload', Date.now(), { success: false, error: 'invalid_payload' });
279
191
  const invalidPayloadResult = {
280
192
  success: false,
281
193
  action_type: this.actionType,
282
194
  summary: 'Invalid payload: no actionable signals',
283
195
  error: 'invalid_payload',
284
- data: {
285
- results: invalidPayloadResults,
286
- closedCount: 0,
287
- failedCount: invalidPayloadResults.length,
288
- skippedCount: 0,
289
- _decisionMeta: meta,
290
- _decisionPrompt: interpolatedPrompt ?? null,
291
- },
196
+ data: { _decisionMeta: meta, _decisionPrompt: interpolatedPrompt ?? null },
292
197
  };
293
198
  emitActionResultEvents(eventCtx, event, address, invalidPayloadResult, trackingExtras);
294
199
  return invalidPayloadResult;
@@ -324,19 +229,11 @@ export class ClosePositionAction {
324
229
  };
325
230
  // Telemetry: per-signal work window — every result entry below carries startedAt/endedAt.
326
231
  const signalStartedAt = Date.now();
327
- // Telemetry join: every row this signal produces carries its index into the scan's signal
328
- // array, so the event mapper pairs the row with THIS signal's `meta`. Without it, two signals
329
- // on the same asset in one pass would both be read as the first one. Absent on the LLM and
330
- // static-params paths, where the mapper falls back to matching by asset.
331
- const signalIndex = typeof signal.__signalIndex === 'number' ? signal.__signalIndex : undefined;
332
- const pushResult = (row) => {
333
- results.push(signalIndex !== undefined ? { ...row, __signalIndex: signalIndex } : row);
334
- };
335
232
  const signalDex = signal.dex;
336
233
  const dexForHook = typeof signalDex === 'string' && signalDex.trim() !== '' ? signalDex.trim() : undefined;
337
234
  const reason = signal.reason ?? signal.signalType ?? 'action_close';
338
235
  if (!strategyState.hasOpenPosition(asset, dexForHook)) {
339
- pushResult({ asset, dex: dexForHook ?? null, orderType, success: true, reason: 'no_open_position', startedAt: signalStartedAt, endedAt: Date.now() });
236
+ results.push({ asset, dex: dexForHook ?? null, orderType, success: true, reason: 'no_open_position', startedAt: signalStartedAt, endedAt: Date.now() });
340
237
  outcome('skipped', 'no_open_position');
341
238
  return;
342
239
  }
@@ -373,11 +270,10 @@ export class ClosePositionAction {
373
270
  orderType,
374
271
  ...(dexForHook != null ? { dex: dexForHook } : {}),
375
272
  ...fill,
376
- ...scanIdPayloadFields(event),
377
273
  },
378
274
  timestamp: new Date().toISOString(),
379
275
  });
380
- pushResult({ asset, dex: dexForHook ?? null, orderType, closeReason: reason, success: true, reason, ...fill, startedAt: signalStartedAt, endedAt: Date.now() });
276
+ results.push({ asset, dex: dexForHook ?? null, orderType, closeReason: reason, success: true, reason, ...fill, startedAt: signalStartedAt, endedAt: Date.now() });
381
277
  outcome('closed', reason);
382
278
  // Task 8a order-event log (additive, fire-and-forget). A close is a reduce-only order;
383
279
  // close signals may lack a direction, so it is omitted. Emits placed + filled from `fill`.
@@ -410,10 +306,7 @@ export class ClosePositionAction {
410
306
  const outcomeUnknown = error instanceof SenpiTimeoutError ||
411
307
  (error instanceof SenpiClientError && error.mayHaveExecuted);
412
308
  logger.error(outcomeUnknown ? 'close timed out — order may be live' : 'close failed', error, { asset });
413
- // Carry the unknown-outcome fact on the row, not just in the log line: a reader of the
414
- // row cannot otherwise tell a venue rejection (nothing executed) from a timeout whose
415
- // order may be live and has to be reconciled against real position state.
416
- pushResult({ asset, dex: dexForHook ?? null, orderType, closeReason: reason, success: false, reason, error: message, ...(outcomeUnknown ? { mayHaveExecuted: true } : {}), startedAt: signalStartedAt, endedAt: Date.now() });
309
+ results.push({ asset, dex: dexForHook ?? null, orderType, closeReason: reason, success: false, reason, error: message, startedAt: signalStartedAt, endedAt: Date.now() });
417
310
  outcome('failed', reason, message);
418
311
  // Task 8a: the close submit threw.
419
312
  emitOrderFailed(this.context.hookSystem, event, address, {
@@ -1 +1 @@
1
- {"version":3,"file":"close-position.action.js","sourceRoot":"","sources":["../../../src/actions/close-position/close-position.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close-position.action.js","sourceRoot":"","sources":["../../../src/actions/close-position/close-position.action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decision-engine.d.ts","sourceRoot":"","sources":["../../src/actions/decision-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EAGZ,MAAM,YAAY,CAAC;AA4FpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAuBpE;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC3D;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA6C;IAE/D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIpC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAOpF;AAID,qBAAa,mBAAoB,YAAW,gBAAgB;IAG9C,OAAO,CAAC,WAAW;IAF/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAEhB,WAAW,EAAE,WAAW;IAEtC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAoDhE;AAID,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;IAIrC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,aAAa;IAoBf,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAoDhE;AAID,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;IAE/B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAShE"}
1
+ {"version":3,"file":"decision-engine.d.ts","sourceRoot":"","sources":["../../src/actions/decision-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EAGZ,MAAM,YAAY,CAAC;AA4FpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAuBpE;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC3D;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA6C;IAE/D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIpC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAOpF;AAID,qBAAa,mBAAoB,YAAW,gBAAgB;IAG9C,OAAO,CAAC,WAAW;IAF/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAEhB,WAAW,EAAE,WAAW;IAEtC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAoDhE;AAID,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;IAIrC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,aAAa;IAoBf,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA0ChE;AAID,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;IAE/B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAShE"}
@@ -207,16 +207,7 @@ export class RuleDecisionStrategy {
207
207
  }
208
208
  async decide(request) {
209
209
  const scanResult = request.event?.data?.scanResult;
210
- // The ORIGINAL index of each kept signal is carried alongside it: the scan's signal array is
211
- // echoed onto the action-result payload unfiltered, and the telemetry mapper joins each result
212
- // row back to its own signal by that index (see `__signalIndex` below). Filtering first would
213
- // renumber them.
214
- const kept = [];
215
- (scanResult?.signals ?? []).forEach((s, index) => {
216
- if (s.asset && s.asset.length > 0)
217
- kept.push({ signal: s, index });
218
- });
219
- const signals = kept.map(({ signal }) => signal);
210
+ const signals = (scanResult?.signals ?? []).filter((s) => s.asset && s.asset.length > 0);
220
211
  if (signals.length === 0) {
221
212
  return {
222
213
  execute: false,
@@ -236,7 +227,7 @@ export class RuleDecisionStrategy {
236
227
  confidence,
237
228
  reasoning: `${signals.length} signal(s) for ${assets.join(', ')}`,
238
229
  payload: {
239
- signals: kept.map(({ signal: s, index }) => ({
230
+ signals: signals.map((s) => ({
240
231
  asset: s.asset,
241
232
  direction: s.direction,
242
233
  score: s.score,
@@ -247,10 +238,6 @@ export class RuleDecisionStrategy {
247
238
  ...(s.marginPct != null ? { marginPct: s.marginPct } : {}),
248
239
  ...(s.leverage != null ? { leverage: s.leverage } : {}),
249
240
  meta: s.meta,
250
- // Telemetry join key, not trading input: the action stamps it onto every result row it
251
- // produces for this signal, so the mapper pairs the row with THIS signal's `meta` rather
252
- // than with the first signal that happens to share its asset.
253
- __signalIndex: index,
254
241
  })),
255
242
  },
256
243
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decision-engine.js","sourceRoot":"","sources":["../../src/actions/decision-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-engine.js","sourceRoot":"","sources":["../../src/actions/decision-engine.ts"],"names":[],"mappings":"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"}
@@ -7,21 +7,11 @@
7
7
  * we reuse the pure builders ({@link buildSignalEvaluated} → {@link buildDecisionMade} /
8
8
  * {@link buildSignalOutcomes}), which are pure and already battle-tested, then project their records
9
9
  * onto the event contract. Body lines are deterministic narratives; reasoning (decision.made) and any
10
- * error text reach `redact`; the raw scanner `meta` bag rides one JSON string attribute, never
11
- * interpreted — it is operator-authored content and must not carry secrets. Whether it is scrubbed
12
- * depends on where it lands: the on-disk event ring and the OTLP exporter carry it as the scanner
13
- * wrote it, while the live telemetry websocket redacts every string attribute on the way out and
14
- * drops this one whole, unmarked, while no redactor is registered.
15
- *
16
- * The only side effects are the serializers' rate-limited WARNs when a risk-gate or meta bag
17
- * cannot be emitted whole — silent loss on a trust surface is worse than a log line. The returned
18
- * events are unaffected by them; the loss itself is on the wire as `senpi.risk.gates_truncated` /
19
- * `senpi.signal.meta_truncated`.
10
+ * error text reach `redact`; the raw scanner `meta` bag is dropped.
20
11
  */
21
12
  import { type PositionIdResolver } from "../telemetry/event-builders.js";
22
13
  import { type AttrsFor, type EventName } from "../utils/event-catalog.js";
23
- import { type Logger, type LogLevel } from "../utils/logger.js";
24
- import type { RiskGateSnapshot } from "../telemetry/event-builders.js";
14
+ import type { Logger, LogLevel } from "../utils/logger.js";
25
15
  /**
26
16
  * A fully-built event ready to hand to `logger.event(name, level, { body, attributes, redact })`.
27
17
  *
@@ -62,65 +52,6 @@ export interface ActionResultEventInput {
62
52
  readonly nowMs: number;
63
53
  readonly resolvePositionId?: PositionIdResolver;
64
54
  }
65
- /**
66
- * The outcome of serializing one pass's gate bag: the attribute value, plus whether what came out is
67
- * the whole bag. `truncated` is the honesty marker — without it, a bag that shed `metrics` and one
68
- * that never had any read identically, and a dropped bag reads as "this pass carried no snapshot".
69
- */
70
- export interface SerializedRiskGates {
71
- /** The JSON array string, or `undefined` when even the bare projection would not fit. */
72
- readonly json?: string;
73
- /** True when the emitted bag is not the full projection — fields shed, or nothing emitted at all. */
74
- readonly truncated: boolean;
75
- }
76
- /**
77
- * The gate bag as a JSON array string, with a flag saying whether anything was lost getting there.
78
- *
79
- * The logger caps every string attribute at {@link MAX_ATTR_VALUE_CHARS}, and a cap applied to JSON
80
- * yields unparseable garbage — so the budget is spent here instead: shed `metrics`, then `reason`,
81
- * and give up rather than emit a fragment. What comes out is always valid JSON or nothing.
82
- *
83
- * An empty `gates` array serializes to `"[]"` on purpose: "the gates ran and none are configured"
84
- * is a fact the drill-down needs, distinct from the absent attribute's "there is no snapshot".
85
- *
86
- * A `metrics` bag that `JSON.stringify` refuses (a BigInt, a throwing `toJSON`) fails only its own
87
- * tier — the metrics-less tiers below it still produce a bag. That fall is a producer bug, not a
88
- * size problem, so it warns on its own flag: letting it fire the budget warning would both misname
89
- * the fault and burn the one-shot flag a genuine overflow later needs.
90
- *
91
- * `log` is injectable so the once-per-process warnings can be observed in a test; production call
92
- * sites take the default.
93
- */
94
- export declare function serializeRiskGates(gates: readonly RiskGateSnapshot[], log?: Pick<Logger, "warn">): SerializedRiskGates;
95
- /** Where a bag came from, so the drop names the scanner and asset an operator has to go fix. */
96
- export interface SignalMetaSource {
97
- readonly scannerId?: string;
98
- readonly asset?: string;
99
- }
100
- /** A bag's JSON attribute value, plus the wire marker that says a bag arrived and was lost. */
101
- export interface SerializedSignalMeta {
102
- /** The bag's JSON, present only when the whole bag could be carried. */
103
- readonly json?: string;
104
- /** The bag arrived but could not be carried — surfaced as `senpi.signal.meta_truncated`. */
105
- readonly dropped: boolean;
106
- }
107
- /**
108
- * The scanner's `meta` bag as ONE JSON string attribute, plus whether a bag arrived and was lost.
109
- *
110
- * The bag is scanner-defined and NOT interpreted here: no key is lifted, dropped, or reordered — the
111
- * JSON is emitted whole or not at all. A bag over the per-value attribute cap is therefore dropped
112
- * rather than truncated (a cut JSON string is unparseable) and rather than thinned (choosing which
113
- * scanner keys survive would be interpretation). An empty bag legitimately serializes to `"{}"`, but
114
- * that value only says a bag arrived: ingest normalizes a missing bag to `{}`, so a scanner that sent
115
- * an empty one and a scanner that sent none both land here as `{}` and cannot be told apart. A drop
116
- * is NOT silent on the wire either: `dropped` raises `senpi.signal.meta_truncated`, so an absent
117
- * attribute WITH the marker (bag lost) is distinguishable from an absent attribute without one (no
118
- * bag at all).
119
- *
120
- * The warn payload carries the bag's origin and its key count — the bag's own content is scanner
121
- * free-text and never safe as an attribute. `log` is injectable so the warns are observable.
122
- */
123
- export declare function serializeSignalMeta(meta: Record<string, unknown>, source?: SignalMetaSource, log?: Pick<Logger, "warn">): SerializedSignalMeta;
124
55
  /**
125
56
  * Build the full event array for one action-result pass: `decision.made` first (when the pass carried
126
57
  * a decision), then one `signal.outcome` per evaluated signal. A failed outcome escalates the
@@ -1 +1 @@
1
- {"version":3,"file":"event-derivation.d.ts","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAmD,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3H,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAEV,gBAAgB,EAIjB,MAAM,gCAAgC,CAAC;AAIxC;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,SAAS,GAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gGAAgG;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD,KAAK,CAAC;AAEV;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAclF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,cAAc,EAAE,GAAG,IAAI,CAavF;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACjD;AA8ID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qGAAqG;IACrG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,GAAG,GAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAiB,GACxC,mBAAmB,CA0CrB;AAcD,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAwCD,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,GAAE,gBAAqB,EAC7B,GAAG,GAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAiB,GACxC,oBAAoB,CAiBtB;AAmDD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,cAAc,EAAE,CA2CxF"}
1
+ {"version":3,"file":"event-derivation.d.ts","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAmD,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,SAAS,GAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gGAAgG;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD,KAAK,CAAC;AAEV;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAclF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,cAAc,EAAE,GAAG,IAAI,CAavF;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACjD;AAsFD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,cAAc,EAAE,CAqCxF"}