@senpi/runtime 1.1.0-dev.runtime-phase-2.20260610125851 → 1.1.0-dev.runtime-phase-2.20260610214734

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 (174) hide show
  1. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  2. package/dist/actions/close-position/close-position.action.js +7 -2
  3. package/dist/actions/close-position/close-position.action.js.map +1 -1
  4. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  5. package/dist/actions/open-position/open-position.action.js +20 -0
  6. package/dist/actions/open-position/open-position.action.js.map +1 -1
  7. package/dist/actions/position-tracker/position-tracker.action.d.ts +6 -0
  8. package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
  9. package/dist/actions/position-tracker/position-tracker.action.js +39 -0
  10. package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
  11. package/dist/dsl/engine-client/event-mapping.d.ts +2 -0
  12. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  13. package/dist/dsl/engine-client/event-mapping.js +3 -0
  14. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  15. package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
  16. package/dist/dsl/events/build-closed-event.js +1 -0
  17. package/dist/dsl/events/build-closed-event.js.map +1 -1
  18. package/dist/dsl/events/guards.d.ts.map +1 -1
  19. package/dist/dsl/events/guards.js +10 -0
  20. package/dist/dsl/events/guards.js.map +1 -1
  21. package/dist/dsl/events/handlers.d.ts.map +1 -1
  22. package/dist/dsl/events/handlers.js +7 -0
  23. package/dist/dsl/events/handlers.js.map +1 -1
  24. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  25. package/dist/dsl/events/initial-state.js +3 -1
  26. package/dist/dsl/events/initial-state.js.map +1 -1
  27. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  28. package/dist/dsl/monitor/process-one-position.js +36 -2
  29. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  30. package/dist/recording/emitter.d.ts +21 -0
  31. package/dist/recording/emitter.d.ts.map +1 -0
  32. package/dist/recording/emitter.js +2 -0
  33. package/dist/recording/emitter.js.map +1 -0
  34. package/dist/recording/identity.d.ts +34 -0
  35. package/dist/recording/identity.d.ts.map +1 -0
  36. package/dist/recording/identity.js +2 -0
  37. package/dist/recording/identity.js.map +1 -0
  38. package/dist/recording/index.d.ts +11 -0
  39. package/dist/recording/index.d.ts.map +1 -0
  40. package/dist/recording/index.js +2 -0
  41. package/dist/recording/index.js.map +1 -0
  42. package/dist/recording/noop-emitter.d.ts +17 -0
  43. package/dist/recording/noop-emitter.d.ts.map +1 -0
  44. package/dist/recording/noop-emitter.js +16 -0
  45. package/dist/recording/noop-emitter.js.map +1 -0
  46. package/dist/recording/otel/attributes.d.ts +35 -0
  47. package/dist/recording/otel/attributes.d.ts.map +1 -0
  48. package/dist/recording/otel/attributes.js +131 -0
  49. package/dist/recording/otel/attributes.js.map +1 -0
  50. package/dist/recording/otel/constants.d.ts +81 -0
  51. package/dist/recording/otel/constants.d.ts.map +1 -0
  52. package/dist/recording/otel/constants.js +96 -0
  53. package/dist/recording/otel/constants.js.map +1 -0
  54. package/dist/recording/otel/ids.d.ts +14 -0
  55. package/dist/recording/otel/ids.d.ts.map +1 -0
  56. package/dist/recording/otel/ids.js +12 -0
  57. package/dist/recording/otel/ids.js.map +1 -0
  58. package/dist/recording/otel/index.d.ts +13 -0
  59. package/dist/recording/otel/index.d.ts.map +1 -0
  60. package/dist/recording/otel/index.js +9 -0
  61. package/dist/recording/otel/index.js.map +1 -0
  62. package/dist/recording/otel/mappers.d.ts +42 -0
  63. package/dist/recording/otel/mappers.d.ts.map +1 -0
  64. package/dist/recording/otel/mappers.js +342 -0
  65. package/dist/recording/otel/mappers.js.map +1 -0
  66. package/dist/recording/otel/otel-emitter.d.ts +37 -0
  67. package/dist/recording/otel/otel-emitter.d.ts.map +1 -0
  68. package/dist/recording/otel/otel-emitter.js +75 -0
  69. package/dist/recording/otel/otel-emitter.js.map +1 -0
  70. package/dist/recording/otel/redaction.d.ts +31 -0
  71. package/dist/recording/otel/redaction.d.ts.map +1 -0
  72. package/dist/recording/otel/redaction.js +40 -0
  73. package/dist/recording/otel/redaction.js.map +1 -0
  74. package/dist/recording/records.d.ts +341 -0
  75. package/dist/recording/records.d.ts.map +1 -0
  76. package/dist/recording/records.js +14 -0
  77. package/dist/recording/records.js.map +1 -0
  78. package/dist/recording/transport/batcher.d.ts +59 -0
  79. package/dist/recording/transport/batcher.d.ts.map +1 -0
  80. package/dist/recording/transport/batcher.js +234 -0
  81. package/dist/recording/transport/batcher.js.map +1 -0
  82. package/dist/recording/transport/client.d.ts +41 -0
  83. package/dist/recording/transport/client.d.ts.map +1 -0
  84. package/dist/recording/transport/client.js +69 -0
  85. package/dist/recording/transport/client.js.map +1 -0
  86. package/dist/recording/transport/config.d.ts +53 -0
  87. package/dist/recording/transport/config.d.ts.map +1 -0
  88. package/dist/recording/transport/config.js +41 -0
  89. package/dist/recording/transport/config.js.map +1 -0
  90. package/dist/recording/transport/index.d.ts +16 -0
  91. package/dist/recording/transport/index.d.ts.map +1 -0
  92. package/dist/recording/transport/index.js +12 -0
  93. package/dist/recording/transport/index.js.map +1 -0
  94. package/dist/recording/transport/rows.d.ts +88 -0
  95. package/dist/recording/transport/rows.d.ts.map +1 -0
  96. package/dist/recording/transport/rows.js +15 -0
  97. package/dist/recording/transport/rows.js.map +1 -0
  98. package/dist/recording/wiring/emitter-factory.d.ts +39 -0
  99. package/dist/recording/wiring/emitter-factory.d.ts.map +1 -0
  100. package/dist/recording/wiring/emitter-factory.js +62 -0
  101. package/dist/recording/wiring/emitter-factory.js.map +1 -0
  102. package/dist/recording/wiring/identity.d.ts +27 -0
  103. package/dist/recording/wiring/identity.d.ts.map +1 -0
  104. package/dist/recording/wiring/identity.js +51 -0
  105. package/dist/recording/wiring/identity.js.map +1 -0
  106. package/dist/recording/wiring/index.d.ts +12 -0
  107. package/dist/recording/wiring/index.d.ts.map +1 -0
  108. package/dist/recording/wiring/index.js +9 -0
  109. package/dist/recording/wiring/index.js.map +1 -0
  110. package/dist/recording/wiring/record-builders.d.ts +74 -0
  111. package/dist/recording/wiring/record-builders.d.ts.map +1 -0
  112. package/dist/recording/wiring/record-builders.js +458 -0
  113. package/dist/recording/wiring/record-builders.js.map +1 -0
  114. package/dist/recording/wiring/subscriber.d.ts +28 -0
  115. package/dist/recording/wiring/subscriber.d.ts.map +1 -0
  116. package/dist/recording/wiring/subscriber.js +171 -0
  117. package/dist/recording/wiring/subscriber.js.map +1 -0
  118. package/dist/recording/wiring/values.d.ts +19 -0
  119. package/dist/recording/wiring/values.d.ts.map +1 -0
  120. package/dist/recording/wiring/values.js +49 -0
  121. package/dist/recording/wiring/values.js.map +1 -0
  122. package/dist/runtime/create-runtime-context.d.ts +2 -0
  123. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  124. package/dist/runtime/create-runtime-context.js +1 -0
  125. package/dist/runtime/create-runtime-context.js.map +1 -1
  126. package/dist/runtime/load-runtime-config.d.ts +9 -0
  127. package/dist/runtime/load-runtime-config.d.ts.map +1 -1
  128. package/dist/runtime/load-runtime-config.js +41 -1
  129. package/dist/runtime/load-runtime-config.js.map +1 -1
  130. package/dist/runtime/run.d.ts.map +1 -1
  131. package/dist/runtime/run.js +3 -2
  132. package/dist/runtime/run.js.map +1 -1
  133. package/dist/runtime/runtime-schema.d.ts +182 -0
  134. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  135. package/dist/runtime/runtime-schema.js +17 -0
  136. package/dist/runtime/runtime-schema.js.map +1 -1
  137. package/dist/runtime/runtime.d.ts +21 -0
  138. package/dist/runtime/runtime.d.ts.map +1 -1
  139. package/dist/runtime/runtime.js +267 -149
  140. package/dist/runtime/runtime.js.map +1 -1
  141. package/dist/scanners/events.d.ts +6 -0
  142. package/dist/scanners/events.d.ts.map +1 -1
  143. package/dist/scanners/events.js.map +1 -1
  144. package/dist/scanners/runtime-module.d.ts.map +1 -1
  145. package/dist/scanners/runtime-module.js +9 -1
  146. package/dist/scanners/runtime-module.js.map +1 -1
  147. package/dist/senpi/client.d.ts +19 -0
  148. package/dist/senpi/client.d.ts.map +1 -1
  149. package/dist/senpi/client.js +22 -0
  150. package/dist/senpi/client.js.map +1 -1
  151. package/dist/senpi/index.d.ts +2 -1
  152. package/dist/senpi/index.d.ts.map +1 -1
  153. package/dist/senpi/index.js +1 -1
  154. package/dist/senpi/index.js.map +1 -1
  155. package/dist/state/state-manager.d.ts.map +1 -1
  156. package/dist/state/state-manager.js +5 -0
  157. package/dist/state/state-manager.js.map +1 -1
  158. package/dist/tracking/build-rehydrate-items.d.ts +15 -0
  159. package/dist/tracking/build-rehydrate-items.d.ts.map +1 -0
  160. package/dist/tracking/build-rehydrate-items.js +19 -0
  161. package/dist/tracking/build-rehydrate-items.js.map +1 -0
  162. package/dist/tracking/index.d.ts +3 -0
  163. package/dist/tracking/index.d.ts.map +1 -1
  164. package/dist/tracking/index.js +2 -0
  165. package/dist/tracking/index.js.map +1 -1
  166. package/dist/tracking/position-id-registry.d.ts +60 -0
  167. package/dist/tracking/position-id-registry.d.ts.map +1 -0
  168. package/dist/tracking/position-id-registry.js +133 -0
  169. package/dist/tracking/position-id-registry.js.map +1 -0
  170. package/dist/types/dsl/index.d.ts +23 -0
  171. package/dist/types/dsl/index.d.ts.map +1 -1
  172. package/dist/types/runtime.d.ts +6 -0
  173. package/dist/types/runtime.d.ts.map +1 -1
  174. package/package.json +1 -1
@@ -6,4 +6,6 @@ export { BatchingTransport, NoOpTransport } from "./transport.js";
6
6
  export { createTrackingHandler } from "./tracking-handler.js";
7
7
  export { TRACKING_API_BASE_URL } from "./constants.js";
8
8
  export { createPluginEventTracker, PLUGIN_TRACKING_RUNTIME_NAME, } from "./plugin-event-tracker.js";
9
+ export { PositionIdRegistry, positionRegistryKey, PENDING_OPEN_STALE_MS, } from "./position-id-registry.js";
10
+ export { buildRehydrateItems } from "./build-rehydrate-items.js";
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracking/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracking/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,60 @@
1
+ /** Age beyond which an unconfirmed intent-mint is considered abandoned (order never filled). */
2
+ export declare const PENDING_OPEN_STALE_MS: number;
3
+ /**
4
+ * Build the registry key for a position. Normalizes dex the same way the
5
+ * position-tracker scanner's buildPositionKey does (empty/whitespace → "main"),
6
+ * scoped by wallet so the map is correct under multi-wallet deployment.
7
+ */
8
+ export declare function positionRegistryKey(wallet: string, dex: string, asset: string): string;
9
+ export interface Entry {
10
+ positionId: string;
11
+ }
12
+ /** One unit of boot-time state to restore: a confirmed entry (from a persisted DSL state). */
13
+ export interface RehydrateItem {
14
+ key: string;
15
+ entry: Entry;
16
+ }
17
+ export interface PositionIdRegistryOptions {
18
+ now?: () => number;
19
+ /** Override for {@link PENDING_OPEN_STALE_MS} (tests). */
20
+ staleMs?: number;
21
+ }
22
+ export declare class PositionIdRegistry {
23
+ private readonly entries;
24
+ /** Positions minted at intent, awaiting a confirmed open. */
25
+ private readonly pending;
26
+ private readonly now;
27
+ private readonly staleMs;
28
+ constructor(opts?: PositionIdRegistryOptions);
29
+ /**
30
+ * Mint a position.id at the moment the runtime decides to open, before the position
31
+ * is confirmed open. The id is returned immediately so callers can stamp it on the
32
+ * `action.open` emit. Idempotent: a re-submit (or an already-confirmed entry) reuses
33
+ * the existing id rather than minting a new one.
34
+ */
35
+ mintOnIntent(key: string): Entry;
36
+ /**
37
+ * Confirm the open. Idempotent: if a confirmed entry already exists it is returned.
38
+ * If the position was minted at intent (and the intent is not stale), that id is
39
+ * promoted (reused, never re-minted) and the pending record dropped. Otherwise — an
40
+ * externally-opened position with no prior runtime intent — a fresh id is minted.
41
+ */
42
+ mintOnOpened(key: string): Entry;
43
+ /**
44
+ * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, recording
45
+ * reads). Surfaces an intent-mint that has not yet been confirmed open, so reads in
46
+ * the open window still resolve the position.id.
47
+ */
48
+ get(key: string): Entry | undefined;
49
+ /** Clear on confirmed close. The next open on this key mints a fresh id. */
50
+ clearOnClosed(key: string): void;
51
+ /** Repopulate confirmed entries at boot from persisted DSL states. */
52
+ rehydrate(items: RehydrateItem[]): void;
53
+ /**
54
+ * The pending record for a key, unless it has gone stale — an intent whose order
55
+ * never filled within the stale window is discarded on read (and a fresh mint
56
+ * follows), so an abandoned submit's id never attaches to a later, unrelated open.
57
+ */
58
+ private livePending;
59
+ }
60
+ //# sourceMappingURL=position-id-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-id-registry.d.ts","sourceRoot":"","sources":["../../src/tracking/position-id-registry.ts"],"names":[],"mappings":"AAmCA,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;CACpB;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;IAYhC;;;;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"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * PositionIdRegistry: cross-flow position.id state machine.
3
+ *
4
+ * Sibling of the intra-flow correlation_id in src/tracking/context.ts. Keyed on
5
+ * (wallet, dex, asset).
6
+ *
7
+ * **Mint-at-intent.** A stable position.id is minted the moment the runtime decides to
8
+ * open ({@link mintOnIntent}), so it is already on the `action.open` emit — the open
9
+ * trace correlates by position.id directly, and even a sub-minute open+close (which the
10
+ * tracker poll never observes) still has a lifecycle.
11
+ *
12
+ * Two internal phases:
13
+ * - `pending` — minted at intent, awaiting a confirmed open. In-memory only: the id is
14
+ * a best-effort realtime grouping hint, not durable truth (post-hoc correlation
15
+ * anchors on order ids against the venue ledger). A stale pending (order submitted
16
+ * but never observed filling within {@link PENDING_OPEN_STALE_MS}) is lazily
17
+ * discarded at the next read, so an abandoned intent never chains onto an unrelated
18
+ * lifecycle hours later.
19
+ * - `entries` — confirmed open. Reused for INCREASED/DECREASED/FLIPPED and DSL reads;
20
+ * cleared on POSITION_CLOSED. Never staled.
21
+ *
22
+ * {@link mintOnOpened} promotes a pending intent-mint to a confirmed entry (reusing the
23
+ * id), or mints fresh for an externally-opened position with no prior intent.
24
+ *
25
+ * **Restart behavior.** Confirmed entries are rehydrated at boot from persisted DSL
26
+ * states ({@link rehydrate}). Pendings are not persisted: a restart inside the
27
+ * submit→observe window (~one tracker poll) loses the intent-mint and the tracker mints
28
+ * fresh on observation — a rare, accepted lifecycle split that downstream ledger
29
+ * reconciliation can heal via order ids.
30
+ */
31
+ import { randomUUID } from "node:crypto";
32
+ import { createLogger } from "../utils/logger.js";
33
+ const logger = createLogger("[tracking][position-id]");
34
+ /** Age beyond which an unconfirmed intent-mint is considered abandoned (order never filled). */
35
+ export const PENDING_OPEN_STALE_MS = 30 * 60 * 1000;
36
+ /**
37
+ * Build the registry key for a position. Normalizes dex the same way the
38
+ * position-tracker scanner's buildPositionKey does (empty/whitespace → "main"),
39
+ * scoped by wallet so the map is correct under multi-wallet deployment.
40
+ */
41
+ export function positionRegistryKey(wallet, dex, asset) {
42
+ const normalizedDex = dex.trim() || "main";
43
+ return `${wallet}|${normalizedDex}:${asset}`;
44
+ }
45
+ export class PositionIdRegistry {
46
+ entries = new Map();
47
+ /** Positions minted at intent, awaiting a confirmed open. */
48
+ pending = new Map();
49
+ now;
50
+ staleMs;
51
+ constructor(opts = {}) {
52
+ this.now = opts.now ?? Date.now;
53
+ this.staleMs = opts.staleMs ?? PENDING_OPEN_STALE_MS;
54
+ }
55
+ /**
56
+ * Mint a position.id at the moment the runtime decides to open, before the position
57
+ * is confirmed open. The id is returned immediately so callers can stamp it on the
58
+ * `action.open` emit. Idempotent: a re-submit (or an already-confirmed entry) reuses
59
+ * the existing id rather than minting a new one.
60
+ */
61
+ mintOnIntent(key) {
62
+ const confirmed = this.entries.get(key);
63
+ if (confirmed)
64
+ return confirmed;
65
+ const existing = this.livePending(key);
66
+ if (existing)
67
+ return { positionId: existing.positionId };
68
+ const positionId = randomUUID();
69
+ this.pending.set(key, { positionId, ts: this.now() });
70
+ return { positionId };
71
+ }
72
+ /**
73
+ * Confirm the open. Idempotent: if a confirmed entry already exists it is returned.
74
+ * If the position was minted at intent (and the intent is not stale), that id is
75
+ * promoted (reused, never re-minted) and the pending record dropped. Otherwise — an
76
+ * externally-opened position with no prior runtime intent — a fresh id is minted.
77
+ */
78
+ mintOnOpened(key) {
79
+ const existing = this.entries.get(key);
80
+ if (existing)
81
+ return existing;
82
+ const pending = this.livePending(key);
83
+ const entry = pending
84
+ ? { positionId: pending.positionId }
85
+ : { positionId: randomUUID() };
86
+ this.entries.set(key, entry);
87
+ this.pending.delete(key);
88
+ return entry;
89
+ }
90
+ /**
91
+ * Read the current entry for a key (INCREASED/DECREASED/FLIPPED, DSL start, recording
92
+ * reads). Surfaces an intent-mint that has not yet been confirmed open, so reads in
93
+ * the open window still resolve the position.id.
94
+ */
95
+ get(key) {
96
+ const confirmed = this.entries.get(key);
97
+ if (confirmed)
98
+ return confirmed;
99
+ const pending = this.livePending(key);
100
+ return pending ? { positionId: pending.positionId } : undefined;
101
+ }
102
+ /** Clear on confirmed close. The next open on this key mints a fresh id. */
103
+ clearOnClosed(key) {
104
+ this.entries.delete(key);
105
+ this.pending.delete(key);
106
+ }
107
+ /** Repopulate confirmed entries at boot from persisted DSL states. */
108
+ rehydrate(items) {
109
+ for (const item of items) {
110
+ this.entries.set(item.key, item.entry);
111
+ }
112
+ }
113
+ /**
114
+ * The pending record for a key, unless it has gone stale — an intent whose order
115
+ * never filled within the stale window is discarded on read (and a fresh mint
116
+ * follows), so an abandoned submit's id never attaches to a later, unrelated open.
117
+ */
118
+ livePending(key) {
119
+ const pending = this.pending.get(key);
120
+ if (!pending)
121
+ return undefined;
122
+ if (this.now() - pending.ts > this.staleMs) {
123
+ this.pending.delete(key);
124
+ logger.warn("discarding stale pending position.id (order never confirmed filling); minting fresh", {
125
+ key,
126
+ ageMs: this.now() - pending.ts,
127
+ });
128
+ return undefined;
129
+ }
130
+ return pending;
131
+ }
132
+ }
133
+ //# sourceMappingURL=position-id-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-id-registry.js","sourceRoot":"","sources":["../../src/tracking/position-id-registry.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,13 @@ export interface DslState {
59
59
  * `dsl.*` telemetry event for this position carries the same `__correlationId`.
60
60
  */
61
61
  correlationId: string;
62
+ /**
63
+ * Cross-flow position identifier from the shared PositionIdRegistry. Stable across the
64
+ * whole trade (open → DSL → close) and across DSL teardown/recreate, so every `dsl.*`
65
+ * telemetry event can join to the open decision and the position. Lazy-filled from
66
+ * `correlationId` for legacy state files written before this field existed.
67
+ */
68
+ positionId?: string;
62
69
  /** Lifecycle event that produced this DSL row. Persisted so closed/tier/sl events can include it. */
63
70
  triggerReason: DslCreatedTriggerReason;
64
71
  asset: string;
@@ -166,6 +173,8 @@ export interface PositionOpenedEvent {
166
173
  szi: string;
167
174
  entryPx: string;
168
175
  leverage: number;
176
+ /** Cross-flow position.id minted by the tracker (stamped as `__positionId`). */
177
+ positionId?: string;
169
178
  }
170
179
  export interface PositionClosedEvent {
171
180
  address: string;
@@ -185,6 +194,8 @@ export interface PositionFlippedEvent {
185
194
  leverage: number;
186
195
  /** When set, used for the new direction after flip (same as position.opened preset). */
187
196
  preset?: string;
197
+ /** Cross-flow position.id reused across the flip (stamped as `__positionId`). */
198
+ positionId?: string;
188
199
  }
189
200
  export interface PositionIncreasedEvent {
190
201
  address: string;
@@ -225,6 +236,8 @@ export interface DslCreatedEvent {
225
236
  margin: number;
226
237
  /** Lifecycle event that produced this DSL row (`"position_opened"` for fresh opens). */
227
238
  triggerReason: DslCreatedTriggerReason;
239
+ /** Cross-flow position.id (stamped as `__positionId`); falls back to correlationId for legacy rows. */
240
+ __positionId?: string;
228
241
  /** UUID v4 from {@link DslState.correlationId}; tracking handler reads this. */
229
242
  __correlationId: string;
230
243
  timestamp: string;
@@ -235,6 +248,8 @@ export interface DslPhaseChangedEvent {
235
248
  phase: 1 | 2;
236
249
  tierIndex: number;
237
250
  triggerReason: DslCreatedTriggerReason;
251
+ /** Cross-flow position.id (DslState.positionId); telemetry handler reads this. */
252
+ __positionId?: string;
238
253
  __correlationId: string;
239
254
  timestamp: string;
240
255
  }
@@ -248,6 +263,8 @@ export interface DslTierAdvancedEvent {
248
263
  triggerPct: number;
249
264
  newFloorPrice: number;
250
265
  triggerReason: DslCreatedTriggerReason;
266
+ /** Cross-flow position.id (DslState.positionId); telemetry handler reads this. */
267
+ __positionId?: string;
251
268
  __correlationId: string;
252
269
  timestamp: string;
253
270
  direction?: "LONG" | "SHORT";
@@ -266,6 +283,8 @@ export interface DslSlUpdatedEvent {
266
283
  newSLPrice: number;
267
284
  slOrderId: number;
268
285
  triggerReason: DslCreatedTriggerReason;
286
+ /** Cross-flow position.id (DslState.positionId); telemetry handler reads this. */
287
+ __positionId?: string;
269
288
  __correlationId: string;
270
289
  timestamp: string;
271
290
  }
@@ -276,6 +295,8 @@ export interface DslClosedEvent {
276
295
  reason: string;
277
296
  closeReason: string;
278
297
  triggerReason: DslCreatedTriggerReason;
298
+ /** Cross-flow position.id (DslState.positionId); telemetry handler reads this. */
299
+ __positionId?: string;
279
300
  __correlationId: string;
280
301
  /** Close time (ISO); used for trade-history matching. */
281
302
  timestamp: string;
@@ -308,6 +329,8 @@ export interface DslHeartbeatEvent {
308
329
  currentTierIndex: number | null;
309
330
  elapsedMinutes: number;
310
331
  triggerReason: DslCreatedTriggerReason;
332
+ /** Cross-flow position.id (DslState.positionId); telemetry handler reads this. */
333
+ __positionId?: string;
311
334
  __correlationId: string;
312
335
  /** Collateral = (size * entryPrice) / leverage; used for PnL computation in heartbeat notification. */
313
336
  margin?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dsl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dsl/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { ContextBuilder } from "../context/types.js";
4
4
  import { HookSystem, LlmDecision, NotificationService, RiskGuard } from "src/actions/types.js";
5
5
  import type { ScannerRuntimeModule } from "../scanners/runtime-module.js";
6
6
  import type { MaxLeverageCache } from "../leverage/max-leverage-cache.js";
7
+ import type { PositionIdRegistry } from "../tracking/position-id-registry.js";
7
8
  export interface RuntimeContext {
8
9
  senpi: SenpiClient;
9
10
  hookSystem: HookSystem;
@@ -14,5 +15,10 @@ export interface RuntimeContext {
14
15
  strategyState: StrategyState;
15
16
  scannerModule?: ScannerRuntimeModule;
16
17
  maxLeverageCache: MaxLeverageCache;
18
+ /**
19
+ * Cross-flow position.id state machine (mint on open, reuse on incr/decr/flip, clear on close).
20
+ * Optional: actions degrade gracefully when absent (e.g. standalone scripts, older call sites).
21
+ */
22
+ positionIdRegistry?: PositionIdRegistry;
17
23
  }
18
24
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senpi/runtime",
3
- "version": "1.1.0-dev.runtime-phase-2.20260610125851",
3
+ "version": "1.1.0-dev.runtime-phase-2.20260610214734",
4
4
  "description": "Senpi runtime plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",