@senpi/runtime 3.0.102 → 3.0.106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/action-events.d.ts +7 -21
- package/dist/actions/action-events.d.ts.map +1 -1
- package/dist/actions/action-events.js +25 -56
- package/dist/actions/action-events.js.map +1 -1
- package/dist/actions/action-runtime-module.d.ts.map +1 -1
- package/dist/actions/action-runtime-module.js +1 -18
- package/dist/actions/action-runtime-module.js.map +1 -1
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +12 -86
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +2 -40
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +9 -189
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +17 -115
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts +1 -2
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +15 -50
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/event-mapping.js +0 -15
- package/dist/dsl/engine-client/event-mapping.js.map +1 -1
- package/dist/dsl/events/build-closed-event.d.ts +1 -16
- package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
- package/dist/dsl/events/build-closed-event.js +0 -5
- package/dist/dsl/events/build-closed-event.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts +0 -7
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +7 -49
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +0 -7
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.d.ts +0 -2
- package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.js +1 -2
- package/dist/dsl/monitor/dsl-failure-events.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts +0 -6
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +21 -55
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/health/types.d.ts +0 -6
- package/dist/health/types.d.ts.map +1 -1
- package/dist/health/types.js.map +1 -1
- package/dist/index.d.ts +4 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -245
- package/dist/index.js.map +1 -1
- package/dist/runtime/domain-events.d.ts.map +1 -1
- package/dist/runtime/domain-events.js +0 -7
- package/dist/runtime/domain-events.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +1 -9
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +2 -11
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/reconcile-run.d.ts +0 -2
- package/dist/runtime/reconcile-run.d.ts.map +1 -1
- package/dist/runtime/reconcile-run.js +1 -2
- package/dist/runtime/reconcile-run.js.map +1 -1
- package/dist/runtime/reconcile-state.d.ts +0 -8
- package/dist/runtime/reconcile-state.d.ts.map +1 -1
- package/dist/runtime/reconcile-state.js +1 -3
- package/dist/runtime/reconcile-state.js.map +1 -1
- package/dist/runtime/runtime.d.ts +5 -5
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +20 -44
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-registry.d.ts +1 -0
- package/dist/runtime/strategy-registry.d.ts.map +1 -1
- package/dist/runtime/strategy-registry.js +19 -0
- package/dist/runtime/strategy-registry.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +0 -8
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +0 -1
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime/update-apply-deps.d.ts +6 -0
- package/dist/runtime/update-apply-deps.d.ts.map +1 -1
- package/dist/runtime/update-apply-deps.js +8 -19
- package/dist/runtime/update-apply-deps.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +3 -3
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-events.js +3 -21
- package/dist/runtime-api/intake/intake-events.js.map +1 -1
- package/dist/runtime-api/intake/intake-mount.d.ts +2 -0
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +10 -57
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts +0 -11
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +8 -39
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scaffold-error-router.d.ts +43 -0
- package/dist/runtime-api/intake/scaffold-error-router.d.ts.map +1 -0
- package/dist/runtime-api/intake/scaffold-error-router.js +63 -0
- package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +0 -12
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +1 -22
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +1 -7
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +0 -1
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +0 -6
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +0 -5
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +2 -30
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/external/scaffold/delivery.py +12 -79
- package/dist/scanners/external/scaffold/scaffold.py +9 -63
- package/dist/scanners/external/scaffold/senpi_mcp.py +81 -10
- package/dist/scanners/external-scanner-receiver.d.ts +0 -11
- package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
- package/dist/scanners/external-scanner-receiver.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +0 -5
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +4 -12
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/types.d.ts +0 -5
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/skills-manager/manifest.d.ts.map +1 -1
- package/dist/skills-manager/manifest.js +3 -12
- package/dist/skills-manager/manifest.js.map +1 -1
- package/dist/skills-manager/skills-manifest.json +3 -3
- package/dist/telemetry/event-builders.d.ts +6 -74
- package/dist/telemetry/event-builders.d.ts.map +1 -1
- package/dist/telemetry/event-builders.js +11 -108
- package/dist/telemetry/event-builders.js.map +1 -1
- package/dist/telemetry/event-store.d.ts +0 -6
- package/dist/telemetry/event-store.d.ts.map +1 -1
- package/dist/telemetry/event-store.js +6 -6
- package/dist/telemetry/event-store.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +2 -14
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +4 -19
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/tracing.d.ts +0 -9
- package/dist/telemetry/tracing.d.ts.map +1 -1
- package/dist/telemetry/tracing.js +0 -36
- package/dist/telemetry/tracing.js.map +1 -1
- package/dist/types/dsl/index.d.ts +0 -11
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/types/scanner.d.ts +0 -9
- package/dist/types/scanner.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +0 -81
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +0 -1
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/keyed-mutex.d.ts +1 -3
- package/dist/utils/keyed-mutex.d.ts.map +1 -1
- package/dist/utils/keyed-mutex.js +1 -3
- package/dist/utils/keyed-mutex.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/actions/skipped-signal-results.d.ts +0 -16
- package/dist/actions/skipped-signal-results.d.ts.map +0 -1
- package/dist/actions/skipped-signal-results.js +0 -47
- package/dist/actions/skipped-signal-results.js.map +0 -1
- package/dist/scanners/external/scaffold/ulid.py +0 -58
- package/dist/telemetry/live-telemetry.d.ts +0 -158
- package/dist/telemetry/live-telemetry.d.ts.map +0 -1
- package/dist/telemetry/live-telemetry.js +0 -581
- package/dist/telemetry/live-telemetry.js.map +0 -1
- package/dist/telemetry/scanner-stats.d.ts +0 -136
- package/dist/telemetry/scanner-stats.d.ts.map +0 -1
- package/dist/telemetry/scanner-stats.js +0 -304
- package/dist/telemetry/scanner-stats.js.map +0 -1
- package/dist/telemetry/strategy-topology.d.ts +0 -99
- package/dist/telemetry/strategy-topology.d.ts.map +0 -1
- package/dist/telemetry/strategy-topology.js +0 -93
- package/dist/telemetry/strategy-topology.js.map +0 -1
- package/dist/telemetry/telemetry-publisher.d.ts +0 -63
- package/dist/telemetry/telemetry-publisher.d.ts.map +0 -1
- package/dist/telemetry/telemetry-publisher.js +0 -229
- package/dist/telemetry/telemetry-publisher.js.map +0 -1
- package/dist/telemetry/timeline-buffer.d.ts +0 -95
- package/dist/telemetry/timeline-buffer.d.ts.map +0 -1
- package/dist/telemetry/timeline-buffer.js +0 -237
- package/dist/telemetry/timeline-buffer.js.map +0 -1
- package/dist/utils/ulid.d.ts +0 -9
- package/dist/utils/ulid.d.ts.map +0 -1
- package/dist/utils/ulid.js +0 -43
- package/dist/utils/ulid.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAYpD,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG5B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAGnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long-running-supervisor.js","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"long-running-supervisor.js","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,12 @@ relaunchScanners?: (runtimeId: string, next: RuntimeConfig, recipe: RecipeSource
|
|
|
90
90
|
* writes it. Both are cleared before the new one is set: leaving the old sibling in place would let
|
|
91
91
|
* `listRuntimes` resolve the pre-update source on the next boot, which reads as the update having
|
|
92
92
|
* silently reverted itself.
|
|
93
|
+
*
|
|
94
|
+
* Under {@link withRegistryLock}: this runs AFTER `applyToRuntime` returns — outside even the
|
|
95
|
+
* per-runtime {@link applyMutex} — so two concurrent applies to DIFFERENT runtimes would otherwise
|
|
96
|
+
* each write back a snapshot missing the other's change. The loser keeps trading its new recipe
|
|
97
|
+
* in-process while the registry names the old one, the next restart silently reverts it, and no
|
|
98
|
+
* `registryDiverged` finding fires, because its own write "succeeded".
|
|
93
99
|
*/
|
|
94
100
|
export declare function makeWriteRegistry(baseStateDir: string): (runtimeId: string, recipe: RecipeSource) => Promise<void>;
|
|
95
101
|
//# sourceMappingURL=update-apply-deps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-apply-deps.d.ts","sourceRoot":"","sources":["../../src/runtime/update-apply-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"update-apply-deps.d.ts","sourceRoot":"","sources":["../../src/runtime/update-apply-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmBxD,4FAA4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACjC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CA6BpC;AAED,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAA;CAAE;AAC3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,gBAAgB,CAAC,EAAE,CACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,KACjB,OAAO,CAAC,IAAI,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACxC,CACD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,KACjB,OAAO,CAAC;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,GACnB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAiB5D"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* the duplicate works.
|
|
14
14
|
*/
|
|
15
15
|
import { join } from "node:path";
|
|
16
|
-
import { readRegistry, writeRegistry } from "./strategy-registry.js";
|
|
16
|
+
import { readRegistry, writeRegistry, withRegistryLock } from "./strategy-registry.js";
|
|
17
17
|
import { KeyedMutex } from "../utils/keyed-mutex.js";
|
|
18
18
|
/**
|
|
19
19
|
* One apply at a time, per runtime, across the whole process.
|
|
@@ -29,23 +29,6 @@ import { KeyedMutex } from "../utils/keyed-mutex.js";
|
|
|
29
29
|
* runtime id so unrelated strategies still apply in parallel.
|
|
30
30
|
*/
|
|
31
31
|
const applyMutex = new KeyedMutex();
|
|
32
|
-
/**
|
|
33
|
-
* One registry write at a time, across the whole process.
|
|
34
|
-
*
|
|
35
|
-
* `makeWriteRegistry` is a read-modify-write over `installed_runtimes.json`, and it runs AFTER
|
|
36
|
-
* `applyToRuntime` returns — outside even the per-runtime {@link applyMutex}. Two concurrent
|
|
37
|
-
* applies to DIFFERENT runtimes therefore both read, each writes back a full snapshot missing the
|
|
38
|
-
* other's change, and the later atomic rename clobbers the earlier entry: that runtime keeps
|
|
39
|
-
* trading its new recipe in-process while the registry still names the old one, so the next
|
|
40
|
-
* gateway restart silently reverts it — and no `registryDiverged` finding fires, because the write
|
|
41
|
-
* "succeeded". Keyed on the state dir (one registry file per dir), not the runtime id, because the
|
|
42
|
-
* collision is between writers of the same FILE regardless of which entry they touch.
|
|
43
|
-
*
|
|
44
|
-
* `installRuntimeCore` / `deleteRuntimeCore` in `index.ts` read-modify-write the same file without
|
|
45
|
-
* this lock; that race predates the update verb and is not widened here, but folding them onto
|
|
46
|
-
* this mutex is the natural follow-up.
|
|
47
|
-
*/
|
|
48
|
-
const registryWriteMutex = new KeyedMutex();
|
|
49
32
|
/**
|
|
50
33
|
* Decide whether a proof covers the recipe actually being applied.
|
|
51
34
|
*
|
|
@@ -148,9 +131,15 @@ relaunchScanners) {
|
|
|
148
131
|
* writes it. Both are cleared before the new one is set: leaving the old sibling in place would let
|
|
149
132
|
* `listRuntimes` resolve the pre-update source on the next boot, which reads as the update having
|
|
150
133
|
* silently reverted itself.
|
|
134
|
+
*
|
|
135
|
+
* Under {@link withRegistryLock}: this runs AFTER `applyToRuntime` returns — outside even the
|
|
136
|
+
* per-runtime {@link applyMutex} — so two concurrent applies to DIFFERENT runtimes would otherwise
|
|
137
|
+
* each write back a snapshot missing the other's change. The loser keeps trading its new recipe
|
|
138
|
+
* in-process while the registry names the old one, the next restart silently reverts it, and no
|
|
139
|
+
* `registryDiverged` finding fires, because its own write "succeeded".
|
|
151
140
|
*/
|
|
152
141
|
export function makeWriteRegistry(baseStateDir) {
|
|
153
|
-
return async (runtimeId, recipe) =>
|
|
142
|
+
return async (runtimeId, recipe) => withRegistryLock(baseStateDir, async () => {
|
|
154
143
|
const registry = await readRegistry(baseStateDir);
|
|
155
144
|
const runtimes = registry.runtimes.map((entry) => {
|
|
156
145
|
if (entry.id !== runtimeId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-apply-deps.js","sourceRoot":"","sources":["../../src/runtime/update-apply-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"update-apply-deps.js","sourceRoot":"","sources":["../../src/runtime/update-apply-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
import { EVENT_NAME } from "../../utils/event-catalog.js";
|
|
15
15
|
import type { EmittableEvent } from "../../actions/event-derivation.js";
|
|
16
16
|
import type { PerSignalStatus } from "./types.js";
|
|
17
|
-
/** The
|
|
18
|
-
type SignalDispositionName = typeof EVENT_NAME.signalAccepted | typeof EVENT_NAME.signalRejected | typeof EVENT_NAME.signalExpired | typeof EVENT_NAME.signalSuperseded
|
|
17
|
+
/** The four per-signal disposition catalog names this bridge emits. */
|
|
18
|
+
type SignalDispositionName = typeof EVENT_NAME.signalAccepted | typeof EVENT_NAME.signalRejected | typeof EVENT_NAME.signalExpired | typeof EVENT_NAME.signalSuperseded;
|
|
19
19
|
/** The scanner identity the route pins onto every intake event. */
|
|
20
20
|
export interface IntakeEventContext {
|
|
21
21
|
/** The `scanner_id` from the POST body — present even when it resolves to no registry entry. */
|
|
@@ -26,7 +26,7 @@ export interface IntakeEventContext {
|
|
|
26
26
|
wallet?: string;
|
|
27
27
|
}
|
|
28
28
|
/** Map one per-signal disposition to its `signal.*` event-log record. */
|
|
29
|
-
export declare function buildSignalDispositionEvent(status: PerSignalStatus, asset: string, ctx: IntakeEventContext
|
|
29
|
+
export declare function buildSignalDispositionEvent(status: PerSignalStatus, asset: string, ctx: IntakeEventContext): EmittableEvent<SignalDispositionName>;
|
|
30
30
|
/**
|
|
31
31
|
* Build the request-level `signal.rejected` event — the whole POST was refused before any per-signal
|
|
32
32
|
* work (an unknown `scanner_id` or an oversized batch), so it carries a coded reason and no asset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-events.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAA+C,MAAM,8BAA8B,CAAC;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,uEAAuE;AACvE,KAAK,qBAAqB,GACtB,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,aAAa,GAC/B,OAAO,UAAU,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"intake-events.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAA+C,MAAM,8BAA8B,CAAC;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,uEAAuE;AACvE,KAAK,qBAAqB,GACtB,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,aAAa,GAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;AAEvC,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,gGAAgG;IAChG,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,yEAAyE;AACzE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,qBAAqB,CAAC,CA+CvC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAUlD;AAED,mGAAmG;AACnG,KAAK,iBAAiB,GAClB,OAAO,UAAU,CAAC,iBAAiB,GACnC,OAAO,UAAU,CAAC,mBAAmB,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,iBAAiB,CAAC,CAwCnC"}
|
|
@@ -26,11 +26,8 @@ function scannerLabel(ctx) {
|
|
|
26
26
|
return ctx.scannerName ?? ctx.scannerId;
|
|
27
27
|
}
|
|
28
28
|
/** Map one per-signal disposition to its `signal.*` event-log record. */
|
|
29
|
-
export function buildSignalDispositionEvent(status, asset, ctx
|
|
30
|
-
|
|
31
|
-
// scan's id, which is why it is read per signal and not per POST. Absent for a producer that
|
|
32
|
-
// stamps nothing.
|
|
33
|
-
const base = { ...baseAttrs(ctx), "senpi.tick.id": tickId };
|
|
29
|
+
export function buildSignalDispositionEvent(status, asset, ctx) {
|
|
30
|
+
const base = baseAttrs(ctx);
|
|
34
31
|
const label = scannerLabel(ctx);
|
|
35
32
|
switch (status.status) {
|
|
36
33
|
case "accepted":
|
|
@@ -75,18 +72,6 @@ export function buildSignalDispositionEvent(status, asset, ctx, tickId) {
|
|
|
75
72
|
"senpi.signal.asset": asset,
|
|
76
73
|
}),
|
|
77
74
|
};
|
|
78
|
-
case "busy":
|
|
79
|
-
// Retriable backpressure, not a decision: the runtime was mid-ingest for
|
|
80
|
-
// this scanner and no acceptance mark advanced — the producer re-delivers.
|
|
81
|
-
return {
|
|
82
|
-
name: EVENT_NAME.signalBusy,
|
|
83
|
-
level: "info",
|
|
84
|
-
body: `Signal busy (retriable): ${asset} from ${label}`,
|
|
85
|
-
attributes: eventAttrs({
|
|
86
|
-
...base,
|
|
87
|
-
"senpi.signal.asset": asset,
|
|
88
|
-
}),
|
|
89
|
-
};
|
|
90
75
|
}
|
|
91
76
|
}
|
|
92
77
|
/**
|
|
@@ -112,10 +97,7 @@ export function buildSignalRejectedEvent(reasonCode, ctx) {
|
|
|
112
97
|
* rides `redact`.
|
|
113
98
|
*/
|
|
114
99
|
export function buildScaffoldErrorEvent(error, ctx) {
|
|
115
|
-
|
|
116
|
-
// schema change to carry it. Absent for an older scaffold that sends the record without one.
|
|
117
|
-
const tickId = typeof error.tick_id === "string" && error.tick_id.length > 0 ? error.tick_id : undefined;
|
|
118
|
-
const base = { ...baseAttrs(ctx), "senpi.tick.id": tickId };
|
|
100
|
+
const base = baseAttrs(ctx);
|
|
119
101
|
const label = scannerLabel(ctx);
|
|
120
102
|
const message = typeof error.message === "string" ? error.message : undefined;
|
|
121
103
|
const isTimeout = error.type === "timeout";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-events.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAiB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"intake-events.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Exports:
|
|
5
5
|
* buildIntakeMount(ctx, runtimeHandles, cfg) → { launcher, onAccepted, onScaffoldError }
|
|
6
|
+
* (onScaffoldError comes from scaffold-error-router.ts — the same closure the
|
|
7
|
+
* production /errors route installs, not a copy of it)
|
|
6
8
|
* selectScanners(config) → ExternalScannerSpec[]
|
|
7
9
|
*
|
|
8
10
|
* This module is the unit-testable seam that index.ts calls; it keeps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-mount.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"intake-mount.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Exports:
|
|
5
5
|
* buildIntakeMount(ctx, runtimeHandles, cfg) → { launcher, onAccepted, onScaffoldError }
|
|
6
|
+
* (onScaffoldError comes from scaffold-error-router.ts — the same closure the
|
|
7
|
+
* production /errors route installs, not a copy of it)
|
|
6
8
|
* selectScanners(config) → ExternalScannerSpec[]
|
|
7
9
|
*
|
|
8
10
|
* This module is the unit-testable seam that index.ts calls; it keeps
|
|
@@ -14,26 +16,7 @@ import { join } from "node:path";
|
|
|
14
16
|
import { ingestDispatchMutex, ingestDispatchKey } from "./ingest-mutex.js";
|
|
15
17
|
import { ScannerLauncher } from "./scanner-launcher.js";
|
|
16
18
|
import { sweepOrphans } from "../../runtime/supervisor/orphan-sweep.js";
|
|
17
|
-
import {
|
|
18
|
-
// ── scaffold tick failure types ──────────────────────────────────────────────
|
|
19
|
-
/**
|
|
20
|
-
* The `/errors` body types that mean "this tick failed" and are recorded as an
|
|
21
|
-
* error-outcome run. Everything else the scaffold POSTs (`candidate_rejected`) is a
|
|
22
|
-
* per-candidate note on an otherwise-OK tick and must not degrade the scanner.
|
|
23
|
-
*
|
|
24
|
-
* - `error` / `timeout` / `state_persist_failed` — scan() threw, overran, or its
|
|
25
|
-
* state could not be committed (scaffold.py).
|
|
26
|
-
* - `mcp_error` — scan() returned cleanly but EVERY MCP tool call failed and it
|
|
27
|
-
* produced no candidates: the scaffold's own tally reclassifies the tick, because
|
|
28
|
-
* authored code swallows the exception and would otherwise report `ok` forever
|
|
29
|
-
* while blind. The body carries `error_type` (dominant) and `error_count`.
|
|
30
|
-
*/
|
|
31
|
-
const TICK_FAILURE_TYPES = new Set([
|
|
32
|
-
"error",
|
|
33
|
-
"timeout",
|
|
34
|
-
"state_persist_failed",
|
|
35
|
-
"mcp_error",
|
|
36
|
-
]);
|
|
19
|
+
import { buildScaffoldErrorRouter } from "./scaffold-error-router.js";
|
|
37
20
|
// ── intake URL ───────────────────────────────────────────────────────────────
|
|
38
21
|
/**
|
|
39
22
|
* The base URL the scaffold child POSTs to. The child always reaches the
|
|
@@ -62,7 +45,7 @@ export function intakeUrlFor(host, port) {
|
|
|
62
45
|
export function buildIntakeMount(ctx, runtimeHandles, cfg) {
|
|
63
46
|
const { logger } = cfg;
|
|
64
47
|
// The production onAccepted closure — maps an intake signal → ingest request.
|
|
65
|
-
const onAccepted = (signal,
|
|
48
|
+
const onAccepted = (signal, _correlationId, scannerId) => {
|
|
66
49
|
const entry = ctx.registry.resolve(scannerId);
|
|
67
50
|
if (!entry)
|
|
68
51
|
return; // zombie fence — should not happen post-accept
|
|
@@ -81,12 +64,6 @@ export function buildIntakeMount(ctx, runtimeHandles, cfg) {
|
|
|
81
64
|
// signal's sizing is lost ("no margin source resolved").
|
|
82
65
|
...(signal.marginPct !== undefined && { marginPct: signal.marginPct }),
|
|
83
66
|
...(signal.leverage !== undefined && { leverage: signal.leverage }),
|
|
84
|
-
// The producing scan and the admitting acceptance row. Spread rather than
|
|
85
|
-
// assigned so a signal without a tick id yields no key at all — an
|
|
86
|
-
// undefined-valued key would ride on to an event attribute that exists and
|
|
87
|
-
// says nothing.
|
|
88
|
-
...(signal.tick_id !== undefined && { tick_id: signal.tick_id }),
|
|
89
|
-
...(correlationId !== undefined && { correlationId }),
|
|
90
67
|
// Intentionally omitted: score (intake has none, defaults to 0 downstream),
|
|
91
68
|
// valid_until/produced_at (acceptance-pipeline concerns, not ingest fields),
|
|
92
69
|
// signals[] (single-signal shape: data, not signals[]).
|
|
@@ -104,37 +81,13 @@ export function buildIntakeMount(ctx, runtimeHandles, cfg) {
|
|
|
104
81
|
.then(() => {
|
|
105
82
|
logger.info(`[intake] ingest ok signal_id=${signal.signal_id} scanner=${entry.scannerName} asset=${signal.asset} scanner_id=${scannerId}`);
|
|
106
83
|
})
|
|
107
|
-
.catch((err) => {
|
|
108
|
-
// Post-acceptance failure: the scaffold journaled this signal delivered
|
|
109
|
-
// and will NOT retry (the high-water-mark already advanced — a retry
|
|
110
|
-
// would double-trade). The one remaining silent-drop path: be loud.
|
|
111
|
-
logger.error(`[intake] ingest failed AFTER acceptance — signal dropped (signal_id=${signal.signal_id} scanner=${entry.scannerName} asset=${signal.asset})`, { scannerId, err });
|
|
112
|
-
recordSignalIntake({
|
|
113
|
-
scannerName: entry.scannerName,
|
|
114
|
-
disposition: "dropped_after_accept",
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
// The production onScaffoldError closure — the `/errors` counterpart of onAccepted.
|
|
119
|
-
// Instead of an ingest, it records the failed tick into scanner run telemetry so a
|
|
120
|
-
// scanner that fails every tick stops rendering "healthy". Filter: only tick-level
|
|
121
|
-
// failure types count. A `candidate_rejected` body is a per-candidate validation
|
|
122
|
-
// reject on an otherwise-OK tick (scaffold delivery.py), NOT a failed run, so it must
|
|
123
|
-
// NOT mark the run errored.
|
|
124
|
-
const onScaffoldError = (scannerId, error) => {
|
|
125
|
-
const type = typeof error.type === "string" ? error.type : undefined;
|
|
126
|
-
if (type === undefined || !TICK_FAILURE_TYPES.has(type)) {
|
|
127
|
-
return; // candidate_rejected (or any non-tick-level body) is not a failed run
|
|
128
|
-
}
|
|
129
|
-
const entry = ctx.registry.resolve(scannerId);
|
|
130
|
-
if (!entry)
|
|
131
|
-
return; // zombie fence — should not happen post-accept
|
|
132
|
-
const handle = runtimeHandles.get(entry.runtimeId);
|
|
133
|
-
if (!handle)
|
|
134
|
-
return;
|
|
135
|
-
handle.recordExternalScannerError(entry.scannerName, // configured NAME from registry, not scanner_id
|
|
136
|
-
error);
|
|
84
|
+
.catch((err) => logger.error("[intake] ingest failed", { scannerId, err }));
|
|
137
85
|
};
|
|
86
|
+
// The `/errors` counterpart of onAccepted. This is the SAME implementation the
|
|
87
|
+
// production route installs (index.ts wires it as the server-level `onError`) —
|
|
88
|
+
// shared, not mirrored, because the two hand-written copies drifted once already:
|
|
89
|
+
// `mcp_error` reached this list and never reached the live route.
|
|
90
|
+
const onScaffoldError = buildScaffoldErrorRouter(ctx, runtimeHandles);
|
|
138
91
|
// Build the launcher over the SHARED registry/record/liveness so the route
|
|
139
92
|
// and the launcher resolve against the same in-process Map.
|
|
140
93
|
const launcher = new ScannerLauncher({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-mount.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"intake-mount.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,17 +28,6 @@ export interface ProcessSignalPostDeps {
|
|
|
28
28
|
mintCorrelationId: () => string;
|
|
29
29
|
updateLiveness: (scannerId: string, now: number) => void;
|
|
30
30
|
onAccepted: (signal: IntakeSignal, correlationId: string, scannerId: string) => void;
|
|
31
|
-
/**
|
|
32
|
-
* True when an ingest dispatch for this scanner's engine guard key is in
|
|
33
|
-
* flight or queued. Snapshotted ONCE at POST arrival (never re-probed per
|
|
34
|
-
* signal — a batch's own first dispatch must not mark its mates busy) and
|
|
35
|
-
* checked BEFORE any acceptance mark is written, so a busy signal can be
|
|
36
|
-
* retried by the producer without being deduped as superseded.
|
|
37
|
-
*/
|
|
38
|
-
isDispatchBusy?: (entry: {
|
|
39
|
-
runtimeId: string;
|
|
40
|
-
scannerName: string;
|
|
41
|
-
}) => boolean;
|
|
42
31
|
}
|
|
43
32
|
export type ProcessSignalPostResult = {
|
|
44
33
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-signal-post.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/process-signal-post.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"process-signal-post.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/process-signal-post.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtF;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;;;;GAWG;AACH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAE/C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CA0BlC"}
|
|
@@ -67,20 +67,10 @@ export async function processSignalPost(body, deps) {
|
|
|
67
67
|
if (signals.length === 0) {
|
|
68
68
|
return { ok: true, signals: [] };
|
|
69
69
|
}
|
|
70
|
-
// Dispatch-seam busyness is a POST-ARRIVAL snapshot, taken once for the
|
|
71
|
-
// whole batch. Probing per signal would starve multi-signal batches: the
|
|
72
|
-
// first accepted signal's fire-and-forget dispatch registers the mutex key
|
|
73
|
-
// synchronously, so its own batch mates would read busy — and since the
|
|
74
|
-
// producer re-posts the same batch order next tick, the same asset would
|
|
75
|
-
// win forever. Free at arrival → the whole batch is
|
|
76
|
-
// accepted and the dispatches queue serially on the mutex, exactly as
|
|
77
|
-
// before busy existed. Busy at arrival → a PREVIOUS post's ingest is still
|
|
78
|
-
// running: the genuine backpressure case, retriable for the whole batch.
|
|
79
|
-
const dispatchBusyAtArrival = deps.isDispatchBusy?.(entry) ?? false;
|
|
80
70
|
// Per-signal pipeline.
|
|
81
71
|
const results = [];
|
|
82
72
|
for (const signal of signals) {
|
|
83
|
-
const status = processOneSignal(signal, entry, deps, now
|
|
73
|
+
const status = processOneSignal(signal, entry, deps, now);
|
|
84
74
|
results.push(status);
|
|
85
75
|
}
|
|
86
76
|
return { ok: true, signals: results };
|
|
@@ -89,30 +79,20 @@ export async function processSignalPost(body, deps) {
|
|
|
89
79
|
* Process one signal through the acceptance pipeline.
|
|
90
80
|
* Each step is independent; errors become rejected statuses, not thrown.
|
|
91
81
|
*/
|
|
92
|
-
function processOneSignal(signal, entry, deps, now
|
|
82
|
+
function processOneSignal(signal, entry, deps, now) {
|
|
93
83
|
// The acceptance high-water-mark is keyed by the scanner's STABLE identity
|
|
94
84
|
// (runtime + scanner name), NOT the ephemeral scanner_id. A relaunch mints a
|
|
95
85
|
// new scanner_id; keying on it would reset the high-water-mark and let a
|
|
96
86
|
// replayed/already-accepted signal be accepted again under the new id.
|
|
97
87
|
const acceptanceKey = acceptanceKeyFor(entry);
|
|
98
|
-
// Echo the wire signal_id on EVERY status: the scaffold journal matches
|
|
99
|
-
// outcomes by signal_id (never by array position), so an un-echoed status
|
|
100
|
-
// is unmatchable — the entry stays pending and retries until expiry.
|
|
101
|
-
// Usable is the same trimmed test isWellFormed applies — an id the pipeline
|
|
102
|
-
// rejects as no-identity is never echoed back as one (a bogus key could
|
|
103
|
-
// match the wrong journal entry). The echoed VALUE stays verbatim: trimming
|
|
104
|
-
// decides usability only, a padded id is the producer's journal key as-is.
|
|
105
|
-
const echo = typeof signal.signal_id === "string" && signal.signal_id.trim().length > 0
|
|
106
|
-
? { signal_id: signal.signal_id }
|
|
107
|
-
: {};
|
|
108
88
|
// Step 5: Well-formed?
|
|
109
89
|
const wellFormed = isWellFormed(signal, now);
|
|
110
90
|
if (!wellFormed.ok) {
|
|
111
|
-
return {
|
|
91
|
+
return { status: "rejected", reason: wellFormed.reason };
|
|
112
92
|
}
|
|
113
93
|
// Step 6: Still valid in time? (Check this BEFORE the superseded checks below.)
|
|
114
94
|
if (now >= signal.valid_until) {
|
|
115
|
-
return {
|
|
95
|
+
return { status: "expired" };
|
|
116
96
|
}
|
|
117
97
|
// Step 6b: signal_id dedup — the ADDITIVE layer (sits ALONGSIDE the high-water
|
|
118
98
|
// mark below, never replaces it). If this exact producer id was already
|
|
@@ -122,13 +102,13 @@ function processOneSignal(signal, entry, deps, now, dispatchBusyAtArrival) {
|
|
|
122
102
|
// mark and double-trade. A FRESH signal_id (e.g. a recompute after state loss)
|
|
123
103
|
// is NOT caught here and correctly falls through to the high-water-mark.
|
|
124
104
|
if (deps.record.get(acceptanceKey, signalIdSlot(signal.signal_id)) !== undefined) {
|
|
125
|
-
return {
|
|
105
|
+
return { status: "superseded" };
|
|
126
106
|
}
|
|
127
107
|
// Step 7: Newer than the acceptance record? (the per-(scanner,asset,produced_at)
|
|
128
108
|
// high-water-mark — UNCHANGED, still fires under a fresh signal_id.)
|
|
129
109
|
const prev = deps.record.get(acceptanceKey, signal.asset);
|
|
130
110
|
if (prev !== undefined && signal.produced_at <= prev) {
|
|
131
|
-
return {
|
|
111
|
+
return { status: "superseded" };
|
|
132
112
|
}
|
|
133
113
|
// Step 8: Data matches config.fields?
|
|
134
114
|
try {
|
|
@@ -136,18 +116,7 @@ function processOneSignal(signal, entry, deps, now, dispatchBusyAtArrival) {
|
|
|
136
116
|
}
|
|
137
117
|
catch (err) {
|
|
138
118
|
const message = err instanceof ExternalScannerIngestError ? err.message : String(err);
|
|
139
|
-
return {
|
|
140
|
-
}
|
|
141
|
-
// Step 8b: was the dispatch seam busy when this POST ARRIVED? (Snapshot —
|
|
142
|
-
// see processSignalPost; a per-signal probe would starve batch mates.)
|
|
143
|
-
// Return RETRIABLE busy WITHOUT advancing the high-water-mark or the
|
|
144
|
-
// signal_id slot: the scaffold journal keeps the entry pending and
|
|
145
|
-
// re-delivers next tick, and because no mark advanced the retry is
|
|
146
|
-
// re-evaluated fresh instead of deduped as superseded. (Advancing the mark
|
|
147
|
-
// here would convert every collision into a permanent drop — the fleet-wide
|
|
148
|
-
// accepted-then-dropped class this exists to fix.)
|
|
149
|
-
if (dispatchBusyAtArrival) {
|
|
150
|
-
return { ...echo, status: "busy" };
|
|
119
|
+
return { status: "rejected", reason: message };
|
|
151
120
|
}
|
|
152
121
|
// Step 9: Accepted. Persist-before-act: advance the
|
|
153
122
|
// high-water-mark FIRST, then dispatch the trade. record.set() can throw on a
|
|
@@ -179,7 +148,7 @@ function processOneSignal(signal, entry, deps, now, dispatchBusyAtArrival) {
|
|
|
179
148
|
// own expiry (step 6b only existence-checks it, never compares the value).
|
|
180
149
|
deps.record.set(acceptanceKey, signalIdSlot(signal.signal_id), signal.valid_until);
|
|
181
150
|
deps.onAccepted(signal, correlationId, entry.scannerId);
|
|
182
|
-
return {
|
|
151
|
+
return { status: "accepted", correlationId };
|
|
183
152
|
}
|
|
184
153
|
/**
|
|
185
154
|
* Check if a signal is well-formed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-signal-post.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/process-signal-post.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"process-signal-post.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/process-signal-post.ts"],"names":[],"mappings":"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"}
|