@senpi/runtime 3.0.6-dev.skill-manager-v2.20260629194505 → 3.0.9-dev.runtime-phase-2.20260707070820

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 (458) hide show
  1. package/dist/actions/action-events.d.ts +67 -0
  2. package/dist/actions/action-events.d.ts.map +1 -0
  3. package/dist/actions/action-events.js +164 -0
  4. package/dist/actions/action-events.js.map +1 -0
  5. package/dist/actions/close-position/close-position.action.d.ts +1 -1
  6. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  7. package/dist/actions/close-position/close-position.action.js +108 -86
  8. package/dist/actions/close-position/close-position.action.js.map +1 -1
  9. package/dist/actions/decision-engine.d.ts.map +1 -1
  10. package/dist/actions/decision-engine.js +40 -28
  11. package/dist/actions/decision-engine.js.map +1 -1
  12. package/dist/actions/event-derivation.d.ts +61 -0
  13. package/dist/actions/event-derivation.d.ts.map +1 -0
  14. package/dist/actions/event-derivation.js +180 -0
  15. package/dist/actions/event-derivation.js.map +1 -0
  16. package/dist/actions/llm-decision/anthropic-llm-decision.d.ts +5 -9
  17. package/dist/actions/llm-decision/anthropic-llm-decision.d.ts.map +1 -1
  18. package/dist/actions/llm-decision/anthropic-llm-decision.js +6 -87
  19. package/dist/actions/llm-decision/anthropic-llm-decision.js.map +1 -1
  20. package/dist/actions/llm-decision/factory.d.ts +0 -6
  21. package/dist/actions/llm-decision/factory.d.ts.map +1 -1
  22. package/dist/actions/llm-decision/factory.js +0 -2
  23. package/dist/actions/llm-decision/factory.js.map +1 -1
  24. package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
  25. package/dist/actions/llm-decision/openclaw-llm-decision.js +26 -7
  26. package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
  27. package/dist/actions/open-position/open-position.action.d.ts +1 -1
  28. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  29. package/dist/actions/open-position/open-position.action.js +282 -224
  30. package/dist/actions/open-position/open-position.action.js.map +1 -1
  31. package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
  32. package/dist/actions/position-tracker/position-tracker.action.js +3 -6
  33. package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
  34. package/dist/cli/guide-commands.d.ts.map +1 -1
  35. package/dist/cli/guide-commands.js +61 -0
  36. package/dist/cli/guide-commands.js.map +1 -1
  37. package/dist/cli/senpi-commands.d.ts +14 -0
  38. package/dist/cli/senpi-commands.d.ts.map +1 -1
  39. package/dist/cli/senpi-commands.js +390 -2
  40. package/dist/cli/senpi-commands.js.map +1 -1
  41. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  42. package/dist/dsl/engine-client/event-mapping.js +0 -3
  43. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  44. package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
  45. package/dist/dsl/events/build-closed-event.js +0 -1
  46. package/dist/dsl/events/build-closed-event.js.map +1 -1
  47. package/dist/dsl/events/handlers.d.ts.map +1 -1
  48. package/dist/dsl/events/handlers.js +2 -4
  49. package/dist/dsl/events/handlers.js.map +1 -1
  50. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  51. package/dist/dsl/events/initial-state.js +1 -0
  52. package/dist/dsl/events/initial-state.js.map +1 -1
  53. package/dist/dsl/monitor/create-monitor.d.ts +3 -0
  54. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  55. package/dist/dsl/monitor/create-monitor.js +76 -58
  56. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  57. package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
  58. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
  59. package/dist/dsl/monitor/dsl-failure-events.js +73 -0
  60. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
  61. package/dist/dsl/monitor/process-one-position.d.ts +2 -1
  62. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  63. package/dist/dsl/monitor/process-one-position.js +130 -196
  64. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  65. package/dist/dsl/plugin/index.d.ts +10 -0
  66. package/dist/dsl/plugin/index.d.ts.map +1 -1
  67. package/dist/dsl/plugin/index.js +48 -4
  68. package/dist/dsl/plugin/index.js.map +1 -1
  69. package/dist/dsl/plugin/options.d.ts +3 -0
  70. package/dist/dsl/plugin/options.d.ts.map +1 -1
  71. package/dist/health/types.d.ts +14 -0
  72. package/dist/health/types.d.ts.map +1 -1
  73. package/dist/health/types.js.map +1 -1
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +255 -77
  77. package/dist/index.js.map +1 -1
  78. package/dist/risk/risk-audit-log.d.ts +7 -0
  79. package/dist/risk/risk-audit-log.d.ts.map +1 -1
  80. package/dist/risk/risk-audit-log.js +48 -1
  81. package/dist/risk/risk-audit-log.js.map +1 -1
  82. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +2 -0
  83. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts.map +1 -1
  84. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js +24 -3
  85. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js.map +1 -1
  86. package/dist/runtime/auto-update/coordinator.js +2 -2
  87. package/dist/runtime/auto-update/coordinator.js.map +1 -1
  88. package/dist/runtime/create-actions.d.ts.map +1 -1
  89. package/dist/runtime/create-actions.js +40 -15
  90. package/dist/runtime/create-actions.js.map +1 -1
  91. package/dist/runtime/create-runtime-context.d.ts +1 -1
  92. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  93. package/dist/runtime/create-scanner-module.d.ts +2 -1
  94. package/dist/runtime/create-scanner-module.d.ts.map +1 -1
  95. package/dist/runtime/create-scanner-module.js +2 -1
  96. package/dist/runtime/create-scanner-module.js.map +1 -1
  97. package/dist/runtime/domain-events.d.ts +43 -0
  98. package/dist/runtime/domain-events.d.ts.map +1 -0
  99. package/dist/runtime/domain-events.js +181 -0
  100. package/dist/runtime/domain-events.js.map +1 -0
  101. package/dist/runtime/lifecycle-events.d.ts +86 -0
  102. package/dist/runtime/lifecycle-events.d.ts.map +1 -0
  103. package/dist/runtime/lifecycle-events.js +200 -0
  104. package/dist/runtime/lifecycle-events.js.map +1 -0
  105. package/dist/runtime/notifications.js +2 -2
  106. package/dist/runtime/notifications.js.map +1 -1
  107. package/dist/{tracking → runtime}/position-id-registry.d.ts +14 -1
  108. package/dist/runtime/position-id-registry.d.ts.map +1 -0
  109. package/dist/{tracking → runtime}/position-id-registry.js +20 -3
  110. package/dist/runtime/position-id-registry.js.map +1 -0
  111. package/dist/runtime/run.d.ts +2 -4
  112. package/dist/runtime/run.d.ts.map +1 -1
  113. package/dist/runtime/run.js.map +1 -1
  114. package/dist/runtime/runtime-schema.d.ts +276 -588
  115. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  116. package/dist/runtime/runtime-schema.js +8 -28
  117. package/dist/runtime/runtime-schema.js.map +1 -1
  118. package/dist/runtime/runtime.d.ts +23 -9
  119. package/dist/runtime/runtime.d.ts.map +1 -1
  120. package/dist/runtime/runtime.js +276 -248
  121. package/dist/runtime/runtime.js.map +1 -1
  122. package/dist/runtime/strategy-lifecycle.d.ts.map +1 -1
  123. package/dist/runtime/strategy-lifecycle.js +13 -1
  124. package/dist/runtime/strategy-lifecycle.js.map +1 -1
  125. package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
  126. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  127. package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
  128. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  129. package/dist/runtime-api/intake/intake-events.d.ts +44 -0
  130. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
  131. package/dist/runtime-api/intake/intake-events.js +131 -0
  132. package/dist/runtime-api/intake/intake-events.js.map +1 -0
  133. package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
  134. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  135. package/dist/runtime-api/intake/scanner-launcher.js +58 -15
  136. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  137. package/dist/runtime-api/intake/scanner-registry.d.ts +3 -0
  138. package/dist/runtime-api/intake/scanner-registry.d.ts.map +1 -1
  139. package/dist/runtime-api/intake/scanner-registry.js +3 -0
  140. package/dist/runtime-api/intake/scanner-registry.js.map +1 -1
  141. package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
  142. package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
  143. package/dist/runtime-api/intake/supervisor-events.js +173 -0
  144. package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
  145. package/dist/runtime-api/routes/signals.d.ts +1 -1
  146. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  147. package/dist/runtime-api/routes/signals.js +121 -35
  148. package/dist/runtime-api/routes/signals.js.map +1 -1
  149. package/dist/runtime-api/server.d.ts.map +1 -1
  150. package/dist/runtime-api/server.js +10 -1
  151. package/dist/runtime-api/server.js.map +1 -1
  152. package/dist/scanners/engine/data-providers.d.ts +3 -0
  153. package/dist/scanners/engine/data-providers.d.ts.map +1 -1
  154. package/dist/scanners/engine/data-providers.js.map +1 -1
  155. package/dist/scanners/engine/engine.d.ts +18 -0
  156. package/dist/scanners/engine/engine.d.ts.map +1 -1
  157. package/dist/scanners/engine/engine.js +96 -2
  158. package/dist/scanners/engine/engine.js.map +1 -1
  159. package/dist/scanners/engine/input-resolver.d.ts.map +1 -1
  160. package/dist/scanners/engine/input-resolver.js +9 -7
  161. package/dist/scanners/engine/input-resolver.js.map +1 -1
  162. package/dist/scanners/runtime-module.d.ts +3 -0
  163. package/dist/scanners/runtime-module.d.ts.map +1 -1
  164. package/dist/scanners/runtime-module.js +7 -0
  165. package/dist/scanners/runtime-module.js.map +1 -1
  166. package/dist/senpi/client.d.ts +10 -0
  167. package/dist/senpi/client.d.ts.map +1 -1
  168. package/dist/senpi/client.js +113 -46
  169. package/dist/senpi/client.js.map +1 -1
  170. package/dist/skills-manager/bootstrap.d.ts.map +1 -1
  171. package/dist/skills-manager/bootstrap.js +22 -33
  172. package/dist/skills-manager/bootstrap.js.map +1 -1
  173. package/dist/skills-manager/clone-groups.d.ts +20 -0
  174. package/dist/skills-manager/clone-groups.d.ts.map +1 -0
  175. package/dist/skills-manager/clone-groups.js +45 -0
  176. package/dist/skills-manager/clone-groups.js.map +1 -0
  177. package/dist/skills-manager/coordinator.d.ts.map +1 -1
  178. package/dist/skills-manager/coordinator.js +111 -75
  179. package/dist/skills-manager/coordinator.js.map +1 -1
  180. package/dist/skills-manager/manifest.d.ts +24 -0
  181. package/dist/skills-manager/manifest.d.ts.map +1 -1
  182. package/dist/skills-manager/manifest.js +23 -10
  183. package/dist/skills-manager/manifest.js.map +1 -1
  184. package/dist/skills-manager/skills-manifest.json +12 -7
  185. package/dist/skills-manager/types.d.ts +12 -0
  186. package/dist/skills-manager/types.d.ts.map +1 -1
  187. package/dist/state/state-events.d.ts +13 -0
  188. package/dist/state/state-events.d.ts.map +1 -0
  189. package/dist/state/state-events.js +22 -0
  190. package/dist/state/state-events.js.map +1 -0
  191. package/dist/state/state-manager.d.ts.map +1 -1
  192. package/dist/state/state-manager.js +14 -1
  193. package/dist/state/state-manager.js.map +1 -1
  194. package/dist/telemetry/attributes.d.ts +13 -0
  195. package/dist/telemetry/attributes.d.ts.map +1 -0
  196. package/dist/telemetry/attributes.js +22 -0
  197. package/dist/telemetry/attributes.js.map +1 -0
  198. package/dist/{tracking → telemetry}/context.d.ts +12 -5
  199. package/dist/telemetry/context.d.ts.map +1 -0
  200. package/dist/{tracking → telemetry}/context.js +4 -4
  201. package/dist/telemetry/context.js.map +1 -0
  202. package/dist/{recording/records.d.ts → telemetry/event-builders.d.ts} +145 -33
  203. package/dist/telemetry/event-builders.d.ts.map +1 -0
  204. package/dist/{recording/wiring/record-builders.js → telemetry/event-builders.js} +94 -40
  205. package/dist/telemetry/event-builders.js.map +1 -0
  206. package/dist/telemetry/event-store.d.ts +66 -0
  207. package/dist/telemetry/event-store.d.ts.map +1 -0
  208. package/dist/telemetry/event-store.js +202 -0
  209. package/dist/telemetry/event-store.js.map +1 -0
  210. package/dist/telemetry/identity.d.ts +72 -0
  211. package/dist/telemetry/identity.d.ts.map +1 -0
  212. package/dist/{recording/wiring → telemetry}/identity.js +6 -2
  213. package/dist/telemetry/identity.js.map +1 -0
  214. package/dist/telemetry/metrics.d.ts +169 -0
  215. package/dist/telemetry/metrics.d.ts.map +1 -0
  216. package/dist/telemetry/metrics.js +437 -0
  217. package/dist/telemetry/metrics.js.map +1 -0
  218. package/dist/telemetry/otel-sdk.d.ts +93 -0
  219. package/dist/telemetry/otel-sdk.d.ts.map +1 -0
  220. package/dist/telemetry/otel-sdk.js +297 -0
  221. package/dist/telemetry/otel-sdk.js.map +1 -0
  222. package/dist/telemetry/spans/constants.d.ts +12 -0
  223. package/dist/telemetry/spans/constants.d.ts.map +1 -0
  224. package/dist/telemetry/spans/constants.js +12 -0
  225. package/dist/telemetry/spans/constants.js.map +1 -0
  226. package/dist/telemetry/spans/gen-ai.d.ts +74 -0
  227. package/dist/telemetry/spans/gen-ai.d.ts.map +1 -0
  228. package/dist/telemetry/spans/gen-ai.js +339 -0
  229. package/dist/telemetry/spans/gen-ai.js.map +1 -0
  230. package/dist/telemetry/spans/index.d.ts +11 -0
  231. package/dist/telemetry/spans/index.d.ts.map +1 -0
  232. package/dist/telemetry/spans/index.js +11 -0
  233. package/dist/telemetry/spans/index.js.map +1 -0
  234. package/dist/{tracking → telemetry}/spans/redact-pii.d.ts +19 -21
  235. package/dist/telemetry/spans/redact-pii.d.ts.map +1 -0
  236. package/dist/{tracking → telemetry}/spans/redact-pii.js +35 -32
  237. package/dist/telemetry/spans/redact-pii.js.map +1 -0
  238. package/dist/telemetry/spans/sanitize-payload.d.ts.map +1 -0
  239. package/dist/telemetry/spans/sanitize-payload.js.map +1 -0
  240. package/dist/telemetry/spans/span-hooks.d.ts +18 -0
  241. package/dist/telemetry/spans/span-hooks.d.ts.map +1 -0
  242. package/dist/telemetry/spans/span-hooks.js +764 -0
  243. package/dist/telemetry/spans/span-hooks.js.map +1 -0
  244. package/dist/telemetry/tool-plane.d.ts +31 -0
  245. package/dist/telemetry/tool-plane.d.ts.map +1 -0
  246. package/dist/telemetry/tool-plane.js +70 -0
  247. package/dist/telemetry/tool-plane.js.map +1 -0
  248. package/dist/telemetry/trace-identity.d.ts +32 -0
  249. package/dist/telemetry/trace-identity.d.ts.map +1 -0
  250. package/dist/telemetry/trace-identity.js +62 -0
  251. package/dist/telemetry/trace-identity.js.map +1 -0
  252. package/dist/telemetry/tracing.d.ts +33 -0
  253. package/dist/telemetry/tracing.d.ts.map +1 -0
  254. package/dist/telemetry/tracing.js +70 -0
  255. package/dist/telemetry/tracing.js.map +1 -0
  256. package/dist/types/dsl/index.d.ts +8 -9
  257. package/dist/types/dsl/index.d.ts.map +1 -1
  258. package/dist/types/runtime.d.ts +1 -1
  259. package/dist/types/runtime.d.ts.map +1 -1
  260. package/dist/types/scanner.d.ts +2 -0
  261. package/dist/types/scanner.d.ts.map +1 -1
  262. package/dist/utils/event-catalog.d.ts +506 -0
  263. package/dist/utils/event-catalog.d.ts.map +1 -0
  264. package/dist/utils/event-catalog.js +142 -0
  265. package/dist/utils/event-catalog.js.map +1 -0
  266. package/dist/utils/logger.d.ts +63 -5
  267. package/dist/utils/logger.d.ts.map +1 -1
  268. package/dist/utils/logger.js +360 -27
  269. package/dist/utils/logger.js.map +1 -1
  270. package/dist/utils/wallet-address.d.ts +3 -0
  271. package/dist/utils/wallet-address.d.ts.map +1 -0
  272. package/dist/utils/wallet-address.js +17 -0
  273. package/dist/utils/wallet-address.js.map +1 -0
  274. package/openclaw.plugin.json +20 -6
  275. package/package.json +10 -2
  276. package/dist/actions/tracking-helpers.d.ts +0 -28
  277. package/dist/actions/tracking-helpers.d.ts.map +0 -1
  278. package/dist/actions/tracking-helpers.js +0 -93
  279. package/dist/actions/tracking-helpers.js.map +0 -1
  280. package/dist/recording/emitter.d.ts +0 -27
  281. package/dist/recording/emitter.d.ts.map +0 -1
  282. package/dist/recording/emitter.js +0 -2
  283. package/dist/recording/emitter.js.map +0 -1
  284. package/dist/recording/identity.d.ts +0 -34
  285. package/dist/recording/identity.d.ts.map +0 -1
  286. package/dist/recording/identity.js +0 -2
  287. package/dist/recording/identity.js.map +0 -1
  288. package/dist/recording/index.d.ts +0 -11
  289. package/dist/recording/index.d.ts.map +0 -1
  290. package/dist/recording/index.js +0 -2
  291. package/dist/recording/index.js.map +0 -1
  292. package/dist/recording/noop-emitter.d.ts +0 -23
  293. package/dist/recording/noop-emitter.d.ts.map +0 -1
  294. package/dist/recording/noop-emitter.js +0 -22
  295. package/dist/recording/noop-emitter.js.map +0 -1
  296. package/dist/recording/otel/attributes.d.ts +0 -35
  297. package/dist/recording/otel/attributes.d.ts.map +0 -1
  298. package/dist/recording/otel/attributes.js +0 -131
  299. package/dist/recording/otel/attributes.js.map +0 -1
  300. package/dist/recording/otel/constants.d.ts +0 -123
  301. package/dist/recording/otel/constants.d.ts.map +0 -1
  302. package/dist/recording/otel/constants.js +0 -172
  303. package/dist/recording/otel/constants.js.map +0 -1
  304. package/dist/recording/otel/ids.d.ts +0 -25
  305. package/dist/recording/otel/ids.d.ts.map +0 -1
  306. package/dist/recording/otel/ids.js +0 -37
  307. package/dist/recording/otel/ids.js.map +0 -1
  308. package/dist/recording/otel/index.d.ts +0 -13
  309. package/dist/recording/otel/index.d.ts.map +0 -1
  310. package/dist/recording/otel/index.js +0 -9
  311. package/dist/recording/otel/index.js.map +0 -1
  312. package/dist/recording/otel/mappers.d.ts +0 -100
  313. package/dist/recording/otel/mappers.d.ts.map +0 -1
  314. package/dist/recording/otel/mappers.js +0 -683
  315. package/dist/recording/otel/mappers.js.map +0 -1
  316. package/dist/recording/otel/otel-emitter.d.ts +0 -43
  317. package/dist/recording/otel/otel-emitter.d.ts.map +0 -1
  318. package/dist/recording/otel/otel-emitter.js +0 -99
  319. package/dist/recording/otel/otel-emitter.js.map +0 -1
  320. package/dist/recording/otel/redaction.d.ts +0 -47
  321. package/dist/recording/otel/redaction.d.ts.map +0 -1
  322. package/dist/recording/otel/redaction.js +0 -88
  323. package/dist/recording/otel/redaction.js.map +0 -1
  324. package/dist/recording/records.d.ts.map +0 -1
  325. package/dist/recording/records.js +0 -14
  326. package/dist/recording/records.js.map +0 -1
  327. package/dist/recording/transport/batcher.d.ts +0 -59
  328. package/dist/recording/transport/batcher.d.ts.map +0 -1
  329. package/dist/recording/transport/batcher.js +0 -234
  330. package/dist/recording/transport/batcher.js.map +0 -1
  331. package/dist/recording/transport/client.d.ts +0 -41
  332. package/dist/recording/transport/client.d.ts.map +0 -1
  333. package/dist/recording/transport/client.js +0 -69
  334. package/dist/recording/transport/client.js.map +0 -1
  335. package/dist/recording/transport/config.d.ts +0 -53
  336. package/dist/recording/transport/config.d.ts.map +0 -1
  337. package/dist/recording/transport/config.js +0 -41
  338. package/dist/recording/transport/config.js.map +0 -1
  339. package/dist/recording/transport/index.d.ts +0 -16
  340. package/dist/recording/transport/index.d.ts.map +0 -1
  341. package/dist/recording/transport/index.js +0 -12
  342. package/dist/recording/transport/index.js.map +0 -1
  343. package/dist/recording/transport/rows.d.ts +0 -88
  344. package/dist/recording/transport/rows.d.ts.map +0 -1
  345. package/dist/recording/transport/rows.js +0 -15
  346. package/dist/recording/transport/rows.js.map +0 -1
  347. package/dist/recording/wiring/emitter-factory.d.ts +0 -39
  348. package/dist/recording/wiring/emitter-factory.d.ts.map +0 -1
  349. package/dist/recording/wiring/emitter-factory.js +0 -62
  350. package/dist/recording/wiring/emitter-factory.js.map +0 -1
  351. package/dist/recording/wiring/identity.d.ts +0 -27
  352. package/dist/recording/wiring/identity.d.ts.map +0 -1
  353. package/dist/recording/wiring/identity.js.map +0 -1
  354. package/dist/recording/wiring/index.d.ts +0 -12
  355. package/dist/recording/wiring/index.d.ts.map +0 -1
  356. package/dist/recording/wiring/index.js +0 -9
  357. package/dist/recording/wiring/index.js.map +0 -1
  358. package/dist/recording/wiring/record-builders.d.ts +0 -107
  359. package/dist/recording/wiring/record-builders.d.ts.map +0 -1
  360. package/dist/recording/wiring/record-builders.js.map +0 -1
  361. package/dist/recording/wiring/subscriber.d.ts +0 -28
  362. package/dist/recording/wiring/subscriber.d.ts.map +0 -1
  363. package/dist/recording/wiring/subscriber.js +0 -173
  364. package/dist/recording/wiring/subscriber.js.map +0 -1
  365. package/dist/recording/wiring/values.d.ts +0 -19
  366. package/dist/recording/wiring/values.d.ts.map +0 -1
  367. package/dist/recording/wiring/values.js +0 -49
  368. package/dist/recording/wiring/values.js.map +0 -1
  369. package/dist/tracking/build-rehydrate-items.d.ts +0 -15
  370. package/dist/tracking/build-rehydrate-items.d.ts.map +0 -1
  371. package/dist/tracking/build-rehydrate-items.js +0 -19
  372. package/dist/tracking/build-rehydrate-items.js.map +0 -1
  373. package/dist/tracking/constants.d.ts +0 -24
  374. package/dist/tracking/constants.d.ts.map +0 -1
  375. package/dist/tracking/constants.js +0 -52
  376. package/dist/tracking/constants.js.map +0 -1
  377. package/dist/tracking/context.d.ts.map +0 -1
  378. package/dist/tracking/context.js.map +0 -1
  379. package/dist/tracking/index.d.ts +0 -16
  380. package/dist/tracking/index.d.ts.map +0 -1
  381. package/dist/tracking/index.js +0 -11
  382. package/dist/tracking/index.js.map +0 -1
  383. package/dist/tracking/plugin-event-tracker.d.ts +0 -13
  384. package/dist/tracking/plugin-event-tracker.d.ts.map +0 -1
  385. package/dist/tracking/plugin-event-tracker.js +0 -27
  386. package/dist/tracking/plugin-event-tracker.js.map +0 -1
  387. package/dist/tracking/position-id-registry.d.ts.map +0 -1
  388. package/dist/tracking/position-id-registry.js.map +0 -1
  389. package/dist/tracking/spans/constants.d.ts +0 -19
  390. package/dist/tracking/spans/constants.d.ts.map +0 -1
  391. package/dist/tracking/spans/constants.js +0 -31
  392. package/dist/tracking/spans/constants.js.map +0 -1
  393. package/dist/tracking/spans/fan-out-span-transport.d.ts +0 -22
  394. package/dist/tracking/spans/fan-out-span-transport.d.ts.map +0 -1
  395. package/dist/tracking/spans/fan-out-span-transport.js +0 -49
  396. package/dist/tracking/spans/fan-out-span-transport.js.map +0 -1
  397. package/dist/tracking/spans/index.d.ts +0 -13
  398. package/dist/tracking/spans/index.d.ts.map +0 -1
  399. package/dist/tracking/spans/index.js +0 -16
  400. package/dist/tracking/spans/index.js.map +0 -1
  401. package/dist/tracking/spans/otel/fit-row-budget.d.ts +0 -22
  402. package/dist/tracking/spans/otel/fit-row-budget.d.ts.map +0 -1
  403. package/dist/tracking/spans/otel/fit-row-budget.js +0 -91
  404. package/dist/tracking/spans/otel/fit-row-budget.js.map +0 -1
  405. package/dist/tracking/spans/otel/map-span-to-trace-row.d.ts +0 -16
  406. package/dist/tracking/spans/otel/map-span-to-trace-row.d.ts.map +0 -1
  407. package/dist/tracking/spans/otel/map-span-to-trace-row.js +0 -227
  408. package/dist/tracking/spans/otel/map-span-to-trace-row.js.map +0 -1
  409. package/dist/tracking/spans/otel/recording-span-transport.d.ts +0 -43
  410. package/dist/tracking/spans/otel/recording-span-transport.d.ts.map +0 -1
  411. package/dist/tracking/spans/otel/recording-span-transport.js +0 -67
  412. package/dist/tracking/spans/otel/recording-span-transport.js.map +0 -1
  413. package/dist/tracking/spans/otel/span-ids.d.ts +0 -22
  414. package/dist/tracking/spans/otel/span-ids.d.ts.map +0 -1
  415. package/dist/tracking/spans/otel/span-ids.js +0 -32
  416. package/dist/tracking/spans/otel/span-ids.js.map +0 -1
  417. package/dist/tracking/spans/plugin-span-tracker.d.ts +0 -9
  418. package/dist/tracking/spans/plugin-span-tracker.d.ts.map +0 -1
  419. package/dist/tracking/spans/plugin-span-tracker.js +0 -115
  420. package/dist/tracking/spans/plugin-span-tracker.js.map +0 -1
  421. package/dist/tracking/spans/redact-pii.d.ts.map +0 -1
  422. package/dist/tracking/spans/redact-pii.js.map +0 -1
  423. package/dist/tracking/spans/sanitize-payload.d.ts.map +0 -1
  424. package/dist/tracking/spans/sanitize-payload.js.map +0 -1
  425. package/dist/tracking/spans/span-hooks.d.ts +0 -28
  426. package/dist/tracking/spans/span-hooks.d.ts.map +0 -1
  427. package/dist/tracking/spans/span-hooks.js +0 -409
  428. package/dist/tracking/spans/span-hooks.js.map +0 -1
  429. package/dist/tracking/spans/span-tracker.d.ts +0 -133
  430. package/dist/tracking/spans/span-tracker.d.ts.map +0 -1
  431. package/dist/tracking/spans/span-tracker.js +0 -721
  432. package/dist/tracking/spans/span-tracker.js.map +0 -1
  433. package/dist/tracking/spans/span-transport.d.ts +0 -71
  434. package/dist/tracking/spans/span-transport.d.ts.map +0 -1
  435. package/dist/tracking/spans/span-transport.js +0 -240
  436. package/dist/tracking/spans/span-transport.js.map +0 -1
  437. package/dist/tracking/spans/types.d.ts +0 -101
  438. package/dist/tracking/spans/types.d.ts.map +0 -1
  439. package/dist/tracking/spans/types.js +0 -6
  440. package/dist/tracking/spans/types.js.map +0 -1
  441. package/dist/tracking/tracker.d.ts +0 -30
  442. package/dist/tracking/tracker.d.ts.map +0 -1
  443. package/dist/tracking/tracker.js +0 -66
  444. package/dist/tracking/tracker.js.map +0 -1
  445. package/dist/tracking/tracking-handler.d.ts +0 -12
  446. package/dist/tracking/tracking-handler.d.ts.map +0 -1
  447. package/dist/tracking/tracking-handler.js +0 -148
  448. package/dist/tracking/tracking-handler.js.map +0 -1
  449. package/dist/tracking/transport.d.ts +0 -35
  450. package/dist/tracking/transport.d.ts.map +0 -1
  451. package/dist/tracking/transport.js +0 -133
  452. package/dist/tracking/transport.js.map +0 -1
  453. package/dist/tracking/types.d.ts +0 -21
  454. package/dist/tracking/types.d.ts.map +0 -1
  455. package/dist/tracking/types.js +0 -6
  456. package/dist/tracking/types.js.map +0 -1
  457. /package/dist/{tracking → telemetry}/spans/sanitize-payload.d.ts +0 -0
  458. /package/dist/{tracking → telemetry}/spans/sanitize-payload.js +0 -0
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Pure builders for the scanner-summary and runtime-lifecycle event-log events. Each returns a fully
3
+ * built {@link EmittableEvent} (or `null` when the source yields nothing), so the runtime emits with a
4
+ * single `logger.event` call. Bodies are deterministic narratives; every attribute is a safe scalar.
5
+ *
6
+ * The scanner-summary funnel selection is reused from {@link buildScannerSummary}
7
+ * — no reimplementation of the drop classification.
8
+ */
9
+ import { buildScannerSummary } from "../telemetry/event-builders.js";
10
+ import { computeConfigHash } from "../telemetry/identity.js";
11
+ import { EVENT_NAME, eventAttrs } from "../utils/event-catalog.js";
12
+ /** Distinct dropped-reason attribute keys kept on a scanner.summary; the rest fold into `…dropped.other`. */
13
+ const MAX_DROP_REASON_KEYS = 12;
14
+ /**
15
+ * `scanner.summary` from the same scanner-run payload the scanner-complete handler emits.
16
+ * `null` when the scan considered no candidates (the anti-spam grain).
17
+ * Dropped candidates are market data → safe count attributes (`dropped_count` + by-reason), never
18
+ * `redact`.
19
+ */
20
+ export function buildScannerSummaryEvent(payload, nowMs) {
21
+ const rec = buildScannerSummary(payload, nowMs);
22
+ if (rec === null)
23
+ return null;
24
+ // The record always populates these counts (its optional typing notwithstanding); fall back so the
25
+ // counts — required attributes — are always defined, and reuse the same values in the body.
26
+ const passed = rec.passedCount ?? 0;
27
+ const dropped = rec.droppedCount ?? 0;
28
+ const total = rec.scannedCount ?? passed + dropped;
29
+ const attributes = eventAttrs({
30
+ "senpi.scanner.id": rec.scannerId,
31
+ "senpi.scanner.scanned_count": total,
32
+ "senpi.scanner.passed_count": passed,
33
+ "senpi.scanner.dropped_count": dropped,
34
+ });
35
+ // By-reason drop counts → queryable attributes. A scanner's reason vocabulary is normally a small
36
+ // fixed set, but it is an open producer-controlled string, so the distinct keys are capped: a
37
+ // scanner that ever templates a value into its reason can't explode attribute-key cardinality on
38
+ // the collector. Past the cap the remainder folds into one overflow bucket.
39
+ if (rec.droppedByReason) {
40
+ const byReason = Object.entries(rec.droppedByReason).sort((a, b) => b[1] - a[1]);
41
+ let overflow = 0;
42
+ byReason.forEach(([reason, count], i) => {
43
+ if (i < MAX_DROP_REASON_KEYS)
44
+ attributes[`senpi.scanner.dropped.${reason}`] = count;
45
+ else
46
+ overflow += count;
47
+ });
48
+ if (overflow > 0)
49
+ attributes["senpi.scanner.dropped.other"] = overflow;
50
+ }
51
+ return {
52
+ name: EVENT_NAME.scannerSummary,
53
+ level: "info",
54
+ body: `${rec.scannerId}: ${passed}/${total} passed (${dropped} dropped)`,
55
+ attributes,
56
+ };
57
+ }
58
+ /**
59
+ * `runtime.started` — carries the UNRESOLVED config hash (the form the recording identity hashes), so
60
+ * the printed hash matches `senpi.config.hash` on the rows. Emitted at every `Runtime.start()`.
61
+ */
62
+ export function buildRuntimeStartedEvent(input) {
63
+ const hash = computeConfigHash(input.unresolvedConfig);
64
+ const version = input.recipeVersion !== undefined ? String(input.recipeVersion) : undefined;
65
+ const attributes = eventAttrs({
66
+ "senpi.strategy.address": input.address,
67
+ "senpi.recipe.name": input.recipeName,
68
+ "senpi.recipe.version": version,
69
+ "senpi.config.hash": hash,
70
+ "senpi.runtime.version": input.runtimeVersion,
71
+ "senpi.runtime.scanner_count": input.scannerCount,
72
+ "senpi.runtime.action_count": input.actionCount,
73
+ "senpi.runtime.has_dsl": input.hasDsl,
74
+ "senpi.strategy.slots": input.slots,
75
+ "senpi.strategy.trading_risk": input.tradingRisk,
76
+ "senpi.strategy.margin_per_slot": input.marginPerSlot,
77
+ "senpi.strategy.margin_pct": input.marginPct,
78
+ "senpi.strategy.default_leverage": input.defaultLeverage,
79
+ });
80
+ const name = input.recipeName ?? "runtime";
81
+ const versionTag = version ? ` v${version}` : "";
82
+ const hashTag = hash ? `, config ${hash.slice(0, 7)}…` : "";
83
+ return {
84
+ name: EVENT_NAME.runtimeStarted,
85
+ level: "info",
86
+ body: `Runtime started: ${name}${versionTag}, ${input.scannerCount} scanners${hashTag}`,
87
+ attributes,
88
+ };
89
+ }
90
+ /** `runtime.stopped` — clean shutdown, with uptime. */
91
+ export function buildRuntimeStoppedEvent(runtimeVersion, uptimeMs, address) {
92
+ return {
93
+ name: EVENT_NAME.runtimeStopped,
94
+ level: "info",
95
+ body: `Runtime stopped after ${Math.round(uptimeMs / 1000)}s`,
96
+ attributes: eventAttrs({
97
+ "senpi.strategy.address": address,
98
+ "senpi.runtime.version": runtimeVersion,
99
+ "senpi.runtime.uptime_ms": uptimeMs,
100
+ }),
101
+ };
102
+ }
103
+ /**
104
+ * `runtime.created` — a runtime added to the registry via `senpi.installRuntime`. The create fact,
105
+ * distinct from `runtime.started` (which also fires on a transient restart).
106
+ */
107
+ export function buildRuntimeCreatedEvent(input) {
108
+ const name = input.recipeName ?? input.runtimeId;
109
+ return {
110
+ name: EVENT_NAME.runtimeCreated,
111
+ level: "info",
112
+ body: `Runtime created: ${name}`,
113
+ attributes: eventAttrs({
114
+ "senpi.runtime.id": input.runtimeId,
115
+ // Addresses are case-insensitive; lowercase to match the identity join key.
116
+ "senpi.strategy.address": input.address ? input.address.toLowerCase() : undefined,
117
+ "senpi.recipe.name": input.recipeName,
118
+ }),
119
+ };
120
+ }
121
+ /**
122
+ * `runtime.deleted` — a runtime removed from the registry via `senpi.deleteRuntime`. The discriminator
123
+ * a transient `runtime.stopped` can't provide; fires unconditionally so a never-booted runtime
124
+ * (which emits no `runtime.stopped`) is still observable.
125
+ */
126
+ export function buildRuntimeDeletedEvent(input) {
127
+ return {
128
+ name: EVENT_NAME.runtimeDeleted,
129
+ level: "info",
130
+ body: `Runtime deleted: ${input.runtimeId}`,
131
+ attributes: eventAttrs({
132
+ "senpi.runtime.id": input.runtimeId,
133
+ // Addresses are case-insensitive; lowercase to match the identity join key.
134
+ "senpi.strategy.address": input.address ? input.address.toLowerCase() : undefined,
135
+ "senpi.runtime.had_live_handle": input.hadLiveHandle,
136
+ }),
137
+ };
138
+ }
139
+ /** `runtime.paused` — a risk gate tripped a running→paused transition. WARN. */
140
+ export function buildRuntimePausedEvent(gateId, gateName, reason, address) {
141
+ const label = gateName ?? gateId ?? "gate";
142
+ return {
143
+ name: EVENT_NAME.runtimePaused,
144
+ level: "warn",
145
+ body: `Runtime paused: ${label}${reason ? ` — ${reason}` : ""}`,
146
+ attributes: eventAttrs({
147
+ "senpi.strategy.address": address,
148
+ "senpi.gate.id": gateId,
149
+ "senpi.gate.name": gateName,
150
+ }),
151
+ };
152
+ }
153
+ /** `runtime.resumed` — a previously-tripped risk gate cleared, re-arming a paused→running transition. */
154
+ export function buildRuntimeResumedEvent(gateId, gateName, address) {
155
+ const label = gateName ?? gateId ?? "gate";
156
+ return {
157
+ name: EVENT_NAME.runtimeResumed,
158
+ level: "info",
159
+ body: `Runtime resumed: ${label}`,
160
+ attributes: eventAttrs({
161
+ "senpi.strategy.address": address,
162
+ "senpi.gate.id": gateId,
163
+ "senpi.gate.name": gateName,
164
+ }),
165
+ };
166
+ }
167
+ /**
168
+ * `runtime.queue_backpressure` — the serial signal queue reached the backpressure threshold, so the
169
+ * consumer is falling behind inflow. WARN; the caller fires it on the rising edge only. No free-text,
170
+ * so no `redact`.
171
+ */
172
+ export function buildQueueBackpressureEvent(input) {
173
+ const from = input.scannerId ? `, latest from ${input.scannerId}` : "";
174
+ return {
175
+ name: EVENT_NAME.runtimeQueueBackpressure,
176
+ level: "warn",
177
+ body: `Signal queue backpressure: depth reached ${input.depth} (threshold ${input.threshold})${from}`,
178
+ attributes: eventAttrs({
179
+ "senpi.queue.depth": input.depth,
180
+ "senpi.queue.threshold": input.threshold,
181
+ "senpi.scanner.id": input.scannerId,
182
+ // Addresses are case-insensitive; lowercase to match the identity join key.
183
+ "senpi.strategy.address": input.address ? input.address.toLowerCase() : undefined,
184
+ }),
185
+ };
186
+ }
187
+ /** `runtime.error` — an uncaught signal-processing error. ERROR; the message rides `redact`. */
188
+ export function buildRuntimeErrorEvent(phase, scannerId, message) {
189
+ return {
190
+ name: EVENT_NAME.runtimeError,
191
+ level: "error",
192
+ body: `Runtime error in ${phase}`,
193
+ attributes: eventAttrs({
194
+ "senpi.runtime.phase": phase,
195
+ "senpi.scanner.id": scannerId,
196
+ }),
197
+ redact: { error: message },
198
+ };
199
+ }
200
+ //# sourceMappingURL=lifecycle-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-events.js","sourceRoot":"","sources":["../../src/runtime/lifecycle-events.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export function createNotificationService(options) {
49
49
  return;
50
50
  }
51
51
  catch (err) {
52
- logger.warn(`MCP transport failed: ${err instanceof Error ? err.message : String(err)}. Falling back to Gateway HTTP.`);
52
+ logger.warn("MCP transport failed; falling back to Gateway HTTP", err);
53
53
  }
54
54
  }
55
55
  // 2. HTTP Gateway Tool Invocation (Matches your LLM Engine)
@@ -82,7 +82,7 @@ export function createNotificationService(options) {
82
82
  return;
83
83
  }
84
84
  catch (err) {
85
- logger.warn(`Gateway tool invocation failed: ${err instanceof Error ? err.message : String(err)}`);
85
+ logger.warn("Gateway tool invocation failed", err);
86
86
  }
87
87
  return;
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/runtime/notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/runtime/notifications.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { DslState } from "../types/dsl/index.js";
1
2
  /** Age beyond which an unconfirmed intent-mint is considered abandoned (order never filled). */
2
3
  export declare const PENDING_OPEN_STALE_MS: number;
3
4
  /**
@@ -50,7 +51,7 @@ export declare class PositionIdRegistry {
50
51
  */
51
52
  mintOnOpened(key: string): Entry;
52
53
  /**
53
- * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, recording
54
+ * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, telemetry
54
55
  * reads). Surfaces an intent-mint that has not yet been confirmed open, so reads in
55
56
  * the open window still resolve the position.id.
56
57
  */
@@ -66,4 +67,16 @@ export declare class PositionIdRegistry {
66
67
  */
67
68
  private livePending;
68
69
  }
70
+ /**
71
+ * Build {@link RehydrateItem}s for the PositionIdRegistry at boot.
72
+ *
73
+ * One confirmed entry per active DSL state, keyed on (wallet, dex, asset), so a
74
+ * re-observed OPENED after a restart does not re-mint. Pre-positionId state files fall
75
+ * back to the legacy correlationId — the same fallback the DSL emit sites use, so every
76
+ * consumer converges on one id for a pre-deploy position.
77
+ *
78
+ * Pure: takes the already-loaded states, returns the items. The runtime reads DSL
79
+ * states from the StateManager.
80
+ */
81
+ export declare function buildRehydrateItems(dslStates: DslState[]): RehydrateItem[];
69
82
  //# sourceMappingURL=position-id-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-id-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/position-id-registry.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtF;AAED,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,gBAAgB,GAAG,qBAAqB,CAAC;CACjE;AAED,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyD;IACjF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,GAAE,yBAA8B;IAKhD;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAYhC;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAkBhC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAOnC,4EAA4E;IAC5E,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC,sEAAsE;IACtE,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAMvC;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAapB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAK1E"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * PositionIdRegistry: cross-flow position.id state machine.
3
3
  *
4
- * Sibling of the intra-flow correlation_id in src/tracking/context.ts. Keyed on
4
+ * Sibling of the intra-flow run id in src/telemetry/context.ts. Keyed on
5
5
  * (wallet, dex, asset).
6
6
  *
7
7
  * **Mint-at-intent.** A stable position.id is minted the moment the runtime decides to
@@ -30,7 +30,7 @@
30
30
  */
31
31
  import { randomUUID } from "node:crypto";
32
32
  import { createLogger } from "../utils/logger.js";
33
- const logger = createLogger("[tracking][position-id]");
33
+ const logger = createLogger("[senpi-core][position-id]");
34
34
  /** Age beyond which an unconfirmed intent-mint is considered abandoned (order never filled). */
35
35
  export const PENDING_OPEN_STALE_MS = 30 * 60 * 1000;
36
36
  /**
@@ -94,7 +94,7 @@ export class PositionIdRegistry {
94
94
  return { ...entry, reconciliationSource: pending ? "runtime_opened" : "externally_detected" };
95
95
  }
96
96
  /**
97
- * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, recording
97
+ * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, telemetry
98
98
  * reads). Surfaces an intent-mint that has not yet been confirmed open, so reads in
99
99
  * the open window still resolve the position.id.
100
100
  */
@@ -136,4 +136,21 @@ export class PositionIdRegistry {
136
136
  return pending;
137
137
  }
138
138
  }
139
+ /**
140
+ * Build {@link RehydrateItem}s for the PositionIdRegistry at boot.
141
+ *
142
+ * One confirmed entry per active DSL state, keyed on (wallet, dex, asset), so a
143
+ * re-observed OPENED after a restart does not re-mint. Pre-positionId state files fall
144
+ * back to the legacy correlationId — the same fallback the DSL emit sites use, so every
145
+ * consumer converges on one id for a pre-deploy position.
146
+ *
147
+ * Pure: takes the already-loaded states, returns the items. The runtime reads DSL
148
+ * states from the StateManager.
149
+ */
150
+ export function buildRehydrateItems(dslStates) {
151
+ return dslStates.map((state) => ({
152
+ key: positionRegistryKey(state.wallet, state.dex, state.asset),
153
+ entry: { positionId: state.positionId ?? state.correlationId },
154
+ }));
155
+ }
139
156
  //# sourceMappingURL=position-id-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-id-registry.js","sourceRoot":"","sources":["../../src/runtime/position-id-registry.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,9 @@ export interface RuntimeHandle {
36
36
  getSystemState(): Promise<RuntimeSystemState | null>;
37
37
  /**
38
38
  * Cancel exchange SLs and archive DSL state for all strategies before
39
- * deleting a runtime. Resolves with the number of positions whose state
40
- * was archived (incoming runtime-phase-2 widened the return type from
41
- * void → number for telemetry — kept here).
39
+ * deleting a runtime.
42
40
  */
43
- teardownDslForRuntimeDeletion(): Promise<number>;
41
+ teardownDslForRuntimeDeletion(): Promise<void>;
44
42
  /**
45
43
  * Run an MCP `audit_query` through this runtime's persistent MCP client,
46
44
  * scoped to the runtime's own strategy. Resolves wallet → strategyId the
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,yBAAyB,CACvB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAExC,eAAe,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACvD,cAAc,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACrD;;;;;OAKG;IACH,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CACR,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;OAOG;IACH,mBAAmB,IAAI,MAAM,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAErC;;;;;;;;;;;OAWG;IACH,yBAAyB,CACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAsB,GAAG,CACvB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,CAAC,CAwExB"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,yBAAyB,CACvB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAExC,eAAe,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACvD,cAAc,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACrD;;;OAGG;IACH,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CACR,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;OAOG;IACH,mBAAmB,IAAI,MAAM,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAErC;;;;;;;;;;;OAWG;IACH,yBAAyB,CACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAsB,GAAG,CACvB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,CAAC,CAwExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAuIvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,mBAA2B,EAC3B,OAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;QAClC,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;QAC3C,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,gBAAgB;KACjB,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;QACrC,yBAAyB,CACvB,OAAqC;YAErC,OAAO,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,eAAe;YACnB,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,cAAc;YAClB,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,6BAA6B;YAC3B,OAAO,OAAO,CAAC,6BAA6B,EAAE,CAAC;QACjD,CAAC;QACD,UAAU,CACR,IAAoB,EACpB,IAA+B;YAE/B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvC,CAAC;QACD,aAAa;YACX,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC;QACD,sBAAsB,CACpB,MAAqB;YAErB,OAAO,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,oBAAoB,CAClB,OAAe,EACf,UAAkB;YAElB,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,yBAAyB,CACvB,OAAe,EACf,UAAkB,EAClB,IAA+B;YAE/B,OAAO,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAqIvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,mBAA2B,EAC3B,OAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,MAAM,QAAQ,GACZ,CAAC,OAAO,OAAO,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;QAClC,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;QAC3C,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,gBAAgB;KACjB,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;QACrC,yBAAyB,CACvB,OAAqC;YAErC,OAAO,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,eAAe;YACnB,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,cAAc;YAClB,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,6BAA6B;YAC3B,OAAO,OAAO,CAAC,6BAA6B,EAAE,CAAC;QACjD,CAAC;QACD,UAAU,CACR,IAAoB,EACpB,IAA+B;YAE/B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvC,CAAC;QACD,aAAa;YACX,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC;QACD,sBAAsB,CACpB,MAAqB;YAErB,OAAO,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,oBAAoB,CAClB,OAAe,EACf,UAAkB;YAElB,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,yBAAyB,CACvB,OAAe,EACf,UAAkB,EAClB,IAA+B;YAE/B,OAAO,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}