@senpi/runtime 3.0.171 → 3.0.180
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/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +48 -3
- package/dist/actions/close-position/close-position.action.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 +42 -6
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/open-position/resolve-margin.d.ts +1 -1
- package/dist/actions/open-position/resolve-margin.d.ts.map +1 -1
- package/dist/actions/open-position/resolve-margin.js +7 -0
- package/dist/actions/open-position/resolve-margin.js.map +1 -1
- package/dist/approvals/manifest.d.ts.map +1 -1
- package/dist/approvals/manifest.js +0 -5
- package/dist/approvals/manifest.js.map +1 -1
- package/dist/approvals/tool-approval-gate.d.ts.map +1 -1
- package/dist/approvals/tool-approval-gate.js +0 -6
- package/dist/approvals/tool-approval-gate.js.map +1 -1
- package/dist/approvals/tool-approvals-manifest.json +0 -2
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +26 -5
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +20 -8
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/constants/dsl/index.d.ts +2 -0
- package/dist/constants/dsl/index.d.ts.map +1 -1
- package/dist/constants/dsl/index.js +2 -0
- package/dist/constants/dsl/index.js.map +1 -1
- package/dist/constants/order-types.d.ts.map +1 -1
- package/dist/constants/order-types.js +4 -1
- package/dist/constants/order-types.js.map +1 -1
- package/dist/deploy/messages.d.ts +15 -1
- package/dist/deploy/messages.d.ts.map +1 -1
- package/dist/deploy/messages.js +78 -0
- package/dist/deploy/messages.js.map +1 -1
- package/dist/deploy/orchestrator.d.ts +11 -1
- package/dist/deploy/orchestrator.d.ts.map +1 -1
- package/dist/deploy/orchestrator.js +111 -15
- package/dist/deploy/orchestrator.js.map +1 -1
- package/dist/deploy/register.d.ts +7 -0
- package/dist/deploy/register.d.ts.map +1 -1
- package/dist/deploy/register.js +9 -0
- package/dist/deploy/register.js.map +1 -1
- package/dist/dsl/engine/exchange-stop.d.ts +21 -1
- package/dist/dsl/engine/exchange-stop.d.ts.map +1 -1
- package/dist/dsl/engine/exchange-stop.js +27 -1
- package/dist/dsl/engine/exchange-stop.js.map +1 -1
- package/dist/dsl/engine/floors.d.ts +2 -1
- package/dist/dsl/engine/floors.d.ts.map +1 -1
- package/dist/dsl/engine/floors.js +2 -1
- package/dist/dsl/engine/floors.js.map +1 -1
- package/dist/dsl/engine/index.d.ts +1 -1
- package/dist/dsl/engine/index.d.ts.map +1 -1
- package/dist/dsl/engine/index.js +1 -1
- package/dist/dsl/engine/index.js.map +1 -1
- package/dist/dsl/engine/tick.d.ts.map +1 -1
- package/dist/dsl/engine/tick.js +4 -3
- package/dist/dsl/engine/tick.js.map +1 -1
- package/dist/dsl/engine-client/config-mapping.d.ts +18 -0
- package/dist/dsl/engine-client/config-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/config-mapping.js +29 -0
- package/dist/dsl/engine-client/config-mapping.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts +7 -3
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +10 -4
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +2 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/monitor/exchange-sync.d.ts +1 -0
- package/dist/dsl/monitor/exchange-sync.d.ts.map +1 -1
- package/dist/dsl/monitor/exchange-sync.js +7 -14
- package/dist/dsl/monitor/exchange-sync.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +108 -17
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/notifications/formatter.d.ts +2 -1
- package/dist/dsl/notifications/formatter.d.ts.map +1 -1
- package/dist/dsl/notifications/formatter.js +18 -1
- package/dist/dsl/notifications/formatter.js.map +1 -1
- package/dist/health/types.d.ts +6 -1
- package/dist/health/types.d.ts.map +1 -1
- package/dist/health/types.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -26
- package/dist/index.js.map +1 -1
- package/dist/leverage/max-leverage-cache.d.ts +25 -0
- package/dist/leverage/max-leverage-cache.d.ts.map +1 -1
- package/dist/leverage/max-leverage-cache.js +77 -0
- package/dist/leverage/max-leverage-cache.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +2 -1
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +1 -1
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +10 -1
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/runtime-descriptor.d.ts +11 -2
- package/dist/runtime/runtime-descriptor.d.ts.map +1 -1
- package/dist/runtime/runtime-descriptor.js +11 -2
- package/dist/runtime/runtime-descriptor.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +4 -3
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-lifecycle.js +1 -1
- package/dist/runtime/strategy-lifecycle.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/acceptance-record.d.ts +17 -3
- package/dist/runtime-api/intake/acceptance-record.d.ts.map +1 -1
- package/dist/runtime-api/intake/acceptance-record.js +57 -32
- package/dist/runtime-api/intake/acceptance-record.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +6 -5
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-events.js +9 -3
- package/dist/runtime-api/intake/intake-events.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +34 -31
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scaffold-error-router.d.ts +8 -0
- package/dist/runtime-api/intake/scaffold-error-router.d.ts.map +1 -1
- package/dist/runtime-api/intake/scaffold-error-router.js +9 -0
- package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +9 -0
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/intake/types.js +5 -1
- package/dist/runtime-api/intake/types.js.map +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +25 -1
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +2 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +4 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +6 -0
- package/dist/scanners/engine/data-providers.d.ts.map +1 -1
- package/dist/scanners/engine/data-providers.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +9 -0
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +29 -6
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/external/scaffold/ctx.py +55 -1
- package/dist/scanners/external/scaffold/delivery.py +92 -28
- package/dist/scanners/external/scaffold/preflight.py +1 -1
- package/dist/scanners/external/scaffold/scaffold.py +75 -2
- package/dist/scanners/runtime-module.d.ts +2 -0
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +14 -0
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +11 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +44 -8
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/types.d.ts +54 -2
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/telemetry/metrics.d.ts +1 -1
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +1 -1
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/types/dsl/index.d.ts +4 -0
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +24 -5
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +4 -1
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/perp-coin.d.ts.map +1 -1
- package/dist/utils/perp-coin.js +2 -1
- package/dist/utils/perp-coin.js.map +1 -1
- package/dist/utils/resolve-order-type.d.ts.map +1 -1
- package/dist/utils/resolve-order-type.js +5 -1
- package/dist/utils/resolve-order-type.js.map +1 -1
- package/dist/validate/codes.d.ts +2 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +6 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/index.d.ts +1 -1
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +1 -1
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/recipe-checks.d.ts +7 -0
- package/dist/validate/recipe-checks.d.ts.map +1 -1
- package/dist/validate/recipe-checks.js +18 -0
- package/dist/validate/recipe-checks.js.map +1 -1
- package/dist/validate/recipe.d.ts.map +1 -1
- package/dist/validate/recipe.js +2 -1
- package/dist/validate/recipe.js.map +1 -1
- package/examples/strategies/README.md +2 -1
- package/examples/strategies/iguana/README.md +3 -3
- package/examples/strategies/raptor/README.md +3 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
|
@@ -31,6 +31,13 @@ export interface AcceptanceRecord {
|
|
|
31
31
|
* high-water-marks) are never touched. Returns the number of slots removed.
|
|
32
32
|
*/
|
|
33
33
|
pruneExpiredSlots(scannerId: string, slotPrefix: string, now: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Apply several changes to one scanner's entries as ONE durable step. `fn`
|
|
36
|
+
* mutates the scanner's map in place; the result is persisted once. If `fn`
|
|
37
|
+
* or the write throws, the map is restored to what it was before the call
|
|
38
|
+
* and the error is rethrown, so nothing is left half-applied in memory.
|
|
39
|
+
*/
|
|
40
|
+
update(scannerId: string, fn: (assets: Map<string, number>) => void): void;
|
|
34
41
|
}
|
|
35
42
|
/**
|
|
36
43
|
* Default nested-Map-backed implementation.
|
|
@@ -43,6 +50,7 @@ export declare class MapAcceptanceRecord implements AcceptanceRecord {
|
|
|
43
50
|
get(scannerId: string, asset: string): number | undefined;
|
|
44
51
|
set(scannerId: string, asset: string, producedAt: number): void;
|
|
45
52
|
pruneExpiredSlots(scannerId: string, slotPrefix: string, now: number): number;
|
|
53
|
+
update(scannerId: string, fn: (assets: Map<string, number>) => void): void;
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* File-backed implementation — the process-restart dedup seam.
|
|
@@ -65,9 +73,14 @@ export declare class MapAcceptanceRecord implements AcceptanceRecord {
|
|
|
65
73
|
* A partial file from a power-loss scenario therefore causes intake to refuse to
|
|
66
74
|
* start, not to re-accept — the safe outcome.
|
|
67
75
|
*
|
|
68
|
-
* Fail-closed on write:
|
|
69
|
-
*
|
|
70
|
-
*
|
|
76
|
+
* Fail-closed on write: every change goes through update(), which persists
|
|
77
|
+
* once and, if the write throws (disk full / permission), puts the prior map
|
|
78
|
+
* back and rethrows. Intake records a signal's high-water mark, its pruned
|
|
79
|
+
* slots and its signal_id slot in one update(), so a failed write leaves
|
|
80
|
+
* nothing advanced, in memory or on disk. The signal is NOT accepted, and the
|
|
81
|
+
* scaffold's retry is judged against the marks on disk, so it is accepted once
|
|
82
|
+
* the write works again. A mark left advanced would answer that retry
|
|
83
|
+
* `superseded` and drop a signal that never traded.
|
|
71
84
|
*
|
|
72
85
|
* Concurrency: set() is fully synchronous (Map mutate + writeFileSync + renameSync,
|
|
73
86
|
* no await), so two concurrent intake POSTs cannot interleave their writes on the
|
|
@@ -82,6 +95,7 @@ export declare class FileAcceptanceRecord implements AcceptanceRecord {
|
|
|
82
95
|
get(scannerId: string, asset: string): number | undefined;
|
|
83
96
|
set(scannerId: string, asset: string, producedAt: number): void;
|
|
84
97
|
pruneExpiredSlots(scannerId: string, slotPrefix: string, now: number): number;
|
|
98
|
+
update(scannerId: string, fn: (assets: Map<string, number>) => void): void;
|
|
85
99
|
/**
|
|
86
100
|
* Load the persisted map into `store`.
|
|
87
101
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance-record.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/acceptance-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptance-record.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/acceptance-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E;;;;;OAKG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5E;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,KAAK,CAA0C;IAEvD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAM/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;CAM3E;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAKzD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAL1B,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,sBAAsB,YAAA;IAWlD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAM/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;IAgB1E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAI;IA8CZ;;yEAEqE;IACrE,OAAO,CAAC,OAAO;CAMhB"}
|
|
@@ -30,24 +30,36 @@ export class MapAcceptanceRecord {
|
|
|
30
30
|
return this.store.get(scannerId)?.get(asset);
|
|
31
31
|
}
|
|
32
32
|
set(scannerId, asset, producedAt) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
this.store.get(scannerId).set(asset, producedAt);
|
|
33
|
+
this.update(scannerId, (assets) => {
|
|
34
|
+
assets.set(asset, producedAt);
|
|
35
|
+
});
|
|
37
36
|
}
|
|
38
37
|
pruneExpiredSlots(scannerId, slotPrefix, now) {
|
|
39
|
-
|
|
40
|
-
if (!assets)
|
|
38
|
+
if (!this.store.has(scannerId))
|
|
41
39
|
return 0;
|
|
42
40
|
let removed = 0;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
removed++;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
41
|
+
this.update(scannerId, (assets) => {
|
|
42
|
+
removed = pruneSlots(assets, slotPrefix, now);
|
|
43
|
+
});
|
|
49
44
|
return removed;
|
|
50
45
|
}
|
|
46
|
+
update(scannerId, fn) {
|
|
47
|
+
const prior = this.store.get(scannerId);
|
|
48
|
+
const assets = prior ? new Map(prior) : new Map();
|
|
49
|
+
fn(assets);
|
|
50
|
+
this.store.set(scannerId, assets);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Delete every `slotPrefix` key whose value is <= now. Returns the count removed. */
|
|
54
|
+
function pruneSlots(assets, slotPrefix, now) {
|
|
55
|
+
let removed = 0;
|
|
56
|
+
for (const [key, value] of assets) {
|
|
57
|
+
if (key.startsWith(slotPrefix) && value <= now) {
|
|
58
|
+
assets.delete(key);
|
|
59
|
+
removed++;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return removed;
|
|
51
63
|
}
|
|
52
64
|
/**
|
|
53
65
|
* File-backed implementation — the process-restart dedup seam.
|
|
@@ -70,9 +82,14 @@ export class MapAcceptanceRecord {
|
|
|
70
82
|
* A partial file from a power-loss scenario therefore causes intake to refuse to
|
|
71
83
|
* start, not to re-accept — the safe outcome.
|
|
72
84
|
*
|
|
73
|
-
* Fail-closed on write:
|
|
74
|
-
*
|
|
75
|
-
*
|
|
85
|
+
* Fail-closed on write: every change goes through update(), which persists
|
|
86
|
+
* once and, if the write throws (disk full / permission), puts the prior map
|
|
87
|
+
* back and rethrows. Intake records a signal's high-water mark, its pruned
|
|
88
|
+
* slots and its signal_id slot in one update(), so a failed write leaves
|
|
89
|
+
* nothing advanced, in memory or on disk. The signal is NOT accepted, and the
|
|
90
|
+
* scaffold's retry is judged against the marks on disk, so it is accepted once
|
|
91
|
+
* the write works again. A mark left advanced would answer that retry
|
|
92
|
+
* `superseded` and drop a signal that never traded.
|
|
76
93
|
*
|
|
77
94
|
* Concurrency: set() is fully synchronous (Map mutate + writeFileSync + renameSync,
|
|
78
95
|
* no await), so two concurrent intake POSTs cannot interleave their writes on the
|
|
@@ -99,29 +116,37 @@ export class FileAcceptanceRecord {
|
|
|
99
116
|
return this.store.get(scannerId)?.get(asset);
|
|
100
117
|
}
|
|
101
118
|
set(scannerId, asset, producedAt) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
this.store.set(scannerId, assets);
|
|
106
|
-
}
|
|
107
|
-
assets.set(asset, producedAt);
|
|
108
|
-
this.persist(); // durable before return — see class doc
|
|
119
|
+
this.update(scannerId, (assets) => {
|
|
120
|
+
assets.set(asset, producedAt);
|
|
121
|
+
});
|
|
109
122
|
}
|
|
110
123
|
pruneExpiredSlots(scannerId, slotPrefix, now) {
|
|
111
|
-
|
|
112
|
-
if (!assets)
|
|
124
|
+
if (!this.store.has(scannerId))
|
|
113
125
|
return 0;
|
|
114
126
|
let removed = 0;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
removed++;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (removed > 0)
|
|
122
|
-
this.persist(); // single write after the whole prune pass
|
|
127
|
+
this.update(scannerId, (assets) => {
|
|
128
|
+
removed = pruneSlots(assets, slotPrefix, now);
|
|
129
|
+
});
|
|
123
130
|
return removed;
|
|
124
131
|
}
|
|
132
|
+
update(scannerId, fn) {
|
|
133
|
+
// Work on a copy and swap it in only once the write succeeded, so a throw
|
|
134
|
+
// from `fn` or from the write leaves the prior map untouched.
|
|
135
|
+
const prior = this.store.get(scannerId);
|
|
136
|
+
const assets = prior ? new Map(prior) : new Map();
|
|
137
|
+
fn(assets);
|
|
138
|
+
this.store.set(scannerId, assets);
|
|
139
|
+
try {
|
|
140
|
+
this.persist(); // durable before return — see class doc
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
if (prior)
|
|
144
|
+
this.store.set(scannerId, prior);
|
|
145
|
+
else
|
|
146
|
+
this.store.delete(scannerId);
|
|
147
|
+
throw err;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
125
150
|
/**
|
|
126
151
|
* Load the persisted map into `store`.
|
|
127
152
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance-record.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/acceptance-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptance-record.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/acceptance-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { EVENT_NAME } from "../../utils/event-catalog.js";
|
|
15
15
|
import type { EmittableEvent } from "../../actions/event-derivation.js";
|
|
16
|
-
import type
|
|
16
|
+
import { type SignalDisposition } from "./types.js";
|
|
17
17
|
/** The four per-signal disposition catalog names this bridge emits. */
|
|
18
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. */
|
|
@@ -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:
|
|
29
|
+
export declare function buildSignalDispositionEvent(status: SignalDisposition, 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.
|
|
@@ -37,9 +37,10 @@ type ScaffoldErrorName = typeof EVENT_NAME.scaffoldTickError | typeof EVENT_NAME
|
|
|
37
37
|
/**
|
|
38
38
|
* Map one scaffold `/errors` POST onto its `scaffold.*` event (both `warn`). A `type: "timeout"` body
|
|
39
39
|
* is a tick that blew its wall-clock budget; anything else (a Python exception, `state_persist_failed`,
|
|
40
|
-
*
|
|
41
|
-
* class
|
|
42
|
-
*
|
|
40
|
+
* `mcp_error` — every MCP call failed and scan() produced nothing, `error_type` = the dominant
|
|
41
|
+
* class — or `candidates_rejected` — scan() produced candidates, none was accepted and at
|
|
42
|
+
* least one was rejected, `error_type` = `candidates_rejected`) is a `tick_error` whose failure class rides
|
|
43
|
+
* `senpi.scaffold.error_type`. The raw message rides `redact`.
|
|
43
44
|
*/
|
|
44
45
|
export declare function buildScaffoldErrorEvent(error: Record<string, unknown>, ctx: IntakeEventContext): EmittableEvent<ScaffoldErrorName>;
|
|
45
46
|
export {};
|
|
@@ -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,
|
|
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,EAA+B,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjF,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,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,qBAAqB,CAAC,CAmDvC;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;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,iBAAiB,CAAC,CAwCnC"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* reason, a scaffold exception message — rides the `redact` slot, never an attribute.
|
|
13
13
|
*/
|
|
14
14
|
import { EVENT_NAME, SENPI_ERROR_CODE, eventAttrs } from "../../utils/event-catalog.js";
|
|
15
|
+
import { SUPERSEDED_ALREADY_ACCEPTED } from "./types.js";
|
|
15
16
|
/** The id/name/wallet attributes every intake event carries. */
|
|
16
17
|
function baseAttrs(ctx) {
|
|
17
18
|
return {
|
|
@@ -70,6 +71,10 @@ export function buildSignalDispositionEvent(status, asset, ctx) {
|
|
|
70
71
|
attributes: eventAttrs({
|
|
71
72
|
...base,
|
|
72
73
|
"senpi.signal.asset": asset,
|
|
74
|
+
// Only the fixed code is copied; a free-text reason would belong in redact.
|
|
75
|
+
...(status.reason === SUPERSEDED_ALREADY_ACCEPTED
|
|
76
|
+
? { "senpi.intake.reason_code": SUPERSEDED_ALREADY_ACCEPTED }
|
|
77
|
+
: {}),
|
|
73
78
|
}),
|
|
74
79
|
};
|
|
75
80
|
}
|
|
@@ -92,9 +97,10 @@ export function buildSignalRejectedEvent(reasonCode, ctx) {
|
|
|
92
97
|
/**
|
|
93
98
|
* Map one scaffold `/errors` POST onto its `scaffold.*` event (both `warn`). A `type: "timeout"` body
|
|
94
99
|
* is a tick that blew its wall-clock budget; anything else (a Python exception, `state_persist_failed`,
|
|
95
|
-
*
|
|
96
|
-
* class
|
|
97
|
-
*
|
|
100
|
+
* `mcp_error` — every MCP call failed and scan() produced nothing, `error_type` = the dominant
|
|
101
|
+
* class — or `candidates_rejected` — scan() produced candidates, none was accepted and at
|
|
102
|
+
* least one was rejected, `error_type` = `candidates_rejected`) is a `tick_error` whose failure class rides
|
|
103
|
+
* `senpi.scaffold.error_type`. The raw message rides `redact`.
|
|
98
104
|
*/
|
|
99
105
|
export function buildScaffoldErrorEvent(error, ctx) {
|
|
100
106
|
const base = baseAttrs(ctx);
|
|
@@ -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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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { AcceptanceRecord } from "./acceptance-record.js";
|
|
22
22
|
import type { ScannerRegistry } from "./scanner-registry.js";
|
|
23
|
-
import type
|
|
23
|
+
import { type SignalsBody, type IntakeSignal, type PerSignalStatus } from "./types.js";
|
|
24
24
|
export interface ProcessSignalPostDeps {
|
|
25
25
|
registry: ScannerRegistry;
|
|
26
26
|
record: AcceptanceRecord;
|
|
@@ -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,
|
|
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,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAEpB,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,CA6BlC"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* no trade, preventing a double-trade on retry).
|
|
20
20
|
*/
|
|
21
21
|
import { validateDataAgainstFieldSchema, ExternalScannerIngestError, } from "../../scanners/external-scanner-receiver.js";
|
|
22
|
+
import { SUPERSEDED_ALREADY_ACCEPTED, } from "./types.js";
|
|
22
23
|
/**
|
|
23
24
|
* Process a signal POST, applying the full acceptance pipeline.
|
|
24
25
|
* Returns per-signal statuses in input order.
|
|
@@ -70,8 +71,11 @@ export async function processSignalPost(body, deps) {
|
|
|
70
71
|
// Per-signal pipeline.
|
|
71
72
|
const results = [];
|
|
72
73
|
for (const signal of signals) {
|
|
73
|
-
const
|
|
74
|
-
|
|
74
|
+
const disposition = processOneSignal(signal, entry, deps, now);
|
|
75
|
+
// Stamp the request's signal_id on every disposition. The scaffold matches
|
|
76
|
+
// statuses to its journal entries only by signal_id; an unmatched status
|
|
77
|
+
// leaves the entry pending until it is dropped as expired or superseded.
|
|
78
|
+
results.push({ ...disposition, signal_id: signal.signal_id });
|
|
75
79
|
}
|
|
76
80
|
return { ok: true, signals: results };
|
|
77
81
|
}
|
|
@@ -101,8 +105,10 @@ function processOneSignal(signal, entry, deps, now) {
|
|
|
101
105
|
// signal_id but carries a strictly NEWER produced_at would otherwise advance the
|
|
102
106
|
// mark and double-trade. A FRESH signal_id (e.g. a recompute after state loss)
|
|
103
107
|
// is NOT caught here and correctly falls through to the high-water-mark.
|
|
108
|
+
// The reason tag lets the producer tell this replay apart from a signal
|
|
109
|
+
// superseded by a newer one (step 7): this one was accepted and acted on.
|
|
104
110
|
if (deps.record.get(acceptanceKey, signalIdSlot(signal.signal_id)) !== undefined) {
|
|
105
|
-
return { status: "superseded" };
|
|
111
|
+
return { status: "superseded", reason: SUPERSEDED_ALREADY_ACCEPTED };
|
|
106
112
|
}
|
|
107
113
|
// Step 7: Newer than the acceptance record? (the per-(scanner,asset,produced_at)
|
|
108
114
|
// high-water-mark — UNCHANGED, still fires under a fresh signal_id.)
|
|
@@ -118,35 +124,32 @@ function processOneSignal(signal, entry, deps, now) {
|
|
|
118
124
|
const message = err instanceof ExternalScannerIngestError ? err.message : String(err);
|
|
119
125
|
return { status: "rejected", reason: message };
|
|
120
126
|
}
|
|
121
|
-
// Step 9: Accepted. Persist-before-act:
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
//
|
|
126
|
-
//
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
// PARTIAL FIX: this closes the persist-vs-dispatch window only. Full
|
|
131
|
-
// no-double-execution still requires submit-side idempotency — an exchange
|
|
132
|
-
// idempotency key + reconcile for a crash mid-submit (untracked follow-up,
|
|
133
|
-
// cross-repo) — to guard against a dispatch that itself partially succeeds;
|
|
134
|
-
// not attempted here.
|
|
127
|
+
// Step 9: Accepted. Persist-before-act: record the marks as ONE durable
|
|
128
|
+
// step, then dispatch the trade. A disk/rename failure throws out of update()
|
|
129
|
+
// with nothing advanced in memory or on disk, so onAccepted is never reached
|
|
130
|
+
// and NO trade is dispatched; the producer's retry is then accepted. Dispatching
|
|
131
|
+
// first would leave a trade fired against an un-persisted mark, and a retry
|
|
132
|
+
// would re-accept and DOUBLE-TRADE. This closes the persist-vs-dispatch window
|
|
133
|
+
// only: a dispatch that itself partially succeeds still needs submit-side
|
|
134
|
+
// idempotency on the exchange.
|
|
135
135
|
const correlationId = deps.mintCorrelationId();
|
|
136
|
-
deps.record.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
136
|
+
deps.record.update(acceptanceKey, (assets) => {
|
|
137
|
+
// The per-(scanner, asset) high-water-mark.
|
|
138
|
+
assets.set(signal.asset, signal.produced_at);
|
|
139
|
+
// Bound the additive dedup layer: drop every expired signal_id slot before
|
|
140
|
+
// recording the new one. Retention is bounded by the active validity window,
|
|
141
|
+
// not by total signals ever seen. Safe because step 6 rejects any expired
|
|
142
|
+
// signal BEFORE the dedup check, so a pruned signal_id can never be
|
|
143
|
+
// re-accepted while still valid. Assumes a given signal_id carries a stable
|
|
144
|
+
// valid_until (a recompute mints a fresh signal_id, see step 6b).
|
|
145
|
+
for (const [key, value] of assets) {
|
|
146
|
+
if (key.startsWith(SIGNAL_ID_SLOT_PREFIX) && value <= now)
|
|
147
|
+
assets.delete(key);
|
|
148
|
+
}
|
|
149
|
+
// The signal_id slot (the additive dedup layer). The value is valid_until so
|
|
150
|
+
// the slot is prunable by its own expiry; step 6b only checks existence.
|
|
151
|
+
assets.set(signalIdSlot(signal.signal_id), signal.valid_until);
|
|
152
|
+
});
|
|
150
153
|
deps.onAccepted(signal, correlationId, entry.scannerId);
|
|
151
154
|
return { status: "accepted", correlationId };
|
|
152
155
|
}
|
|
@@ -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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"}
|
|
@@ -28,6 +28,14 @@ import type { IntakeContext } from "./intake-context.js";
|
|
|
28
28
|
* exception and would otherwise report `ok` forever while blind. MCP errors WITH
|
|
29
29
|
* candidates stay `ok` — a partial read still produced work. The body carries
|
|
30
30
|
* `error_type` (dominant) and `error_count`.
|
|
31
|
+
* - `candidates_rejected` — a clean tick in which scan() produced candidates, none
|
|
32
|
+
* was accepted, at least one was rejected (by the scaffold's envelope check or by
|
|
33
|
+
* the intake), and none is still awaiting an outcome
|
|
34
|
+
* (`scaffold.py:_classify_candidate_rejects`). Only the tick's own candidates
|
|
35
|
+
* count, not entries retried from earlier ticks. The tick's state stays committed.
|
|
36
|
+
* The body carries `error_type: "candidates_rejected"`, `error_count` (the tick's
|
|
37
|
+
* rejects) and `reason` (one reject reason from the tick). Ticks with some
|
|
38
|
+
* accepted candidates stay `ok`.
|
|
31
39
|
*/
|
|
32
40
|
export declare const TICK_FAILURE_TYPES: ReadonlySet<string>;
|
|
33
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-error-router.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scaffold-error-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD
|
|
1
|
+
{"version":3,"file":"scaffold-error-router.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scaffold-error-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAMjD,CAAC;AAIH;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACzC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAe7D"}
|
|
@@ -27,12 +27,21 @@
|
|
|
27
27
|
* exception and would otherwise report `ok` forever while blind. MCP errors WITH
|
|
28
28
|
* candidates stay `ok` — a partial read still produced work. The body carries
|
|
29
29
|
* `error_type` (dominant) and `error_count`.
|
|
30
|
+
* - `candidates_rejected` — a clean tick in which scan() produced candidates, none
|
|
31
|
+
* was accepted, at least one was rejected (by the scaffold's envelope check or by
|
|
32
|
+
* the intake), and none is still awaiting an outcome
|
|
33
|
+
* (`scaffold.py:_classify_candidate_rejects`). Only the tick's own candidates
|
|
34
|
+
* count, not entries retried from earlier ticks. The tick's state stays committed.
|
|
35
|
+
* The body carries `error_type: "candidates_rejected"`, `error_count` (the tick's
|
|
36
|
+
* rejects) and `reason` (one reject reason from the tick). Ticks with some
|
|
37
|
+
* accepted candidates stay `ok`.
|
|
30
38
|
*/
|
|
31
39
|
export const TICK_FAILURE_TYPES = new Set([
|
|
32
40
|
"error",
|
|
33
41
|
"timeout",
|
|
34
42
|
"state_persist_failed",
|
|
35
43
|
"mcp_error",
|
|
44
|
+
"candidates_rejected",
|
|
36
45
|
]);
|
|
37
46
|
// ── buildScaffoldErrorRouter ─────────────────────────────────────────────────
|
|
38
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-error-router.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scaffold-error-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,gFAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"scaffold-error-router.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scaffold-error-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,OAAO;IACP,SAAS;IACT,sBAAsB;IACtB,WAAW;IACX,qBAAqB;CACtB,CAAC,CAAC;AAEH,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAkB,EAClB,cAA0C;IAE1C,OAAO,CAAC,SAAiB,EAAE,KAA8B,EAAQ,EAAE;QACjE,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,sEAAsE;QAChF,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,+CAA+C;QACnE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,0BAA0B,CAC/B,KAAK,CAAC,WAAW,EAAE,gDAAgD;QACnE,KAAgE,CACjE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -36,9 +36,18 @@ export interface SignalsBody {
|
|
|
36
36
|
/** Per-signal outcome in the response. */
|
|
37
37
|
export interface PerSignalStatus {
|
|
38
38
|
status: "accepted" | "expired" | "superseded" | "rejected";
|
|
39
|
+
/** The request signal's `signal_id`, echoed so the producer can match outcomes by id. */
|
|
40
|
+
signal_id: string;
|
|
39
41
|
correlationId?: string;
|
|
40
42
|
reason?: string;
|
|
41
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* `reason` on a `superseded` status when the same `signal_id` was accepted on
|
|
46
|
+
* an earlier POST. The producer journals such a replay as delivered.
|
|
47
|
+
*/
|
|
48
|
+
export declare const SUPERSEDED_ALREADY_ACCEPTED = "already_accepted";
|
|
49
|
+
/** A per-signal outcome before the request's `signal_id` is stamped on it. */
|
|
50
|
+
export type SignalDisposition = Omit<PerSignalStatus, "signal_id">;
|
|
42
51
|
/** Success response for POST /signals. */
|
|
43
52
|
export interface SignalsSuccessResponse {
|
|
44
53
|
signals: PerSignalStatus[];
|